Files
TwitchDropsMiner/lang/Dansk.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.5 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"english_name": "Danish",
"status": {
"terminated": "\nProgram Afsluttet.\nLuk vinduet for at afslutte programmet.",
"watching": "Ser på: {channel}",
"goes_online": "{channel} går ONLINE, skifter...",
"goes_offline": "{channel} går OFFLINE, skifter...",
"claimed_drop": "Hentet belønning: {drop}",
"no_channel": "Ingen tilgængelige kanaler at se. Venter på en ONLINE kanal...",
"no_campaign": "Der er ingen aktive kampagner at hente. Venter på en aktiv kampagne..."
},
"login": {
"unexpected_content": "Uventet indholdstype returneres, normalt på grund af at blive omdirigeret. Skal du logge ind for internetadgang?",
"error_code": "Login fejlkode: {error_code}",
"incorrect_login_pass": "Forkert brugernavn eller kodeord.",
"incorrect_email_code": "Forkert email kode.",
"incorrect_twofa_code": "Forkert 2FA-kode.",
"email_code_required": "Email kode påkrævet. Tjek din email.",
"twofa_code_required": "2FA token påkrævet."
},
"error": {
"captcha": "Dit loginforsøg blev afvist af CAPTCHA.\nPrøv venligst igen om 12+ timer",
"site_down": "Twitch er nede, prøver igen om {seconds} sekunder...",
"no_connection": "Kan ikke oprette forbindelse til Twitch, prøver igen om {seconds} sekunder..."
},
"gui": {
"output": "Resultat",
"status": {
"name": "Status",
"idle": "Ledig",
"exiting": "Afslutter...",
"terminated": "Afsluttet",
"cleanup": "Oprydning af kanaler...",
"gathering": "Indsamling af kanaler...",
"switching": "Skifter kanal...",
"fetching_inventory": "Henter beholdning...",
"fetching_campaigns": "Henter kampagner...",
"adding_campaigns": "Tilføjer kampagner til beholdning... {counter}"
},
"tabs": {
"main": "Main",
"inventory": "Beholdning",
"settings": "Indstillinger",
"help": "Hjælp"
},
"login": {
"name": "Login formular",
"labels": "Status:\nBruger ID:",
"logged_in": "Logget ind",
"logged_out": "Logget ud",
"logging_in": "Logger ind...",
"required": "Login påkrævet",
"request": "Log venligst ind for at fortsætte.",
"username": "Brugernavn",
"password": "Kodeord",
"twofa_code": "2FA code (valgfrit)",
"button": "Login",
"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": "Initialiserer...",
"connected": "Forbundet",
"disconnected": "Afbrudt",
"connecting": "Tilslutning...",
"disconnecting": "Afbryder forbindelsen...",
"reconnecting": "Genopretter forbindelse..."
},
"progress": {
"name": "Kampagnefremskridt",
"drop": "Belønning:",
"game": "Spil:",
"campaign": "Kampagne:",
"remaining": "{time} tilbage",
"drop_progress": "Fremskridt:",
"campaign_progress": "Fremskridt:",
"no_drop": "No active drop",
"return_to_auto": "Return to Auto Mode",
"manual_mode_info": "Manual Mode: Mining"
},
"channels": {
"name": "Kanaler",
"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": "Kommende ⏳",
"expired": "Udløbet ❌",
"claimed": "Hentet ✔"
},
"starts": "Starter: {time}",
"ends": "Slutter: {time}",
"no_campaigns": "No campaigns loaded yet...",
"claimed_drops": "claimed"
},
"settings": {
"general": {
"name": "General",
"dark_mode": "Mørk tilstand: "
},
"reload": "Genindlæs",
"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": "Nyttige Links"
},
"how_it_works": "Hvordan virker det?",
"how_it_works_text": "Hvert ~60. sekund sender applikationen en \"set minut\"-begivenhed til den kanal, der i øjeblikket bliver set - dette er nok til at øge faldet. Bemærk, at dette helt omgår behovet for at downloade enhver faktisk stream video og lyd. For at holde status (ONLINE eller OFFLINE) for kanalerne opdateret, er der etableret en websocket-forbindelse, der modtager begivenheder om streams, der går op eller ned, eller opdateringer vedrørende det aktuelle antal seere.",
"getting_started": "Kom igang",
"getting_started_text": "1. Log ind på applikationen.\n2. Sørg for, at din Twitch-konto er linket til alle kampagner, du er interesseret i at mine.\n3. Hvis du bare er interesseret i at mine alt, skal du fjerne markeringen i \"Kun prioritet\" og trykke på \"Genindlæs\".\n4. Hvis du ønsker at mine specifikke spil først, skal du bruge listen \"Prioritet\" til at opsætte en ordnet liste over spil efter eget valg. Spil fra toppen af listen vil blive forsøgt at blive minet først, før dem nederst på listen.\n5. Hold indstillingen \"Kun prioritet\" markeret for at undgå at mine spil, der ikke er på prioritetslisten. Eller ej - det er op til dig.\n6. Brug listen \"Ekskluder\" til at fortælle applikationen, hvilke spil der aldrig bør mines.\n7. Ændring af indholdet af en af listerne eller ændring af tilstanden for \"Kun prioritet\"-indstillingen kræver, at du trykker på \"Genindlæs\" for at ændringerne træder i kraft.",
"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"
}
}
}