Files
TwitchDropsMiner/lang/Italiano.json
Fengqing Liu 522299c920 Clean up translation files and add comprehensive web GUI translations
- Remove unused translation keys from all language files:
  - Removed chrome login flow keys (no longer used)
  - Removed GUI channel headings (table structure changed)
  - Removed GUI inventory filter section (filtering not in web GUI)
  - Removed GUI settings proxy field (moved to general section)
  - Cleaned up other deprecated keys

- Add new translation keys for web GUI:
  - OAuth login prompts (oauth_prompt, oauth_activate, oauth_confirm)
  - Progress indicators (no_drop, return_to_auto, manual_mode_info)
  - Channel empty states (no_channels, no_channels_for_games, channel_count)
  - Inventory empty state (no_campaigns, claimed_drops)
  - Settings UI (games selector, search, drag-and-drop hints)
  - Help section content (about, features, important_notes)
  - Header elements (title, language selector, mode indicators)

- Update app.py /api/translations endpoint to use translation keys instead of hardcoded English strings
- Update translator.py TypedDict definitions to match new structure
- Fix i18n __init__.py exports to remove ChromeMessages, GUIChannelHeadings, GUIInvFilter and add GUIHeader

All 19 language files updated consistently. Non-English languages use English text as placeholders for new keys.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 11:15:02 +11:00

150 lines
7.6 KiB
JSON

