aboutsummaryrefslogtreecommitdiffstats
path: root/src/locales/id.json
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-24 08:59:31 -0700
committerAdam Soltys <[email protected]>2026-06-24 08:59:31 -0700
commit17acf5ec80a0c0b0acc44a6a8373e154c68d4748 (patch)
treea3fb56b85cc9cd21962ed64b084294096948d75b /src/locales/id.json
parentf59cca61111f38963099190bdbbce9a76bc3fafe (diff)
downloadcoinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.tar.gz
coinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.zip
Split translations into per-language files, lazy-loaded
Only English is bundled in index.html now; the other 19 languages are emitted as dist/locales/<code>.json and fetched on demand when a visitor actually uses one (via auto-detect, the picker, or ?lang=xx). This drops index.html from ~511KB to ~318KB; a non-English visitor fetches just their one ~8-10KB locale, which the service worker then caches for offline use. t() falls back to English until a locale resolves. - i18n.js keeps only en + a loadLocale() fetcher; locale data moved to src/locales/*.json. - build.js emits dist/locales/; dev.js serves /locales/<code>.json. - Deploy hook publishes the locales/ subdir. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/locales/id.json')
-rw-r--r--src/locales/id.json145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/locales/id.json b/src/locales/id.json
new file mode 100644
index 0000000..57e87ee
--- /dev/null
+++ b/src/locales/id.json
@@ -0,0 +1,145 @@
+{
+ "passphrase": "Frasa sandi",
+ "howItWorks": "Cara kerjanya",
+ "installApp": "Pasang aplikasi",
+ "hiwBasicsTitle": "Dasar-dasarnya",
+ "hiwBasics1": "Saat Anda membuat dompet, halaman ini menghasilkan dua belas kata acak. Kata-kata itu adalah kunci dompet Anda. Siapa pun yang memilikinya bisa membelanjakan koin Anda, jadi tuliskan di kertas dan simpan di tempat yang hanya bisa Anda jangkau.",
+ "hiwBasics2": "Jika Anda kehilangan dua belas kata itu dan tidak punya cadangan, koin Anda hilang selamanya. Tidak ada tautan setel ulang dan tidak ada yang bisa dihubungi, jadi cadangkan dulu sebelum memasukkan uang.",
+ "hiwBasics3": "Tidak ada server dan tidak ada akun. Seluruh aplikasi adalah satu halaman yang berjalan di browser Anda, jadi tidak ada yang menyimpan koin Anda dan tidak ada server yang pernah melihat kunci Anda. Untuk menampilkan saldo dan riwayat, aplikasi membaca dari penjelajah blok publik (mempool.space secara default, atau node Anda sendiri jika Anda mengaturnya di Pengaturan).",
+ "hiwBasics4": "Anda bahkan bisa menyimpan halaman ini dan membukanya langsung dari komputer tanpa internet sama sekali. Aplikasi ini tetap berfungsi secara offline.",
+ "hiwBasics5": "Aplikasi ini mengikuti standar Bitcoin yang umum (frasa BIP39 12 kata dan kunci BIP84 native SegWit), jadi jika situs ini suatu saat hilang, Anda bisa memulihkan frasa yang sama di Sparrow, Electrum, atau dompet standar lainnya dan koin Anda akan tetap ada di sana.",
+ "hiwTribute": "Nama Hal Wallet adalah penghormatan kepada cypherpunk legendaris dan pelopor Bitcoin, Hal Finney (1956–2014).",
+ "signExport": "Tanda tangani & (siarkan di tempat lain)",
+ "scanQr": "Pindai QR",
+ "scanHint": "Arahkan kamera ke kode QR",
+ "scanNoCamera": "Tidak dapat mengakses kamera.",
+ "scanNoDecoder": "Pemindaian QR memerlukan koneksi saat pertama kali digunakan.",
+ "scanUnrecognized": "Tidak dapat membaca alamat Bitcoin dari QR itu.",
+ "broadcastScanned": "Siarkan transaksi?",
+ "broadcastNow": "Siarkan",
+ "scanOffline": "Anda sedang offline — sambungkan kembali untuk menyiarkan transaksi ini.",
+ "loadingHistory": "Memuat transaksi…",
+ "explorer": "Penjelajah blok",
+ "explorerDesc": "Server yang ditanyai dompet ini untuk saldo dan riwayat. Arahkan ke node Anda sendiri untuk privasi maksimal.",
+ "explorerUrl": "URL server",
+ "explorerUrlHint": "Basis REST Esplora / electrs, mis. https://mempool.space/api",
+ "deviceSync": "Sinkronisasi perangkat",
+ "deviceSyncDesc": "Jaga dompet ini tetap tersinkron di seluruh perangkat Anda dengan menyimpan salinan terenkripsi di relay Nostr — hanya perangkat dengan seed Anda yang bisa membacanya. Matikan untuk menyimpan semuanya di perangkat ini.",
+ "syncAcross": "Sinkronkan antar perangkat",
+ "syncOn": "Aktif",
+ "syncOff": "Nonaktif",
+ "relaysLabel": "Relay",
+ "relaysHint": "Satu URL wss:// per baris.",
+ "home": "Beranda",
+ "logout": "Keluar",
+ "createNew": "Buat baru",
+ "importExisting": "Impor yang ada",
+ "genIntro": "Buat frasa benih baru 12 kata. Catatlah. Ini satu-satunya cara memulihkan dompet ini.",
+ "generateSeed": "Buat frasa benih",
+ "writeDownWarn": "⚠ Tulis 12 kata ini di kertas, secara berurutan. Siapa pun yang memilikinya dapat menghabiskan koin Anda.",
+ "copyPhrase": "Salin frasa",
+ "regenerate": "Buat ulang",
+ "verifyBackup": "Verifikasi cadangan",
+ "skipVerification": "Lewati verifikasi",
+ "confirmBackupIntro": "Konfirmasi cadangan dengan memasukkan kata yang diminta.",
+ "wordN": "Kata #{n}",
+ "reenterPassphrase": "Masukkan ulang frasa sandi",
+ "back": "← Kembali",
+ "openWallet": "Buka dompet",
+ "wordsMismatch": "Kata-kata itu tidak cocok dengan frasa Anda. Periksa cadangan Anda.",
+ "passphraseMismatch": "Frasa sandi tidak cocok dengan yang Anda masukkan.",
+ "seedPhrase": "Frasa benih",
+ "seedPlaceholder": "masukkan kata-kata dipisahkan spasi",
+ "optionalPassphrase": "Frasa sandi opsional",
+ "leaveBlank": "kosongkan jika tidak dipakai",
+ "show": "Tampilkan",
+ "hide": "Sembunyikan",
+ "invalidSeed": "Frasa benih tidak valid — periksa ejaan dan urutan kata.",
+ "keysNote": "Kunci tidak pernah meninggalkan browser Anda. Berfungsi offline. Simpan halaman ini dan buka secara lokal.",
+ "balance": "Saldo",
+ "pending": "Tertunda",
+ "tabReceive": "Terima",
+ "tabSend": "Kirim",
+ "tabHistory": "Riwayat",
+ "tabSettings": "Pengaturan",
+ "copyAddress": "Salin alamat",
+ "paymentReceived": "Pembayaran diterima!",
+ "tapToProceed": "Ketuk di mana saja untuk lanjut",
+ "recipient": "Penerima",
+ "recipients": "Penerima",
+ "max": "Maks",
+ "feeRate": "Biaya",
+ "feeEconomy": "Hemat",
+ "feeNormal": "Normal",
+ "feePriority": "Prioritas",
+ "feeCustom": "Kustom",
+ "selectedRate": "Biaya dipilih: {n} sat/vB",
+ "coinSelection": "Pemilihan koin",
+ "automatic": "Otomatis",
+ "manual": "Manual",
+ "noCoins": "Tidak ada koin tersedia.",
+ "nSelected": "{n} dipilih",
+ "addRecipient": "+ Tambah penerima",
+ "reviewTx": "Tinjau transaksi",
+ "remove": "Hapus",
+ "enterRecipientAddr": "Masukkan alamat penerima.",
+ "enterAddrForN": "Masukkan alamat untuk penerima {n}.",
+ "enterValidAmtForN": "Masukkan jumlah yang valid untuk penerima {n}.",
+ "selectCoin": "Pilih setidaknya satu koin untuk dibelanjakan.",
+ "networkFee": "Biaya jaringan",
+ "offlineSignNote": "Offline: tanda tangani sekarang, lalu siarkan transaksi dari perangkat online.",
+ "signBroadcast": "Tandatangani & siarkan",
+ "signTx": "Tandatangani transaksi",
+ "broadcastFailed": "Siaran gagal: {msg}",
+ "signingFailed": "Penandatanganan gagal: {msg}",
+ "done": "Selesai",
+ "txSignedNote": "✓ Transaksi ditandatangani. Siarkan kode di bawah dari perangkat online (mis. mempool.space → Broadcast).",
+ "transactionId": "ID transaksi",
+ "signedTxRaw": "Transaksi tertandatangani (kode)",
+ "copyHex": "Salin kode",
+ "downloadLabel": "Unduh",
+ "showQrAirgap": "Tampilkan QR (transfer offline)",
+ "txBroadcast": "✓ Transaksi disiarkan!",
+ "copyTxid": "Salin ID transaksi",
+ "viewOnMempool": "Lihat di mempool.space ↗",
+ "noTxYet": "Belum ada transaksi.",
+ "received": "Diterima",
+ "sent": "Terkirim",
+ "pendingTag": "⏳ tertunda",
+ "awaitingConfirmation": "menunggu konfirmasi",
+ "feeShort": "biaya {x}",
+ "historyOffline": "Riwayat tidak tersedia saat offline.",
+ "status": "Status",
+ "confirmed": "Terkonfirmasi",
+ "confirmedTag": "terkonfirmasi",
+ "pendingInMempool": "Tertunda (di mempool)",
+ "block": "Blok",
+ "date": "Tanggal",
+ "copyId": "Salin ID",
+ "backToHistory": "← Kembali ke riwayat",
+ "recoveryPhrase": "Frasa pemulihan",
+ "recoveryWarn": "⚠ Siapa pun yang melihat kata-kata ini bisa mencuri dana Anda. Pastikan tidak ada yang melihat sebelum menampilkannya.",
+ "bip39Passphrase": "Frasa sandi",
+ "copyPassphrase": "Salin frasa sandi",
+ "revealRecovery": "Tampilkan frasa pemulihan",
+ "offlineTransfer": "Transfer offline",
+ "offlineTransferDesc": "Ekspor koin Anda di perangkat online, lalu impor file di perangkat offline (dengan dompet + benih ini) untuk menandatangani tanpa internet.",
+ "exportSnapshot": "⤓ Ekspor snapshot",
+ "importSnapshot": "Impor snapshot…",
+ "rescan": "Pindai ulang",
+ "rescanDesc": "Alamat Anda saat ini diperbarui otomatis. Pindai ulang hanya jika pembayaran dikirim ke alamat lama (dipakai ulang) dan tidak muncul.",
+ "rescanWallet": "Pindai ulang dompet",
+ "scanning": "Memindai…",
+ "language": "Bahasa",
+ "offlineBanner": "Tidak dapat menjangkau jaringan — bekerja offline. Impor snapshot di Pengaturan untuk memuat koin.",
+ "retry": "Coba lagi",
+ "copied": "Tersalin",
+ "snapshotExported": "Snapshot diekspor",
+ "importedNCoins": "{n} koin diimpor",
+ "unmatchedSuffix": " · {n} alamat bukan milik dompet ini",
+ "importFailed": "Impor gagal: {msg}",
+ "copy": "Salin",
+ "switchUnit": "Ganti BTC / sats",
+ "footerMadeBy": "dibuat oleh",
+ "footerSourceOn": "sumber tersedia di"
+} \ No newline at end of file