Files
VoiceStudio/frontend/src/i18n/locales/id.json
T

2744 lines
154 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.
{
"longformPersistence": {
"storage_unavailable_title": "Proyek tidak dapat dimuat",
"storage_unavailable_body": "VoiceStudio tidak dapat membaca penyimpanan proyek lokal. Data Anda tidak diubah. Coba lagi untuk membukanya dengan aman.",
"clear_projects": "Hapus proyek tersimpan",
"clear_confirm": "Tindakan ini menghapus permanen semua proyek Cerita dan Buku Audio yang tersimpan serta draf yang belum disimpan agar VoiceStudio dapat dibuka kembali. Tindakan ini tidak dapat dibatalkan. Lanjutkan?"
},
"backendUnreachable": {
"contact_recent": "Backend masih merespons {{ago}} yang lalu lalu berhenti merespons — kemungkinan besar crash atau dihentikan di tengah permintaan.",
"contact_never": "Backend sama sekali belum merespons pada sesi ini — mungkin tidak pernah berhasil dijalankan.",
"dev": "Tidak dapat menghubungi backend VoiceStudio lokal. {{contact}} Pada `bun run dev` backend berjalan dengan muat-ulang otomatis: setiap perubahan berkas — termasuk menyimpan saat ada permintaan berjalan — membuatnya dimulai ulang dan memutus koneksi. Coba ulangi tindakan dulu; jika itu muat-ulang, akan langsung berhasil. Jika terus gagal, periksa terminal `bun run dev` untuk traceback Python atau pesan keluar, dan omnivoice.log di folder data VoiceStudio Anda.",
"server": "Tidak dapat menghubungi server backend VoiceStudio. {{contact}} Periksa log server untuk penyebabnya (mis. `docker logs <container>` atau `journalctl`) — dan perlu diketahui, jika Docker menyajikan halaman ini, halaman ini sendiri bisa ikut mati bersama backend.",
"misrouted": "Server yang menjawab {{url}} bukan backend VoiceStudio — ia mengembalikan halaman 404 miliknya sendiri. Permintaan API mendarat di host yang salah: periksa URL Backend di Pengaturan → Berbagi, atau, jika reverse proxy menyajikan UI ini, rutenya untuk jalur API.",
"desktop": "Tidak dapat menjangkau backend VoiceStudio lokal. {{contact}} Buka pemberitahuan crash jika muncul, atau Pengaturan → Log → Backend untuk hal terakhir yang dicatatnya — \"{{retry}}\" memulainya ulang, dan \"{{cleanRetry}}\" membangun ulang lingkungannya jika tidak kunjung kembali."
},
"nav": {
"clone": "Kloning",
"design": "Desain",
"dub": "Sulih Suara",
"settings": "Pengaturan",
"stories": "Cerita",
"launchpad": "landasan peluncuran",
"gallery": "Galeri",
"transcripts": "Transkrip",
"omnidrive": "OmniDrive",
"catalogue": "Katalog",
"move_rail_right": "Pindahkan rel ke kanan",
"move_rail_left": "Pindahkan rel ke kiri",
"flip_rail": "Balik sisi rel",
"voice": "Suara",
"audiobook": "Buku Audio",
"workspaces": "Ruang kerja"
},
"catalogue": {
"title": "Katalog model",
"tab_engines": "Engine",
"tab_models": "Model",
"moved_title": "Kini di Katalog model",
"moved_engines_body": "Pemilihan engine default untuk suara, transkripsi, dan LLM kini ada di ruang kerja Katalog model.",
"moved_models_body": "Menjelajahi, memasang, dan menghapus model yang diunduh kini ada di ruang kerja Katalog model.",
"open_engines": "Buka engine",
"open_models": "Buka model"
},
"settings": {
"remote_backend_test": "Uji koneksi",
"remote_backend_save": "Simpan dan muat ulang",
"remote_backend_recovery_title": "Backend jarak jauh tidak dapat dijangkau",
"remote_backend_recovery_hint": "Anda dapat mengubah backend jarak jauh nanti di Pengaturan → Berbagi.",
"remote_backend_use_local": "Gunakan backend lokal",
"remote_backend_error_tls": "Koneksi aman tidak dapat diverifikasi. Periksa sertifikat dan gunakan port API HTTP VoiceStudio.",
"remote_backend_error_cors": "Backend jarak jauh memblokir aplikasi ini. Izinkan origin aplikasi di pengaturan CORS.",
"remote_backend_error_network": "Backend jarak jauh tidak dapat dijangkau. Periksa alamat, jaringan, dan firewall.",
"remote_backend_error_timeout": "Backend jarak jauh tidak merespons tepat waktu.",
"remote_backend_error_http": "Backend jarak jauh mengembalikan HTTP {{status}}.",
"remote_backend_error_wrong_port": "Layanan ini tampaknya bukan API HTTP VoiceStudio. Port 7443 biasanya merupakan port kontrol pekerja jarak jauh; coba port 3900.",
"openapi": "API VoiceStudio",
"general": "Umum",
"theme": "Tema",
"language": "Bahasa",
"language_desc": "Pilih bahasa antarmuka",
"appearance": "Tampilan",
"sharing": "Berbagi",
"models": "Model",
"engines": "Mesin",
"capture": "Pintasan",
"credentials": "Kredensial",
"llm_providers": "Penyedia LLM",
"llmp_desc": "Menggerakkan terjemahan Cinematic & Autofit — LLM menulis ulang setiap baris agar sesuai dengan jatah waktu segmennya sehingga pengaturan waktu video tetap terjaga. Kunci disimpan terenkripsi; penyedia lokal (Ollama/LM Studio) sepenuhnya offline.",
"llmp_catalogue_note": "Penyedia yang ditandai aktif adalah yang menjawab ketika keluarga mesin LLM di katalog disetel ke \"kompatibel OpenAI\".",
"llmp_catalogue_link": "Buka keluarga LLM di katalog",
"llmp_provider": "Penyedia",
"llmp_provider_hint": "Pilih penyedia untuk dikonfigurasi. Penyedia aktif digunakan untuk terjemahan Cinematic/Autofit. Penyedia lokal tidak memerlukan kunci, tetapi servernya harus berjalan.",
"llmp_local_tag": "lokal",
"llmp_about": "Tentang",
"llmp_get_key": "Dapatkan kunci API",
"llmp_account_id": "ID akun",
"llmp_account_placeholder": "ID akun Cloudflare",
"llmp_api_key": "Kunci API",
"llmp_key_env": "disetel lewat environment (.env) — menggantikan kolom ini",
"llmp_key_stored": "tersimpan — ketik untuk mengganti",
"llmp_key_paste": "tempel kunci API Anda",
"llmp_base_url": "URL dasar",
"llmp_model": "Model",
"llmp_model_placeholder": "nama model",
"llmp_fetch_models": "Ambil model",
"llmp_models_loaded": "{{count}} model tersedia dari penyedia ini",
"llmp_status": "Status",
"llmp_save": "Simpan",
"llmp_save_active": "Simpan & gunakan untuk terjemahan",
"llmp_save_keep": "Simpan & pertahankan yang aktif",
"llmp_test": "Uji",
"llmp_active_badge": "aktif",
"llmp_test_ok": "ok — {{model}} · {{ms}} ms",
"llmp_err_config": "Kunci API atau URL dasar belum diisi — isi lalu simpan.",
"llmp_err_auth": "Kunci ditolak (401/403) — periksa kunci API Anda.",
"llmp_err_not_found": "Tidak ditemukan (404) — periksa nama model dan jalur URL dasar.",
"llmp_err_rate_limit": "Terkena batas laju (429) — kunci berfungsi; coba lagi sebentar lagi.",
"llmp_err_network": "Tidak dapat menghubungi penyedia — periksa URL dasar, jaringan Anda, atau pastikan server lokal sedang berjalan.",
"llmp_err_error": "Pengujian gagal",
"llmp_load_failed": "Gagal memuat penyedia",
"llmp_save_failed": "Gagal menyimpan",
"updates": "Pembaruan",
"logs": "Log",
"about": "Tentang",
"privacy": "Privasi",
"title": "Pengaturan",
"ui_scale": "Skala UI",
"ui_scale_setup_screen": "Layar: {{width}} × {{height}}",
"ui_scale_setup_title": "Pilih ukuran UI yang nyaman",
"ui_scale_setup_desc": "Periksa pratinjau langsung dan pilih skala yang paling nyaman di layar ini. Anda dapat mengubahnya nanti di Pengaturan.",
"ui_scale_setup_suggested": "Disarankan",
"ui_scale_setup_preview_title": "Pratinjau langsung",
"ui_scale_setup_current_suggestion": "Titik awal yang disarankan: {{percent}}%",
"ui_scale_setup_continue": "Gunakan {{percent}}%",
"proxy": "Proksi",
"proxy_desc": "Proksi HTTP/SOCKS5 untuk unduhan (unduhan video, Hugging Face). Mendukung http://, https://, socks5://. Langsung berlaku untuk unduhan baru.",
"proxy_saved": "Proksi disetel — unduhan baru akan menggunakannya",
"proxy_save_failed": "Gagal menyimpan proksi",
"proxy_cleared": "Proksi dihapus",
"proxy_clear": "Jelas",
"ffmpeg": "FFmpeg",
"ffmpeg_found": "Ditemukan",
"ffmpeg_missing": "Tidak ditemukan",
"ffmpeg_current": "Jalur saat ini",
"ffmpeg_desc": "Tetapkan jalur ffmpeg khusus jika deteksi otomatis gagal.",
"ffmpeg_saved": "Kumpulan jalur FFmpeg — mulai ulang backend untuk menerapkan.",
"diagnostics_copied": "Diagnostik disalin — tempelkan ke laporan masalah Anda.",
"updater_desktop": "Updater hanya berjalan di aplikasi desktop.",
"latest_version": "Anda menggunakan versi terbaru.",
"logs_load_failed": "Gagal memuat log: {{message}}",
"clear_frontend_confirm": "Hapus buffer log frontend dalam memori?",
"clear_frontend_title": "Hapus log",
"frontend_logs_cleared": "Log frontend dihapus",
"clear_tauri_confirm": "Potong file log sisi Tauri? OS akan terus menulis entri baru.",
"clear_tauri_title": "Hapus log Tauri",
"nothing_to_clear": "Tidak ada yang perlu dihapus — belum ada file log Tauri di disk.",
"cleared_tauri_one": "Menghapus file log {{count}} Tauri",
"cleared_tauri_other": "Menghapus file log {{count}} Tauri",
"clear_tauri_failed": "Gagal menghapus log Tauri: {{message}}",
"clear_backend_confirm": "Hapus runtime backend + log kerusakan? Hal ini tidak dapat dibatalkan.",
"clear_backend_title": "Hapus log",
"backend_logs_cleared": "Log backend dihapus",
"clear_backend_failed": "Gagal menghapus log",
"copy_failed": "Penyalinan gagal: {{message}}",
"update_check_failed": "Pemeriksaan pembaruan gagal: {{message}}",
"save_failed": "Gagal menyimpan: {{message}}",
"clear_failed": "Hapus gagal: {{message}}",
"engine_switched": "{{family}} dialihkan ke {{engine}}",
"channel_set_failed": "Gagal menyetel saluran: {{message}}",
"updater_downloading": "Mengunduh {{version}}…",
"updater_installed": "Dipasang — diluncurkan kembali.",
"updater_available_title": "Pembaruan tersedia",
"updater_available_body": "Versi {{version}} tersedia.\n\n{{notes}}\n\nUnduh dan instal sekarang?",
"updater_notes_fallback": "Lihat catatan rilis di GitHub.",
"shortcut_load_failed": "Tidak dapat memuat pintasan: {{message}}",
"shortcut_set": "Pintasan dikte disetel ke {{shortcut}}",
"shortcut_register_failed": "Tidak dapat mendaftar: {{message}}",
"shortcut_reset": "Atur ulang ke default",
"shortcut_reset_failed": "Penyetelan ulang gagal: {{message}}",
"reset_longform_failed": "VoiceStudio tidak dapat menghapus proyek tersimpan dengan aman. Data proyek Anda tidak diubah; kosongkan sebagian ruang penyimpanan atau mulai ulang aplikasi, lalu coba lagi.",
"cancel": "Batalkan",
"hf_token_also_clear": "Hapus juga",
"hf_token_clear_btn": "Hapus token",
"hf_token_clear_confirm": "Hapus token HuggingFace dari sumber Aplikasi?",
"hf_token_clear_dialog": "Hapus token",
"hf_token_input": "Token HuggingFace",
"hf_token_sources": "Sumber token HF",
"hf_token_test_now": "Uji sekarang",
"hf_token_test_now_title": "Jalankan ulang whoami untuk setiap sumber",
"color_theme": "Tema warna",
"font": "huruf",
"autoplay_preview": "Pratinjau putar otomatis",
"autoplay_preview_label": "Putar hasilnya segera setelah render selesai",
"autoplay_preview_hint": "Jika tidak aktif, render yang sudah selesai tidak lagi dapat diputar sendiri — berguna saat membuat segmen secara batch.",
"appearance_help": "Kontrol ini dulunya berada di bilah log bawah — dipindahkan ke sini sehingga footer dapat tetap fokus pada log. Perubahan berlaku seketika dan tetap ada di seluruh peluncuran.",
"advanced": "Lanjutan",
"shortcut": "Pintasan dikte",
"credentials_desc": "Kunci dan token API, ditetapkan untuk sesi ini.",
"credentials_more": "Lebih banyak penyedia",
"group_general": "Umum",
"group_voice": "Suara & Mesin",
"group_system": "Sistem",
"group_app": "Aplikasi",
"search_placeholder": "Setelan penelusuran…",
"restart_required": "Diperlukan mulai ulang",
"applies_now": "Berlaku sekarang",
"dictation": "Dikte",
"pronunciation": "Pengucapan",
"translation": "Terjemahan",
"network": "Jaringan",
"performance": "Performa & Perangkat",
"storage": "Penyimpanan",
"device": "Perangkat & komputasi",
"device_desc": "Pembacaan perangkat keras dan backend langsung.",
"network_desc": "Jalur proxy dan FFmpeg untuk pengunduhan dan pemrosesan media.",
"translation_desc": "Bagaimana sulih suara menerjemahkan dialog, dan mesin mana yang melakukannya.",
"translate_quality": "Kualitas terjemahan",
"translate_quality_desc": "Cepat itu literal dan cepat; Sinematik menggunakan LLM untuk ungkapan alami.",
"translate_fast": "Cepat",
"translate_cinematic": "Sinematik",
"translation_providers": "Penyedia terjemahan",
"translation_providers_desc": "Kunci API untuk penerjemah online, disetel untuk sesi ini.",
"review_mode": "Modus tinjauan",
"review_mode_on": "Ulasan",
"review_mode_off": "Tembakan cepat",
"review_mode_desc": "Jeda di antara tahapan alur sehingga Anda dapat meninjau ASR/output terjemahan.",
"header_live_stats": "Tampilkan metrik sistem langsung di header",
"header_live_stats_desc": "Menambahkan monitor RAM/CPU/VRAM langsung ke bilah atas (dinonaktifkan secara default).",
"nav_style": "Gaya navigasi",
"nav_style_desc": "Ganti ruang kerja lewat baris ikon di tepi jendela, atau lewat tab di bilah judul.",
"nav_style_rail": "Bilah samping",
"nav_style_tabs": "Tab bilah judul",
"storage_desc": "Tempat VoiceStudio menyimpan data dan keluaran Anda.",
"history_retention": "Riwayat pembuatan",
"history_retention_desc": "Berapa banyak take yang disimpan sebelum yang tertua dibersihkan.",
"history_retention_help": "Setelah setiap pembuatan, take tertua tanpa bintang yang melebihi batas ini dihapus beserta berkas audionya. Take berbintang selalu disimpan. 0 = simpan semua.",
"history_retention_cap": "Take yang disimpan",
"history_retention_cap_hint": "Take berbintang tidak pernah dihitung dalam pembersihan · 0 = tanpa batas",
"history_retention_saved": "Batas penyimpanan disimpan",
"history_retention_save_failed": "Tidak dapat menyimpan",
"history_retention_invalid": "Masukkan 0 atau lebih",
"workers_title": "Pekerja jarak jauh",
"workers_desc": "Kirim pekerjaan satu per satu ke GPU di mesin Anda yang lain. Hasilnya kembali ke sini. Tidak ada yang dikirim sampai Anda menambahkan pekerja dan menyetujuinya.",
"workers_enable": "Gunakan pekerja jarak jauh",
"workers_enable_hint": "Selama ini mati, tidak ada koneksi yang diterima dan tidak ada yang meninggalkan mesin ini.",
"workers_port_conflict": "Worker jarak jauh tidak tersedia karena instans VoiceStudio lain sudah menerimanya di port ini. Tutup instans lain, atau atur OMNIVOICE_WORKER_PORT ke port berbeda lalu mulai ulang VoiceStudio.",
"workers_endpoint": "Pekerja terhubung ke",
"workers_endpoint_hint": "Pekerja harus dapat menjangkau alamat ini. Di jaringan berbeda, VPN seperti Tailscale adalah cara yang andal.",
"workers_add": "Tambahkan pekerja",
"workers_add_hint": "Buat token, lalu tempelkan ke OmniVoice di mesin yang lain.",
"workers_new_token": "Buat token",
"workers_token_once": "Salin sekarang — hanya ditampilkan sekali, hanya berfungsi sekali, dan kedaluwarsa dalam 15 menit.",
"workers_copy": "Salin",
"workers_copied": "Tersalin",
"workers_copy_failed": "Tidak dapat menyalin.",
"workers_none": "Belum ada pekerja. Buat token untuk menambahkan yang pertama.",
"workers_load": "Tugas {{active}} / {{slots}}",
"workers_needs_consent": "Belum disetujui",
"workers_status_online": "Daring",
"workers_status_offline": "Luring",
"workers_status_paused": "Dijeda",
"workers_status_disabled": "Dinonaktifkan",
"workers_resume": "Lanjutkan",
"workers_disable": "Nonaktifkan",
"workers_enable_one": "Aktifkan",
"workers_remove": "Hapus",
"workers_remove_title": "Hapus pekerja?",
"workers_remove_confirm": "Hapus {{name}}? Kuncinya dicabut, jadi tidak dapat terhubung kembali tanpa token baru.",
"workers_rename": "Ganti nama pekerja",
"inbound_add_person": "Tambahkan orang",
"inbound_add_person_hint": "Membuat string koneksi untuk satu orang. Beri setiap orang miliknya sendiri, sehingga menghapus satu tidak memutus semuanya.",
"inbound_bind": "Dapat dijangkau dari",
"inbound_bind_apply": "Terapkan",
"inbound_bind_exposed": "Siapa pun yang dapat menjangkau {{address}} bisa terhubung dengan string koneksi yang valid. TLS mengenkripsi sesi dan menyematkan sertifikat mesin ini; jaga kerahasiaan setiap string dan hapus akses yang tidak diperlukan.",
"inbound_bind_local": "Hanya mesin ini yang bisa menjangkaunya. Masukkan alamat jaringan Anda agar mesin lain dapat terhubung.",
"inbound_connect": "Hubungkan",
"inbound_connect_desc": "Tempelkan string koneksi yang diberikan kepada Anda. Mesin tersebut harus menerima koneksi agar ini berfungsi.",
"inbound_connect_hint": "Diawali ovnode:// dan memuat kunci, alamat, port, serta sidik jari sertifikat.",
"inbound_connect_placeholder": "ovnode://…@192.168.0.110:7444?fingerprint=…",
"inbound_request_failed": "Tidak dapat menjangkau mesin GPU tersebut. Pastikan mesin aktif dan menerima koneksi, lalu coba lagi.",
"inbound_connect_row": "String koneksi",
"inbound_connect_title": "Hubungkan ke mesin GPU",
"inbound_connected": "terhubung",
"inbound_connected_now": "Terhubung saat ini",
"inbound_connecting": "menghubungkan…",
"inbound_create": "Buat",
"inbound_desc": "Izinkan mesin lain terhubung agar beberapa orang dapat berbagi GPU ini. Setiap koneksi dienkripsi dan disematkan ke sertifikat mesin ini.",
"inbound_disconnect": "Putuskan",
"inbound_enable": "Terima koneksi",
"inbound_enable_hint": "Orang lain terhubung ke mesin ini, bukan sebaliknya. Tidak ada yang masuk tanpa string koneksi yang Anda buat.",
"inbound_exposed_badge": "Di jaringan Anda",
"inbound_forget": "Hapus",
"inbound_hours_ago": "{{count}} jam lalu",
"inbound_jobs_run": "{{count}} pekerjaan",
"inbound_just_now": "baru saja",
"inbound_label": "Nama",
"inbound_label_placeholder": "Laptop Alice",
"inbound_last_seen": "terakhir dipakai {{when}}",
"inbound_minutes_ago": "{{count}} mnt lalu",
"inbound_nobody": "Tidak ada yang terhubung.",
"inbound_people": "Orang dengan akses",
"inbound_revoke": "Hapus",
"inbound_revoke_confirm": "Cabut akses untuk {{label}}? String koneksi mereka langsung berhenti bekerja. Semua orang lain tetap terhubung.",
"inbound_revoke_title": "Cabut akses?",
"inbound_shown_once": "Salin sekarang — ini tidak ditampilkan lagi. Berikan hanya kepada {{label}}.",
"inbound_shown_once_warning": "Perlakukan seperti kata sandi dan kirimkan secara pribadi. Sidik jari sertifikat menyematkan koneksi terenkripsi ke mesin GPU ini.",
"inbound_title": "Bagikan GPU ini dengan orang lain",
"history_retention_load_failed": "Tidak dapat memuat batas penyimpanan saat ini",
"models_dir_help": "Lokasi penyimpanan bobot model. Pilih drive yang lebih besar atau cepat bila perlu; perubahan berlaku setelah mulai ulang.",
"models_dir_saved": "Folder model disimpan — mulai ulang untuk menerapkan",
"models_dir_reverted": "Folder bawaan dipulihkan — mulai ulang untuk menerapkan",
"models_dir_reset_hint": "Kembalikan ke lokasi cache bawaan",
"models_dir_effective": "Sedang digunakan",
"models_dir_configured": "Dikonfigurasi",
"models_dir_default": "Menggunakan bawaan",
"models_dir_restart": "↻ Mulai ulang VoiceStudio untuk memakai lokasi baru.",
"worker_join": "Gabung",
"worker_join_code": "Kode gabung",
"worker_join_code_hint": "Sekali pakai dan kedaluwarsa dalam 15 menit. Buat di mesin yang akan mengirim pekerjaan.",
"worker_join_desc": "Izinkan salinan VoiceStudio lain mengirim pekerjaan ke mesin ini. Tempelkan kode gabung yang ditampilkannya — atau pindai QR-nya dengan ponsel Anda lalu tempelkan di sini.",
"worker_join_env": "OMNIVOICE_WORKER_MODE disetel di lingkungan mesin ini, jadi itulah yang menentukan — ubah di sana.",
"worker_join_no_endpoint": "Tidak ada control plane yang tersimpan.",
"worker_join_ok": "Bergabung. Mesin ini sekarang menerima pekerjaan.",
"worker_join_placeholder": "ovw_…",
"worker_join_rejoin": "Gabung ke yang lain",
"worker_join_stopped": "Berhenti",
"worker_join_take_work": "Menerima pekerjaan dari",
"worker_join_title": "Pinjamkan GPU mesin ini",
"worker_join_working": "Bekerja",
"workers_add_hint_qr": "Buat token, lalu pindai QR dari mesin yang lain atau tempelkan kodenya ke pengaturan Pekerja jarak jauh di sana.",
"workers_approve": "Setujui",
"workers_last_seen": "terakhir terlihat {{when}}",
"workers_qr_alt": "Kode QR yang memuat kode ini — pindai dari mesin yang lain",
"workers_secret_done": "Selesai",
"workers_seen_hr": "{{count}} jam lalu",
"workers_seen_min": "{{count}} mnt lalu",
"workers_seen_now": "baru saja",
"workers_step_1": "Pasang VoiceStudio di mesin yang memiliki GPU.",
"workers_step_2": "Buat token di atas.",
"workers_step_3": "Pindai QR di sana, atau tempelkan kodenya ke pengaturan Pekerja jarak jauh di sana.",
"workers_summary_none": "Tidak ada yang terhubung",
"workers_summary_online": "{{count}} online",
"workers_token_expired": "Kedaluwarsa — buat yang baru",
"workers_token_expires_in": "Kedaluwarsa dalam {{time}}",
"workers_token_qr_hint": "Di mesin yang lain: Pengaturan → Sistem → Pekerja jarak jauh → Gabung, lalu pindai atau tempelkan.",
"compute_device": "Perangkat komputasi",
"compute_device_title": "Perangkat komputasi",
"compute_device_desc": "Di perangkat mana backend menjalankan model. Auto tepat untuk hampir semua orang.",
"compute_device_env_pinned": "Disematkan oleh variabel lingkungan OMNIVOICE_DEVICE",
"compute_device_ignored": "Perangkat itu tidak terdeteksi di mesin ini — Auto yang berlaku",
"compute_device_restart": "Berlaku setelah aplikasi dimulai ulang",
"compute_device_note": "Hanya perangkat yang terdeteksi di mesin ini yang ditampilkan. CPU selalu berfungsi; menyematkan perangkat tidak pernah mengarang perangkat keras.",
"compute_device_auto": "Auto (disarankan)",
"device_family_cuda": "NVIDIA GPU (CUDA)",
"device_family_rocm": "AMD GPU (ROCm)",
"device_family_xpu": "Intel GPU (XPU)",
"device_family_npu": "NPU",
"device_family_mps": "Apple GPU (MPS)",
"device_family_cpu": "CPU",
"device_load_failed": "Gagal memuat pengaturan perangkat",
"perf_save_failed": "Gagal menyimpan pengaturan",
"generate_budget_title": "Anggaran waktu komputasi",
"generate_budget_desc": "Berapa lama satu proses generasi boleh berjalan sebelum dianggap terlalu berat untuk perangkat keras ini dan dihentikan. Proses di CPU memang lebih lambat daripada yang dipercepat, jadi keduanya punya batas sendiri — dan batas CPU lebih tinggi.",
"generate_timeout_gpu": "Anggaran yang dipercepat (GPU)",
"generate_timeout_gpu_note": "Digunakan saat proses generasi berjalan di CUDA, ROCm, MPS, atau akselerator lainnya. Juga digunakan untuk generasi CPU jika tidak ada anggaran CPU yang diatur di bawah.",
"generate_timeout_cpu": "Anggaran CPU",
"generate_timeout_cpu_note": "Digunakan saat proses generasi berjalan di CPU. Setelah disimpan di sini, nilai ini selalu mengatur generasi CPU — terlepas dari anggaran yang dipercepat di atas.",
"generate_timeout_invalid": "Masukkan angka detik lebih besar dari 0 dan paling banyak {{max}}.",
"generate_timeout_saved": "Tersimpan. Mulai ulang VoiceStudio agar anggaran baru berlaku.",
"generate_timeout_shadowed_badge": "Ditimpa secara eksternal",
"generate_timeout_shadowed_note": "Variabel lingkungan di luar VoiceStudio (shell, file .env, atau kontainer) saat ini sedang mengatur nilai ini — nilai yang disimpan di sini diabaikan sampai variabel tersebut dihapus.",
"generate_timeout_shadowed_toast": "Tersimpan, tetapi variabel lingkungan di luar VoiceStudio saat ini sedang mengatur nilai ini — nilai itu akan terus digunakan sampai variabel tersebut dihapus."
},
"bootstrap": {
"title": "VoiceStudio",
"checking": "Memeriksa lingkungan…",
"downloading_uv": "Mengunduh uv (pengelola paket Python)…",
"creating_venv": "Membuat lingkungan virtual Python…",
"installing_deps": "Memasang dependensi — proses awal, 510 menit.",
"starting_backend": "Memulai backend…",
"ready": "Siap",
"failed": "Pengaturan gagal",
"what_to_try": "Yang bisa dicoba:",
"retry": "Coba Lagi",
"clean_retry": "Bersihkan & Coba Lagi",
"clean_retry_confirm": "Ini akan menghapus lingkungan virtual Python yang tersimpan dan mengunduh ulang semua dependensi (~5-10 menit). Lanjutkan?",
"hide_logs": "Sembunyikan log",
"show_logs": "Tampilkan log",
"lines_one": "{{count}} baris",
"lines_other": "{{count}} baris",
"copy": "Salin",
"copied": "Disalin!",
"waiting_output": "Menunggu hasil…",
"auto_detect": "Deteksi otomatis",
"suggest_lang": "Ubah ke Bahasa Indonesia?",
"select_lang": "Bahasa:",
"region_global": "Global (langsung)",
"region_china": "Cina (cermin)",
"region_russia": "Rusia (cermin)",
"region_restricted": "Dibatasi (cermin)",
"unknown_error": "Kesalahan tidak diketahui",
"retrying": "Mencoba lagi…",
"hint_readme": "README.md hilang dari bundel. Ini sekarang diperbaiki otomatis — coba lagi seharusnya berhasil.",
"hint_python_mirror": "Jaringan tidak dapat menjangkau unduhan Python (rilis github.com). Ganti wilayah di Pengaturan → Jaringan (Tiongkok / Rusia / Terbatas lewat mirror), atau pasang Python 3.11+ di sistem agar aplikasi memakainya.",
"hint_uv_timeout": "Waktu jaringan habis saat mengunduh uv. Periksa koneksi internet Anda atau coba wilayah lain di Pengaturan → Jaringan.",
"hint_uv_sync": "Pemasangan dependensi gagal. \"Bersihkan & Coba Lagi\" akan menghapus venv yang ter-cache dan memulai dari awal.",
"hint_build_backend": "Kesalahan backend build Python. \"Bersihkan & Coba Lagi\" menghapus venv yang rusak agar dibangun ulang dari awal.",
"hint_ffmpeg": "Unduhan ffmpeg gagal. Ini tidak fatal — coba lagi atau pasang ffmpeg secara manual.",
"hint_port": "Port 3900 sudah digunakan. Tutup instans VoiceStudio lain atau aplikasi yang memakai port itu.",
"hint_silent_crash": "Backend berhenti tanpa pesan kesalahan. \"Bersihkan & Coba Lagi\" sering memperbaiki masalah venv yang rusak.",
"hint_github_blocked": "Jaringan Anda mungkin memblokir GitHub. Pasang Python 3.11+ dari python.org (tambahkan ke PATH) lalu jalankan ulang, atau setel UV_PYTHON_INSTALL_MIRROR — lihat docs/install/troubleshooting.md.",
"hint_intel_mac": "Mac ini menggunakan prosesor Intel, dan PyTorch tidak lagi merilis build untuk Mac Intel — backend AI lokal tidak dapat dipasang, dan mencoba ulang tidak akan mengubahnya. Anda tetap dapat mengarahkan aplikasi ke backend jarak jauh di mesin lain (Pengaturan → Berbagi → Backend jarak jauh), atau menjalankan VoiceStudio di Mac Apple Silicon, Windows, atau Linux. Detail: docs/install/macos.md.",
"hint_default": "Coba \"Coba Lagi\" dulu. Jika gagal lagi, \"Bersihkan & Coba Lagi\" akan membangun ulang lingkungan dari awal.",
"hint_stuck": "Backend belum selesai dimulai. Dari sumber, jalankan `uv sync` terlebih dahulu dan pastikan `uv` dan Python ada di PATH Anda, lalu Coba Lagi. Periksa log di bawah (atau Pengaturan → Log → Backend) untuk mengetahui titik penghentian yang tepat.",
"lines": "{{count}} baris"
},
"stories": {
"title": "Editor Cerita",
"subtitle": "Buku audio multi-track dengan suara per karakter",
"cast": "Pemeran",
"castTitle": "Pemeran — menetapkan suara untuk setiap karakter",
"addCharacter": "Tambahkan karakter",
"character": "Karakter",
"characterName": "Nama karakter",
"narratorLocked": "Narator selalu hadir",
"removeCharacter": "Hapus karakter",
"noProfiles": "Belum ada profil suara yang terpasang — kloning atau desain suara terlebih dahulu.",
"pasteSplit": "Tempel & Pisahkan",
"import": "Impor",
"autocast": "Transmisi otomatis",
"autocastHint": "Deteksi siapa yang berbicara dan tetapkan suara secara otomatis",
"autocastEmpty": "Tidak ada yang perlu ditransmisikan secara otomatis — tempel atau impor cerita terlebih dahulu.",
"autocastDone": "Transmisikan otomatis {{lines}} baris ke {{voices}} suara",
"importFailed": "Tidak dapat membaca file itu.",
"addLine": "Tambahkan Baris",
"addChapter": "Tambahkan Bab",
"chapterN": "Bab {{n}}",
"stems": "Batang",
"stemsDone": "Batang karakter {{count}} yang diekspor",
"format": "Format ekspor",
"mp3Fallback": "Enkode MP3 tidak tersedia — unduh WAV sebagai gantinya.",
"projects": "Proyek",
"newStory": "Cerita baru",
"save": "Simpan",
"untitled": "Cerita tanpa judul",
"projectName": "Nama proyek",
"deleteProject": "Hapus proyek",
"noProjects": "Belum ada cerita yang disimpan — Simpan untuk menyimpan cerita ini.",
"projectSaved": "Cerita disimpan",
"generateAll": "Hasilkan",
"splitPlaceholder": "Tempel bagian yang panjang. Kami akan membaginya menjadi beberapa segmen pada batas kalimat.",
"maxChars": "Karakter maksimal per segmen",
"segmentsHint": "~{{count}} segmen pada {{max}} karakter",
"pasteAbove": "Tempel teks di atas",
"cancel": "Batalkan",
"splitIntoTracks": "Bagi menjadi beberapa baris",
"emptyText": "Mulailah cerita Anda dengan menambahkan dialog dan alur narasi. Tetapkan suara untuk setiap karakter dalam Pemeran.",
"addFirst": "Tambahkan Baris Pertama",
"linePlaceholder": "Masuk ke dialog atau narasi… gunakan [jeda 0,5 detik] untuk jeda hening",
"text": "teks",
"voice": "suara",
"defaultVoice": "Bawaan",
"inlineVoice": "Atur suara sebaris",
"inlineVoiceHint": "Ganti suara untuk teks yang disorot (atau masukkan tombol di kursor)",
"resetInlineVoice": "Setel ulang ke suara saluran",
"insertPause": "Masukkan jeda [jeda 0,5 detik].",
"preview": "Pratinjau baris ini",
"removeLine": "Hapus garis",
"tune": "Nada & kecepatan",
"speed": "Kecepatan",
"reset": "Setel ulang",
"tones": {
"laugh": "Tertawa",
"sigh": "Huh",
"question": "Pertanyaan",
"surprise": "Kejutan",
"confirm": "Konfirmasikan",
"dissatisfaction": "Hmph"
},
"lines": "{{count}} baris",
"characters": "{{count}} karakter",
"minutes": "~{{count}} mnt",
"chars": "{{count}} karakter",
"exportDone": "Buku audio diunduh",
"exportFailed": "Ekspor gagal — periksa apakah backend sedang berjalan.",
"global_speed": "Kecepatan",
"global_speed_hint": "Kecepatan membaca untuk semua lini tanpa mengesampingkan kecepatannya sendiri",
"deleteProjectConfirm": "Hapus proyek ini secara permanen?"
},
"common": {
"open": "Buka",
"cancel": "Batalkan",
"save": "Simpan",
"delete": "Hapus",
"loading": "Memuat…",
"error": "Ada yang tidak beres",
"languages_count": "646 bahasa",
"clear": "Jelas",
"refresh": "Segarkan",
"close": "Tutup",
"minimize_window": "Minimalkan jendela",
"maximize_restore_window": "Maksimalkan atau pulihkan jendela",
"close_window": "Tutup jendela",
"back": "Kembali",
"play": "Mainkan",
"pause": "Jeda",
"reload": "Paksa Muat Ulang UI",
"backend": "Bagian belakang",
"frontend": "Bagian depan",
"tauri": "Tauri",
"cancelOp": "Batalkan operasi",
"dismiss": "Singkirkan",
"dismissStatus": "Tutup statusnya",
"search": "Cari…",
"no_matches": "Tidak ada kecocokan",
"recent_and_popular": "Terbaru & Populer",
"popular_label": "Populer",
"showing_of": "Menampilkan {{shown}} dari {{total}}. Ketik untuk mencari…",
"yes": "Ya",
"no": "Tidak",
"more_info": "Informasi lebih lanjut",
"learn_more": "Pelajari lebih lanjut",
"saving": "Menyimpan…",
"remove": "Hapus {{term}}",
"not_set": "Belum diatur"
},
"launchpad": {
"greeting": "halo",
"hero_title": "Buatlah suara yang <1>terdengar seperti Anda</1>.",
"hero_desc": "Kloning suara, desain yang baru, atau sulih suara video ke dalam <1>{{count}} bahasa</1>. Dibuat untuk kreator yang peduli dengan bunyinya.",
"clone_title": "Klon Suara",
"clone_desc": "Masukkan klip pendek — kami akan menirunya. Satu sampel biasanya cukup.",
"design_title": "Desain Suara",
"design_desc": "Bangun suara baru dari sebuah kalimat. Jenis kelamin, usia, aksen, suasana hati — panggilan Anda.",
"dub_title": "Sulih Suara Video",
"dub_desc": "Transkripsikan, terjemahkan, suarakan ulang. Simpan setiap pembicara, atur waktunya, kirimkan.",
"ab_compare": "Perbandingan A/B",
"ab_compare_title": "Cobalah dua suara secara berdampingan",
"cloned_voices": "Suara Kloning",
"designed_voices": "Suara yang Dirancang",
"dubbing_projects": "Proyek Sulih Suara",
"empty_hint": "Belum ada apa pun di sini — pilih kartu di atas.",
"demo_callout": "Coba suara demo — tekan Hasilkan untuk mendengarnya.",
"locked": "TERKUNCI",
"open": "Buka",
"try_it": "Cobalah",
"audio_only": "Hanya Audio",
"stories_title": "Cerita",
"stories_desc": "Buku audio multi-suara — masukkan karakter Anda, masukkan skrip, ekspor per bab.",
"gallery_title": "Galeri Suara",
"gallery_desc": "Telusuri suara rancangan siap pakai berdasarkan aksen, usia, dan gaya — tanpa penyiapan.",
"transcripts_title": "Transkrip",
"transcripts_desc": "Ubah audio atau video menjadi teks yang dapat diedit dan dicari — dalam 646 bahasa.",
"recent_files": "File terbaru",
"view_all_files": "Lihat semua file",
"file": "Mengajukan",
"audiobook_title": "Buku Audio",
"audiobook_desc": "Ubah skrip panjang atau EPUB menjadi buku audio berbab — sampul, metadata, satu narator.",
"convert_title": "Pengubah Suara",
"convert_desc": "Ucapkan sekali — dengar dengan suara lain. Ucapan ke ucapan, sepenuhnya lokal."
},
"clone": {
"prompt": "Cepat",
"language": "Bahasa",
"steps": "Langkah-langkah",
"voice_source": "Sumber Suara",
"reference_audio": "Audio referensi",
"reference_hint": "Gunakan 515 detik ucapan yang jernih.",
"upload_audio": "Unggah audio",
"optional_details": "Detail opsional",
"starting_recording": "Memulai…",
"unsupported_audio": "Pilih berkas audio yang didukung: WAV, MP3, M4A, FLAC, OGG, AAC, atau WebM.",
"saved_profiles": "Profil Tersimpan",
"transcript": "Transkrip",
"style": "Gaya",
"save_as_profile": "Simpan sebagai Profil Suara",
"profile_name": "Nama profil…",
"save": "Simpan",
"cancel": "Batalkan",
"synthesize": "Sintesis Audio",
"synthesizing": "Mensintesis… ({{seconds}}s)",
"drop_audio": "Letakkan audio di sini — atau klik. WAV, MP3, M4A… 🎤",
"record": "Rekam",
"cleaning": "Membersihkan…",
"using_profile": "Menggunakan profil: {{name}}",
"clear": "jelas",
"production_overrides": "Pengesampingan Produksi",
"denoise": "Tolak kebisingan",
"postprocess": "Pascaproses",
"duration": "Durasi",
"auto": "Otomatis",
"optional": "(Opsional)",
"toggle_sidebar": "Alihkan Bilah Sisi",
"delete_profile": "Hapus profil",
"personality_narrator": "Narator",
"personality_casual": "Santai",
"personality_news_anchor": "Penyiar Berita",
"personality_storyteller": "Pendongeng",
"personality_corporate": "Perusahaan",
"personality_energetic": "Energik",
"preset_narrator": "🎙️ Berwibawa",
"preset_excited_child": "🧒 Anak yang bersemangat",
"preset_anxious_whisper": "🤫 Bisikan",
"preset_surprised_woman": "😲 Terkejut",
"preset_elderly_story": "👴 Penatua",
"preset_sichuan": "🌶️ 四川话",
"prompt_placeholder": "Apa yang seharusnya dikatakan oleh suara ini?",
"design_placeholder": "Jelaskan suaranya, lalu ketikkan apa yang dikatakannya…",
"speed": "Kecepatan",
"tshift": "t_shift",
"pos_temp": "Suhu Pos",
"class_temp": "Suhu Kelas",
"layer_pen": "Lapisan Pena",
"auto_kicker": "· otomatis",
"cat_Gender": "Jenis Kelamin",
"cat_Age": "Usia",
"cat_Pitch": "Pitch",
"cat_Style": "Gaya",
"cat_EnglishAccent": "Aksen Bahasa Inggris",
"cat_ChineseDialect": "Dialek Cina",
"vd_exclusive_cleared": "{{cleared}} dihapus — dialek Tionghoa dan aksen Inggris tidak dapat digabungkan.",
"opt_Auto": "✨ Otomatis",
"opt_male": "laki-laki",
"opt_female": "perempuan",
"opt_child": "anak",
"opt_teenager": "remaja",
"opt_young_adult": "dewasa muda",
"opt_middle_aged": "setengah baya",
"opt_elderly": "lanjut usia",
"opt_very_low_pitch": "nada yang sangat rendah",
"opt_low_pitch": "nada rendah",
"opt_moderate_pitch": "nada sedang",
"opt_high_pitch": "nada tinggi",
"opt_very_high_pitch": "nada yang sangat tinggi",
"opt_whisper": "berbisik",
"style_placeholder": "misalnya berbisik",
"stop_playback": "Hentikan pemutaran",
"describe_label": "Deskripsikan suara Anda",
"describe_placeholder": "mis. a warm elderly British storyteller, slightly raspy",
"describe_hint": "Deskripsikan suaranya, atau pilih titik awal. Keduanya akan mengisi detail di bawah.",
"describe_unmatched": "Tidak dapat dipetakan: {{items}}",
"describe_no_match": "Belum ada ciri suara yang dikenali — coba kata seperti deep, elderly, atau British.",
"define_by_design": "Lewat desain",
"define_from_audio": "Dari audio",
"define_voice": "Tentukan suara",
"save_design_as_profile": "Simpan desain sebagai profil",
"generating_done_status": "Pembuatan selesai",
"generating_status": "Membuat audio…",
"identity": "Identitas",
"identity_auto": "Otomatis — model yang menentukan",
"insert": "Sisipkan",
"insert_token": "Sisipkan token ekspresi",
"script": "Naskah",
"starting_points": "Titik awal",
"voice_kicker": "Suara",
"seed_label": "Benih",
"seed_placeholder": "acak setiap saat",
"seed_keep": "Simpan benih ini",
"seed_reroll": "Benih baru",
"seed_reroll_hint": "Gulung benih acak baru dan simpan",
"define_convert": "Konversi",
"details": "Detail",
"edit": "Edit",
"cat_AccentDialect": "Aksen atau dialek",
"accent_dialect_hint": "salah satu saja, tidak keduanya",
"reset_to_description": "Setel ulang sesuai deskripsi",
"chips_more": "{{count}} lainnya…"
},
"about": {
"app": "Aplikasi",
"version": "Versi",
"tauri_runtime": "Waktu proses Tauri",
"platform": "Peron",
"architecture": "Arsitektur",
"python": "ular piton",
"compute_device": "Perangkat komputasi",
"gpu_active": "GPU aktif",
"ram": "RAM",
"vram": "VRAM",
"backend": "Bagian belakang",
"active_model": "Model aktif",
"asr_model": "model ASR",
"translator": "Penerjemah",
"hf_token": "Kumpulan token HF",
"data_dir": "Direktori data",
"outputs": "Keluaran",
"crash_log": "Catatan kerusakan",
"update_endpoint": "Perbarui titik akhir",
"yes": "ya",
"no": "tidak",
"web_preview": "pratinjau web",
"downloading": "Mengunduh…",
"check_updates": "Periksa pembaruan",
"copy_diagnostics": "Salin diagnostik",
"github": "VoiceStudio di GitHub",
"commercial_license": "Lisensi Komersial",
"update_channel": "Saluran pembaruan",
"channel_stable": "Stabil",
"channel_preview": "Pratinjau",
"channel_set": "Saluran pembaruan disetel ke {{channel}}",
"channel_preview_hint": "Pratinjau mengikuti build main terbaru — fitur lebih baru, lebih sedikit diuji. Kembali ke stabil jika ada rilis stabil yang lebih baru.",
"self_check": "Jalankan pemeriksaan mandiri",
"self_check_failed": "Pemeriksaan mandiri gagal: {{message}}",
"self_check_ok": "OK",
"self_check_warn": "Peringatan",
"self_check_fail": "Gagal",
"self_check_healthy": "Semua pemeriksaan lulus — instalasi ini tampak sehat.",
"self_check_attention": "{{count}} pemeriksaan gagal — lihat petunjuk di atas.",
"save_bundle": "Simpan bundel diagnostik",
"bundle_saved": "Bundel diagnostik tersimpan: {{filename}}",
"bundle_failed": "Tidak dapat membuat bundel diagnostik: {{message}}"
},
"privacy": {
"desc": "Semuanya berjalan di <1>mesin ini</1>. Audio, video, dan transkrip Anda tidak pernah keluar dari komputer kecuali Anda secara eksplisit menggunakan penerjemah online (Google, DeepL, dll.) atau mendorong ke HuggingFace.",
"uploads_at": "Unggahan disimpan di",
"outputs_at": "Output disimpan di",
"gen_history": "Sejarah generasi",
"network_calls": "Panggilan jaringan",
"model_telemetry": "Telemetri model",
"local_sqlite": "SQLite lokal",
"translator_online": "Penerjemah sedang online: {{provider}}",
"translator_offline": "Penerjemah luring",
"no_tracking": "Tidak ada — tidak ada pelacakan",
"watermark_title": "Tanda air tak terlihat",
"watermark_subtitle": "Aktif secara bawaan. Menandai audio hasil buatan sebagai dibuat AI agar dapat dikenali nanti. Hanya memengaruhi audio yang dibuat mulai sekarang.",
"watermark_on_toast": "Tanda air tak terlihat diaktifkan untuk audio baru.",
"watermark_off_toast": "Tanda air tak terlihat dimatikan untuk audio baru.",
"watermark_failed": "Tidak dapat mengubah pengaturan tanda air."
},
"consent": {
"title": "Bantu meningkatkan VoiceStudio?",
"step_label": "Tingkatkan VoiceStudio",
"body": "Statistik penggunaan anonim tanpa konten: mesin mana yang digunakan, berapa lama proses pembuatan, dan jenis kesalahan. Tidak pernah teks Anda, audio Anda, file Anda, atau apa pun yang mengidentifikasi Anda. Tidak ada yang dikirim kecuali Anda setuju, dan Anda dapat berubah pikiran kapan saja di Pengaturan → Privasi.",
"learn_more": "Apa saja yang sebenarnya dikirim?",
"yes": "Ya, bagikan statistik anonim",
"no": "Tidak, terima kasih",
"dismiss": "Tutup (analitik tetap mati)"
},
"langPrompt": {
"offer": "VoiceStudio terbuka dalam {{language}}. Lebih suka bahasa Inggris?",
"switch": "Beralih ke bahasa Inggris",
"keep": "Tetap {{language}}"
},
"credentials": {
"title": "Kredensial",
"desc": "Kunci dan token API disetel <1>hanya untuk sesi ini</1>. Untuk kegigihan saat memulai ulang, tetapkan variabel tersebut sebagai variabel lingkungan di profil shell Anda.",
"hf_token": "Token Memeluk Wajah",
"hf_help": "Diperlukan untuk diarisasi speaker dan pengunduhan model yang lebih cepat. Dapatkan milik Anda di huggingface.co/settings/tokens.",
"translate_key": "Kunci API LLM",
"translate_help": "Opsional — untuk DeepL, OpenAI, atau penyedia terjemahan berbayar. Tidak diperlukan untuk Google Terjemahan (tingkat gratis).",
"save": "Simpan",
"saved": "✓ Tetapkan",
"not_set": "✗ Tidak disetel",
"get_token": "Dapatkan token →",
"saved_session": "{{key}} disimpan untuk sesi ini",
"save_failed": "Gagal menyimpan",
"save_error": "Gagal menyimpan: {{message}}",
"deepl_key": "Kunci API DeepL",
"deepl_help": "Untuk mesin terjemahan DeepL. Dapatkan kunci Anda di deepl.com/pro-api.",
"deepl_base_url": "URL Basis DeepL",
"deepl_base_url_help": "Titik akhir API DeepL khusus (default: https://api.deepl.com/v2). Ubah untuk proxy/hosting mandiri.",
"microsoft_key": "Kunci Penerjemah Microsoft",
"microsoft_help": "Untuk mesin Microsoft Translator. Dapatkan kunci Anda dari Portal Azure.",
"microsoft_base_url": "URL Basis Penerjemah Microsoft",
"microsoft_base_url_help": "Titik akhir Azure Translator kustom (default: https://api.cognitive.microsofttranslator.com).",
"llm_base_url": "URL Dasar LLM",
"llm_base_url_help": "Untuk kualitas Sinematik atau mesin LLM. Semua titik akhir yang kompatibel dengan OpenAI (OpenAI, Ollama, LM Studio, dll.).",
"llm_model": "Model LLM",
"llm_model_help": "Nama model yang akan digunakan dengan mesin LLM (misalnya gpt-4o, deepseek-chat, qwen2.5).",
"group_huggingface": "Memeluk Wajah",
"group_translate": "Terjemahan (LLM / Sinematik)",
"group_deepl": "Titik Akhir Kustom DeepL",
"group_microsoft": "Titik Akhir Kustom Penerjemah Microsoft"
},
"engines": {
"banners_on": "Spanduk panggung menyala",
"banners_off": "Spanduk panggung dilepas",
"backend": "Bagian belakang",
"status": "Status",
"ready": "siap",
"unavailable": "tidak tersedia",
"use": "Gunakan",
"configureProviders": "Konfigurasikan penyedia",
"loading": "Memuat mesin…",
"refresh": "Segarkan",
"matrixTitle": "Matriks Kompatibilitas Mesin",
"loadFailed": "Gagal memuat mesin: {{message}}",
"couldNotLoad": "Tidak dapat memuat mesin: {{message}}",
"retry": "Coba lagi",
"activeEngine": "Aktif {{family}}: {{engine}}",
"engineCompatLabel": "{{family}} kompatibilitas mesin",
"active": "aktif",
"whyUnavailable": "Apa yang dibutuhkan",
"diskDetails": "Rincian disk",
"diskModelDownload": "Unduhan model",
"diskPackageDownload": "Unduhan paket",
"diskUniqueInstalled": "Terpasang unik",
"diskPotentiallyShared": "Berpotensi dibagikan",
"diskTemporary": "Ruang kosong sementara",
"diskDestination": "Tujuan",
"diskDestination_hf_model_cache": "Volume cache model Hugging Face",
"diskDestination_engine_data": "Volume data mesin VoiceStudio",
"diskActualModel": "Model aktual",
"diskActualEnvironment": "Lingkungan aktual",
"diskActualCache": "Cache bersama aktual",
"diskActualTotal": "Total milik aktual",
"diskEstimateConfidence": "Keyakinan estimasi",
"diskActualConfidence": "Keyakinan pengukuran",
"diskConfidence_exact": "Tepat",
"diskConfidence_measured": "Terukur",
"diskConfidence_estimated": "Perkiraan",
"diskConfidence_unknown": "Tidak diketahui",
"diskDedup_uv_same_volume": "uv mendeduplikasi wheel identik hanya jika cache dan lingkungan mesin berada pada volume yang sama.",
"sectionReady": "Siap digunakan",
"sectionMore": "Tambahkan mesin lainnya",
"lastError": "Kesalahan terakhir: {{error}}",
"installedAndReady": "Terpasang dan siap",
"notInstalled": "Tidak dipasang",
"available": "Tersedia",
"subprocessTitle": "Berjalan dalam subprosesnya sendiri + venv",
"inProcessTitle": "Berjalan dalam proses VoiceStudio Python",
"testEngine": "Mesin uji",
"testing": "Pengujian…",
"recheck": "Periksa kembali",
"rechecking": "Memeriksa ulang…",
"latencyMs": "{{ms}} ms",
"failed": "gagal",
"acceptLicense": "Terima lisensi",
"noBackends": "Tidak ada backend yang terdaftar.",
"switch_failed": "Gagal mengganti mesin",
"routingAccelerated": "GPU aktif",
"routingCpuFallback": "Penggantian CPU",
"routingCpuOnly": "CPU",
"routingRemote": "Terpencil",
"routingUnknown": "Tidak diketahui",
"routingEffectiveChip": "Berjalan pada {{device}} di mesin ini",
"routingCaveatTitle": "GPU dipilih, tetapi: {{reason}}",
"selectCpuFallback": "{{engine}}: berjalan di CPU — {{reason}}",
"selectWithCaveat": "Beralih ke {{engine}} — {{reason}}",
"generateCaveat": "{{engine}} mungkin lambat di komputer ini — {{reason}}",
"cpuLongText": "{{engine}} berjalan di CPU di sini dan teks ini panjang — proses mungkin melampaui batas waktu. Teks lebih pendek atau mesin yang dioptimalkan untuk CPU (OmniVoice GGUF, Supertonic-3) akan jauh lebih cepat.",
"cpuLongTextTuned": "{{engine}} berjalan di CPU di sini dan teks ini panjang — proses mungkin melampaui batas waktu. Teks lebih pendek, atau membaginya menjadi beberapa bagian, akan jauh lebih cepat.",
"familyMatrixTitle": "Mesin {{family}}",
"familyDesc_tts": "Mengubah naskah menjadi suara. Studio, Dubbing, dan Batch menggunakan mesin yang aktif.",
"familyDesc_asr": "Mengubah audio menjadi teks untuk transkripsi, sulih suara, teks layar, dan dikte.",
"familyDesc_llm": "Pembantu teks opsional untuk terjemahan dan penulisan ulang. “Nonaktif” akan melewati langkah tersebut.",
"mpsLongText": "{{engine}} berjalan di Apple Silicon (MPS) di sini dan teks ini panjang — proses mungkin melampaui batas waktu. Teks lebih pendek, atau membaginya menjadi beberapa bagian, akan jauh lebih cepat."
},
"capture": {
"desc": "Tombol pintas global hanya berfungsi di aplikasi desktop. UI web menggunakan pintasan <1>Ctrl+Shift+Space</1> dalam halaman saat jendela memiliki fokus.",
"desc_detail": "Tombol pintas berfungsi di seluruh sistem saat VoiceStudio berjalan — tombol ini memfokuskan jendela dan memulai dikte. Hindari kombo yang sudah diklaim oleh OS (di macOS, <1>⌘+Space</1> adalah sumber input siklus Spotlight dan <2>⌘+⇧+Space</2>). Jika pendaftaran gagal, pilih kombo lain.",
"active_shortcut": "Pintasan aktif",
"new_shortcut": "Jalan pintas baru",
"press_key": "Tekan kombinasi tombol…",
"listening": "⌨︎ mendengarkan (Esc untuk membatalkan)",
"record_shortcut": "Rekam pintasan",
"recording": "Merekam…",
"save": "Simpan",
"reset_default": "Atur ulang ke default",
"listening_label": "Mendengarkan…",
"transcribing_label": "Mentranskripsikan…",
"a11y_setup": "Izinkan Aksesibilitas agar dikte dapat mengetik untuk Anda",
"pasted": "Ditempel",
"inserted": "Dimasukkan",
"copied": "Disalin ke papan klip",
"no_speech": "Tidak ada ucapan yang terdeteksi",
"mic_denied": "Akses mikrofon ditolak",
"mic_denied_toast": "Akses mikrofon ditolak. {{hint}}",
"mic_hint_mac": "macOS: buka Pengaturan Sistem → Privasi & Keamanan → Mikrofon dan aktifkan VoiceStudio.",
"mic_hint_windows": "Windows: buka Pengaturan → Privasi & keamanan → Mikrofon, aktifkan 'Akses mikrofon' dan 'Izinkan aplikasi desktop mengakses mikrofon Anda', lalu izinkan VoiceStudio.",
"mic_hint_linux": "Linux: periksa apakah pengguna Anda ada di grup audio dan WebView memiliki akses mikrofon.",
"transcription_failed": "Transkripsi gagal: {{message}}",
"mic_not_found": "Mikrofon tidak ditemukan. Hubungkan atau aktifkan mikrofon, lalu coba lagi.",
"mic_in_use": "Mikrofon sedang sibuk atau tidak tersedia. Tutup aplikasi lain yang mungkin menggunakannya, lalu coba lagi.",
"mic_error_generic": "Tidak dapat memulai mikrofon: {{message}}"
},
"logs": {
"no_tauri_log": "Belum ada Tauri yang masuk ke disk — luncurkan melalui versi desktop untuk menghasilkannya",
"empty_frontend": "Belum ada entri konsol frontend yang diambil. Berinteraksi dengan aplikasi — setiap konsol.* akan muncul di sini.",
"empty_tauri": "Tidak ada log Tauri yang tersedia. Berjalan di shell desktop saja.",
"empty_backend": "Log waktu proses kosong. Aktivitas akan muncul di sini saat backend mencatatnya.",
"title": "Log",
"source_backend": "Bagian belakang",
"source_frontend": "Bagian depan",
"source_tauri": "Tauri",
"expand": "Perluas log",
"collapse": "Ciutkan log",
"expand_aria": "Luaskan panel log",
"collapse_aria": "Ciutkan panel log",
"drag_resize": "Seret untuk mengubah ukuran",
"refresh": "Segarkan",
"refresh_aria": "Segarkan log",
"copy_visible": "Salin log yang terlihat",
"copy_visible_aria": "Salin log yang terlihat",
"clear": "Jelas",
"clear_aria": "Hapus catatan",
"report_issue": "Laporkan masalah (salin diagnostik)",
"report_issue_aria": "Laporkan masalah",
"close": "Tutup",
"close_aria": "Tutup panel log",
"join_discord": "Bergabunglah dengan Perselisihan kami",
"join_discord_aria": "Bergabunglah dengan komunitas Perselisihan kami",
"support_project": "Dukung proyek ini",
"support_project_aria": "Dukung proyek ini",
"empty_frontend_short": "Belum ada keluaran konsol frontend.",
"empty_lines": "Tidak ada garis.",
"all_clear": "✅ Semua aman — tidak ada masalah yang terdeteksi",
"log_cleared": "{{source}} log dihapus",
"clear_failed": "Hapus gagal: {{message}}",
"log_copied": "Menyalin {{source}} log",
"copy_failed": "Penyalinan gagal: {{message}}",
"report_copied": "Laporan diagnostik disalin — tempelkan ke masalah GitHub.",
"report_failed": "Laporan gagal: {{message}}",
"version_updates": "Periksa pembaruan",
"version_updates_aria": "Buka pembaruan — versi aplikasi {{v}}",
"update_available": "Pembaruan tersedia ({{version}}) — klik untuk memperbarui",
"update_available_aria": "Pembaruan tersedia ({{version}}) — membuka pembaruan",
"contact": "Kontak",
"contact_aria": "Buka halaman kontak"
},
"voice_profile": {
"test_text": "Halo - ini adalah ujian untuk suara ini.",
"not_found": "Suara tidak ditemukan.",
"needs_name": "Profil suara memerlukan nama.",
"saved": "Disimpan",
"save_failed": "Gagal menyimpan: {{message}}",
"delete_confirm": "Hapus \"{{name}}\" secara permanen? Ini juga menghapus audio referensi pada disk.",
"deleted": "Suara dihapus",
"delete_failed": "Penghapusan gagal: {{message}}",
"unlock_confirm": "Buka kunci suara ini? Generasi mendatang tidak lagi dapat direproduksi.",
"unlocked": "Suara tidak terkunci",
"unlock_failed": "Gagal membuka kunci: {{message}}",
"gen_failed": "Pembuatan gagal: {{message}}",
"designed": "Dirancang",
"cloned": "Kloning",
"edit": "Sunting",
"name_placeholder": "Nama suara",
"locked": "Terkunci",
"free": "Gratis",
"locked_ref": "Referensi terkunci",
"ref_audio": "Audio referensi",
"details": "Detail",
"style_instruct": "Instruksi gaya",
"style_placeholder": "misalnya berbisik, bersemangat, lembut",
"language": "Bahasa",
"ref_transcript": "Transkrip referensi",
"ref_help": "Apa yang dikatakan audio referensi. Digunakan untuk meningkatkan akurasi klon.",
"locked_explain": "Suara ini sedikit dapat direproduksi. Setiap generasi menggunakan referensi + benih yang sama.",
"unlock": "Buka kunci",
"try_voice": "Coba suara ini",
"test_phrase": "Frasa tes",
"test_help": "Ketik apa saja — kami akan membuatnya dengan pengaturan suara ini saat ini.",
"test_placeholder": "Ketik sesuatu untuk mendengar suara ini mengatakannya…",
"gen_preview": "Hasilkan pratinjau",
"generating": "Menghasilkan…",
"used_title": "Dimana suara ini telah digunakan",
"used_empty": "Suara ini belum digunakan. Buat pratinjau di atas, atau pilih di sulih suara.",
"synth_clips_one": "{{count}} klip synth",
"synth_clips_other": "{{count}} klip synth",
"projects_count_one": "proyek {{count}}",
"projects_count_other": "{{count}} proyek",
"dubbed_segments_one": "{{count}} segmen yang di-dubbing",
"dubbed_segments_other": "{{count}} segmen yang di-dubbing",
"verified": "Terverifikasi",
"persona_export": "Ekspor kepribadian",
"persona_exporting": "Membangun kepribadian…",
"persona_exported": "Persona diekspor",
"persona_export_no_audio": "Suara ini tidak memiliki audio yang dapat dibaca untuk membuat pratinjau.",
"persona_export_failed": "Ekspor gagal.",
"persona_include_ref": "Sertakan klip suara",
"persona_include_ref_hint": "Sertakan klip referensi mentah. Nonaktif = hanya membagikan pratinjau yang diberi watermark (disarankan).",
"consent_title": "Kepemilikan suara",
"consent_explain": "Rekam diri Anda saat membaca pernyataan di bawah ini untuk memverifikasi bahwa ini adalah suara Anda sendiri. Verifikasi akan diperlukan untuk fitur agen dan berbagi komunitas — tidak pernah untuk sintesis lokal.",
"consent_statement": "Saya mengonfirmasi bahwa profil suara ini adalah suara saya sendiri, dan saya menyetujui VoiceStudio mengkloningnya atas nama saya.",
"consent_record": "Catat pernyataan persetujuan",
"consent_stop": "Berhenti merekam",
"consent_saved": "Kepemilikan suara diverifikasi",
"consent_failed": "Verifikasi gagal: {{message}}",
"consent_verified_explain": "Anda mencatat pernyataan persetujuan pada {{date}}. Mencabut akan menghapus rekaman dan status terverifikasi.",
"consent_revoke": "Cabut",
"consent_revoke_confirm": "Cabut verifikasi kepemilikan suara? Rekaman persetujuan akan dihapus dan fitur agen tidak dapat lagi menggunakan suara ini.",
"consent_revoked": "Verifikasi dicabut"
},
"dub": {
"install_engine_pkg": "Instal {{pkg}}",
"needs_install_short": "Perlu instalasi",
"install_popover_title": "Instal mesin ini",
"install_popover_frozen_body": "Build paket ini tidak dapat memasang mesin — lingkungan Python-nya bersifat hanya-baca dan bertanda tangan. Jalankan perintah di bawah pada instalasi dari sumber, atau beralih ke mesin Argos bawaan.",
"switch_to_argos": "Beralih ke Argos (bawaan, offline)",
"copy_command": "Salin perintah",
"install_cmd_copied": "Perintah disalin",
"dismiss_error": "Tutup",
"transcribe": "Transkripsikan",
"translate": "Terjemahkan",
"generate": "Hasilkan",
"export": "Ekspor",
"no_video": "Tidak ada video yang dimuat",
"segments": "segmen",
"speakers": "pembicara",
"video_dubbing_studio": "Studio Sulih Suara Video",
"drop_here": "Letakkan video atau audio di sini",
"paste_url": "…atau tempel URL YouTube/video",
"ingest": "Menelan",
"pull_captions": "Tarik teks YouTube + terjemahan otomatis",
"batch_queue_link": "Men-dubbing banyak video? Buka antrean batch",
"youtube_auth": "Masuk YouTube (opsional)",
"youtube_cookie_file": "Pilih ekspor cookies.txt",
"remove_cookie_file": "Hapus berkas kuki",
"cookie_transport_error": "Ekspor kuki memerlukan HTTPS atau aplikasi desktop lokal.",
"cookie_size_error": "Ekspor kuki harus berukuran 1 MB atau kurang.",
"save": "Simpan",
"reset": "Setel ulang",
"save_project": "Simpan proyek",
"change_file": "Ubah berkas",
"import_srt": "Impor .srt",
"import_srt_alt": "Impor .srt sebagai gantinya",
"cast": "PEMERAN",
"speaker": "Pembicara {{n}}:",
"default": "Bawaan",
"language": "Bahasa",
"auto": "Otomatis",
"iso_code": "Kode ISO",
"style": "Gaya",
"style_placeholder": "misalnya perempuan",
"optional": "opsional",
"translate_all": "Terjemahkan Semua",
"translating": "Menerjemahkan…",
"retranslate": "Terjemahkan ulang",
"transcript": "Transkrip",
"generate_dub": "Hasilkan Dub",
"export_mp4": "MP4",
"export_wav": "WAV",
"export_srt": "SRT",
"upload_transcribe": "Unggah & Transkripsikan",
"multi_lang": "Multi-bahasa",
"prep_download": "Mengunduh video…",
"prep_extract": "Mengekstrak audio…",
"prep_demucs": "Memisahkan vokal / musik (Demucs)…",
"prep_scene": "Mendeteksi potongan adegan…",
"prep_cached": "Menggunakan hasil cache…",
"prep_preparing": "Mempersiapkan…",
"prep_chip_download": "unduh",
"prep_chip_extract": "ekstrak",
"prep_chip_demucs": "demuc",
"prep_chip_scene": "adegan",
"prep_chip_cached": "di-cache",
"prep_demucs_note": "Demucs dapat memakan waktu beberapa menit untuk video berdurasi panjang. Audio panjang = menunggu lebih lama.",
"transcribing": "Mentranskripsikan audio…",
"elapsed": "berlalu",
"remaining": "tersisa",
"sidebar_toggle": "Alihkan Bilah Sisi",
"retry_transcription": "Coba lagi transkripsi",
"supported_formats": "MP4 · MOV · MKV · WEBM · MP3 · WAV · FLAC · M4A",
"pull_captions_title": "Jika URL-nya adalah host yang memuat teks (YouTube, Vimeo, TED…), tarik juga teks asli dan terjemahan otomatis YouTube apa pun. Menjadikan editor tanpa menjalankan Whisper; lewati Terjemahkan Semua untuk bahasa yang sudah dicakup oleh YouTube.",
"time_col": "Waktu",
"spkr_col": "Spkr",
"text_col": "Teks",
"voice_col": "Suara",
"segs": "segmen",
"preview": "Pratinjau",
"original_audio": "Asli",
"dubbed_audio": "Dijuluki ({{code}})",
"first_play_hint": "pemutaran pertama mungkin memerlukan waktu beberapa saat untuk mux",
"cast_title": "Tetapkan suara ke setiap speaker yang terdeteksi. Klon lintas bahasa mempertahankan identitas penutur yang sama dalam bahasa baru.",
"from_video": "🎤 Dari video · {{duration}}s",
"clone_profiles": "Profil Klon",
"design_presets": "Preset Desain",
"casting_board": "Papan casting",
"casting_board_hint": "Buka papan casting — seret suara ke pembicara",
"casting_voices": "Suara",
"casting_drag_hint": "Seret chip suara ke pembicara, atau tekan Enter pada pembicara untuk memilih dari daftar.",
"casting_assign_to": "Tetapkan suara untuk {{speaker}}",
"casting_assigned": "{{voice}} ditetapkan sebagai {{speaker}}",
"edit_settings": "Edit pengaturan terjemahan",
"style_label_prefix": "gaya:",
"collapse_settings": "Ciutkan pengaturan terjemahan",
"quality_label": "Kualitas",
"quality_title": "Sinematik = Penyempurnaan LLM 3 langkah (terjemahkan → renungkan → adaptasi). Membutuhkan konfigurasi LLM.",
"fast_quality": "Cepat",
"cinematic_quality": "Sinematik",
"auto_glossary_label": "Glosarium otomatis",
"auto_glossary_title": "Satu lintasan LLM tambahan membaca seluruh transkrip dan mengekstrak tema video serta istilah kunci, sehingga nama dan istilah tetap konsisten di semua segmen. Entri glosarium manual Anda selalu menang.",
"reflect_label": "Lintasan refleksi",
"reflect_title": "Setelah terjemahan langsung tiap segmen, LLM mengkritisi lalu menulis ulangnya menjadi dialog lisan yang alami. Memakai 3 panggilan LLM per segmen alih-alih 1; jika penyempurnaan gagal, terjemahan langsung dipertahankan.",
"restore": "↺ Pulihkan",
"restore_title": "Kembalikan semua segmen ke teks transkripsi asli",
"clean_up": "Membersihkan",
"clean_up_title": "Gabungkan fragmen kecil dan segmen pendek yang berdekatan",
"popular": "Populer",
"all_languages": "Semua bahasa",
"engine_label": "Mesin",
"install_engine": "Pasang mesin ini",
"installing_engine": "…memasang",
"needs_dev_install": "perlu instalasi dev",
"install_disabled_title": "Penginstalan dinonaktifkan dalam paket build",
"needs_install_suffix": "— perlu dipasang",
"glossary_title": "Pin terjemahan untuk istilah berulang (nama, kata merek, jargon)",
"glossary_btn": "+ Glosarium ({{count}})",
"selected_count": "{{count}} dipilih",
"set_voice": "Setel suara…",
"clear_voice": "⊘ Bawaan",
"set_lang": "Tetapkan bahasa…",
"default_lang": "(Bawaan)",
"delete_selected": "Hapus",
"clear_selection": "Jelas",
"tracks_done": "Selesai! Trek: {{tracks}}",
"segments_changed": "{{count}} segmen berubah sejak pembuatan terakhir",
"all_up_to_date": "semua segmen {{count}} diperbarui",
"output_options": "Opsi Keluaran:",
"mix_bg_audio": "Campur Audio BG",
"dual_subs": "Subtitle ganda",
"dual_subs_title": "Ekspor subtitle dengan teks terjemahan di atas dan teks asli dicetak miring di bawahnya.",
"burn_subs": "Bakar subtitle",
"burn_subs_title": "Render subtitle langsung ke aliran video MP4 (hardsubs). Menggunakan format subtitle ganda saat Subtitle ganda aktif.",
"timing_smart_fit": "Penyesuaian Cerdas",
"timing_smart_fit_title": "Membagi beban: sedikit mempercepat audio (nada dipertahankan, hingga 1,5×) dan sedikit memperlambat segmen video itu (hingga 2×) agar suara dengan tempo alami muat. Kelebihan di luar batas dipangkas dan ditandai. Ekspor mengenkode ulang video.",
"voice_match": "Pencocokan suara:",
"voice_match_title": "Pencocokan suara — apakah setiap baris sulih suara dikloning dari klip sumbernya sendiri atau semua baris satu pembicara memakai satu referensi bersama.",
"voice_match_per_line": "Per baris",
"voice_match_per_line_title": "Setiap baris dikloning dari klip audio sumbernya sendiri. Prosodi per baris paling cocok, tetapi identitas suara bisa bergeser antarbaris.",
"voice_match_consistent": "Konsisten",
"voice_match_consistent_title": "Semua baris satu pembicara dikloning dari satu referensi bersama (klon pembicara, atau satu klip terbaik jika tidak ada). Identitas suara lebih stabil di seluruh sulih suara.",
"timing_lip_sync": "Sinkronisasi bibir",
"default_track": "Lagu Bawaan:",
"original_track": "Asli",
"selected_dub": "{{code}} (Suara yang Dipilih)",
"dub_track": "{{code}} (sulih suara)",
"export_tracks": "Ekspor Lagu:",
"stopping": "Berhenti…",
"stop_progress": "Berhenti ({{current}}/{{total}})",
"regen_changed": "Regen {{count}} berubah",
"export_btn": "Ekspor…",
"prep_stop": "Berhenti",
"install_progress": "Menginstal {{engine}}…",
"install_restart": "{{engine}} terpasang. Mulai ulang backend untuk memuatnya.",
"install_already": "{{engine}} sudah diinstal",
"install_ok": "{{engine}} terpasang",
"install_failed": "Pemasangan gagal: {{message}}",
"prep_elapsed": "{{time}} telah berlalu",
"add_language": "Tambahkan bahasa",
"search_languages": "Cari bahasa…",
"languages_selected_one": "{{count}} bahasa dipilih",
"languages_selected_other": "{{count}} bahasa dipilih",
"more_to_narrow": "+{{count}} more — ketik untuk mempersempit",
"no_matches": "Tidak ada kecocokan",
"diagnostic_copied": "Diagnostik disalin",
"copy_failed": "Penyalinan gagal",
"open_docs": "Buka dokumen",
"copy_diagnostic": "Salin diagnostik",
"dialect_label": "Dialek",
"dialect_default": "Bawaan",
"dialect_title": "Dialek regional dan kosakata untuk terjemahan (mis. Argentina → “vos sos” alih-alih “tú eres”). Diterapkan oleh mesin LLM (OpenAI/Ollama) dan kualitas Cinematic.",
"num_speakers_label": "Pembicara",
"num_speakers_auto": "Otomatis",
"num_speakers_help": "Berapa banyak pembicara dalam video ini? Biarkan kosong untuk deteksi otomatis. Tetapkan angka jika deteksi otomatis menggabungkan beberapa pembicara menjadi satu.",
"advanced": "Lanjutan",
"cinematic_needs_llm_hint": "Sinematik memerlukan LLM. Konfigurasikan di Pengaturan → Kredensial → titik akhir LLM (Ollama berjalan secara lokal, tanpa kunci).",
"generate_dub_multi": "Hasilkan {{count}} dub",
"pipeline": "Alur sulih suara",
"preview_language": "Bahasa pratinjau",
"target_language": "Sulih suara ke",
"source_language": "Bahasa sumber",
"retry_failed": "Coba lagi {{count}} yang gagal",
"skip_failed": "Lewati yang gagal",
"transcript_after_extract": "Transkrip muncul setelah ekstraksi.",
"qc_btn": "Verifikasi waktu sulih suara (pemeriksaan jalur kedua)",
"verify": "Verifikasi",
"qc_running": "Memeriksa waktu sulih suara…",
"qc_result": "{{flagged}} dari {{total}} baris mungkin perlu didengarkan ulang",
"qc_clean": "Semua baris {{total}} cocok dengan skrip",
"qc_failed": "Pemeriksaan waktu gagal: {{message}}",
"paste_translation_btn": "Tempel terjemahan",
"paste_translation_title": "Tempel terjemahan",
"paste_translation_desc": "Tempel terjemahan yang kamu buat di tempat lain (ChatGPT, DeepL, penerjemah manusia). Terjemahan itu dipetakan ke segmen yang sudah ada — pewaktuan dan transkrip asli tidak diubah.",
"paste_translation_placeholder": "Tempel subtitle (SRT/VTT), baris bernomor (1. …), atau satu baris terjemahan per segmen — atau jatuhkan berkas .srt/.vtt di sini.",
"paste_translation_load_file": "Muat berkas .srt / .vtt",
"paste_translation_mode_timestamped": "Bertanda waktu (SRT/VTT)",
"paste_translation_mode_numbered": "Baris bernomor",
"paste_translation_mode_plain": "Baris biasa",
"paste_translation_counts": "{{segments}} segmen · {{lines}} baris · {{unmatched}} tanpa kecocokan",
"paste_translation_unused": "{{count}} baris tempelan tidak terpakai",
"paste_translation_none_matched": "Tidak ada yang cocok. Periksa apakah teks yang ditempel sejalan dengan segmen di bawah.",
"paste_translation_row_unmatched": "tidak cocok — tidak diubah",
"paste_translation_apply": "Terapkan ke {{count}} segmen",
"paste_translation_cancel": "Batal",
"paste_translation_more_rows": "+ {{count}} baris lagi",
"languages_selected": "{{count}} bahasa dipilih",
"multi_translating": "Menerjemahkan → {{lang}} ({{current}}/{{total}})…",
"multi_lang_skipped": "Terjemahan untuk {{langs}} gagal; sulih suara tersebut dilewati agar tidak menghasilkan trek dalam bahasa yang salah.",
"manage_languages": "Kelola bahasa",
"languages_done": "Selesai",
"languages_pending": "Tertunda",
"live_preview": "Pratinjau langsung",
"live_preview_title": "Dengarkan baris saat Anda mengeditnya — segmen yang diedit menstreaming TTS dengan suara CAST-nya setelah jeda singkat. Hanya pemutaran: tidak ada yang disimpan, dan ekspor tetap dirender dalam kualitas penuh.",
"live_preview_pick_voice": "Tetapkan suara CAST ke baris ini atau pembicaranya untuk mendengar pratinjau langsung."
},
"glossary": {
"title": "Glosarium",
"load_error": "Gagal memuat glosarium: {{message}}",
"needs_project": "Glosarium membutuhkan proyek yang dimuat.",
"add_error": "Gagal menambahkan: {{message}}",
"update_error": "Pembaruan gagal: {{message}}",
"delete_error": "Penghapusan gagal: {{message}}",
"clear_auto_confirm": "Hapus semua istilah yang diekstraksi otomatis? Entri manual disimpan.",
"clear_error": "Hapus gagal: {{message}}",
"pick_target": "Pilih bahasa target terlebih dahulu.",
"no_segments": "Tidak ada segmen untuk dipindai.",
"auto_empty": "Ekstrak otomatis tidak menemukan istilah baru.",
"auto_added_one": "Menambahkan istilah otomatis {{count}}. Tinjau dan edit sebelum menerjemahkan.",
"auto_added_other": "Menambahkan {{count}} istilah otomatis. Tinjau dan edit sebelum menerjemahkan.",
"auto_error": "Ekstrak otomatis gagal: {{message}}",
"count": "{{count}} istilah",
"count_one": "{{count}} istilah",
"count_other": "{{count}} istilah",
"auto_count": "{{count}} otomatis",
"auto_title": "Minta LLM untuk memindai segmen untuk kata benda yang tepat + istilah yang berulang",
"auto_btn": "Otomatis",
"clear_auto_title": "Hapus semua istilah yang diekstraksi secara otomatis, pertahankan istilah manual",
"clear_auto_btn": "Hapus otomatis",
"empty_save": "Simpan sulih suara sebagai proyek untuk memulai glosarium.",
"source": "Sumber",
"target": "Sasaran",
"note": "Catatan",
"no_terms": "Belum ada persyaratan. Tambahkan satu di bawah atau klik Otomatis.",
"source_placeholder": "Sumber ({{lang}})",
"target_placeholder": "Sasaran ({{lang}})",
"note_placeholder": "Catatan (opsional)",
"add_term": "Tambahkan istilah",
"hint": "Glosarium dimasukkan ke dalam setiap perintah terjemahan Sinematik. Entri manual diutamakan.",
"auto_badge": "otomatis",
"manual_badge": "panduan",
"close": "Ciutkan glosarium"
},
"segment": {
"time": "Waktu",
"spkr": "Spkr",
"text": "Teks",
"lang": "Lang",
"voice": "Suara",
"vol": "Jil",
"vol_title": "Volume (0200%)",
"search_placeholder": "Telusuri teks…",
"all_speakers": "Semua pembicara",
"select_all_title": "Pilih semua yang difilter",
"sel_count": "{{count}} sel",
"select_title": "Pilih segmen (shift+klik untuk rentang)",
"sync_title": "Audio yang dihasilkan berdurasi {{pct}}% dari aslinya",
"sync_label": "Sinkronisasi: {{pct}}%",
"rate_title": "Kesesuaian kecepatan bicara: {{ratio}}× relatif terhadap slot{{error}}",
"speaker_id": "ID Pembicara",
"translate_error_title": "Kesalahan terjemahan: {{error}}",
"translate_degraded_title": "Diterjemahkan (biasa) — tahap penyempurnaan dilewati: {{reason}}",
"budget_title": "Teks {{pct}}% dari aslinya — pertimbangkan kecepatan yang lebih tinggi atau frasa yang lebih pendek",
"text_title": "Cmd/Ctrl+D untuk memisahkan kursor · Cmd/Ctrl+M untuk menggabungkan dengan yang berikutnya · Cmd/Ctrl+Shift+M untuk menggabungkan dengan yang sebelumnya",
"orig_label": "asal",
"restore_title": "Kembalikan teks asli",
"lang_default": "(Tentu)",
"voice_default": "Bawaan",
"from_video": "Dari Video",
"clone_profiles": "Profil Klon",
"design_presets": "Preset Desain",
"preview_title": "Pratinjau Langsung",
"set_direction": "Tetapkan arah…",
"edit_direction": "Edit arah…",
"split_label": "Pisahkan di kursor",
"merge_label": "Gabungkan dengan berikutnya",
"merge_prev_label": "Gabungkan dengan sebelumnya",
"insert_label": "Sisipkan baris di bawah",
"direction_title": "Arah: {{dir}}",
"more_actions_title": "Lebih banyak tindakan",
"speaker_pick": "Pilih…",
"speaker_title_detected": "Speaker — pilih dari yang terdeteksi, atau ketikkan nama khusus",
"speaker_title_custom": "Pembicara — ketikkan nama (tidak ada klon diarisasi yang terdeteksi)",
"time_edit_title": "Klik untuk mengedit waktu mulai (m:ss.s). Enter untuk melakukan, Esc untuk membatalkan.",
"time_edit_end_title": "Klik untuk mengedit waktu selesai (m:ss.s). Enter untuk melakukan, Esc untuk membatalkan.",
"time_nudge_start_earlier": "Majukan waktu mulai 0,1 detik",
"time_nudge_start_later": "Mundurkan waktu mulai 0,1 detik",
"time_nudge_end_earlier": "Majukan waktu selesai 0,1 detik",
"time_nudge_end_later": "Mundurkan waktu selesai 0,1 detik",
"fit_fits": "Cocok",
"fit_fits_title": "Audio dengan kecepatan alami pas di dalam slot.",
"fit_overflows": "Meluap +{{seconds}}s",
"fit_overflows_title": "Teks yang diterjemahkan lebih panjang dari slot aslinya sebanyak {{seconds}}s. Audionya terpotong dengan keras; persingkat teks atau alihkan Timing ke \"Regangkan Video\".",
"fit_stretched": "Video {{ratio}}×",
"fit_stretched_title": "Mode Peregangan Video: video segmen ini diperlambat ke {{ratio}}× agar sesuai dengan audio sulih suara alami.",
"fit_slowed": "diperlambat {{ratio}}×",
"fit_slowed_title": "Baris sulih suara lebih pendek dari slotnya — diperlambat {{ratio}}× (nada dipertahankan) agar ucapan menutupi waktu bicara asli, bukan meninggalkan celah",
"fit_compressed_title": "Audio TTS menempati {{pct}}% dari slot — sangat terkompresi.",
"fit_audio_title": "Audio pas di dalam slot.",
"fit_ratio_title": "Audio TTS adalah {{pct}}% dari slot.",
"qc_verify": "Verifikasi",
"qc_verify_title": "ASR lintasan kedua mendengar: \"{{heard}}\" — dengarkan ulang atau sulih suara ulang baris ini.",
"live_play_title": "Streaming baris ini sekarang (pratinjau langsung)",
"live_stop_title": "Hentikan pratinjau langsung"
},
"timeline": {
"track_label": "Lini masa segmen",
"keyboard_hint": "Tombol panah memilih segmen · Enter mengalihkan mode edit · Delete menghapus · S menjepret ke awal ucapan terdekat",
"segment_aria": "Segmen {{index}}: {{start}} hingga {{end}}",
"overlap_warning": "Tumpang tindih dengan segmen di sebelahnya — kedua dialog akan berbunyi bersamaan",
"moved_announce": "Segmen {{index}} dipindahkan ke {{start}}",
"resized_announce": "Segmen {{index}}: {{start}} hingga {{end}}",
"deleted_announce": "Segmen {{index}} dihapus",
"snapped_announce": "Tepi dijepretkan ke awal ucapan pada {{time}}",
"edit_mode_on": "Mode edit: panah menggeser awal, Shift akhir, Alt seluruh segmen, Esc selesai",
"edit_mode_off": "Mode edit nonaktif",
"play_slot": "Putar bagian ini",
"preview_dub": "Pratinjau sulih suara di sini"
},
"voice": {
"personality": "Kepribadian",
"pick_personality": "Pilih preset kepribadian…",
"instruct": "Instruksikan",
"reference_text": "Teks Referensi",
"language": "Bahasa",
"generate": "Hasilkan",
"name": "Nama"
},
"tools": {
"title": "Alat",
"desc": "Pemrosesan audio, konversi format, dan utilitas",
"directorial_ai": "AI sutradara",
"directorial_desc": "Ketikkan arah bahasa alami — lihat token taksonomi yang dipetakannya + instruksi TTS + petunjuk terjemahan + bias kecepatan bicara.",
"direction": "Arah",
"parse": "Mengurai",
"method": "metode:",
"tts_instruct": "ini instruksikan:",
"translate_hint": "terjemahkan petunjuk:",
"rate_bias": "bias tingkat:",
"tokens": "token",
"taxonomy": "taksonomi",
"speech_rate_fit": "Kesesuaian kecepatan bicara",
"speech_rate_desc": "Periksa bagaimana baris yang diterjemahkan dibandingkan dengan slot waktunya.",
"translated_line": "Baris yang diterjemahkan",
"slot_seconds": "Slot (detik)",
"target_language": "Bahasa sasaran",
"fit": "Cocok",
"ratio": "rasio:",
"attempts": "upaya:",
"result": "hasil:",
"probe_file": "berkas penyelidikan",
"probe_desc": "pembungkus ffprobe — periksa codec, aliran, kedalaman bit, durasi.",
"absolute_path": "Jalan mutlak",
"probe": "Selidiki",
"probe_placeholder": "/Pengguna/Anda/Film/sample.mp4",
"probe_failed": "Pemeriksaan gagal: {{message}}",
"parse_failed": "Gagal menguraikan: {{message}}",
"fit_failed": "Gagal memasang: {{message}}"
},
"projects": {
"title": "Proyek",
"empty": "Belum ada proyek",
"create": "Proyek Baru",
"all": "Semua",
"dub_projects": "Proyek Sulih Suara",
"voice_profiles": "Profil Suara",
"transcripts": "Transkrip",
"history": "Sejarah",
"exports": "Ekspor",
"search_placeholder": "Cari sulih suara, klon, transkrip, ekspor…",
"card_grid": "Kisi kartu",
"list": "Daftar",
"no_matches": "Tidak ada yang cocok untuk \"{{query}}\"",
"empty_hint": "Belum ada apa pun di sini. Mulai sulih suara, rancang suara, atau buat audio untuk melihatnya muncul.",
"generated_audio": "Audio yang dihasilkan",
"export": "Ekspor",
"transcription": "Transkripsi",
"designed_voice": "Suara yang dirancang",
"cloned_voice": "Suara kloning",
"stories": "Cerita",
"untitled_story": "Cerita tanpa judul",
"story_lines": "baris {{count}}",
"story_lines_plural": "{{count}} baris",
"story_voices": "{{count}} suara",
"story_voices_plural": "{{count}} suara",
"audiobooks": "Buku audio",
"audiobook": "Buku Audio",
"story": "Cerita"
},
"batch": {
"title": "Sulih suara batch",
"active": "Aktif",
"completed": "Selesai",
"failed": "Gagal",
"back": "← Kembali",
"refresh": "Segarkan",
"add_videos": "Tambahkan Video",
"file_input_label": "Pilih file video",
"cancel": "Batalkan",
"delete": "Hapus",
"no_active": "Tidak ada pekerjaan aktif.",
"no_completed": "Belum ada yang selesai akhir-akhir ini.",
"no_failed": "Tidak ada pekerjaan yang gagal — nikmati keheningan.",
"drop_hint": "Letakkan video di atas untuk memulai dubbing batch.",
"enqueue_failed": "Gagal memasukkan {{name}}: {{message}}",
"enqueued": "{{count}} video ditambahkan ke antrean",
"job_cancelled": "Pekerjaan dibatalkan",
"cancel_failed": "Pembatalan gagal: {{message}}",
"job_deleted": "Pekerjaan dihapus",
"delete_failed": "Penghapusan gagal: {{message}}",
"completed_in": "Selesai pada {{duration}}",
"seg": "segmen {{current}}/{{total}}",
"stage_extract": "🎬 Mengekstrak audio…",
"stage_transcribe": "📝 Mentranskripsikan…",
"stage_translate": "🌐 Menerjemahkan…",
"stage_generate": "🗣️ Menghasilkan pidato…",
"stage_mix": "🎛️ Mencampur audio…",
"stage_complete": "✅ Lengkap",
"status_queued": "mengantri",
"status_running": "berlari",
"status_done": "selesai",
"status_failed": "gagal",
"status_cancelled": "dibatalkan",
"add_to_queue_title": "Tambahkan Video ke Antrean",
"drop_hint_text": "Letakkan file video di sini atau klik untuk menelusuri",
"drop_formats": "MP4 · MOV · MKV · WEBM",
"files_kicker": "FILE ({{count}})",
"file_size_mb": "{{size}} MB",
"target_languages": "BAHASA TARGET",
"voice_kicker": "SUARA",
"default_option": "Bawaan",
"clone_profiles": "Profil Klon",
"presets": "Preset",
"preserve_bg": "Pertahankan audio latar belakang (musik/FX)",
"estimate": "{{videos}} video × {{langs}} bahasa = {{jobs}} pekerjaan",
"select_files_langs": "Pilih file dan bahasa",
"add_to_queue": "Tambahkan ke Antrean",
"watch_folder": "Pantau folder",
"watching": "Memantau {{folder}}",
"watch_paused": "Dijeda — {{folder}}",
"watch_added": "{{count}} ditambahkan otomatis",
"watch_pause": "Jeda",
"watch_resume": "Lanjutkan",
"watch_stop": "Hentikan",
"watch_started": "Memantau {{folder}} — video baru otomatis masuk ke antrean",
"watch_unsupported": "Pemantauan folder memerlukan aplikasi desktop atau peramban berbasis Chromium — gunakan Tambah Video sebagai gantinya.",
"watch_failed": "Pemantauan berhenti — folder tidak lagi dapat dibaca (dipindahkan, dihapus, atau izin berubah). Pilih lagi foldernya untuk melanjutkan.",
"watch_start_failed": "Tidak dapat mulai memantau folder itu — pilih lagi untuk mencoba ulang."
},
"gallery": {
"title": "VoiceStudio Galeri",
"search_placeholder": "Telusuri YouTube…",
"all_voices": "Semua Suara ({{count}})",
"no_voices": "Belum ada suara",
"download_hint": "Telusuri di atas untuk mengunduh klip",
"search_btn": "Cari",
"download_btn": "Unduh",
"saving": "Menyimpan…",
"trim": "Pangkas",
"delete_confirm": "Hapus klip suara ini?",
"view_mode_list": "Daftar",
"view_mode_grid": "jaringan",
"youtube_results": "Hasil YouTube ({{count}})",
"clone_profile": "Profil klon",
"crop_audio": "Pangkas audio",
"subtitle": "Ratusan desain suara siap pakai — pilih satu dan mulai.",
"zone_archetypes": "Arketipe",
"zone_imports": "Impor Saya",
"all": "Semua",
"favorites": "Favorit",
"favorite": "Favorit",
"reset": "Setel ulang",
"preview": "Pratinjau",
"use_voice": "Gunakan suara",
"more_actions": "Tindakan lainnya",
"use_in_stories": "Gunakan di Cerita",
"set_audiobook_default": "Atur sebagai suara default Buku Audio",
"open_designer": "Buka di Desainer",
"no_matches": "Tidak ada suara yang cocok dengan filter ini.",
"load_more": "Muat lebih banyak",
"saved_as_profile": "Menambahkan \"{{name}}\" ke suara Anda.",
"use_failed": "Tidak dapat mengeluarkan suara itu: {{message}}",
"preview_failed": "Pratinjau tidak tersedia: {{message}}",
"import_explainer": "Tempelkan URL yang haknya Anda miliki (atau unggah file), potong bagian yang Anda perlukan, dan simpan sebagai suara. Anda bertanggung jawab atas pelisensian apa pun yang Anda impor.",
"import_placeholder": "Tempelkan URL video/audio, atau ketik untuk mencari…",
"imported_clip": "Klip yang diimpor",
"upload": "Unggah berkas",
"import": "Impor",
"my_imports": "Impor Saya",
"no_imports": "Belum ada yang diimpor. Tempelkan URL di atas untuk memulai.",
"search_results": "{{count}} hasil",
"download_failed": "Pengunduhan gagal: {{msg}}",
"search_failed": "Pencarian gagal: {{message}}",
"upload_failed": "Gagal mengunggah: {{message}}",
"save_failed": "Tidak dapat menyimpan profil: {{message}}",
"confirm_delete": "Hapus \"{{name}}\"?",
"trim_load_failed": "Tidak dapat memuat audio untuk pemangkasan: {{message}}",
"delete": "Hapus",
"community_empty": "Belum ada suara komunitas yang dimuat — sambungkan ke internet lalu buka kembali, atau jadilah yang pertama mengirimkannya.",
"community_explainer": "Preset desain dan suara rekaman yang dibagikan komunitas, dimuat dari omnivoice-gallery.",
"no_designer": "Suara rekaman — gunakan \"Gunakan suara\" sebagai gantinya.",
"no_preview": "Tidak ada pratinjau — tambahkan dengan \"Gunakan suara\" untuk mendengarnya.",
"submit_failed": "Tidak dapat membuka formulir pengiriman.",
"submit_preset": "Kirim preset",
"submit_voice": "Kirim suara",
"zone_community": "Komunitas",
"import_persona": "Impor bundel persona .ovsvoice",
"persona_imported": "Mengimpor \"{{name}}\"{{unverified}}.",
"persona_unverified_suffix": "(belum diverifikasi)",
"persona_too_large": "Paket tersebut terlalu besar (maks 100 MB).",
"persona_import_failed": "Tidak dapat mengimpor paket persona tersebut.",
"filters": "Filter"
},
"transcriptions": {
"title": "Transkripsi",
"entries": "{{count}} entri",
"search_placeholder": "Telusuri transkripsi…",
"export": "Ekspor",
"clear": "Jelas",
"export_title": "Ekspor semua",
"clear_title": "Hapus semuanya",
"empty_title": "Belum ada transkripsi",
"empty_desc": "Pilih Mulai dikte atau tekan {{shortcut}} untuk merekam dan menyalin audio.",
"capture": "Mulai dikte",
"capture_failed": "Dikte tidak dapat dimulai. Periksa akses mikrofon, lalu coba lagi.",
"empty_search_title": "Tidak ada transkripsi yang cocok",
"empty_search_desc": "Coba istilah pencarian lain.",
"copy": "Salin",
"delete": "Hapus",
"segments_title": "Segmen",
"copied": "Disalin ke papan klip",
"copy_failed": "Penyalinan gagal",
"exported": "Transkripsi yang diekspor",
"just_now": "Baru saja",
"m_ago": "{{count}}m yang lalu",
"h_ago": "{{count}}jam yang lalu"
},
"setup": {
"welcome": "Selamat datang",
"system_check": "Pemeriksaan sistem",
"install_models": "Instal model",
"pick_engines": "Pilih mesin",
"system_check_desc": "Selidiki RAM, disk, GPU, ffmpeg, dan jaringan. Pemblokir ditandai terlebih dahulu sehingga Anda mengetahuinya sebelum mengunduh.",
"install_models_desc": "Unduh bobot ~2,4 GB — hanya model TTS yang wajib. Tambahkan model transkripsi pilihan untuk perangkat keras Anda sekarang atau nanti dari Pengaturan.",
"pick_engines_desc": "Pilih backend TTS / ASR / LLM. Standarnya langsung dapat digunakan — sesuaikan kapan saja di Pengaturan.",
"hero_desc": "Sulih suara, kloning suara, dan desain suara — semuanya berjalan secara lokal di mesin Anda.",
"first_run": "Pengunduhan pertama memerlukan waktu 510 menit. Setelah itu, setiap peluncuran bersifat instan dan sepenuhnya offline.",
"get_started": "Mulailah",
"back": "Kembali",
"continue_ok": "Semuanya baik-baik saja — lanjutkan",
"continue_warn": "Lanjutkan (dengan peringatan)",
"continue_blocked": "Atasi pemblokir untuk melanjutkan",
"waiting_models": "Menunggu model yang dibutuhkan…",
"models_ready": "Model yang diperlukan sudah siap — lanjutkan",
"still_needed": "Masih dibutuhkan:",
"enter_studio": "Masuk studio",
"probing": "Sistem penyelidikan…",
"checking": "Memeriksa penyiapan…",
"system_preflight": "Pra-penerbangan sistem",
"recheck": "Periksa kembali",
"resolve_blockers": "Selesaikan pemeriksaan yang gagal di atas untuk melanjutkan.",
"footer_downloads": "Unduhan dari huggingface.co",
"open_finder": "Buka di Penemu",
"open": "Buka",
"install_required_models": "Instal model yang diperlukan di atas untuk melanjutkan.",
"try_dictation": "Coba dikte",
"next_try_dictation": "Berikutnya: Coba dikte",
"step_aria": "Langkah {{num}}: {{label}}",
"step_completed": "selesai",
"cache_label": "Tembolok model"
},
"donate": {
"title": "Dukungan",
"desc": "Jika Anda menikmati proyek ini, pertimbangkan untuk berdonasi untuk mendukung pengembangan kami.",
"hero_title": "Mendukung VoiceStudio",
"hero_desc": "VoiceStudio gratis, bersumber terbuka, dan berjalan sepenuhnya di perangkat keras Anda. Jika hal ini memberikan nilai pada alur kerja Anda, pertimbangkan untuk mendukung tim inti.",
"github_desc": "Berulang atau satu kali — langsung melalui GitHub.",
"coffee_desc": "Belikan kopi untuk tim. Tidak diperlukan akun.",
"paypal_desc": "Cepat satu kali atau berulang melalui PayPal.",
"platforms": "Platform",
"footer": "Setiap kontribusi membantu mendorong batasan AI lokal.",
"back": "Kembali ke Studio",
"commercial": "Lisensi Komersial",
"pill": "Mendukung VoiceStudio",
"suggested_title": "Pilih jumlah",
"most_common": "paling umum",
"custom": "Adat",
"choose_method": "Pilih cara memberi",
"choose_method_amount": "Lanjutkan dengan ${{amount}}",
"goal": {
"title": "Dana Claude Max",
"of": "dari",
"per_month": "/ bulan",
"aria": "{{raised}} dari {{goal}} sasaran bulanan",
"remaining": "{{amount}} untuk berangkat",
"met": "🎉 Sasaran tercapai — {{raised}} dinaikkan. Terima kasih!",
"social_proof": "Bergabunglah dengan pendukung {{count}} yang mendanai AI lokal"
},
"postcard": {
"title": "Dana Claude Max",
"lead_default": "Senang itu berhasil! VoiceStudio gratis dan sepenuhnya lokal. Jika ini menghemat waktu Anda, chip-in bulanan kecil akan mendanai Claude Max di belakangnya.",
"lead_first_clone": "Klon suara pertama Anda selesai — bagus! VoiceStudio berjalan sepenuhnya di mesin Anda, dan dukungan Anda menjaganya tetap seperti itu.",
"lead_tenth_dub": "Sepuluh sulih suara - Anda jelas berhasil. Chip-in bulanan kecil mendanai Claude Max yang mengirimkan fitur-fitur ini.",
"lead_sustained": "Anda telah menggunakan VoiceStudio selama sebulan. Jika hal ini mendapat tempat dalam alur kerja Anda, pertimbangkan untuk membantu mendanai langkah selanjutnya.",
"chip_in": "ikut serta",
"later": "Mungkin nanti",
"star": "Bintangi di GitHub",
"opt_out": "Jangan bertanya lagi",
"dismiss_aria": "Singkirkan"
}
},
"enterprise": {
"title": "Lisensi Komersial",
"desc": "Lisensi profesional dan dukungan teknis untuk pengguna komersial.",
"back": "Kembali ke Studio",
"badge": "Lisensi Komersial",
"hero_title": "Kirimkan suara AI dalam produksi",
"hero_desc": "VoiceStudio adalah perangkat lunak bebas dan open source di bawah GNU Affero General Public License v3 (AGPL-3.0) — gratis digunakan, termasuk untuk penggunaan komersial dan bisnis internal. Lisensi komersial hanya diperlukan jika Anda ingin menyematkan VoiceStudio ke dalam produk atau layanan closed-source atau proprietary tanpa kewajiban copyleft AGPL-3.0.",
"why_title": "Mengapa bisnis memilih VoiceStudio",
"pricing_title": "Harga",
"faq_title": "Pertanyaan umum",
"pricing_desc": "Tingkatan dan harga masih dalam tahap penyelesaian.",
"pricing_detail": "Sebelum dipublikasikan, setiap penerapan komersial akan dikutip satu per satu sehingga kami dapat menyesuaikan ukurannya untuk tim dan beban kerja Anda.",
"request_quote": "Minta penawaran",
"footer_email": "Pertanyaan? Hubungi VoiceStudio@palash.dev",
"footer_discord": "Bergabunglah dengan Discord kami untuk mendapatkan dukungan komunitas.",
"benefit_ip": "Kepemilikan IP penuh",
"benefit_ip_desc": "Anda memiliki setiap keluaran, setiap model, setiap turunan. Tidak ada sewa bersama, tidak ada kebocoran data.",
"benefit_cost": "Nol biaya per menit",
"benefit_cost_desc": "Tidak ada tagihan API, tidak ada kelebihan yang mengejutkan. Berjalan di perangkat keras Anda sendiri sejak hari pertama.",
"benefit_team": "Akses seluruh tim",
"benefit_team_desc": "Satu lisensi mencakup pengguna tanpa batas dalam organisasi Anda.",
"benefit_support": "Dukungan langsung",
"benefit_support_desc": "Dukungan email prioritas dan panggilan video dari tim teknik inti.",
"benefit_source": "Inti yang tersedia sumber",
"benefit_source_desc": "Visibilitas penuh ke dalam tumpukan. Audit, fork, dan adaptasi sesuai ketentuan lisensi.",
"benefit_lang": "646 bahasa",
"benefit_lang_desc": "Transkripsikan, terjemahkan, dan sulih suara dalam 646 bahasa dengan kualitas setingkat manusia.",
"hero_note": "Penggunaan, self-hosting, dan penggunaan komersial semuanya gratis di bawah AGPL-3.0 — termasuk dalam skala besar. AGPL adalah lisensi copyleft jaringan: jika Anda memodifikasi VoiceStudio dan menawarkan versi modifikasi itu kepada orang lain melalui jaringan, Anda harus membagikan kode sumber modifikasi Anda dengan ketentuan yang sama. Lisensi komersial menghapus kewajiban copyleft tersebut untuk penerapan proprietary closed-source. Paket harga segera hadir — sementara itu, hubungi kami.",
"hero_simple": "VoiceStudio gratis dan bersumber terbuka di bawah AGPL-3.0 — termasuk untuk penggunaan komersial dan bisnis internal. Anda hanya memerlukan lisensi komersial untuk menyematkannya dalam produk sumber tertutup tanpa kewajiban copyleft AGPL.",
"contact_lead": "Harga dikutip per penerapan sehingga sesuai dengan tim dan beban kerja Anda. Ceritakan kasus penggunaan Anda dan saya akan memberi Anda penawaran."
},
"exportModal": {
"export": "Ekspor",
"export_options": "Opsi ekspor",
"close_drawer": "Tutup laci ekspor",
"presets": "PRESET",
"preset_title": "Lompat ke tab {{tab}} dengan default {{label}}",
"preset_youtube": "YouTube",
"preset_archive": "Arsip",
"preset_web": "jaring",
"preset_podcast": "Podcast",
"preset_studyset": "Perangkat belajar",
"tracks": "JEJAK",
"track_all": "Semua",
"track_none": "Tidak ada",
"track_dubs_only": "Hanya sulih suara",
"primary": "utama",
"tab_video": "Video",
"tab_audio": "Audio",
"tab_subs": "Subtitle",
"tab_pkg": "Paket",
"container": "Wadah",
"mp4_h264": "MP4 (H.264)",
"default_audio_track": "Trek audio bawaan",
"default_audio_hint": "Aliran audio mana yang diputar secara default saat pemirsa membuka file",
"original": "Asli",
"dub_suffix": "(sulih suara)",
"bg_audio": "Audio latar belakang",
"mix_bg_video": "Campurkan musik/FX di bawah setiap trek yang di-dubbing",
"subs_in_video": "Subtitle dalam video",
"hardsub": "Bakar subtitle ke dalam gambar (hardsub)",
"dual_subs_video": "Ganda (diterjemahkan di atas dokumen asli yang dicetak miring)",
"subs_style_line": "Baris",
"subs_style_karaoke": "Karaoke (sorotan kata)",
"karaoke_dual_note": "Karaoke tidak tersedia dengan subtitel ganda",
"format": "Format",
"wav_lossless": "WAV (tanpa kerugian)",
"mp3_compressed": "MP3 (terkompresi)",
"bitrate": "Kecepatan bit",
"what_to_export": "Apa yang harus diekspor",
"export_each_dub": "Setiap dub yang dipilih (file terpisah)",
"export_single_lang": "Bahasa tunggal",
"mix_bg_audio": "Campur musik/FX dengan suara yang di-dubbing",
"both": "Keduanya",
"layout": "Tata Letak",
"single_line": "Baris tunggal",
"dual_subs": "Ganda (diterjemahkan + asli)",
"languages": "Bahasa",
"current_target": "Target saat ini ({{code}})",
"all_selected_dubs": "Semua sulih suara yang dipilih ({{count}})",
"subs_note": "Subjudul dihasilkan dari teks segmen sebagaimana adanya — edit tabel segmen sebelum mengekspor jika Anda melihat kesalahan ketik.",
"retime_note": "Pengaturan ulang waktu video per segmen mengodekan ulang seluruh video saat ekspor — perkirakan sekitar 0,52× durasi video pada CPU.",
"pkg_clips_title": "Klip per segmen (.zip)",
"pkg_clips_body": "Setiap segmen yang dihasilkan sebagai WAV bernomor di dalam zip — baik untuk peninjauan, postingan sulih suara, atau pembuatan kumpulan data.",
"pkg_clips_cta": "Ekspor klip zip",
"pkg_stems_title": "Batang (.zip)",
"pkg_stems_body": "Trek vokal terisolasi + latar belakang (musik/FX) sebagai WAV terpisah. Berguna untuk pengeditan audio hilir.",
"pkg_stems_cta": "Ekspor batang zip",
"pkg_audio_title": "Trek audio (file individual)",
"pkg_audio_body_one": "Lompat ke tab Audio untuk mengekspor sulih suara per bahasa dalam WAV atau MP3 (tersedia sulih suara {{count}}).",
"pkg_audio_body_other": "Lompat ke tab Audio untuk mengekspor sulih suara per bahasa dalam WAV atau MP3 (tersedia sulih suara {{count}}).",
"pkg_audio_cta": "Buka tab audio",
"license_text": "Penggunaan komersial memerlukan a",
"license_link": "lisensi",
"output": "KELUARAN",
"nothing_selected": "Tidak ada yang dipilih atau trek tidak tersedia",
"export_mp4": "Ekspor MP4",
"export_n_audio_one": "Ekspor file audio {{count}}",
"export_n_audio_other": "Ekspor {{count}} file audio",
"export_audio": "Ekspor audio",
"export_subtitles": "Ekspor subtitle"
},
"demo": {
"clone_coachmark": "Ini adalah demo terpandu — coba perintah yang disarankan atau tulis sendiri.",
"hear_demo": "Dengarkan demo",
"stop_demo": "Hentikan demo",
"prerendered_chip": "Sampel yang telah dirender sebelumnya — pasang mesin TTS untuk mensintesis teks baru.",
"preset_preview": "Pratinjau",
"preset_stop": "Berhenti",
"preset_use": "Gunakan desain ini →",
"dictation_title": "Coba Dikte",
"dictation_lede": "Bacalah salah satunya dengan lantang setelah menekan tombol pintas Anda, atau tekan Putar Ulang untuk mengirim sampel yang dibundel melalui transcriber sehingga Anda dapat melihat dikte berfungsi secara menyeluruh tanpa harus berbicara.",
"dictation_status_ok": "Terverifikasi — tombol pintas berfungsi pada mesin ini",
"dictation_status_pending": "Tekan pintasan Anda di mana saja untuk menguji",
"dictation_status_warn": "Tidak ada hotkey yang terdaftar — atur satu di bawah",
"dictation_hear": "Dengar",
"dictation_stop": "Berhenti",
"dictation_replay": "Putar ulang",
"dictation_transcribing": "Mentranskripsikan…",
"dubbing_title": "Lihat aksi sulih suara",
"dubbing_sync": "Pemutaran yang disinkronkan",
"dubbing_picker": "Coba bahasa lain:",
"dubbing_cta": "Jalankan ini di video Anda sendiri →",
"dubbing_loading": "Memuat demo sulih suara…",
"dubbing_dismiss": "Tolak demo sulih suara",
"original_tag": "asli",
"dubbed_tag": "dijuluki",
"script_conversational": "Percakapan",
"script_technical": "Kosakata teknis",
"script_french": "Non-Inggris (Prancis)",
"aria_pause": "Jeda {{label}}",
"aria_hear": "Dengarkan {{label}}",
"aria_replay": "Putar ulang {{label}} melalui transcriber",
"dictation_lede_hotkey_only": "Tahan pintasan di atas di mana saja di desktop, bicara, lepaskan — teks masuk ke aplikasi yang sedang fokus. Tekan sekarang untuk memverifikasi."
},
"direction": {
"title": "Arah untuk segmen #{{id}}",
"desc": "Beritahukan kepada saluran pipa bagaimana seharusnya saluran ini terasa. Karya bahasa Inggris biasa — sistem memetakan kata-kata Anda ke dalam taksonomi yang stabil (energi / emosi / kecepatan / keintiman / formalitas), lalu merangkai taksonomi melalui terjemahan Sinematik, TTS, dan slot-fit.",
"label": "Arah",
"lineHint": "Baris: \"{{text}}\"",
"placeholder": "misalnya mendesak dan terkejut / hangat, penuh harapan / berbisik, intim",
"previewParse": "Pratinjau parse",
"previewFailed": "Pratinjau gagal: {{message}}",
"clear": "Jelas",
"cancel": "Batalkan",
"saveDirection": "Simpan arah",
"ttsInstruct": "TTS menginstruksikan:",
"nothingParsed": "— (tidak ada yang diuraikan)",
"translateHint": "Terjemahkan petunjuk:",
"rateBias": "Bias nilai:",
"speedsUp": "mempercepat",
"slowsDown": "melambat",
"taxonomyTokens": "token taksonomi"
},
"errors": {
"title": "Tab ini menemui hambatan.",
"desc": "Jangan khawatir — aplikasi lainnya masih berfungsi. Anda dapat berpindah tab, atau coba lagi di bawah.",
"tryAgain": "Coba lagi",
"openDocs": "Buka dokumen untuk kesalahan ini",
"crash_port_in_use": "Backend tidak dapat dijalankan karena port 3900 sudah digunakan — salinan VoiceStudio lain (atau aplikasi yang mengklaim port itu) sedang menahannya. Tutup instance lain lalu jalankan ulang; jika tidak ada yang terlihat berjalan, backend yatim dari sesi sebelumnya masih menahan port tersebut.",
"crash_oom_kill": "Proses dihentikan paksa (sinyal 9), yang biasanya berarti sistem operasi kehabisan memori (RAM). Tutup aplikasi yang boros memori, pilih model ASR yang lebih kecil di Pengaturan → Model, atau bongkar model TTS sebelum mentranskripsi.",
"crash_native_fault": "Proses mogok di dalam tumpukan komputasi, bukan karena kehabisan memori — itu menunjuk pada driver GPU yang tidak cocok dengan runtime CUDA bawaan, atau berkas model yang terunduh tidak lengkap. Perbarui driver GPU Anda, lalu unduh ulang model dari Pengaturan → Model (unduhan parsial diperbaiki di tempat). Jika terus terjadi, beralihlah ke mesin terisolasi di Pengaturan → Mesin — \"VoiceStudio (subprocess)\" untuk sintesis, \"Faster-Whisper (crash-isolated subprocess)\" untuk transkripsi. Keduanya menjalankan model di proses terpisah, sehingga kerusakan seperti ini menjatuhkan proses itu saja, bukan seluruh backend.",
"report": "Laporkan bug ini",
"report_failed": "Tidak dapat membuka laporan bug. Coba lagi, atau salin detail di atas ke isu baru.",
"searchIssues": "Cari masalah serupa",
"unexpected": "Kesalahan tak terduga: {{message}}",
"backend_shutting_down": "VoiceStudio sedang ditutup. Buka kembali aplikasinya lalu coba lagi.",
"crash_broken_env": "Ia mati saat memuat dependensi Python-nya sendiri, jadi ini bukan soal memori atau GPU Anda — lingkungannya tidak lengkap atau tertinggal setengah diperbarui. Gunakan \"Bersihkan & Coba Lagi\" di Pengaturan → Log → Backend, yang membangunnya ulang dari nol dan memperbaikinya di tempat, tanpa menyentuh suara atau proyek Anda. Jika masih gagal, detail crash menyebutkan paket persis yang gagal diimpor.",
"crash_vram_default": "Pada GPU yang lebih kecil, penyebab umumnya adalah kehabisan VRAM saat memuat model ASR di atas model TTS: kosongkan model TTS terlebih dahulu, atau pilih model ASR yang lebih kecil di Katalog model → Model.",
"stream_cut_backend_alive": "Stream berakhir lebih awal, tetapi backend masih berjalan — jadi backend tidak mogok. Pada penyiapan server atau kontainer, ini biasanya karena reverse proxy atau load balancer yang mem-buffer atau memutus koneksi karena batas waktu: nonaktifkan buffering respons untuk rute ini (nginx: proxy_buffering off; X-Accel-Buffering: no) dan naikkan batas waktu bacanya. Menjalankan aplikasi desktop secara langsung, atau di localhost tanpa proxy, akan memastikannya."
},
"keyboard": {
"title": "Pintasan keyboard",
"footer": "Tekan <1>?</1> kapan saja untuk membuka ini.",
"or": "atau",
"nav": "Navigasi",
"nav_cheatsheet": "Tunjukkan lembar contekan ini",
"nav_enginePickerKey": "Cmd/Ctrl+E",
"nav_workspacesKey": "Cmd/Ctrl+19",
"nav_closeModal": "Tutup modal / batalkan",
"nav_save": "Simpan proyek/komit trim",
"segmentEditor": "Editor segmen",
"seg_split": "Pisahkan segmen di kursor",
"seg_merge": "Gabungkan dengan segmen berikutnya",
"seg_merge_prev": "Gabungkan dengan segmen sebelumnya",
"seg_undo": "Membatalkan",
"seg_redo": "Ulangi",
"seg_click": "Tindakan utama",
"seg_shiftClick": "Pilihan rentang",
"trimmer": "Pemangkas audio",
"trim_playPause": "Pratinjau putar / jeda",
"trim_nudgeStart": "Dorongan untuk memulai pegangan",
"trim_nudgeEnd": "Pegangan ujung dorong",
"trim_fineNudge": "Dorongan yang bagus",
"trim_coarseNudge": "Dorongan kasar",
"trim_zoomIn": "Memperbesar / memperkecil",
"trim_fitAll": "Cocok untuk semua / Pilihan pas",
"trim_confirm": "Konfirmasikan pemangkasan",
"dub": "sulih suara",
"dub_generate": "Hasilkan sulih suara",
"dub_sidebar": "Alihkan bilah sisi"
},
"network": {
"sharing_on_title": "Berbagi di — klik untuk detailnya",
"share_on_network": "Bagikan di jaringan Anda",
"switching": "Beralih…",
"network": "Jaringan",
"local": "Lokal",
"share_confirm_title": "Bagikan di jaringan Anda?",
"share_confirm_hint": "Perangkat lain di Wi-Fi/Ethernet Anda akan dapat menjangkau VoiceStudio menggunakan PIN akses yang ditampilkan setelah aktif.",
"enabling": "Mengaktifkan…",
"enable": "Aktifkan",
"shared_title": "Dibagikan di jaringan Anda",
"no_interface": "Tidak ada antarmuka jaringan yang dapat dijangkau — sambungkan ke Wi-Fi/Ethernet.",
"copy_link": "Salin tautan",
"open_in_browser": "Buka di peramban",
"qr_alt": "QR untuk {{ip}}",
"pin": "PIN:",
"stop_sharing": "Berhenti berbagi",
"copied": "Disalin",
"enable_error": "Tidak dapat mengaktifkan berbagi: {{message}}",
"disable_error": "Tidak dapat menonaktifkan: {{message}}"
},
"readiness": {
"checking_system": "Memeriksa sistem…",
"all_ready": "Semua sistem siap",
"system_readiness": "Kesiapan Sistem",
"asr_model": "Model ASR",
"tts_model": "Model TTS",
"loaded_ready": "Sudah terisi dan siap",
"loading_first_run": "Memuat… (ini mungkin memakan waktu 1-2 menit saat pertama kali dijalankan)",
"failed_to_load": "Gagal memuat",
"not_loaded_yet": "Belum dimuat — akan dimuat pada transkripsi pertama",
"tts_not_loaded_yet": "Belum dimuat — akan dimuat saat pertama kali menghasilkan suara",
"error_check_logs": "Kesalahan: {{error}}. Periksa log dan coba mulai ulang.",
"check_logs_restart": "Periksa log untuk mengetahui kesalahan pemuatan model. Coba mulai ulang.",
"llm_cinematic": "LLM (Sinematik)",
"llm_configure": "Konfigurasikan TRANSLATE_BASE_URL untuk kualitas terjemahan Sinematik",
"llm_set_env": "Tetapkan variabel lingkungan TRANSLATE_BASE_URL dan TRANSLATE_API_KEY. Bekerja dengan Ollama, OpenAI, LM Studio, dll.",
"llm_optional": "Opsional — atur TRANSLATE_BASE_URL untuk kualitas Sinematik"
},
"license": {
"title": "Supertonic-3 — Penerimaan Lisensi",
"intro": "Supertonic-3 dikirimkan di bawah dua lisensi berbeda. Harap tinjau keduanya sebelum mengaktifkan mesin.",
"sdk_heading": "Kode SDK · MIT",
"sdk_desc": "SDK inferensi Python (supertonic) berlisensi MIT. Penggunaan permisif, termasuk komersial.",
"read_mit": "Baca lisensi MIT →",
"model_heading": "Bobot Model · OpenRAIL-M",
"model_desc": "Anak timbangan model Supertonic-3 dirilis di bawah lisensi OpenRAIL-M. Lisensi ini membatasi penggunaan untuk tujuan yang tidak berbahaya — lihat lisensi tertaut untuk mengetahui rangkaian lengkap pembatasan berbasis penggunaan.",
"read_openrail": "Baca lisensi OpenRAIL-M →",
"footer": "Mengklik Terima mencatat penerimaan Anda di pengaturan lokal VoiceStudio dan mengaktifkan mesin. Penerimaan Anda hanya disimpan di mesin ini — tidak ada yang dilaporkan ke Supertone Inc. atau pihak ketiga mana pun.",
"saving": "Menyimpan…",
"accept": "Terima",
"accepted_toast": "Lisensi Supertonic-3 diterima.",
"accept_error": "Gagal mencatat penerimaan lisensi: {{message}}",
"pockettts_title": "Penerimaan Lisensi PocketTTS",
"pockettts_intro": "PocketTTS dari Kyutai tersedia dengan dua lisensi dan bobotnya juga memiliki ketentuan akses di Hugging Face. Tinjau semuanya sebelum mengaktifkan mesin.",
"pockettts_sdk_desc": "Pustaka Python pocket-tts berlisensi MIT yang permisif, termasuk untuk penggunaan komersial.",
"pockettts_model_heading": "Bobot Model (CC-BY-4.0)",
"pockettts_model_desc": "Bobot model PocketTTS dirilis dengan CC-BY-4.0. Penggunaan komersial diizinkan dengan atribusi.",
"read_cc_by": "Baca lisensi CC-BY-4.0",
"gate_heading": "Akses Terbatas",
"gate_desc": "Bobot dibatasi di Hugging Face. Anda memerlukan akun gratis, harus membagikan informasi kontak, dan menerima ketentuan akses sebelum unduhan pertama.",
"pockettts_conditions_desc": "Ketentuan akses melarang penggunaan suara yang ilegal, merugikan, menipu, curang, tanpa izin, atau tanpa persetujuan. Tinjau ketentuan lengkap sebelum melanjutkan.",
"review_access_conditions": "Tinjau ketentuan akses",
"pockettts_footer": "Menekan Terima hanya menyimpan pengakuan Anda di pengaturan lokal VoiceStudio lalu mengaktifkan mesin. Akses dan unduhan model menggunakan Hugging Face, yang menerima informasi permintaan dan akun seperti biasa.",
"pockettts_accepted_toast": "Ketentuan PocketTTS diterima."
},
"voicePreview": {
"title": "Pratinjau Suara",
"close": "Tutup pratinjau",
"default_text": "Halo! Ini adalah pratinjau suara saya.",
"default_voice": "Suara bawaan",
"clone_profiles": "Profil Klon",
"designed_voices": "Suara yang Dirancang",
"presets": "Preset",
"placeholder": "Ketik sesuatu untuk didengar…",
"stop": "Berhenti",
"regenerate": "Regenerasi",
"preview": "Pratinjau",
"hint": "8 langkah · pratinjau cepat"
},
"header": {
"kicker_studio": "Studio",
"kicker_library": "Perpustakaan",
"kicker_preferences": "Preferensi",
"kicker_licensing": "Perizinan",
"label_launchpad": "landasan peluncuran",
"label_clone": "Klon Suara",
"label_design": "Desain Suara",
"label_dub": "Sulih suara",
"label_projects": "OmniDrive",
"label_gallery": "Galeri",
"label_transcriptions": "Transkripsi",
"label_settings": "Pengaturan",
"label_catalogue": "Katalog model",
"label_enterprise": "Lisensi Komersial",
"status_ready": "Siap",
"status_loading": "Memuat…",
"status_idle": "Menganggur",
"memory_management": "Manajemen memori",
"flush": "Siram",
"loaded_models": "Model yang Dimuat",
"no_models": "Tidak ada model yang dimuat",
"unload": "Bongkar",
"flush_caches": "Siram cache",
"unload_all_flush": "Bongkar semua + siram"
},
"sidebar": {
"tab_drive": "Berkendara",
"tab_history": "Sejarah",
"tab_exports": "Ekspor",
"save_project": "Simpan Proyek Dub",
"save_new_project": "Simpan sebagai Proyek Dub Baru",
"dub_projects": "Proyek Sulih Suara",
"voice_clones": "Klon Suara",
"designed_voices": "Suara yang Dirancang",
"no_dub_projects": "Tidak ada proyek sulih suara yang disimpan",
"no_dub_hint": "Unggah video dan klik Simpan untuk menyimpan pekerjaan Anda.",
"no_clones": "Belum ada klon suara",
"no_clones_hint": "Rekam atau unggah audio, lalu klik Simpan sebagai Profil Suara.",
"no_designs": "Belum ada suara yang dirancang",
"no_designs_hint": "Hasilkan suara dan simpan dari Riwayat.",
"history_subtitle": "Riwayat generasi · Disimpan dalam SQLite",
"no_history": "Tidak ada sejarah generasi",
"no_history_hint": "Sintesis audio atau sulih suara video — hasilnya akan muncul di sini.",
"clear_history": "Hapus Riwayat",
"clear_confirm": "Hapus semua item riwayat {{count}}? Hal ini tidak dapat dibatalkan.",
"history_cleared": "Sejarah dihapus",
"recent_exports": "Ekspor Terbaru",
"no_exports": "Tidak ada keluaran yang diunduh",
"no_exports_hint": "Ekspor file melalui Tauri untuk melihatnya dilacak di sini.",
"show_in_folder": "Tampilkan di folder",
"open": "Buka",
"select": "Pilih",
"try_voice": "Coba",
"consistent": "konsisten",
"locked": "Terkunci",
"clone_label": "Klon",
"design_label": "Desain",
"dub_label": "sulih suara",
"save_label": "Simpan",
"lock_identity": "Kunci identitas suara",
"in_folder": "di {{folder}}",
"search": "Cari…",
"rename": "Ganti nama",
"rename_save": "Simpan nama"
},
"trimmer": {
"title": "Pangkas audio referensi",
"decoding": "Menguraikan kode audio…",
"meta_length": "Panjang {{duration}} · {{sampleRate}} Hz",
"meta_rendering": "rendering bentuk gelombang {{percent}}%",
"keyboard_hint": "gulir = zoom · shift+gulir = pan · alt+drag = pan · ⏐ ⟵ ⟶ ⏐ tombol sesuaikan pegangan",
"zoom_in": "Perbesar (+)",
"zoom_out": "Perkecil (-)",
"fit_all": "Cocok untuk semua (Rumah)",
"fit_selection": "Pilihan pas (Akhir)",
"fit_sel_btn": "COCOK SEL",
"view_range": "Lihat {{start}} → {{end}} ({{duration}})",
"start_label": "Mulai",
"end_label": "Akhir",
"length_label": "Panjangnya",
"too_long": ">{{max}}s",
"too_short": "terlalu pendek",
"length_ok": "oke",
"loop_preview": "Pratinjau lingkaran",
"pause": "Jeda",
"preview_selection": "Pratinjau pilihan",
"play_hint": "Ruang untuk bermain · Enter untuk mengonfirmasi · Esc untuk membatalkan",
"cancel": "Batalkan",
"use_trimmed": "Gunakan dipangkas",
"decode_failed": "Dekode gagal: {{message}}",
"playback_failed": "Pemutaran gagal: {{message}}",
"audio_load_failed": "Gagal memuat audio",
"unit_seconds": "s"
},
"casting": {
"title": "Pengecoran Pembicara",
"auto_assign_title": "Menetapkan suara secara otomatis dari klon speaker yang diekstrak",
"auto_cast": "Transmisi otomatis",
"all_cast": "Semua pemeran",
"segments_count": "{{count}} segmen",
"assign_voice": "Tetapkan suara…",
"from_video": "🎤 Dari video ({{name}})",
"no_profiles": "Belum ada profil suara yang disimpan.",
"preview_voice": "Pratinjau suara"
},
"checkpoint": {
"asr_title": "Transkrip sudah siap",
"asr_cta": "Terjemahkan",
"asr_hint": "Perbaiki kesalahan ASR sekarang — diksi yang ketat akan menghemat upaya TTS nanti.",
"translate_title": "Terjemahan sudah siap",
"translate_cta": "Hasilkan sulih suara",
"translate_hint": "Telusuri teks target. Jalur yang terlalu panjang akan ditingkatkan kecepatannya; Anda juga dapat mengedit secara langsung.",
"done_title": "Sulih suara selesai",
"done_hint": "Tinjau waktu dan rasio sinkronisasi. Sesuaikan baris mana pun dan tekan \"Regen berubah\" untuk pengulangan sebagian yang cepat.",
"segment_one": "segmen {{count}}",
"segment_other": "{{count}} segmen",
"dismiss_title": "Singkirkan — tidak akan muncul kembali pada tahap ini hingga dimuat ulang"
},
"compare": {
"title": "Perbandingan Suara A/B",
"close": "Perbandingan yang dekat",
"desc": "Bandingkan dua suara secara berdampingan untuk membuat keputusan casting. Aplikasi tetap interaktif.",
"test_phrase": "Frasa tes",
"voice_a": "Suara A",
"voice_b": "Suara B",
"select_voice": "— Pilih suara —",
"preset_suffix": "(Preset)",
"no_audio": "Belum ada audionya",
"close_btn": "Tutup",
"comparing": "Membandingkan…",
"compare_btn": "Bandingkan",
"preparing_voice": "Mempersiapkan suara...",
"generating_voice_a": "Menghasilkan Suara ...",
"generating_voice_b": "Menghasilkan Suara B...",
"comparison_complete": "Perbandingan selesai!",
"play_failed": "Gagal bermain: {{message}}"
},
"models": {
"hf_token_set_toast": "Kumpulan token HuggingFace — pengunduhan lebih cepat diaktifkan",
"hf_token_save_failed": "Gagal menyimpan token",
"install_started": "Penginstalan dimulai — kemajuan dalam baris",
"delete_confirm": "Hapus {{repoId}}? Anda dapat menginstalnya kembali nanti.",
"delete_confirm_title": "Hapus modelnya",
"deleted": "Dihapus {{repoId}}",
"reinstall_confirm": "Instal ulang {{repoId}}? Ini akan menghapus salinan saat ini dan mengunduhnya lagi.",
"reinstall_confirm_title": "Instal ulang modelnya",
"reinstalling": "Menginstal ulang",
"recommended_installed": "Model yang direkomendasikan sudah terpasang.",
"started_downloading_one": "Mulai mengunduh model {{count}}",
"started_downloading_other": "Mulai mengunduh model {{count}}",
"install_failed": "Pemasangan gagal: {{message}}",
"removing_cached": "Menghapus revisi yang di-cache…",
"resolving_metadata": "Menyelesaikan metadata repo",
"retry_attempt": "Coba lagi {{attempt}} — {{error}}",
"connecting_hf": "Menghubungkan ke HuggingFace…",
"resolving_files_one": "Menyelesaikan file {{count}}…",
"resolving_files_other": "Menyelesaikan file {{count}}…",
"resolving_files_active": "Menyelesaikan {{count}} file… · {{file}}",
"measuring": "mengukur…",
"files_progress": "{{done}}/{{total}} file",
"install_error": "Pemasangan gagal: {{error}}",
"view_on_hf": "Lihat di HuggingFace",
"install_btn": "Instal",
"section_tts": "TTS (sintesis suara)",
"section_asr": "ASR (transkripsi offline)",
"section_dictation": "Dikte (streaming)",
"section_diarisation": "Diarisasi",
"section_other": "Lainnya",
"show_incompatible": "Tampilkan yang tidak kompatibel ({{count}})",
"hide_incompatible": "Sembunyikan yang tidak kompatibel ({{count}})",
"incompatible_title": "Model yang tidak dapat berjalan di sistem ini",
"recommended_title": "Pilihan untuk mesin ini — opsional",
"download_all_remaining_title": "Unduh semua model rekomendasi yang tersisa",
"reco_install_one": "Instal {{label}}",
"reinstall_btn": "Instal ulang",
"downloading": "mengunduh",
"deleting": "menghapus",
"working": "bekerja",
"installed": "dipasang",
"not_installed": "tidak dipasang",
"required_tag": "diperlukan",
"delete_btn": "Hapus",
"hf_token_btn": "Token HF",
"hf_set_title": "Setel token HuggingFace untuk pengunduhan yang lebih cepat",
"get_token": "Dapatkan token →",
"reco_installed_for": "Paket yang direkomendasikan dipasang untuk {{device}}",
"reco_for": "Direkomendasikan untuk {{device}}",
"starting": "Mulai…",
"required_size": "Diperlukan ~{{size}} GB",
"all_size": "Semua ~{{size}} GB",
"req_tag": "permintaan",
"search_placeholder": "Model pencarian…",
"search_label": "Model pencarian",
"no_matches": "Tidak ada model yang cocok dengan filter Anda.",
"sort_by": "Urutkan berdasarkan {{column}}",
"column_model": "Model",
"column_role": "Peran",
"column_size": "Ukuran",
"column_status": "Status",
"ready_badge": "Siap",
"loading_badge": "Memuat…",
"idle_badge": "Menganggur",
"started_downloading_required_one": "Mulai mengunduh {{count}} model yang diperlukan",
"started_downloading_required_other": "Mulai mengunduh {{count}} model yang diperlukan",
"to_download": "untuk mengunduh",
"cached": "di-cache",
"fast_download_badge": "unduh cepat",
"fast_download_title": "Pengunduhan cepat melalui Xet {{version}} — transfer potongan paralel",
"voice_previews": "Pratinjau suara",
"voice_previews_desc": "Unduh pratinjau yang sudah dirender lebih dulu agar suara langsung diputar — bahkan sebelum model suara selesai diunduh. Tidak ada yang diunduh sampai Anda mengaktifkan ini.",
"voice_previews_off": "Nonaktif — pratinjau dirender di perangkat ini",
"voice_previews_ready": "Set unggulan tersimpan",
"voice_previews_partial": "{{cached}} dari {{total}} pratinjau unggulan tersimpan",
"voice_previews_checked": "diperiksa {{when}}",
"voice_previews_never": "belum diperiksa",
"voice_previews_check": "Periksa sekarang",
"voice_previews_rejected": "Pembaruan galeri suara ditolak: {{message}}"
},
"enterprise_faq": {
"q_internal_tools": "Apakah saya memerlukan lisensi untuk alat internal?",
"a_internal_tools": "Tidak. Penggunaan oleh karyawan dan kontraktor Anda — termasuk memodifikasi dan self-hosting secara internal — gratis di bawah AGPL-3.0. Lisensi komersial hanya diperlukan jika Anda menyematkan VoiceStudio ke dalam produk atau layanan closed-source atau proprietary dan tidak ingin mematuhi kewajiban berbagi kode sumber AGPL.",
"q_try_before": "Bisakah saya mencoba sebelum melakukan?",
"a_try_before": "Ya. Aplikasi lengkap gratis untuk diunduh, dijalankan, dan di-host sendiri di bawah AGPL-3.0 — tanpa perjanjian apa pun. Saat Anda siap membahas lisensi komersial (penggunaan proprietary), kirim email kepada kami dan kita akan menyelesaikan detailnya bersama.",
"q_watermark": "Bagaimana dengan tanda airnya?",
"a_watermark": "Tanda air AudioSeal yang tak terlihat disematkan secara bawaan untuk semua orang. Anda dapat mematikannya di Pengaturan → Privasi; ini hanya memengaruhi audio yang dibuat setelah perubahan."
},
"gallery_extra": {
"save_prompt": "Masukkan nama untuk profil suara ini:",
"saved_as_profile": "Suara disimpan sebagai profil!",
"save_profile_failed": "Gagal menyimpan profil",
"download_failed": "Pengunduhan gagal: {{message}}",
"trim_load_failed": "Gagal memuat audio untuk pemangkasan: {{message}}",
"upload_crop_failed": "Gagal mengunggah suara yang dipotong: {{message}}"
},
"dub_workflow": {
"preparing_audio": "Mempersiapkan audio…",
"preparing_video": "Mempersiapkan video…",
"extracting_audio_scenes": "Mengekstraksi audio & adegan…",
"transcribing_audio": "Mentranskripsikan audio…",
"transcription_complete": "Transkripsi selesai",
"upload_cancelled": "Pengunggahan dibatalkan",
"upload_failed": "Gagal mengunggah: {{message}}",
"downloading_video": "Mengunduh video…",
"ingested": "Tertelan {{url}}",
"ingest_cancelled": "Penyerapan dibatalkan",
"ingest_failed": "Gagal menyerap URL: {{message}}",
"retry_cancelled": "Coba lagi dibatalkan",
"transcription_failed": "Transkripsi gagal: {{message}}",
"import_srt_no_job": "Unggah atau serap video terlebih dahulu — tidak ada tugas untuk melampirkan subtitle.",
"import_srt_after_speakers": "SRT masuk antrean. Analisis pembicara akan diselesaikan lebih dahulu agar suara kloning tetap dipertahankan.",
"imported_cues": "{{count}} isyarat yang diimpor dari {{file}}",
"skipped_malformed": "{{count}} dilewati (format salah)",
"dropped_overlap": "{{count}} terjatuh (tumpang tindih)",
"clamped_to_duration": "{{count}} dijepit sesuai panjang media",
"srt_import_failed": "Impor SRT gagal",
"cleaned_one": "Membersihkan fragmen {{count}}",
"cleaned_other": "Membersihkan pecahan {{count}}",
"segments_clean": "Segmen sudah bersih",
"cleanup_failed": "Pembersihan gagal: {{message}}",
"cinematic_no_llm": "Kualitas sinematik memerlukan LLM — setel TRANSLATE_BASE_URL + TRANSLATE_API_KEY (Ollama berfungsi secara lokal). Kembali ke Fast.",
"dialect_not_applied": "Dialek terpilih memerlukan LLM — ganti Engine ke OpenAI/Ollama atau pilih kualitas Cinematic.",
"translate_errors": "{{errorCount}}/{{totalCount}} segmen gagal: {{firstError}}",
"translate_degraded": "Semua {{totalCount}} segmen diterjemahkan — {{count}} memakai terjemahan biasa karena tahap penyempurnaan dilewati ({{reason}})",
"translated_segments": "Diterjemahkan {{count}} segmen → {{lang}}",
"translated_cinematic_suffix": "(Sinematik)",
"translation_failed": "Terjemahan gagal: {{message}}",
"regenerating": "Meregenerasi {{count}} segmen…",
"generating_dub": "Menghasilkan sulih suara…",
"generating_progress": "Menghasilkan sulih suara… {{current}}/{{total}}",
"generation_aborted": "Generasi dibatalkan.",
"dubbing_aborted": "Sulih suara dibatalkan",
"generation_stream_ended": "Aliran generasi berakhir sebelum selesai",
"dub_complete": "Sulih suara selesai",
"stop_failed": "Gagal berhenti",
"save_first": "Silakan klik 'Unggah & Transkripsikan' terlebih dahulu agar video diproses di server sebelum disimpan.",
"project_saved": "Proyek disimpan",
"project_created": "Proyek dibuat",
"save_failed": "Gagal menyimpan: {{message}}",
"opened_project": "Dibuka: {{name}}",
"delete_project_confirm": "Hapus proyek ini? Hal ini tidak dapat dibatalkan.",
"project_deleted": "Proyek dihapus",
"delete_history_confirm": "Hapus item riwayat ini?",
"history_deleted": "Item riwayat dihapus",
"restored_state": "Memulihkan keadaan generasi sebelumnya",
"upgrading_preview": "Meningkatkan {{count}} segmen kualitas pratinjau ke kualitas penuh…",
"session_expired": "Sesi sulih suara ini telah habis masa berlakunya atau telah dibersihkan — unggah ulang video Anda untuk memulai yang baru."
},
"tts_errors": {
"enter_text": "Silakan masukkan teks",
"upload_or_select": "Unggah audio atau pilih profil suara",
"trim_hint": "Audio adalah {{duration}}s — potong ke ≤{{max}}s untuk kloning terbaik",
"timeout": "Waktu pembuatan habis — model mungkin masih diunduh. Periksa Pengaturan → Log, lalu coba lagi.",
"generation_in_progress": "Pembuatan sedang berjalan — tunggu hingga selesai sebelum memulai yang lain.",
"error_prefix": "Kesalahan: {{message}}",
"ignored_unsupported": "Mengabaikan instruksi yang tidak didukung: {{items}}",
"ignored_duplicate": "Diabaikan (kategori sudah ditetapkan): {{items}}",
"ignored_conflict": "{{items}} diabaikan — dialek Tionghoa dan aksen Inggris tidak dapat digabungkan.",
"dialect_accent_conflict": "Dialek Tionghoa dan aksen Inggris tidak dapat digunakan bersamaan. Hapus salah satu sebelum membuat ulang.",
"instruct_category_conflict": "Dua opsi desain suara yang bertentangan dipilih dalam kategori yang sama (mis. dua gender). Hapus salah satu sebelum membuat ulang.",
"ref_audio_unusable": "Tidak ada suara yang terdengar di audio referensi — klipnya senyap atau hampir senyap, jadi tidak ada suara untuk dikloning. Rekam ulang lebih dekat ke mikrofon (pastikan perangkat input yang benar dipilih dan meterannya bergerak), atau pilih klip lain.",
"ref_audio_too_long": "Referensi maksimal 20 detik dengan transkrip atau 75 detik tanpa transkrip. Potong menjadi bagian ucapan jelas sepanjang 310 detik; jika menyertakan teks, potong transkrip ke bagian yang sama.",
"ref_audio_no_speech": "Deteksi otomatis tidak menemukan kata yang diucapkan dalam referensi. Potong menjadi bagian ucapan jelas sepanjang 310 detik atau sertakan transkrip yang cocok."
},
"sharing": {
"title": "Berbagi & Akses Jarak Jauh",
"help": "Ekspos instans VoiceStudio yang sedang berjalan ini ke mesin Anda yang lain tanpa memulai ulang. Hanya loopback yang merupakan default — tidak ada yang dibagikan sampai Anda mengaktifkannya di sini.",
"local_network": "Jaringan lokal",
"local_help": "Bagikan di Wi-Fi / Ethernet Anda dengan PIN akses satu kali. Perangkat lain memindai kode QR atau membuka tautan.",
"ports_title": "Pelabuhan",
"ports_help": "Ini diatur melalui variabel lingkungan yang dibaca saat startup. Ubah backend atau port UI dengan mengatur variabel dan memulai ulang VoiceStudio.",
"backend_port": "Pelabuhan ujung belakang",
"ui_port": "Pelabuhan UI",
"lan_share_port": "Port berbagi LAN",
"port_error": "Masukkan port antara 1024 dan 65535",
"port_saved": "Port berbagi LAN disimpan — berlaku saat berikutnya Anda mengaktifkan berbagi",
"port_save_failed": "Tidak dapat menyimpan port: {{message}}",
"saving": "Menyimpan…",
"ports_note": "Port backend dan UI berlaku saat restart. Port berbagi LAN berlaku saat berikutnya Anda mengaktifkan berbagi.",
"tailscale_title": "Tailscale (akses jarak jauh pribadi)",
"tailscale_checking": "Memeriksa Skala Ekor…",
"tailscale_absent": "Sisik ekor tidak terdeteksi. Instal untuk menjangkau VoiceStudio dengan aman dari mana saja di tailnet pribadi Anda.",
"tailscale_install": "Instal Skala Ekor",
"tailscale_running": "Skala ekor sedang berjalan. Sajikan VoiceStudio melalui tailnet pribadi Anda.",
"tailscale_not_logged_in": "Tailscale diinstal tetapi belum login. Mulai dan masuk ke Tailscale terlebih dahulu.",
"tailscale_enabled": "Pelayanan tailscale diaktifkan",
"tailscale_enable_failed": "Tidak dapat mengaktifkan Tailscale",
"tailscale_enable_error": "Tidak dapat mengaktifkan Tailscale: {{message}}",
"tailscale_disabled": "Pelayanan tailscale dinonaktifkan",
"tailscale_disable_failed": "Tidak dapat menonaktifkan Tailscale",
"tailscale_disable_error": "Tidak dapat menonaktifkan Skala Ekor: {{message}}",
"tailscale_enabling": "Mengaktifkan…",
"tailscale_enable_btn": "Aktifkan penayangan Tailscale",
"tailscale_disabling": "Menonaktifkan…",
"tailscale_disable_btn": "Hentikan servis Tailscale",
"tailscale_copy": "Salin tautan",
"tailscale_open": "Buka di peramban",
"copied": "Disalin",
"tailscale_qr_alt": "Kode QR untuk URL Tailscale"
},
"reportBug": {
"label": "Laporkan bug",
"title": "Membuka halaman Masalah GitHub yang telah diisi sebelumnya di browser Anda. Tidak ada yang dikirim sampai Anda mengklik Kirim.",
"staleTitle": "Pembaruan tersedia",
"staleMessage": "Anda menggunakan VoiceStudio {{current}}, tetapi {{latest}} sudah dirilis — bug ini mungkin sudah diperbaiki di sana. Lihat rilis terbaru sebelum melapor?",
"staleView": "Lihat pembaruan",
"staleFileAnyway": "Tetap laporkan"
},
"app": {
"loading": "Memuat…",
"trimmed_loaded": "Audio yang dipangkas dimuat",
"toast_exported": "Diekspor: {{name}}",
"toast_export_failed": "Ekspor gagal: {{message}}",
"toast_open_folder_failed": "Tidak dapat membuka folder: {{message}}",
"toast_saving": "Menyimpan {{name}}...",
"toast_saved": "Disimpan: {{path}}",
"toast_save_error": "Kesalahan penyimpanan: {{message}}",
"toast_processing": "Memproses {{name}}...",
"toast_downloaded": "Diunduh {{name}}",
"toast_download_error": "Kesalahan pengunduhan: {{message}}",
"toast_upload_first": "Silakan klik 'Unggah & Transkripsikan' terlebih dahulu agar video diproses di server sebelum disimpan.",
"toast_save_failed": "Gagal menyimpan: {{message}}",
"toast_opened": "Dibuka: {{name}}",
"toast_project_deleted": "Proyek dihapus",
"toast_restored_state": "Memulihkan keadaan generasi sebelumnya",
"toast_history_deleted": "Item riwayat dihapus",
"toast_flushed": "Dibilas — RAM {{ram}}G · VRAM {{vram}}G{{unloaded}}",
"toast_model_unloaded": "· model dibongkar",
"toast_flush_failed": "Gagal menyiram: {{message}}",
"toast_project_saved": "Proyek disimpan",
"toast_project_created": "Proyek dibuat"
},
"update": {
"available": "Pembaruan {{version}} tersedia",
"install": "Instal dan mulai ulang",
"install_hint": "Unduh pembaruan dan mulai ulang ke versi baru",
"downloading": "Memperbarui… {{pct}}%",
"restart": "Mulai ulang untuk memperbarui",
"busy": "Tunggu pekerjaan yang sedang berjalan selesai — lalu instal pembaruannya.",
"whats_new": "Apa yang baru",
"failed": "Pembaruan gagal",
"retry": "Coba lagi",
"dismiss": "Singkirkan",
"toast_available": "VoiceStudio {{version}} tersedia",
"toast_install": "Instal dan mulai ulang",
"toast_whats_new": "Yang baru",
"toast_later": "Nanti"
},
"archetypes": {
"featured": "Unggulan",
"browse_all": "Telusuri semuanya",
"use_narration": "Narasi & Cerita",
"use_conversational": "Percakapan",
"use_characters": "Karakter & Animasi",
"use_social": "Media Sosial",
"use_entertainment": "Hiburan & TV",
"use_advertisement": "Iklan",
"use_informative": "Informatif & Edukasi",
"facet_gender": "Jenis Kelamin",
"facet_age": "Usia",
"facet_pitch": "Pitch",
"facet_accent": "Aksen",
"facet_lang": "Bahasa",
"facet_whisper": "Bisikan"
},
"support": {
"tab_support": "Dukungan",
"tab_license": "Lisensi Komersial",
"toggle_label": "Dukungan atau lisensi komersial",
"other_ways": "Cara lain untuk membantu",
"star_github": "Bintangi di GitHub",
"join_discord": "Bergabunglah dengan Perselisihan"
},
"updates": {
"tab": "Pembaruan",
"up_to_date": "Terkini · v{{version}}",
"check_now": "Periksa sekarang",
"releases": "Rilis",
"current": "saat ini",
"prerelease": "pratinjau",
"loading": "Memuat rilis…",
"none": "Tidak ada rilis yang ditemukan",
"load_error": "Tidak dapat memuat rilis (offline?)",
"retry_load": "Coba lagi"
},
"firstrun": {
"backend_stop_failed": "VoiceStudio tidak dapat menghentikan backend sebelumnya dengan aman. Tutup jendela atau proses VoiceStudio lain, lalu coba lagi.",
"loading": "Menyiapkan penyiapan…",
"title": "Siapkan VoiceStudio",
"subtitle": "Belum ada yang terpasang — tinjau ke mana semuanya disimpan, lalu mulai. Bisa diubah nanti di Pengaturan.",
"language": "Bahasa",
"mode_title": "Mode pemasangan",
"mode_installed": "Terpasang",
"mode_installed_desc": "Menggunakan folder sistem standar. Disarankan untuk sebagian besar pengguna.",
"mode_portable": "Portabel",
"mode_portable_desc": "Semuanya berada dalam satu folder di samping aplikasi — pindahkan utuh ke disk atau mesin lain.",
"mode_portable_unavailable": "Tidak tersedia: folder di samping aplikasi tidak dapat ditulisi.",
"storage_title": "Penyimpanan",
"portable_folder": "Folder portabel",
"portable_folder_desc": "Lingkungan, model, dan data suara Anda — satu folder, sepenuhnya dapat dipindah.",
"portable_moved": "Dicatat di samping aplikasi sebagai jalur relatif, sehingga memindahkan aplikasi dan folder ini bersama-sama — bahkan ke mesin atau huruf drive lain — membuat instalasi tetap berfungsi.",
"portable_moved_machine_bound": "Lokasi persis ini diingat di mesin ini. Jika aplikasi atau folder ini dipindahkan, atau Anda memakai mesin lain, Anda harus mengarahkan aplikasi ke sana lagi.",
"env_dir": "Lingkungan aplikasi",
"env_dir_desc": "Runtime Python dan pustaka AI.",
"data_dir": "Data suara & proyek",
"data_dir_desc": "Suara Anda, sulih suara, keluaran, dan basis data proyek.",
"models_dir": "Cache model",
"models_dir_desc": "Model AI yang diunduh — bagian terbesar dan paling mudah dipindah.",
"needs": "butuh ~{{size}}",
"free": "{{size}} kosong",
"checking": "memeriksa…",
"not_writable": "tidak dapat ditulisi",
"change": "Ubah…",
"compute_title": "Komputasi",
"compute_label": "GPU / akselerator",
"compute_auto": "Otomatis (NVIDIA CUDA / Apple MPS / CPU)",
"compute_rocm": "GPU AMD (ROCm, Linux)",
"channel_label": "Saluran pembaruan",
"channel_stable": "Stabil",
"channel_preview": "Pratinjau (main terbaru)",
"network_title": "Jaringan",
"region_label": "Wilayah unduhan",
"mirrors_title": "Mirror kustom (lanjutan)",
"mirror_pypi": "URL indeks PyPI",
"mirror_hf": "Endpoint Hugging Face",
"mirror_python": "Mirror unduhan Python",
"insufficient_space": "Ruang tidak cukup: tata letak ini butuh ~{{need}} pada satu disk, hanya tersedia {{free}}. Pilih lokasi lain.",
"blocked_not_writable": "Folder yang dipilih tidak dapat ditulisi — pilih lokasi lain.",
"total_required": "Total disk yang dibutuhkan: ~{{size}} (unduhan sekali saat pertama dipakai)",
"start": "Mulai pemasangan",
"starting": "Memulai…",
"compute_detected": "Terdeteksi",
"compute_match": "cocok dengan mesin ini",
"compute_auto_desc": "Memilih backend terbaik mesin ini saat berjalan — CUDA di NVIDIA, MPS di Apple Silicon, selain itu CPU.",
"compute_rocm_desc": "Memasang wheel PyTorch ROCm untuk kartu grafis AMD di Linux. Biarkan Auto jika ragu.",
"channel_stable_desc": "Hanya rilis teruji — pembaruan tiba setelah validasi komunitas.",
"channel_preview_desc": "Build bergulir dari main terbaru — mesin dan perbaikan baru lebih dulu, sesekali ada sisi kasar.",
"installing_title": "Memasang",
"activity_title": "Aktivitas",
"stage_setup": "Penyiapan",
"stage_models": "Model & mesin",
"chip_required": "wajib",
"chip_optional": "opsional",
"chip_engine": "mesin",
"lib_download": "Unduh",
"lib_downloading": "mengunduh…",
"lib_use": "Pakai",
"lib_active": "aktif",
"lib_in_settings": "pasang nanti di Pengaturan",
"lib_show_all": "Tampilkan {{count}} model opsional",
"trust_line": "Utamakan privasi: suara, rekaman, dan proyek Anda tidak pernah meninggalkan mesin ini — tanpa akun, tanpa pemrosesan cloud.",
"resume_note": "Unduhan yang terputus dilanjutkan otomatis — menutup aplikasi aman.",
"eta_left": "sisa ~{{eta}}",
"first_sound_text": "Selamat datang di studio Anda. Setiap kata yang Anda dengar baru saja dihasilkan di mesin ini.",
"first_sound_done": "Suara tadi? Dihasilkan beberapa detik lalu, secara lokal. Selamat datang.",
"hf_token_title": "Token Hugging Face (opsional)",
"hf_token_hint": "Membuka model terbatas — mis. diarisasi pembicara untuk sulih suara multi-suara (pyannote). Token akun gratis; tetap di mesin ini.",
"hf_token_save": "Simpan",
"hf_token_saving": "menyimpan…",
"hf_token_saved": "Token Hugging Face tersimpan",
"hf_token_error": "Gagal menyimpan token — coba lagi atau atur nanti di Pengaturan → Kredensial.",
"chip_recommended": "direkomendasikan",
"chip_recommended_title": "Direkomendasikan untuk mesin ini — opsional",
"size_left": "{{size}} kiri",
"hf_token_card_title": "Tambahkan token Hugging Face gratis untuk pengunduhan lebih cepat",
"hf_token_get": "Tidak punya tokennya? Dapatkan satu gratis →",
"hf_token_saved_fast": "Token Hugging Face disimpan — pengunduhan kini lebih cepat",
"hf_token_inline_prompt": "Percepat pengunduhan dengan token Hugging Face gratis",
"hf_token_inline_ph": "Tempel hf_… token (opsional)",
"hf_token_get_short": "Dapatkan satu gratis →"
},
"history": {
"dub_meta": "{{segments}} segmen · {{duration}} dtk",
"dub_meta_zero": "{{count}} segmen · {{duration}} dtk",
"dub_meta_one": "{{count}} segmen · {{duration}} dtk",
"dub_meta_two": "{{count}} segmen · {{duration}} dtk",
"dub_meta_few": "{{count}} segmen · {{duration}} dtk",
"dub_meta_many": "{{count}} segmen · {{duration}} dtk",
"dub_meta_other": "{{count}} segmen · {{duration}} dtk",
"dub_title": "Riwayat sulih suara",
"empty": "Belum ada apa pun di sini — hasil generasi Anda akan muncul di sebelah kanan.",
"empty_dub": "Sulih suara Anda akan muncul di sini.",
"title": "Riwayat",
"star_take": "Bintangi — simpan take ini",
"unstar_take": "Hapus bintang — izinkan pembersihan",
"play_take": "Muat sebagai keluaran aktif",
"filter_starred": "Berbintang",
"load_take_failed": "Tidak dapat memuat take itu: {{message}}",
"mode_clone": "Klon",
"mode_synth": "Sintesis",
"generation_seconds": "{{duration}} dtk",
"expand_text": "Perluas teks",
"collapse_text": "Ciutkan teks",
"seed": "Seed {{seed}}",
"load_config": "Muat pengaturan",
"delete_confirm": "Hapus item riwayat ini?"
},
"openapi": {
"title": "API VoiceStudio",
"loading": "Memuat spesifikasi API…",
"unreachable_title": "Spesifikasi backend tidak tersedia",
"unreachable_body": "Tidak dapat menjangkau spesifikasi OpenAPI backend lokal di {{url}}. Pastikan backend berjalan, lalu coba lagi.",
"retry": "Coba lagi",
"copy_url": "Salin URL spesifikasi",
"copy_url_aria": "Salin URL /openapi.json",
"copied": "URL spesifikasi disalin",
"copy_failed": "Gagal menyalin — pilih dan salin URL di atas secara manual.",
"open_raw": "Buka spesifikasi mentah",
"open_raw_aria": "Buka JSON OpenAPI mentah di browser"
},
"recording": {
"cleaned_loaded": "Rekaman dibersihkan & dimuat!",
"loaded_raw": "Rekaman dimuat (mentah — penghilang derau tidak tersedia)",
"too_short": "Rekaman terlalu pendek",
"input_device": "Perangkat masukan",
"default_input": "Bawaan sistem",
"microphone_number": "Mikrofon {{number}}",
"channels": "Kanal",
"channels_auto": "Otomatis",
"channels_mono": "Mono",
"channels_stereo": "Stereo",
"input_level": "Tingkat masukan mikrofon",
"input_detected": "Masukan terdeteksi",
"no_input_detected": "Tidak ada masukan terdeteksi"
},
"pronunciation": {
"title": "Kamus pengucapan",
"help": "Ajari mesin cara mengucapkan kata-kata rumit. Setiap entri menggantikan kata dengan ejaan ulang sebelum sintesis, sehingga berlaku di setiap mesin. Lingkup entri ke satu bahasa atau biarkan Global. Inline, [[word|respelling]] menimpa kamus satu kali.",
"term": "Istilah",
"term_placeholder": "kata atau frasa (misalnya GIF)",
"replacement": "Penggantian",
"replacement_placeholder": "mengeja ulang (misalnya jiff)",
"scope": "Ruang lingkup",
"global": "Global",
"type": "Ketik",
"type_respelling": "Menolak",
"type_ipa": "IPA",
"type_cmu": "CMU",
"enabled": "Diaktifkan",
"add": "Tambahkan entri",
"remove": "Hapus {{term}}",
"empty": "Belum ada entri. Tambahkan satu di bawah untuk memperbaiki kata yang salah diucapkan.",
"test_label": "Uji sebuah kalimat",
"test_placeholder": "Ketikkan kalimat untuk melihat pratinjau substitusi…",
"test_result": "Akan diucapkan sebagai:",
"test_nochange": "Tidak ada entri yang cocok — diucapkan seperti tertulis.",
"load_error": "Tidak dapat memuat kamus pengucapan.",
"save_error": "Tidak dapat menyimpan entri itu.",
"lang_label": "Kode bahasa (misalnya en, de) atau biarkan kosong untuk Global",
"enable_entry": "Aktifkan {{term}}",
"lang_placeholder": "en, de… (kosong = Global)",
"test_language": "Bahasa pratinjau",
"test_global_hint": "Pratinjau hanya dengan entri Global — pilih bahasa untuk menyertakan entri khusus bahasa.",
"test_error": "Pratinjau tidak tersedia — backend tidak dapat dihubungi.",
"backup_title": "Cadangkan & pulihkan",
"backup_hint": "Unduh kamus sebagai file JSON, atau impor entri dari ekspor sebelumnya.",
"export": "Ekspor JSON",
"import": "Impor JSON",
"import_replace_prompt": "Ganti {{count}} entri yang ada dengan file yang diimpor? Pilih Tidak untuk menambahkan entri impor di samping yang ada.",
"import_done": "{{count}} entri diimpor.",
"import_error": "File tidak dapat diimpor — diharapkan JSON dari ekspor pelafalan.",
"export_error": "Kamus tidak dapat diekspor."
},
"audiobook": {
"cast": "Pemeran",
"cast_hint": "Petakan setiap [voice:NAME] di skrip Anda ke sebuah suara.",
"cast_empty": "Tambahkan tag [voice:NAME] ke skrip untuk memakai beberapa suara.",
"cast_uses_default": "memakai suara default",
"markup_toolbar": "Sisipkan markup",
"insert_pause": "Jeda",
"insert_voice": "Suara",
"insert_slow": "Lambat",
"insert_fast": "Cepat",
"insert_emphasis": "Penekanan",
"insert_spell": "Eja",
"insert_reactions": "Reaksi",
"stats": "{{chapters}} bab · {{words}} kata · {{runtime}} perkiraan durasi",
"warnings_title": "Sebelum membuat",
"warn_unknown_voice": "Suara tidak dikenal {{name}} — akan memakai default",
"warn_empty_chapter": "Bab “{{title}}” tidak memiliki teks untuk dibacakan",
"warn_unknown_tag": "Tag tidak dikenal {{tag}} — akan dibacakan",
"untitled": "Tanpa judul",
"dismiss": "Tutup",
"output": "Keluaran",
"title": "Buku Audio",
"subtitle": "Tulis atau impor cerita Anda, pilih suara untuk setiap peran, lalu ekspor buku audio rapi dengan bab sungguhan.",
"script": "naskah",
"script_placeholder": "# Bab Satu\nSuatu ketika… [pause 500ms] berakhir.\n\n# Bab Dua\n[suara: narator] Dan hal itu berlanjut.",
"default_voice": "Suara bawaan",
"engine_default": "Default mesin",
"preview_plan": "Rencana pratinjau",
"stop": "Hentikan",
"stopped_note": "Dihentikan — bab yang selesai tersimpan di cache; tekan Buat lagi untuk melanjutkan.",
"progress_summary": "Mensintesis {{current}} dari {{total}} bab",
"eta": "~{{time}} tersisa",
"chapter_n": "Bab {{n}}",
"cached_tag": "tersimpan",
"failed_tag": "gagal",
"empty_hint": "Belum ada yang dinarasikan — Muat contoh untuk mencoba skrip demo.",
"create": "Buat buku audio",
"plan_heading": "Rencana — {{count}} bab",
"chapter_meta": "{{spans}} rentang · {{chars}} karakter",
"synthesizing": "Mensintesis bab {{current}} dari {{total}} {{title}}",
"assembling": "Merakit buku audio…",
"ready": "Buku audio sudah siap",
"download": "Unduh",
"lyrics": "Ikuti teks",
"format": "Format",
"format_m4b": "M4B (bab)",
"format_mp3": "MP3",
"loudness": "Kenyaringan",
"loudness_off": "Kenyaringan: mati",
"loudness_acx": "Normalisasi (ACX)",
"loudness_podcast": "Normalisasi (podcast)",
"details": "Sampul & detail",
"cover": "Penutup",
"cover_add": "Tambahkan penutup",
"cover_remove": "Hapus penutup",
"meta_title": "Judul",
"meta_author": "Penulis",
"meta_narrator": "Narator",
"meta_year": "Tahun",
"meta_genre": "Aliran",
"meta_description": "Deskripsi",
"preview_chapter": "Bab pratinjau: {{title}}",
"cached_note": "Menggunakan kembali {{count}} bab yang sudah dirender.",
"failed_note": "{{count}} bab gagal — klik Buat lagi untuk mencoba lagi bab tersebut.",
"import": "Impor",
"import_failed": "Impor gagal: {{message}}",
"load_sample": "Muat contoh",
"load_sample_hint": "Isi editor dengan skrip demo yang menampilkan bab, suara per karakter, jeda, dan tag ekspresif — coba sebelum kerja sungguhan",
"load_sample_confirm": "Ganti skrip saat ini dengan contoh?",
"lexicon": "Pengucapan",
"lex_word": "Kata",
"lex_say": "Katakan sebagai…",
"lex_add": "Tambahkan kata",
"lex_remove": "Hapus",
"markup_help": "Referensi markup",
"markup_hint": "# Judul bab · [voice:NAME] ganti suara · [pause 500ms] / [pause 1s] · [slow]…[/slow] · [fast]…[/fast] · [emphasis]…[/emphasis] · [spell]…[/spell] · Reaksi (VoiceStudio): [laughter] [sigh] [confirmation-en] [question-en] [question-ah] [question-oh] [question-ei] [question-yi] [surprise-ah] [surprise-oh] [surprise-wa] [surprise-yo] [dissatisfaction-hnn]",
"language": "Bahasa",
"expressive": "Overide produksi",
"reset": "Setel ulang",
"seed": "Benih",
"seed_ph": "Otomatis",
"vary_repeats": "Bervariasi baris berulang",
"vary_repeats_help": "Berikan pengambilan yang berbeda untuk baris identik daripada menggunakan kembali satu perekaman.",
"emotion_help": "Emosi berjenjang — diterapkan hanya oleh mesin IndexTTS2.",
"emotion_text": "Deskripsi emosi",
"emotion_text_ph": "mis. terdengar lelah dan sedih",
"emotion_alpha": "Kekuatan emosi"
},
"voicePanel": {
"title": "Suara",
"subtitle": "Dikte ucapan-ke-teks lokal dengan model di perangkat.",
"enable_label": "Aktifkan Dikte Suara",
"enable_sub": "Tekan {{shortcut}} untuk mendiktekan teks ke dalam panel fokus mana pun.",
"mode_label": "Mode Dikte",
"mode_sub": "Beralih: tekan sekali untuk memulai, sekali lagi untuk berhenti. Tahan: mendiktekan saat kunci dipegang.",
"mode_toggle": "Beralih",
"mode_hold": "Tahan",
"model_label": "Model Pidato",
"model_sub": "Pilih model pada perangkat yang digunakan untuk dikte.",
"badge_offline": "luring",
"badge_streaming": "streaming",
"badge_recommended": "direkomendasikan",
"download_model": "Unduh modelnya",
"delete_model": "Hapus modelnya",
"downloading": "Mengunduh…",
"downloading_pct": "Mengunduh {{pct}}%",
"delete_confirm": "Hapus model ucapan \"{{label}}\"? Anda dapat mengunduhnya kembali nanti.",
"delete_confirm_title": "Hapus model ucapan",
"engine_unavailable": "Mesin pendiktean langsung tidak tersedia pada instalasi ini. Dikte kembali ke jalur transkripsi standar.",
"model_desc": {
"sherpa-parakeet-tdt-v3": "Dikte cepat dan akurat dalam 25 bahasa Eropa.",
"sherpa-parakeet-tdt-v2": "Dikte khusus bahasa Inggris yang cepat dan akurat.",
"sherpa-zipformer-bilingual-zh-en": "Streaming bahasa Mandarin + Inggris dengan siaran langsung sebagian.",
"sherpa-paraformer-bilingual-zh-en": "Streaming bahasa Mandarin + Inggris, model ringkas.",
"sherpa-zipformer-en-20m": "Model streaming bahasa Inggris yang kecil — latensi terendah.",
"sherpa-zipformer-zh-14m": "Model streaming kecil Tiongkok — latensi terendah.",
"sherpa-whisper-tiny": "Direkomendasikan. Dikte multibahasa dalam lebih dari 90 bahasa dengan deteksi bahasa otomatis."
}
},
"profiles": {
"need_name_audio": "Butuh nama dan referensi audio",
"synthesizing_preview": "Mensintesis pratinjau untuk {{name}}...",
"synthesizing_segment": "Mensintesis segmen...",
"preview_ready": "Pratinjau siap!",
"playback_failed": "Pemutaran gagal",
"preview_failed": "Pratinjau gagal: {{message}}",
"saved": "Suara disimpan ke profil!",
"save_failed": "Gagal menyimpan profil suara",
"locked": "Suara terkunci! Identitas sekarang konsisten di semua generasi.",
"lock_failed": "Gagal mengunci profil",
"unlocked": "Suara tidak terkunci. Generasi akan bervariasi lagi.",
"unlock_failed": "Gagal membuka kunci profil"
},
"transcriptionPicker": {
"title": "Impor dari transkripsi",
"search_placeholder": "Telusuri transkripsi…",
"empty": "Belum ada transkripsi. Rekam satu di tab Transkripsi.",
"empty_search": "Tidak ada transkripsi yang cocok dengan penelusuran Anda."
},
"waveform": {
"source_missing": "Media sumber hilang — file ini mungkin telah dipindahkan atau dihapus. Upload ulang video untuk melanjutkan.",
"load_failed": "Tidak dapat memuat audio dari file ini"
},
"tts": {
"routingFallback": "Berjalan pada CPU — mesin ini tidak memiliki jalur GPU pada mesin Anda, sehingga pembuatannya akan lebih lambat. {{reason}}",
"routingCaveat": "Menggunakan GPU, tetapi: {{reason}}",
"droppedChunks_one": "Perhatian: {{count}} bagian teks Anda tidak menghasilkan audio, jadi hasil ini kehilangan bagian tersebut. Coba hasilkan ulang — seed yang berbeda biasanya memperbaikinya.",
"droppedChunks_other": "Perhatian: {{count}} bagian teks Anda tidak menghasilkan audio, jadi hasil ini kehilangan bagian-bagian tersebut. Coba hasilkan ulang — seed yang berbeda biasanya memperbaikinya.",
"droppedChunksWithText_one": "Perhatian: {{count}} bagian teks Anda tidak menghasilkan audio dan hilang dari hasil ini — “{{text}}”. Coba hasilkan ulang; seed yang berbeda biasanya memperbaikinya.",
"droppedChunksWithText_other": "Perhatian: {{count}} bagian teks Anda tidak menghasilkan audio dan hilang dari hasil ini — “{{text}}”. Coba hasilkan ulang; seed yang berbeda biasanya memperbaikinya.",
"streamingOffRemote": "Pratinjau progresif dimatikan selama {{label}} merender — hasil akhirnya diputar begitu tiba."
},
"voiceSelector": {
"engineDefault": "Default mesin",
"clone": "Suara kloning",
"designed": "Suara yang dirancang",
"presets": "Preset",
"fromVideo": "Dari video",
"missingVoice": "Suara tidak ditemukan (pilih ulang)",
"preview": "Pratinjau suara",
"openGallery": "Buka di Galeri Suara",
"createVoice": "Ciptakan suara baru",
"gallery": "Galeri",
"addingVoice": "Menambahkan suara…",
"addVoiceFailed": "Tidak dapat menambahkan suara itu"
},
"remote_gate": {
"title": "Masukkan PIN akses",
"body": "Mesin virtual VoiceStudio ini dibagikan di jaringan. Masukkan PIN yang tertera pada host.",
"label": "Akses PIN",
"connect": "Hubungkan"
},
"remote_apikey_gate": {
"title": "Enter API key",
"body": "This backend requires an API key. Enter the value of OMNIVOICE_API_KEY set on the server.",
"label": "API key",
"connect": "Connect"
},
"contact": {
"hero_title": "Hubungi kami",
"hero_desc": "Pertanyaan, bug, perizinan, atau sekadar menyapa — inilah cara menghubungi saya.",
"email": "Surel",
"email_desc": "Perizinan, kemitraan, atau apa pun yang bersifat pribadi.",
"website": "Situs web",
"website_desc": "Lebih lanjut tentang proyek dan pembuatnya.",
"follow_title": "Ikuti di X",
"follow_desc": "Catatan rilis, mesin baru, dan sesekali intip apa yang sedang dibangun. Praktis jika Anda tidak ingin berada di server obrolan.",
"follow_cta": "Ikuti di X"
},
"permissions": {
"title": "Izin",
"desc": "VoiceStudio berjalan sepenuhnya di perangkat Anda — izin sistem ini hanya digunakan untuk fitur yang tercantum di sini, dan audio tidak pernah meninggalkan komputer Anda.",
"microphone": "Mikrofon",
"microphone_why": "Digunakan untuk dikte dan perekaman suara. Audio diproses secara lokal.",
"accessibility": "Aksesibilitas",
"accessibility_why": "Memungkinkan dikte menempel atau mengetik teks ke aplikasi lain.",
"status_granted": "Diberikan",
"status_denied": "Ditolak",
"status_prompt": "Belum diminta",
"status_unknown": "Tidak diketahui",
"open_settings": "Buka Pengaturan",
"web_note": "Status izin hanya dapat dibaca di aplikasi desktop — di browser, akses mikrofon dikelola oleh browser itu sendiri."
},
"asr_missing": {
"message": "Tidak ada model ucapan-ke-teks yang terpasang — fitur ini membutuhkannya untuk mentranskripsi audio.",
"download": "Unduh {{label}} ({{size}} GB)",
"started": "Mengunduh {{label}} — pantau progresnya di Pengaturan → Model, lalu coba lagi.",
"install_failed": "Tidak dapat memulai unduhan: {{message}}"
},
"model_missing": {
"message": "Model ini belum diunduh di {{target}}.",
"download": "Unduh model",
"download_size": "Unduh ({{size}})",
"started": "Mengunduh di {{target}} — coba Buat lagi setelah selesai.",
"failed": "Tidak dapat memulai unduhan: {{message}}",
"manual_worker": "Instal mesin ini langsung di {{target}}."
},
"backend_start_failure": {
"notice": "Backend VoiceStudio gagal dijalankan — tidak ada yang bisa berjalan sampai backend hidup.",
"view": "Lihat alasannya",
"title": "Backend gagal dijalankan",
"intro": "Aplikasi merekam ini saat mencoba menjalankan backend. Menyertakan keluaran ini dalam laporan membantu kami memperbaikinya.",
"output_title": "Yang dilaporkan aplikasi",
"retry_hint": "Coba \"Coba lagi\" di Pengaturan → Log → Backend. Jika gagal lagi, \"Bersihkan & Coba lagi\" akan membangun ulang lingkungan dari awal."
},
"crash": {
"notice_unclean": "Sesi sebelumnya berakhir tanpa penutupan yang bersih {{ago}} yang lalu. Ini sering tidak berbahaya — mesin tertidur, aplikasi ditutup paksa, atau VM/kontainer berhenti.",
"details_intro_unclean": "Penanda penutupan dari sesi sebelumnya tidak pernah dibersihkan, {{ago}} yang lalu. VoiceStudio tidak dapat mengetahui apakah itu crash atau sekadar interupsi — tidur, penutupan paksa, atau menghentikan VM/kontainer meninggalkan jejak yang sama. Jika sekarang semuanya berfungsi, tidak ada yang perlu dilakukan.",
"report_needs_log": "Tidak ada keluaran kesalahan yang tertangkap untuk peristiwa ini, jadi laporan sekali klik akan kosong. Jika memang ada masalah, lampirkan baris terakhir dari Pengaturan → Log → Backend ke issue baru."
},
"gpu": {
"local": "Lokal",
"picker": "Tempat pekerjaan dijalankan",
"tasks": "tugas",
"coverage": "hanya {{ops}}",
"opLocal": "Lokal — {{op}} belum berjalan dari jarak jauh",
"dictationLocal": "Dikte selalu berjalan di mesin ini",
"ops": {
"tts": "TTS",
"clone": "kloning suara",
"dub": "sulih suara",
"audiobook": "render buku audio",
"longform": "narasi cerita",
"asr": "transkripsi"
}
},
"compute": {
"add_machine": "Tambahkan mesin",
"manage": "Pengaturan pekerja jarak jauh",
"off_hint": "Semuanya berjalan di mesin ini. Aktifkan Jarak jauh untuk memakai mesin lain.",
"quick_settings": "Komputasi — tempat pekerjaan berjalan",
"remote": "Jarak jauh",
"title": "Tempat pekerjaan berjalan",
"token_once": "Pindai atau tempelkan ini di mesin yang lain. Hanya ditampilkan sekali."
},
"voices": {
"active": "Suara aktif",
"active_clone_recipe": "Dikloning dari klip referensi Anda",
"cta_clone": "Letakkan klip 3 detik di Suara ← untuk mengkloning suara",
"cta_design": "Deskripsikan suara di Suara ← untuk mendesainnya",
"new": "Suara baru",
"none_selected": "Belum ada suara yang dipilih — deskripsikan satu, letakkan audio, atau pilih di bawah."
},
"convert": {
"source_kicker": "Klip sumber",
"drop_audio": "Letakkan klip yang akan dikonversi — atau klik. WAV, MP3, M4A…",
"target_voice": "Suara target",
"pick_voice": "Pilih profil suara…",
"match_duration": "Samakan durasi sumber",
"match_duration_hint": "Regangkan hasil secara waktu (nada tetap) agar mendekati panjang klip sumber.",
"convert": "Konversi",
"converting": "Mengonversi…",
"transcript": "Yang terdengar",
"result_kicker": "Hasil konversi",
"need_source_and_voice": "Tambahkan klip sumber dan pilih suara target terlebih dahulu."
}
}