{
"english_name": "Italian",
"status": {
"terminated": "\nApplicazione Terminata.\nChiudi la finestra per uscire dall'applicazione.",
"watching": "Guardando: {channel}",
"goes_online": "{channel} è ONLINE, cambiando...",
"goes_offline": "{channel} è OFFLINE, cambiando...",
"claimed_drop": "Contenuti riscattati: {drop}",
"no_channel": "Nessun canale disponibile da guardare. In attesa di un canale ONLINE...",
"no_campaign": "Nessuna campagna attiva per ottenere i premi. In attesa di una campagna attiva..."
},
"login": {
"unexpected_content": "Tipo di contenuto inaspettato restituito, di solito a causa di un reindirizzamento. Hai bisogno di fare il login per accedere a internet?",
"error_code": "Codice di errore del login: {error_code}",
"incorrect_login_pass": "Nome utente o password errati.",
"incorrect_email_code": "Codice email errato.",
"incorrect_twofa_code": "Codice 2FA errato.",
"email_code_required": "Codice email richiesto. Controlla la tua email.",
"twofa_code_required": "Token 2FA richiesto."
},
"error": {
"captcha": "Il tuo tentativo di login è stato negato da CAPTCHA.\nRiprova tra 12+ ore.",
"site_down": "Twitch è irraggiungibile, riprovo tra {seconds} secondi...",
"no_connection": "Impossibile connettersi a Twitch, riprovo tra {seconds} secondi..."
},
"gui": {
"output": "Output",
"status": {
"name": "Stato",
"idle": "Inattivo",
"exiting": "Uscendo...",
"terminated": "Terminato",
"cleanup": "Pulendo i canali...",
"gathering": "Raccogliendo i canali...",
"switching": "Cambiando canale...",
"fetching_inventory": "Recupero dell'inventario...",
"fetching_campaigns": "Recupero delle campagne...",
"adding_campaigns": "Aggiunta delle campagne all'inventario... {counter}"
},
"tabs": {
"main": "Principale",
"inventory": "Inventario",
"settings": "Impostazioni",
"help": "Aiuto"
},
"login": {
"name": "Dettagli Login",
"labels": "Stato:\nID Utente:",
"logged_in": "Loggato",
"logged_out": "Non loggato",
"logging_in": "Loggando...",
"required": "Login richiesto",
"request": "Per favore, effettua il login per continuare.",
"username": "Nome utente",
"password": "Password",
"twofa_code": "Codice 2FA (opzionale)",
"button": "Login",
"oauth_prompt": "Enter this code at:",
"oauth_activate": "Twitch Activate",
"oauth_confirm": "I've entered the code"
},
"websocket": {
"name": "Stato del Websocket",
"websocket": "Websocket #{id}:",
"initializing": "Inizializzando...",
"connected": "Connesso",
"disconnected": "Disconnesso",
"connecting": "Connettendo...",
"disconnecting": "Disconnettendo...",
"reconnecting": "Riconnettendo..."
},
"progress": {
"name": "Progresso della Campagna",
"drop": "Contenuto:",
"game": "Gioco:",
"campaign": "Campagna:",
"remaining": "{time} rimanenti",
"drop_progress": "Progresso:",
"campaign_progress": "Progresso:",
"no_drop": "No active drop",
"return_to_auto": "Return to Auto Mode",
"manual_mode_info": "Manual Mode: Mining"
},
"channels": {
"name": "Canali",
"online": "ONLINE ✔",
"pending": "OFFLINE ⏳",
"offline": "OFFLINE ❌",
"no_channels": "No channels tracked yet...",
"no_channels_for_games": "No channels found for selected games...",
"channel_count": "channel",
"channel_count_plural": "channels",
"viewers": "viewers"
},
"inventory": {
"status": {
"active": "Attivo ✔",
"upcoming": "In arrivo ⏳",
"expired": "Scaduto ❌",
"claimed": "Riscattato ✔"
},
"starts": "Inizia: {time}",
"ends": "Finisce: {time}",
"no_campaigns": "No campaigns loaded yet...",
"claimed_drops": "claimed"
},
"settings": {
"general": {
"name": "Generale",
"dark_mode": "Modalità scura: "
},
"reload": "Ricarica",
"games_to_watch": "Games to Watch",
"games_help": "Select games to watch. Order matters - drag to reorder priority (top = highest priority).",
"search_games": "Search games...",
"select_all": "Select All",
"deselect_all": "Deselect All",
"selected_games": "Selected Games (drag to reorder)",
"available_games": "Available Games",
"no_games_selected": "No games selected. Check games below to add them.",
"no_games_match": "No games match your search.",
"all_games_selected": "All games are selected or no games available.",
"actions": "Actions",
"connection_quality": "Connection Quality:",
"minimum_refresh": "Minimum Refresh Interval (minutes):"
},
"help": {
"links": {
"name": "Link utili"
},
"how_it_works": "Come funziona",
"how_it_works_text": "Ogni ~60 secondi, l'applicazione invia un evento \"minuto guardato\" al canale che stai guardando - questo è sufficiente per far avanzare il progresso dei drop. Da notare che questo bypassa completamente la necessità di scaricare qualsiasi video o audio della diretta. Per mantenere lo stato (ONLINE o OFFLINE) dei canali aggiornato, c'è una connessione websocket stabilita che riceve eventi sui canali che vanno online o offline, o aggiornamenti riguardanti il numero attuale di spettatori.",
"getting_started": "Per iniziare",
"getting_started_text": "1. Effettua il login nell'applicazione.\n2. Assicurati che il tuo account Twitch sia collegato a tutte le campagne per cui sei interessato a ottenere i drop.\n3. Se sei interessato a ottenere tutto, deseleziona \"Solo priorità\" e premi su \"Ricarica\".\n4. Se vuoi ottenere prima giochi specifici, usa la lista \"Priorità\" per impostare una lista ordinata di giochi a tua scelta. I giochi in cima alla lista verranno ottenuti prima.\n5. Mantieni l'opzione \"Solo priorità\" selezionata, per evitare di ottenere giochi che non sono nella lista delle priorità. Oppure non farlo - dipende da te.\n6. Usa la lista \"Escludi\" per dire all'applicazione quali giochi non devono mai essere ottenuti.\n7. Cambiare il contenuto di una delle liste, o cambiare lo stato dell'opzione \"Solo priorità\", richiede di premere su \"Ricarica\" perché le modifiche abbiano effetto.",
"about": "About Twitch Drops Miner",
"about_text": "This application automatically mines timed Twitch drops without downloading stream data.",
"how_to_use": "How to Use",
"features": "Features",
"important_notes": "Important Notes",
"github_repo": "GitHub Repository"
},
"header": {
"title": "Twitch Drops Miner",
"language": "Language:",
"initializing": "Initializing...",
"auto_mode": "AUTO",
"manual_mode": "MANUAL"
}
}
}