Files
TwitchDropsMiner/lang/Indonesian.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
9.1 KiB
JSON

{
"language_name": "Indonesian",
"english_name": "Indonesian",
"status": {
"terminated": "\nAplikasi telah dihentikan. \nSilakan tutup aplikasi.",
"watching": "Menonton : {channel}",
"goes_online": "{channel} Tiket masuk ONLINE, ganti...",
"goes_offline": "{channel} menjadi OFF-LINE, ubah...",
"claimed_drop": "Drop dipulihkan : {drop}",
"no_channel": "Tidak ada saluran yang tersedia untuk ditonton. Menunggu saluran secara ONLINE...",
"no_campaign": "Tidak ada kampanye aktif yang bisa ditambang. Menunggu kampanye aktif..."
},
"login": {
"error_code": "Kode kesalahan koneksi: {error_code}",
"unexpected_content": "Jenis konten yang tidak diharapkan yang dikembalikan, biasanya karena pengalihan. Apakah Anda perlu tersambung untuk mengakses Internet ?",
"incorrect_login_pass": "Nama pengguna atau kata sandi yang dimasukkan salah.",
"incorrect_email_code": "Kode verifikasi email salah.",
"incorrect_twofa_code": "Kode verifikasi 2FA salah.",
"email_code_required": "Diperlukan kode verifikasi email. Silakan periksa email Anda.",
"twofa_code_required": "Diperlukan kode 2FA.",
"status": {
"logged_in": "Online",
"logged_out": "Terputus",
"logging_in": "Koneksi dalam proses...",
"required": "Diperlukan sambungan",
"waiting_auth": "Waiting for authentication..."
}
},
"error": {
"captcha": "Sambungan ditolak oleh CAPTCHA. Silakan coba lagi dalam waktu sekitar 12 jam.",
"site_down": "Twitch tidak tersedia. Silakan coba lagi dalam {seconds} detik....",
"no_connection": "Tidak dapat tersambung ke Twitch. Silakan coba lagi dalam {detik} detik...."
},
"gui": {
"output": "Keluaran",
"status": {
"name": "Status",
"idle": "Tidak aktif",
"exiting": "Keluar...",
"terminated": "Diakhiri",
"cleanup": "Membersihkan saluran...",
"gathering": "Pencarian saluran langsung...",
"switching": "Koleksi saluran yang sedang berlangsung...",
"fetching_inventory": "Mmengambil inventaris...",
"fetching_campaigns": "Mengambil kampanye...",
"adding_campaigns": "Menambahkan daftar kampanye ke inventaris... {counter}"
},
"tabs": {
"main": "Umum",
"inventory": "Inventaris",
"settings": "Parameter",
"help": "Bantuan"
},
"login": {
"name": "Formulir masuk",
"labels": "Status :\nID Pengguna :",
"request": "Silakan masuk untuk melanjutkan.",
"username": "Nama pengguna",
"password": "Kata sandi",
"twofa_code": "Kode 2FA (opsional)",
"button": "Masuk",
"oauth_prompt": "Enter this code at:",
"oauth_activate": "Twitch Activate",
"oauth_confirm": "I've entered the code"
},
"websocket": {
"name": "Status soket web",
"websocket": "Soket web #{id}:",
"initializing": "Menginisialisasi...",
"connected": "Tersambung",
"disconnected": "Terputus",
"connecting": "Menyambungkan...",
"disconnecting": "Memutusan sambungan...",
"reconnecting": "Menyambungkan kembali..."
},
"progress": {
"name": "Perkembangan kampanye",
"drop": "Drop :",
"game": "Game",
"campaign": "Kampanye :",
"remaining": "{time} tersisa",
"drop_progress": "Perkembangan :",
"campaign_progress": "Perkembangan :",
"no_drop": "No active drop",
"return_to_auto": "Return to Auto Mode",
"manual_mode_info": "Manual Mode: Mining"
},
"channels": {
"name": "Saluran",
"online": "ONLINE ✔",
"pending": "DITUNDA ⏳",
"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": "Aktif ✔",
"upcoming": "Segera hadir ⏳",
"expired": "Kedaluarsa ❌",
"claimed": "Diklaim ✔"
},
"starts": "Mulai : {time}",
"ends": "Akhir : {time}",
"no_campaigns": "No campaigns loaded yet...",
"claimed_drops": "claimed"
},
"settings": {
"general": {
"name": "Umum",
"dark_mode": "Mode gelap: "
},
"reload": "Muat Ulang",
"games_to_watch": "Game untuk Ditonton",
"games_help": "Pilih game untuk ditonton. Urutan penting - seret untuk mengatur ulang prioritas (atas = prioritas tertinggi).",
"search_games": "Cari game...",
"select_all": "Pilih Semua",
"deselect_all": "Batalkan Semua",
"selected_games": "Game yang Dipilih (seret untuk mengatur ulang)",
"available_games": "Game Tersedia",
"no_games_selected": "Tidak ada game yang dipilih. Centang game di bawah untuk menambahkannya.",
"no_games_match": "Tidak ada game yang cocok dengan pencarian Anda.",
"all_games_selected": "Semua game telah dipilih atau tidak ada game tersedia.",
"actions": "Tindakan",
"connection_quality": "Kualitas Koneksi:",
"minimum_refresh": "Interval Refresh Minimum (menit):",
"dark_mode": "Dark Mode",
"reload_campaigns": "Reload Campaigns"
},
"help": {
"links": {
"name": "Tautan berguna"
},
"how_it_works": "Cara kerja",
"how_it_works_text": "Kira-kira setiap ~60 detik, aplikasi ini mengirimkan \"menit ditonton\" ke saluran yang sedang ditonton - yang cukup untuk membuat drop terus bergerak. Perhatikan bahwa hal ini sepenuhnya mengabaikan kebutuhan untuk mengunduh video dan audio dari streaming yang sebenarnya. Untuk menjaga agar status (ONLINE atau OFFLINE) saluran tetap terbaru, koneksi websocket dibuat untuk menerima peristiwa tentang streaming yang naik atau turun, atau pembaruan tentang jumlah penonton saat ini",
"getting_started": "Mulai",
"getting_started_text": "1. Masuk ke aplikasi.\n2. Pastikan akun Twitch Anda ditautkan ke semua kampanye yang Anda minati.\n3. Jika Anda hanya ingin menambang semuanya, hapus centang pada \"Hanya Prioritas\" dan tekan \"Muat Ulang\".\n4. Jika Anda ingin menambang game tertentu terlebih dahulu, gunakan daftar \"Prioritas\" untuk menentukan daftar game pilihan Anda. Game yang berada di bagian atas daftar akan tergoda untuk ditambang terlebih dahulu, sebelum game yang berada di bagian bawah daftar.\n5. Biarkan opsi \"Prioritas saja\" dicentang untuk menghindari menambang game yang tidak ada dalam daftar prioritas. Atau tidak - terserah Anda.\n6. Gunakan daftar \"Kecualikan\" untuk memberi tahu aplikasi game mana yang tidak boleh ditambang.\n7. Untuk memodifikasi konten dari salah satu daftar atau mengubah status opsi \"Hanya Prioritas\", Anda perlu menekan \"Muat Ulang\" agar perubahan dapat diterapkan.",
"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"
}
}
}