mirror of
https://github.com/rangermix/TwitchDropsMiner.git
synced 2026-06-08 05:14:35 +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": "Nederlandse",
|
|
"english_name": "Dutch",
|
|
"status": {
|
|
"terminated": "\nToepassing gestopt.\nSLuit het venster om de toepassing af te sluiten",
|
|
"watching": "{channel} wordt gekeken",
|
|
"goes_online": "{channel} is ONLINE gegaan, wijzig...",
|
|
"goes_offline": "{channel} is OFFLINE gegaan, wijzig...",
|
|
"claimed_drop": "Drop verkregen: {drop}",
|
|
"no_channel": "Geen deelnemende kanalen online. Wachten op steamers...",
|
|
"no_campaign": "Geen actieve campagnes beschikbaar. Wachten op nieuwe campagne..."
|
|
},
|
|
"login": {
|
|
"error_code": "Login Foutcode: {error_code}",
|
|
"unexpected_content": "Onverwacht inhoudstype geretourneerd, meestal als gevolg van een omleiding.\nIs inloggen vereist voor toegang tot internet?",
|
|
"incorrect_login_pass": "Verkeerde gebruikersnaam of wachtwoord.",
|
|
"incorrect_email_code": "Onjuiste e-mailcode.",
|
|
"incorrect_twofa_code": "Onjuiste 2FA Code.",
|
|
"email_code_required": "E-mailcode vereist. Controleer de e-mail.",
|
|
"twofa_code_required": "2FA Token vereist.",
|
|
"status": {
|
|
"logged_in": "Geregistreerd",
|
|
"logged_out": "Uitgelogd",
|
|
"logging_in": "Aanmelden...",
|
|
"required": "Aanmelden vereist",
|
|
"waiting_auth": "Waiting for authentication..."
|
|
}
|
|
},
|
|
"error": {
|
|
"captcha": "De inlogpoging is geweigerd door CAPTCHA.\nProbeer het over minimaal 12 uur opnieuw.",
|
|
"site_down": "Twitch is niet beschikbaar. Probeer het over {seconds} seconden opnieuw...",
|
|
"no_connection": "Kan geen verbinding maken met Twitch. Probeer het over {seconds} seconden opnieuw..."
|
|
},
|
|
"gui": {
|
|
"output": "Protocol",
|
|
"status": {
|
|
"name": "Status",
|
|
"idle": "Inactief",
|
|
"exiting": "Beëindigd...",
|
|
"terminated": "Geannuleerd",
|
|
"cleanup": "Kanalen opruimen..",
|
|
"gathering": "Kanalen verzamelen...",
|
|
"switching": "Het kanaal wijzigen...",
|
|
"fetching_inventory": "Ophalen van inventaris...",
|
|
"fetching_campaigns": "Ophalen van de campagne...",
|
|
"adding_campaigns": "De campagnelijst toevoegen aan de inventaris... {counter}"
|
|
},
|
|
"tabs": {
|
|
"main": "Algemeen",
|
|
"inventory": "Inventaris",
|
|
"settings": "Instellingen",
|
|
"help": "Help"
|
|
},
|
|
"login": {
|
|
"name": "Login",
|
|
"labels": "Status:\nGebruiker ID:",
|
|
"request": "Log in om door te gaan.",
|
|
"username": "Gebruikersnaam",
|
|
"password": "Wachtwoord",
|
|
"twofa_code": "2FA Code (optioneel)",
|
|
"button": "Aanmelden",
|
|
"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": "Initialiseren...",
|
|
"connected": "Verbonden",
|
|
"disconnected": "Verbinding verloren",
|
|
"connecting": "Verbinden...",
|
|
"disconnecting": "Verbinding verbroken...",
|
|
"reconnecting": "Opnieuw verbinden..."
|
|
},
|
|
"progress": {
|
|
"name": "Voortgang van de campagne",
|
|
"drop": "Drop:",
|
|
"game": "Spel:",
|
|
"campaign": "Campagne:",
|
|
"remaining": "{time} resterend",
|
|
"drop_progress": "Voortgang:",
|
|
"campaign_progress": "Voortgang:",
|
|
"no_drop": "No active drop",
|
|
"return_to_auto": "Return to Auto Mode",
|
|
"manual_mode_info": "Manual Mode: Mining"
|
|
},
|
|
"channels": {
|
|
"name": "Kanaal",
|
|
"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": "Actief ✔",
|
|
"upcoming": "Verwacht ⏳",
|
|
"expired": "Verlopen ❌",
|
|
"claimed": "Verkregen ✔"
|
|
},
|
|
"starts": "Begint: {time}",
|
|
"ends": "Eindigt: {time}",
|
|
"no_campaigns": "No campaigns loaded yet...",
|
|
"claimed_drops": "claimed"
|
|
},
|
|
"settings": {
|
|
"general": {
|
|
"name": "Algemeen",
|
|
"dark_mode": "Donkere modus: "
|
|
},
|
|
"reload": "Herladen",
|
|
"games_to_watch": "Games om te kijken",
|
|
"games_help": "Selecteer games om te kijken. Volgorde is belangrijk - sleep om prioriteit te wijzigen (bovenaan = hoogste prioriteit).",
|
|
"search_games": "Zoek games...",
|
|
"select_all": "Alles selecteren",
|
|
"deselect_all": "Alles deselecteren",
|
|
"selected_games": "Geselecteerde games (sleep om te herschikken)",
|
|
"available_games": "Beschikbare games",
|
|
"no_games_selected": "Geen games geselecteerd. Vink games hieronder aan om ze toe te voegen.",
|
|
"no_games_match": "Geen games komen overeen met uw zoekopdracht.",
|
|
"all_games_selected": "Alle games zijn geselecteerd of er zijn geen games beschikbaar.",
|
|
"actions": "Acties",
|
|
"connection_quality": "Verbindingskwaliteit:",
|
|
"minimum_refresh": "Minimaal verversingsinterval (minuten):",
|
|
"dark_mode": "Dark Mode",
|
|
"reload_campaigns": "Reload Campaigns"
|
|
},
|
|
"help": {
|
|
"links": {
|
|
"name": "Handige Links"
|
|
},
|
|
"how_it_works": "Dit is hoe het werkt",
|
|
"how_it_works_text": "Elke ~60 seconden verzendt de applicatie een \"minuut gekeken\" gebeurtenis naar het kanaal waar deze momenteel naar kijkt.\nDit is voldoende om voortgang te boeken voor drops. Opmerking: op deze manier is het niet nodig om de stream te downloaden en wordt er bandbreedte bespaard. \nOm de online of offline status van de kanalen up-to-date te houden, wordt er een websocket verbinding opgezet\ndie de kanalen controleert op hun status.",
|
|
"getting_started": "Eerste stappen",
|
|
"getting_started_text": "• Meld je aan bij de applicatie.\n• Zorg ervoor dat het Twitch-account is gekoppeld aan alle campagnes waarin je geïnteresseerd bent.\n• ls je alle drops wilt verwerken, verwijder je het vinkje bij \"Alleen prioriteit\" en druk je op \"Herladen\" .\n• Als je alleen bepaalde games wilt overwegen, gebruik dan de lijst \"Prioriteit\" om de keuze per game te verfijnen.\n• De lijst geeft prioriteit van boven naar beneden.\n• De optie \"Alleen prioriteit\" verhindert dat games die niet op de prioriteitenlijst staan, worden verwerkt.\n• Met de lijst \"Uitsluiten\" is het mogelijk om games te filteren die nooit in overweging mogen worden genomen.\n• Als lijsten of opties zijn aangepast, moet je op \"Herladen\" drukken zodat de wijzigingen van kracht worden.",
|
|
"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"
|
|
}
|
|
}
|
|
} |