Files
TwitchDropsMiner/lang/Українська.json
Fengqing Liu 46291e83d8 Update CLAUDE.md with comprehensive translation system documentation
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>
2025-10-24 21:48:30 +11:00

177 lines
12 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"language_name": "Українська",
"english_name": "Ukrainian",
"status": {
"terminated": "\nЗастосунок зупинено.\nЗакрийте вікно для виходу з програми.",
"watching": "Переглядає: {channel}",
"goes_online": "{channel} онлайн, зміна...",
"goes_offline": "{channel} офлайн, зміна...",
"claimed_drop": "Отримано дроп: {drop}",
"no_channel": "Немає активних каналів для перегляду. Очікування...",
"no_campaign": "Немає активних каналів для видобутку дропів. Очікування..."
},
"login": {
"unexpected_content": "Повернуто неочікуваний тип вмісту, зазвичай через перенаправлення. Чи не потрібно вам увійти задля доступу в інтернет?",
"error_code": "Код помилки входу: {error_code}",
"incorrect_login_pass": "Неправильне ім'я користувача або пароль.",
"incorrect_email_code": "Неправильний код електронної пошти.",
"incorrect_twofa_code": "Неправильний код двофакторної аутентифікації.",
"email_code_required": "Потрібен код електронної пошти.",
"twofa_code_required": "Потрібен жетон двофакторної аутентифікації.",
"status": {
"logged_in": "Увійдено",
"logged_out": "Вийдено",
"logging_in": "Вхід...",
"required": "Потрібен вхід",
"waiting_auth": "Waiting for authentication..."
}
},
"error": {
"captcha": "Ваша спроба входу була відхилена через капчу.\nБудь ласка, спробуйте ще раз через 12 або більше годин.",
"site_down": "Twitch не працює, спроба через {seconds} секунд...",
"no_connection": "Не вдається з'єднатися з Twitch, повторна спроба через {seconds} секунд..."
},
"gui": {
"output": "Вивід",
"status": {
"name": "Стан",
"idle": "Бездіяльність",
"exiting": "Вихід...",
"terminated": "Зупинено",
"cleanup": "Очищення каналів...",
"gathering": "Збір каналів...",
"switching": "Перемикання на канал...",
"fetching_inventory": "Отримання інвентарю...",
"fetching_campaigns": "Отримання кампаній...",
"adding_campaigns": "Додавання кампаній до інвентарю... {counter}"
},
"tabs": {
"main": "Основне",
"inventory": "Інвентар",
"settings": "Налаштування",
"help": "Інформація"
},
"login": {
"name": "Форма для входу",
"labels": "Стан:\nІдентифікатор користувача:",
"request": "Будь ласка, увійдіть, щоб продовжити.",
"username": "Ім'я користувача",
"password": "Пароль",
"twofa_code": "Код двофакторної автентифікації (необов'язково)",
"button": "Вхід",
"oauth_prompt": "Enter this code at:",
"oauth_activate": "Twitch Activate",
"oauth_confirm": "I've entered the code"
},
"websocket": {
"name": "Стан веб-сокета",
"websocket": "Веб-сокет #{id}:",
"initializing": "Ініціалізація...",
"connected": "Підключено",
"disconnected": "Відключено",
"connecting": "З'єднання...",
"disconnecting": "Від'єднання...",
"reconnecting": "Перепідключення..."
},
"progress": {
"name": "Поступ кампанії",
"drop": "Drop:",
"game": "Гра:",
"campaign": "Кампанія:",
"remaining": "{time} залишилося",
"drop_progress": "Поступ:",
"campaign_progress": "Поступ:",
"no_drop": "No active drop",
"return_to_auto": "Return to Auto Mode",
"manual_mode_info": "Manual Mode: Mining"
},
"channels": {
"name": "Канали",
"online": "ОНЛАЙН ✔",
"pending": "ОФЛАЙН ⏳",
"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": "Діюча ✔",
"upcoming": "Наближається ⏳",
"expired": "Прострочено ❌",
"claimed": "Отримано ✔"
},
"starts": "Починається {time}",
"ends": "Завершується {time}",
"no_campaigns": "No campaigns loaded yet...",
"claimed_drops": "claimed"
},
"settings": {
"general": {
"name": "Основні",
"dark_mode": "Темний режим: "
},
"reload": "Перезавантажити",
"games_to_watch": "Ігри для перегляду",
"games_help": "Виберіть ігри для перегляду. Порядок має значення - перетягніть для зміни пріоритету (вгорі = найвищий пріоритет).",
"search_games": "Пошук ігор...",
"select_all": "Вибрати все",
"deselect_all": "Зняти вибір",
"selected_games": "Вибрані ігри (перетягніть для зміни порядку)",
"available_games": "Доступні ігри",
"no_games_selected": "Ігри не вибрано. Позначте ігри нижче, щоб додати їх.",
"no_games_match": "Немає ігор, що відповідають вашому запиту.",
"all_games_selected": "Всі ігри вибрано або немає доступних ігор.",
"actions": "Дії",
"connection_quality": "Якість з'єднання:",
"minimum_refresh": "Мінімальний інтервал оновлення (хвилини):",
"dark_mode": "Dark Mode",
"reload_campaigns": "Reload Campaigns"
},
"help": {
"links": {
"name": "Корисні посилання"
},
"how_it_works": "Як це працює?",
"how_it_works_text": "Кожні кілька секунд програма вдає, що переглядає певний потік, отримуючи метадані потоку — цього достатньо, щоб здобувати дропи. Зауважте, що це повністю обходить необхідність завантажувати будь-які потокові відео та звук.\nЩоб підтримувати актуальний стан каналів (ОНЛАЙН або ОФЛАЙН), встановлюється веб-сокетне з'єднання, яке отримує події про збільшення або зменшення кількості трансляцій, або оновлення поточної кількості глядачів.",
"getting_started": "Інструкція",
"getting_started_text": "1. Увійдіть в додаток.\n2. Переконайтеся, що ваш обліковий запис Twitch пов'язаний з усіма обліковими записами ігор, з яких ви хочете здобувати дропи.\n3. Якщо ви зацікавлені у здобуванні всього можливого, змініть \"Режим пріоритету\" на будь-який інший, окрім \"Тільки список пріоритетів\" і натисніть \"Перезавантажити\".\n4. Якщо ви хочете спочатку здобувати певні ігри, скористайтеся списком \"Пріоритет\", щоб створити впорядкований список ігор на ваш вибір. Першими будуть спроби здобувати ігри з початку списку, а потім ті, що знаходяться нижче у списку.\n5. Залиште для параметра \"Режим пріоритету\" вибрано значення \"Тільки список пріоритетів\", щоб уникнути здобування ігор, яких немає у списку пріоритетів. Або ні - вирішувати вам.\n6. Використовуйте список \"Виключено\", щоб вказати застосунку, з яких ігор ніколи не слід здобувати.\n7. Зміна вмісту будь-якого зі списків або зміна стану опції \"Режим пріоритету\" вимагає натискання кнопки \"Перезавантажити\" для набуття змінами чинності.",
"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"
}
}
}