// Indonesian (id).
export default {
  'brand': 'WebBrain',

  'sp.status.disconnected': 'Terputus',
  'sp.status.connected': 'Terhubung ({model})',
  'sp.status.error': 'Galat: {msg}',
  'sp.status.failed': 'Koneksi gagal',
  'sp.btn.verbose': 'Alihkan log alat terperinci',
  'sp.btn.language': 'Bahasa',
  'sp.btn.settings': 'Pengaturan',
  'sp.btn.clear': 'Percakapan baru (hapus riwayat)',
  'sp.btn.send': 'Kirim',
  'sp.btn.stop.title': 'Hentikan agen',
  'sp.btn.stop.label': 'Berhenti',

  'sp.inspection': 'WebBrain mulai memeriksa halaman ini',

  'sp.greeting.html': 'Halo! Saya <strong>WebBrain</strong>. Saya bisa membaca halaman ini, menjawab pertanyaan, mengeklik tombol, mengisi formulir, dan mengotomatiskan tugas multi-langkah.',
  'sp.greeting.hint': 'Coba: "Ringkas halaman ini" atau "Temukan semua tautan tentang harga"',
  'sp.help_message': 'Ada yang bisa saya bantu di halaman ini?',
  'sp.cleared_message': 'Percakapan dihapus. Ada yang bisa saya bantu?',

  'sp.mode.ask': 'Tanya',
  'sp.mode.ask.title': 'Bertanya tentang halaman — tanpa perubahan',
  'sp.mode.act': 'Aksi',
  'sp.mode.act.title': 'Biarkan WebBrain mengeklik, mengetik, dan menavigasi untukmu',
  'sp.mode.act.warning': 'Mode aksi: WebBrain akan berinteraksi dengan halaman atas nama Anda. Gunakan dengan risiko Anda sendiri.',
  'sp.mode.act.confirm': 'Mode aksi memungkinkan WebBrain mengeklik, mengetik, menggulir, dan menavigasi atas nama Anda.\n\nIa berjalan di dalam sesi peramban Anda yang sudah terautentikasi, jadi memiliki akses yang sama seperti Anda di setiap situs tempat Anda masuk.\n\nPerhatikan tindakannya dan hentikan kapan saja dengan tombol ◼.\n\nLanjutkan?',

  'sp.input.ask_placeholder': 'Tanyakan apa saja tentang halaman ini...',
  'sp.input.act_placeholder': 'Beri tahu saya apa yang harus dilakukan di halaman ini...',

  'sp.activity.thinking': 'Berpikir...',
  'sp.activity.thinking_step': 'Berpikir (langkah {step})...',
  'sp.activity.continuing': 'Melanjutkan...',
  'sp.activity.stopping': 'Menghentikan...',

  'sp.copy': 'Salin',
  'sp.copied': 'Tersalin!',
  'sp.copy.code.title': 'Salin kode',

  'sp.error_prefix': 'Galat: {msg}',
  'sp.stopped_by_user': '[Dihentikan oleh pengguna]',
  'sp.stopped_by_user_html': '<em>Dihentikan oleh pengguna.</em>',

  'sp.continue_bar': 'Batas langkah tercapai ({steps} langkah). Lanjutkan?',
  'sp.continue_btn': 'Lanjutkan',

  'sp.step.details': 'detail',
  'sp.step.input_label': 'Masukan',
  'sp.step.result_label': 'Hasil',

  'sp.api.enabled_html': '🔓 <strong>Perubahan melalui API diaktifkan</strong> untuk percakapan ini. Agen kini dapat menggunakan POST/PUT/PATCH/DELETE melalui fetch_url dan execute_js bila menilai API lebih andal daripada UI untuk suatu langkah. UI tetap menjadi pilihan utama secara bawaan. Flag ini akan terhapus saat Anda mereset percakapan.',
  'sp.api.badge_html': '<span>🔓 Perubahan API diizinkan</span>',

  'tool.read_page': 'Membaca halaman',
  'tool.get_interactive_elements': 'Memindai elemen interaktif',
  'tool.click': 'Mengeklik',
  'tool.type_text': 'Mengetik',
  'tool.scroll': 'Menggulir',
  'tool.navigate': 'Menavigasi',
  'tool.extract_data': 'Mengekstrak data',
  'tool.wait_for_element': 'Menunggu elemen',
  'tool.get_selection': 'Membaca seleksi',
  'tool.execute_js': 'Menjalankan skrip',
  'tool.new_tab': 'Membuka tab baru',
  'tool.screenshot': 'Mengambil tangkapan layar',
  'tool.done': 'Menyelesaikan',
  'tool.click.selector': 'Mengeklik "{selector}"',
  'tool.click.index': 'Mengeklik elemen #{index}',
  'tool.type_text.text': 'Mengetik "{text}"',
  'tool.navigate.url': 'Menuju {url}',
  'tool.new_tab.url': 'Membuka {url}',
  'tool.scroll.direction': 'Menggulir ke {direction}',
  'tool.extract_data.type': 'Mengekstrak {type}',
  'tool.wait_for_element.selector': 'Menunggu "{selector}"',

  'st.title': 'Pengaturan WebBrain',
  'st.subtitle': 'Konfigurasikan penyedia LLM dan preferensi tampilan · v{version}',
  'st.tab.display': 'Tampilan',
  'st.tab.providers': 'Penyedia',
  'st.tab.vision': 'Visi',
  'st.tab.profile': 'Profil',
  'st.tab.account': 'Akun',

  'st.account.not_signed_in': 'Belum masuk',
  'st.account.sign_in': 'Masuk / Daftar',
  'st.account.sign_out': 'Keluar',
  'st.account.provider_name': 'WebBrain Cloud',

  'st.display.language.label': 'Bahasa',
  'st.display.language.desc': 'Bahasa antarmuka untuk plugin WebBrain.',
  'st.display.verbose.label': 'Mode terperinci',
  'st.display.verbose.desc': 'Tampilkan detail lengkap pemanggilan alat, argumen, dan hasil JSON mentah. Nonaktif secara bawaan demi tampilan obrolan yang lebih bersih.',
  'st.display.screenshot.label': 'Tangkapan layar cadangan',
  'st.display.screenshot.desc': 'Ambil tangkapan layar halaman saat pembacaan DOM gagal atau mengembalikan konten yang kurang. Memerlukan model yang mendukung visi.',
  'st.display.site_adapters.label': 'Adaptor situs',
  'st.display.site_adapters.desc': 'Sisipkan panduan singkat yang dibuat manual untuk situs trafik tinggi yang dikenal (GitHub, Gmail, Stripe, AWS, dll.) ke pesan pertama agen. Membantu agen menghindari jalan buntu yang umum. Menambah sedikit biaya token pada giliran pertama percakapan di situs yang cocok.',
  'st.display.auto_screenshot.label': 'Tangkapan layar otomatis',
  'st.display.auto_screenshot.desc': 'Ambil tangkapan layar viewport secara otomatis setelah agen bertindak pada halaman, agar model yang mendukung visi dapat melihat apa yang berubah. Memakan lebih banyak token. Akan dinonaktifkan diam-diam jika model aktif tidak mendukung gambar.',
  'st.display.auto_screenshot.off': 'Nonaktif',
  'st.display.auto_screenshot.navigation': 'Saat navigasi',
  'st.display.auto_screenshot.state_change': 'Saat perubahan status (bawaan)',
  'st.display.auto_screenshot.every_step': 'Setiap langkah',
  'st.display.tracing.label': 'Rekam jejak (untuk perbandingan model)',
  'st.display.tracing.desc_html': 'Simpan setiap proses (permintaan LLM, respons, pemanggilan alat, tangkapan layar) ke IndexedDB lokal sehingga Anda dapat memeriksa dan membandingkan model berdampingan. Membuka tab Jejak terpisah. Nonaktif secara bawaan karena menambah penulisan disk per langkah. <a href="traces.html" target="_blank" style="color:var(--accent);">Buka halaman Jejak →</a>',
  'st.display.allow_local_network.label': 'Izinkan agen mengakses jaringan lokal',
  'st.display.allow_local_network.desc': 'Memungkinkan alat fetch_url agen menjangkau loopback (127.0.0.1, localhost) dan alamat privat/RFC1918 (10.x, 192.168.x, 172.16–31.x). Berguna untuk server pengembangan lokal, alat intranet, atau API yang di-host sendiri. Nonaktif secara bawaan — saat nonaktif, halaman yang disisipi prompt-injection tidak dapat menyuruh agen memindai jaringan lokal Anda. Alamat metadata cloud (169.254.169.254) dan nama host *.internal/*.local tetap diblokir bahkan saat diaktifkan.',
  'st.display.notify_sound.label': 'Suara penyelesaian',
  'st.display.notify_sound.desc': 'Mainkan dering singkat di panel samping saat agen menyelesaikan tugas. Tidak akan dimainkan jika Anda membatalkan proses.',
  'st.display.max_steps.label': 'Langkah maksimum agen',
  'st.display.max_steps.desc': 'Jumlah maksimum langkah pemanggilan alat yang dapat dilakukan agen per pesan. Nilai lebih tinggi memungkinkan tugas multi-langkah lebih kompleks tetapi mungkin memakai lebih banyak token.',
  'st.display.traces_link.label': 'Jejak',
  'st.display.traces_link.desc': 'Periksa proses yang direkam berdampingan. Hanya tersedia saat perekaman jejak aktif.',
  'st.display.traces_link.open': 'Buka Jejak →',

  'st.providers.info.html': '<strong>Memulai dengan llama.cpp:</strong><br>Jalankan <code>llama-server -m your-model.gguf --port 8080</code> untuk memulai server lokal.<br>Tidak perlu kunci API — berjalan sepenuhnya di mesin Anda.',
  'st.providers.save': 'Simpan',
  'st.providers.test': 'Uji koneksi',
  'st.providers.set_active': 'Jadikan aktif',
  'st.providers.active': 'AKTIF',
  'st.providers.saved': 'Tersimpan!',
  'st.providers.testing': 'Menguji...',
  'st.providers.connected': 'Terhubung! Model: {model}',
  'st.providers.unknown_model': 'tidak diketahui',
  'st.providers.failed': 'Gagal: {error}',
  'st.providers.load_models': 'Muat model',
  'st.providers.loading': 'Memuat…',
  'st.providers.models_loaded': '{count} model dimuat',

  'st.provider.field.server_url': 'URL server',
  'st.provider.field.api_base_url': 'URL dasar API',
  'st.provider.field.api_key': 'Kunci API',
  'st.provider.field.model': 'Model',
  'st.provider.field.model_optional': 'Model (opsional)',
  'st.provider.field.supports_vision': 'Model mendukung visi (multimodal)',
  'st.provider.field.compact_prompt': 'Prompt ringkas (disarankan untuk model kecil, aktif secara bawaan)',
  'st.provider.field.model_loaded_hint': 'kosongkan untuk menggunakan model yang sudah dimuat',

  'st.vision.desc': 'Jika diatur, tangkapan layar dikirim ke model ini untuk membaca halaman, sementara penyedia aktif menangani perencanaan dan pemanggilan alat. Kosongkan agar penyedia aktif juga menangani visi. Hanya endpoint yang kompatibel dengan OpenAI.',
  'st.vision.save': 'Simpan',
  'st.vision.test': 'Uji koneksi',
  'st.vision.clear': 'Bersihkan',
  'st.vision.cleared': 'Dibersihkan.',
  'st.vision.saved': 'Tersimpan!',
  'st.vision.testing': 'Menguji...',
  'st.vision.connected': 'Terhubung! Model: {model}',
  'st.vision.failed': 'Gagal: {error}',
  'st.vision.fill_required': 'Isi URL dasar dan Model terlebih dahulu.',

  'st.profile.desc_html': 'Simpan bio singkat yang dapat digunakan agen untuk mengisi formulir pendaftaran tanpa bertanya setiap kali — nama Anda, email kerja, perusahaan, dan kata sandi <em>sekali pakai</em> untuk pendaftaran berisiko rendah. Saat diaktifkan, teks di bawah ditambahkan ke prompt sistem agen pada setiap percakapan.',
  'st.profile.enabled.label': 'Aktifkan isi otomatis profil',
  'st.profile.enabled.desc': 'Sisipkan teks profil ke prompt sistem agen. Nonaktif = agen tidak pernah melihat teks ini.',
  'st.profile.text.label': 'Teks profil',
  'st.profile.text.placeholder': 'Saya Jane Doe. Email saya jane@example.com. Saya bekerja di Acme Inc. Kata sandi default saya untuk pendaftaran berisiko rendah adalah SomePhrase-42!. Saya tinggal di Berlin.',
  'st.profile.save': 'Simpan',
  'st.profile.clear': 'Bersihkan',
  'st.profile.saved': 'Tersimpan.',
  'st.profile.cleared': 'Dibersihkan.',
  'st.profile.security_html': '<strong>Keamanan — baca ini:</strong><br><ul style="margin:6px 0 0 18px;padding:0;line-height:1.55;"><li>Teks yang Anda masukkan di sini disimpan <strong>dalam bentuk teks biasa</strong> di penyimpanan lokal peramban Anda. Teks ini <strong>tidak</strong> dikirim ke proyek WebBrain — tetapi <strong>dikirim</strong> ke penyedia LLM yang Anda konfigurasikan pada setiap giliran, sebagai bagian dari prompt sistem.</li><li><strong>Jangan masukkan kata sandi untuk akun penting</strong> di sini (Google, Apple, iCloud, perbankan, SSO kantor, email utama). Akun-akun itu seharusnya memakai 2FA dan tidak perlu Anda serahkan ke agen.</li><li>Kasus penggunaan yang dimaksud adalah <strong>kata sandi sekali pakai</strong> yang Anda gunakan kembali untuk pendaftaran situs berisiko rendah (newsletter, uji coba gratis, akun forum).</li><li>Jika profil peramban ini suatu saat disusupi, penyerang yang memiliki akses disk dapat membaca teks ini. Buat seminimal mungkin.</li></ul>',

  'tr.title': 'Jejak WebBrain',
  'tr.runs': '{n} proses',
  'tr.run': '{n} proses',
  'tr.btn.refresh': '↻ Segarkan',
  'tr.btn.refresh.title': 'Muat ulang daftar proses',
  'tr.btn.compare': '⇔ Bandingkan',
  'tr.btn.compare.title': 'Masuk mode perbandingan (pilih 2 proses)',
  'tr.btn.compare.picking': '⇔ Bandingkan (pilih 2)',
  'tr.btn.export': '⇩ Ekspor JSON',
  'tr.btn.export.title': 'Ekspor proses terpilih sebagai JSON',
  'tr.btn.delete': '✕ Hapus',
  'tr.btn.delete.title': 'Hapus proses terpilih',
  'tr.btn.clear_all': 'Hapus semua',
  'tr.btn.clear_all.title': 'Hapus setiap proses yang tersimpan',

  'tr.filter.placeholder': 'Saring berdasarkan tugas / model / URL',
  'tr.filter.all_models': 'Semua model',
  'tr.no_match': 'Tidak ada proses yang cocok.',
  'tr.no_task': '(tanpa tugas)',

  'tr.conversation.label': 'Percakapan',
  'tr.conversation.turn_of': 'giliran {n} dari {total}',
  'tr.conversation.tooltip': 'Bagian dari percakapan {n} giliran ({id}). Buka proses untuk berpindah antar giliran.',

  'tr.cost.label': 'Biaya:',
  'tr.cost.tooltip': 'Total biaya LLM yang dilaporkan penyedia (USD). Disorot oranye saat ≥ $0.50 tanpa jawaban akhir — kemungkinan proses yang sia-sia.',

  'tr.empty.title': 'Belum ada proses dipilih.',
  'tr.empty.hint_html': 'Pilih satu proses dari kiri untuk melihat lini masa langkah demi langkah. Klik <b>Bandingkan</b> untuk memilih dua proses dan melihatnya berdampingan.',

  'tr.compare_mode.title': 'Mode perbandingan',
  'tr.compare_mode.picked': 'Dipilih {n}/2. Klik proses lain untuk menyelesaikan perbandingan.',
  'tr.compare_mode.hint': 'Klik dua proses di daftar untuk membandingkannya berdampingan.',

  'tr.status.label': 'status',
  'tr.steps.label': 'langkah',
  'tr.step': '{n} langkah',
  'tr.steps_plural': '{n} langkah',
  'tr.duration.label': 'durasi',
  'tr.intokens.label': 'token masuk',
  'tr.outtokens.label': 'token keluar',
  'tr.tokens_short': '{n} tok',
  'tr.unknown_model': 'tidak diketahui',
  'tr.final_label': 'Akhir:',

  'tr.deleted': 'Dihapus.',
  'tr.all_deleted': 'Semua proses dihapus.',
  'tr.select_first': 'Pilih proses terlebih dahulu.',
  'tr.confirm_delete': 'Hapus proses ini?',
  'tr.confirm_delete_all': 'Hapus SEMUA proses yang direkam? Ini tidak bisa dibatalkan.',

  'tr.event.llm_request': '→ permintaan LLM',
  'tr.event.llm_response': '← respons LLM',
  'tr.event.vision_sub_call': '👁 sub-panggilan visi',
  'tr.event.error_kind': '⚠ galat',
  'tr.event.messages_tools': '{m} pesan, {t} alat · {model}',
  'tr.event.screenshot_caption': 'tangkapan layar',
  'tr.event.screenshot_missing': '(blob tangkapan layar hilang)',
  'tr.event.description_truncated': '... [dipotong di tampilan perbandingan]',
  'tr.event.vision_failed': 'sub-panggilan visi gagal: {error}',
  'tr.event.description': 'deskripsi',
  'tr.event.args': 'argumen',
  'tr.event.result': 'hasil',
  'tr.event.step': 'langkah {step}',
};
