mirror of
https://github.com/rangermix/TwitchDropsMiner.git
synced 2026-06-04 19:39:37 +00:00
This commit documents the current state of the translation system architecture and consolidates the recent i18n refactoring work. Documentation updates: - Add detailed Translation System section describing architecture - Document all 19 supported languages with native names - Include TypedDict schema structure and usage examples - Update project structure to show lang/ directory - Expand Key Files section with i18n/ package details - Document language persistence and dynamic switching Translation system changes: - Migrate English translations from hardcoded to lang/English.json - Add English.json as single source of truth for fallback translations - Update all language files with comprehensive GUI translations - Refactor translator.py to load English from JSON file - Add language_name and english_name fields to all translations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
177 lines
8.9 KiB
JSON
177 lines
8.9 KiB
JSON
{
|
|
"language_name": "Deutsch",
|
|
"english_name": "German",
|
|
"status": {
|
|
"terminated": "\nAnwendung gestoppt.\nFenster schließen, um die Anwendung zu beenden",
|
|
"watching": "{channel} wird zugesehen",
|
|
"goes_online": "{channel} ist ONLINE gegangen, wechseln...",
|
|
"goes_offline": "{channel} ist OFFLINE gegangen, wechseln...",
|
|
"claimed_drop": "Drop abgeholt: {drop}",
|
|
"no_channel": "Keine teilnehmenden Kanäle online. Warten auf Kanäle...",
|
|
"no_campaign": "Keine aktiven Kampagnen verfügbar. Warten auf neue Kampagne..."
|
|
},
|
|
"login": {
|
|
"error_code": "Login-Fehlercode: {error_code}",
|
|
"unexpected_content": "Unerwarteter Inhaltstyp zurückgegeben, normalerweise aufgrund einer Weiterleitung.\nIst ein Login für den Internetzugang erforderlich?",
|
|
"incorrect_login_pass": "Falscher Benutzername oder Passwort.",
|
|
"incorrect_email_code": "Falscher E-Mail Code.",
|
|
"incorrect_twofa_code": "Falscher 2FA Code.",
|
|
"email_code_required": "E-Mail Code erforderlich. Bitte E-Mail prüfen.",
|
|
"twofa_code_required": "2FA Token erforderlich.",
|
|
"status": {
|
|
"logged_in": "Angemeldet",
|
|
"logged_out": "Abgemeldet",
|
|
"logging_in": "Anmelden...",
|
|
"required": "Anmeldung erforderlich",
|
|
"waiting_auth": "Waiting for authentication..."
|
|
}
|
|
},
|
|
"error": {
|
|
"captcha": "Der Anmeldeversuch wurde durch CAPTCHA verweigert.\nBitte versuche es in mindestens 12 Stunden erneut.",
|
|
"site_down": "Twitch ist nicht erreichbar. Erneuter Versuch in {seconds} Sekunden...",
|
|
"no_connection": "Keine Verbindung zu Twitch möglich. Erneuter Versuch in {seconds} Sekunden..."
|
|
},
|
|
"gui": {
|
|
"output": "Protokoll",
|
|
"status": {
|
|
"name": "Status",
|
|
"idle": "Im Leerlauf",
|
|
"exiting": "Beenden...",
|
|
"terminated": "Abgebrochen",
|
|
"cleanup": "Kanäle aufräumen..",
|
|
"gathering": "Kanäle sammeln...",
|
|
"switching": "Wechsel des Kanals...",
|
|
"fetching_inventory": "Lade Inventar...",
|
|
"fetching_campaigns": "Lade Kampagnen...",
|
|
"adding_campaigns": "Kampagnen dem Inventar hinzufügen... {counter}"
|
|
},
|
|
"tabs": {
|
|
"main": "Hauptseite",
|
|
"inventory": "Inventar",
|
|
"settings": "Einstellungen",
|
|
"help": "Hilfe"
|
|
},
|
|
"login": {
|
|
"name": "Login",
|
|
"labels": "Status:\nBenutzer ID:",
|
|
"request": "Bitte einloggen um fortzufahren.",
|
|
"username": "Benutzername",
|
|
"password": "Passwort",
|
|
"twofa_code": "2FA Code (optional)",
|
|
"button": "Anmelden",
|
|
"oauth_prompt": "Enter this code at:",
|
|
"oauth_activate": "Twitch Activate",
|
|
"oauth_confirm": "I've entered the code"
|
|
},
|
|
"websocket": {
|
|
"name": "WebSocket Status",
|
|
"websocket": "WebSocket #{id}:",
|
|
"initializing": "Initialisieren...",
|
|
"connected": "Verbunden",
|
|
"disconnected": "Verbindung verloren",
|
|
"connecting": "Verbinden...",
|
|
"disconnecting": "Verbindung trennen...",
|
|
"reconnecting": "Neu verbinden..."
|
|
},
|
|
"progress": {
|
|
"name": "Kampagnen-Fortschritt",
|
|
"drop": "Drop:",
|
|
"game": "Spiel:",
|
|
"campaign": "Kampagne:",
|
|
"remaining": "{time} verbleibend",
|
|
"drop_progress": "Fortschritt:",
|
|
"campaign_progress": "Fortschritt:",
|
|
"no_drop": "No active drop",
|
|
"return_to_auto": "Return to Auto Mode",
|
|
"manual_mode_info": "Manual Mode: Mining"
|
|
},
|
|
"channels": {
|
|
"name": "Kanäle",
|
|
"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": "Aktiv ✔",
|
|
"upcoming": "Zukünftig ⏳",
|
|
"expired": "Abgelaufen ❌",
|
|
"claimed": "Abgeholt ✔"
|
|
},
|
|
"starts": "Beginnt: {time}",
|
|
"ends": "Endet: {time}",
|
|
"no_campaigns": "No campaigns loaded yet...",
|
|
"claimed_drops": "claimed"
|
|
},
|
|
"settings": {
|
|
"general": {
|
|
"name": "Allgemein",
|
|
"dark_mode": "Dunkler Modus: "
|
|
},
|
|
"reload": "Neu laden",
|
|
"games_to_watch": "Spiele zum Ansehen",
|
|
"games_help": "Wählen Sie Spiele zum Ansehen aus. Die Reihenfolge ist wichtig - ziehen Sie, um die Priorität zu ändern (oben = höchste Priorität).",
|
|
"search_games": "Spiele suchen...",
|
|
"select_all": "Alle auswählen",
|
|
"deselect_all": "Alle abwählen",
|
|
"selected_games": "Ausgewählte Spiele (ziehen zum Neuordnen)",
|
|
"available_games": "Verfügbare Spiele",
|
|
"no_games_selected": "Keine Spiele ausgewählt. Markieren Sie unten Spiele, um sie hinzuzufügen.",
|
|
"no_games_match": "Keine Spiele entsprechen Ihrer Suche.",
|
|
"all_games_selected": "Alle Spiele sind ausgewählt oder keine Spiele verfügbar.",
|
|
"actions": "Aktionen",
|
|
"connection_quality": "Verbindungsqualität:",
|
|
"minimum_refresh": "Minimales Aktualisierungsintervall (Minuten):",
|
|
"dark_mode": "Dark Mode",
|
|
"reload_campaigns": "Reload Campaigns"
|
|
},
|
|
"help": {
|
|
"links": {
|
|
"name": "Hilfreiche Links"
|
|
},
|
|
"how_it_works": "So funktioniert's",
|
|
"how_it_works_text": "Alle ~60 Sekunden sendet die Anwendung ein \"Minute zugesehen\" Ereignis an den Kanal, dem gerade zugesehen wird.\nDies reicht aus, um den Drop voranzutreiben. Auf diese Weise ist es nicht nötig den Stream herunterzuladen und spart Bandbreite.\nUm den Online- oder Offline-Status der Kanäle aktuell zu halten, wird eine Websocket-Verbindung eingerichtet,\ndie die Kanäle auf ihren Status überprüft.",
|
|
"getting_started": "Erste Schritte",
|
|
"getting_started_text": "• In der Anwendung anmelden.\n• Stelle sicher, dass das Twitch-Konto mit allen Kampagnen verknüpft ist, an denen Interesse besteht.\n• Sollen alle Drops bearbeitet werden, entferne den Haken bei \"Nur Priorität\" und drücke \"Neu laden\".\n• Sollen nur bestimmte Spiele in betracht gezogen werden, verwende die \"Priorität\" Liste um die Wahl nach Spielen einzugrenzen.\n• Die Liste priorisiert von oben nach unten.\n• Die Option \"Nur Priorität\" verhindert, dass Spiele, die nicht auf der Prioritätenliste stehen, bearbeitet werden.\n• Mit der Liste \"Ausschließen\", ist es möglich Spiele zu filtern, die niemals in betracht gezogen werden sollen.\n• Wenn Listen oder Optionen angepasst wurden, muss \"Neu laden\" gedrückt werden, damit die Änderungen übernommen werden.",
|
|
"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",
|
|
"how_to_use_items": [
|
|
"Login using your Twitch account (OAuth device code flow)",
|
|
"Link your accounts at <a href=\"https://www.twitch.tv/drops/campaigns\" target=\"_blank\">twitch.tv/drops/campaigns</a>",
|
|
"The miner will automatically discover campaigns and start mining",
|
|
"Configure priority games in Settings to focus on what you want",
|
|
"Monitor progress in the Main and Inventory tabs"
|
|
],
|
|
"features_items": [
|
|
"Stream-less drop mining - saves bandwidth",
|
|
"Game priority and exclusion lists",
|
|
"Tracks up to 199 channels simultaneously",
|
|
"Automatic channel switching",
|
|
"Real-time progress tracking"
|
|
],
|
|
"important_notes_items": [
|
|
"Do not watch streams on the same account while mining",
|
|
"Keep your cookies.jar file secure",
|
|
"Requires linked game accounts for drops"
|
|
]
|
|
},
|
|
"header": {
|
|
"title": "Twitch Drops Miner",
|
|
"language": "Language:",
|
|
"initializing": "Initializing...",
|
|
"auto_mode": "AUTO",
|
|
"manual_mode": "MANUAL",
|
|
"connected": "Connected",
|
|
"disconnected": "Disconnected"
|
|
}
|
|
}
|
|
} |