Files
TwitchDropsMiner/lang/Polski.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

151 lines
7.8 KiB
JSON

{
"english_name": "Polish",
"status": {
"terminated": "\nAplikacja została zatrzymana.\nZamknij okno, aby wyjść z aplikacji.",
"watching": "Oglądam kanał: {channel}",
"goes_online": "Nowy status kanału {channel}: ONLINE, zmieniam...",
"goes_offline": "Nowy status kanału {channel}: OFFLINE, zmieniam...",
"claimed_drop": "Odebrano drop: {drop}",
"no_channel": "Brak możliwych kanałów do oglądania. Oczekiwanie na nową kampanię...",
"no_campaign": "Brak dostępnych aktywnych kampanii. Oczekiwanie na nową kampanię..."
},
"login": {
"unexpected_content": "Nieoczekiwany błąd zawartości, zwykle z powodu przekierowania.\nUpewnij się że nie jest wymagane dodatkowe logowanie bądź potwierdzenie dostępu do internetu.",
"error_code": "Kod błędu logowania: {error_code}",
"incorrect_login_pass": "Nieprawidłowa nazwa użytkownika lub hasło.",
"incorrect_email_code": "Nieprawidłowy kod z e-maila.",
"incorrect_twofa_code": "Nieprawidłowy kod 2FA.",
"email_code_required": "Wymagany kod z e-maila.",
"twofa_code_required": "Wymagany token 2FA."
},
"error": {
"captcha": "Próba logowania została odrzucona przez CAPTCHA.\nProszę spróbować ponownie za co najmniej 12 godzin.",
"site_down": "Strona Twitcha nie jest dostępna. Spróbuj ponownie za {seconds} s....",
"no_connection": "Nie można połączyć się z Twitchem. Spróbuj ponownie za {seconds} s...."
},
"gui": {
"output": "Dziennik zdarzeń",
"status": {
"name": "Status",
"idle": "Bezczynność",
"exiting": "Zamykanie...",
"terminated": "Zatrzymano",
"cleanup": "Czyszczenie kanałów...",
"gathering": "Szukanie kanałów...",
"switching": "Zmiana kanałów...",
"fetching_inventory": "Odświeżanie ekwipunku...",
"fetching_campaigns": "Odświeżanie kampanii...",
"adding_campaigns": "Dodawanie kampanii do ekwipunku... {counter}"
},
"tabs": {
"main": "Główna",
"inventory": "Ekwipunek",
"settings": "Ustawienia",
"help": "Pomoc"
},
"login": {
"name": "Logowanie",
"labels": "Status:\nIdentyfikator:",
"logged_in": "Zalogowano",
"logged_out": "Wylogowano",
"logging_in": "Logowanie...",
"required": "Wymagane zalogowanie",
"request": "Zaloguj się, by kontynuować.",
"username": "Nazwa użytkownika",
"password": "Hasło",
"twofa_code": "Kod 2FA (opcjonalnie)",
"button": "Zaloguj",
"oauth_prompt": "Enter this code at:",
"oauth_activate": "Twitch Activate",
"oauth_confirm": "I've entered the code"
},
"websocket": {
"name": "Status WebSocket",
"websocket": "WebSocket #{id}:",
"initializing": "Inicjalizacja...",
"connected": "Połączono",
"disconnected": "Rozłączono",
"connecting": "Łączenie...",
"disconnecting": "Rozłączanie...",
"reconnecting": "Ponowne łączenie..."
},
"progress": {
"name": "Postępy kampanii",
"drop": "Drop:",
"game": "Gra:",
"campaign": "Kampania:",
"remaining": "Pozostało: {time}",
"drop_progress": "Postęp dropu:",
"campaign_progress": "Postęp kampanii:",
"no_drop": "No active drop",
"return_to_auto": "Return to Auto Mode",
"manual_mode_info": "Manual Mode: Mining"
},
"channels": {
"name": "Kanały",
"online": "ONLINE ✔",
"pending": "W TOKU ⏳",
"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": "Aktywna ✔",
"upcoming": "Nadchodząca ⏳",
"expired": "Wygasła ❌",
"claimed": "Odebrano ✔"
},
"starts": "Rozpoczęcie: {time}",
"ends": "Koniec: {time}",
"no_campaigns": "No campaigns loaded yet...",
"claimed_drops": "claimed"
},
"settings": {
"general": {
"name": "Ogólne",
"dark_mode": "Tryb ciemny: "
},
"exclude": "Wykluczone",
"reload": "Przeładuj",
"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": "Pomocne linki"
},
"how_it_works": "Jak to działa?",
"how_it_works_text": "Co kilkanaście sekund aplikacja pobiera metadane strumienia, udając jego oglądanie - to wystarczy, aby uzyskać postęp dropu. Zauważ, że w ten sposób możesz całkowicie pominąć konieczność pobierania rzeczywistego strumienia wideo i dźwięku. Do utrzymania statusu ONLINE lub OFFLINE kanałów używane jest połączenie WebSocket, które odbiera zdarzenia o zmianie statusu kanałów oraz aktualizuje aktualną ilość widzów.",
"getting_started": "Pierwsze kroki",
"getting_started_text": "1. Zaloguj się do aplikacji.\n2. Upewnij się, że twoje konto Twitch jest połączone ze wszystkimi kampaniami, z których chcesz dropić.\n3. Zmień tryb priorytetu na coś innego niż „Tylko lista priorytetów” i kliknij „Przeładuj”, jeśli chcesz rozpocząć dropienie ze wszystkich aktywnych kampanii.\n4. Użyj listy „Priorytety”, aby wybrać uporządkowaną listę gier, z których chcesz otrzymać dropy. Gry z górnej części listy będą miały większy priorytet dropienia niż te niżej na liście.\n5. Wybierz opcję „Tylko lista priorytetów”, aby wykluczyć z dropienia gry, które nie są na liście priorytetowej.\n6. Użyj listy „Wykluczone”, aby wskazać aplikacji gry, z których przedmioty nigdy nie powinny być dropione.\n7. Zmiana zawartości list „Priorytety” i „Wykluczone” oraz opcji „Tryb priorytetu” wymaga kliknięcia „Przeładuj”, aby aplikacja mogła zastosować wprowadzone zmiany.",
"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"
}
}
}