aboutsummaryrefslogtreecommitdiffstats
path: root/src/locales/ja.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/ja.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/ja.json')
-rw-r--r--src/locales/ja.json145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/locales/ja.json b/src/locales/ja.json
new file mode 100644
index 0000000..e107ab0
--- /dev/null
+++ b/src/locales/ja.json
@@ -0,0 +1,145 @@
+{
+ "passphrase": "パスフレーズ",
+ "howItWorks": "仕組み",
+ "installApp": "アプリをインストール",
+ "hiwBasicsTitle": "基本",
+ "hiwBasics1": "ウォレットを作成すると、このページがランダムな12個の単語を生成します。これらの単語があなたのウォレットの鍵です。これを持っている人は誰でもコインを使えてしまうので、紙に書き留めて、あなただけがアクセスできる場所に保管してください。",
+ "hiwBasics2": "12個の単語を失い、バックアップもない場合、コインは永久に取り戻せません。リセット用のリンクも連絡できる相手もいないので、お金を入れる前にバックアップしておきましょう。",
+ "hiwBasics3": "サーバーもアカウントもありません。アプリ全体がブラウザで動作する単一のページなので、誰もあなたのコインを預かることはなく、サーバー上の何かがあなたの鍵を見ることもありません。残高と履歴を表示するために、公開ブロックエクスプローラー(既定では mempool.space、設定で指定すればご自身のノード)から読み込みます。",
+ "hiwBasics4": "このページを保存して、インターネットがまったくない状態でもコンピューターから直接開くこともできます。オフラインでも動作し続けます。",
+ "hiwBasics5": "通常のBitcoin標準(12語のBIP39フレーズとBIP84ネイティブSegWit鍵)に従っているので、万が一このサイトがなくなっても、同じフレーズをSparrow、Electrum、その他の標準的なウォレットで復元でき、コインはそこにそのまま残っています。",
+ "hiwTribute": "Hal Wallet という名前は、伝説的なサイファーパンクであり Bitcoin の先駆者である Hal Finney(1956–2014)への敬意を込めたものです。",
+ "signExport": "署名する(別の場所でブロードキャスト)",
+ "scanQr": "QRをスキャン",
+ "scanHint": "カメラをQRコードに向けてください",
+ "scanNoCamera": "カメラにアクセスできませんでした。",
+ "scanNoDecoder": "QRスキャンは初回の使用時に接続が必要です。",
+ "scanUnrecognized": "そのQRからBitcoinアドレスを読み取れませんでした。",
+ "broadcastScanned": "トランザクションをブロードキャストしますか?",
+ "broadcastNow": "ブロードキャスト",
+ "scanOffline": "オフラインです — このトランザクションをブロードキャストするには再接続してください。",
+ "loadingHistory": "トランザクションを読み込み中…",
+ "explorer": "ブロックエクスプローラー",
+ "explorerDesc": "このウォレットが残高と履歴を照会するサーバーです。プライバシーを最大限に高めるには、ご自身のノードを指定してください。",
+ "explorerUrl": "サーバーURL",
+ "explorerUrlHint": "Esplora / electrs REST のベース。例: https://mempool.space/api",
+ "deviceSync": "デバイス同期",
+ "deviceSyncDesc": "暗号化したコピーを Nostr リレーに保存することで、このウォレットを複数のデバイス間で同期し続けます — シードを持つデバイスだけが読み取れます。すべてをこのデバイス内に留めておくにはオフにしてください。",
+ "syncAcross": "デバイス間で同期",
+ "syncOn": "オン",
+ "syncOff": "オフ",
+ "relaysLabel": "リレー",
+ "relaysHint": "1行につき wss:// URL を1つ。",
+ "home": "ホーム",
+ "logout": "ログアウト",
+ "createNew": "新規作成",
+ "importExisting": "インポート",
+ "genIntro": "新しい12単語のシードフレーズを生成します。書き留めてください。これがこのウォレットを復元する唯一の方法です。",
+ "generateSeed": "シードフレーズを生成",
+ "writeDownWarn": "⚠ この12単語を順番どおり紙に書き留めてください。これを持つ人は誰でもあなたのコインを使えます。",
+ "copyPhrase": "フレーズをコピー",
+ "regenerate": "再生成",
+ "verifyBackup": "バックアップを確認",
+ "skipVerification": "確認をスキップ",
+ "confirmBackupIntro": "指定された単語を入力してバックアップを確認してください。",
+ "wordN": "{n} 番目の単語",
+ "reenterPassphrase": "パスフレーズを再入力",
+ "back": "← 戻る",
+ "openWallet": "ウォレットを開く",
+ "wordsMismatch": "単語がフレーズと一致しません。バックアップを確認してください。",
+ "passphraseMismatch": "パスフレーズが入力したものと一致しません。",
+ "seedPhrase": "シードフレーズ",
+ "seedPlaceholder": "単語をスペース区切りで入力",
+ "optionalPassphrase": "任意のパスフレーズ",
+ "leaveBlank": "使わない場合は空欄",
+ "show": "表示",
+ "hide": "隠す",
+ "invalidSeed": "無効なシードフレーズ — つづりと順番を確認してください。",
+ "keysNote": "鍵はブラウザから出ません。完全にオフラインで動作します。このページを保存してローカルで開けます。",
+ "balance": "残高",
+ "pending": "保留中",
+ "tabReceive": "受取",
+ "tabSend": "送金",
+ "tabHistory": "履歴",
+ "tabSettings": "設定",
+ "copyAddress": "アドレスをコピー",
+ "paymentReceived": "入金を受け取りました!",
+ "tapToProceed": "どこでもタップして続行",
+ "recipient": "受取人",
+ "recipients": "受取人",
+ "max": "全額",
+ "feeRate": "手数料",
+ "feeEconomy": "節約",
+ "feeNormal": "通常",
+ "feePriority": "優先",
+ "feeCustom": "カスタム",
+ "selectedRate": "選択中: {n} sat/vB",
+ "coinSelection": "コイン選択",
+ "automatic": "自動",
+ "manual": "手動",
+ "noCoins": "利用可能なコインがありません。",
+ "nSelected": "{n} 件選択",
+ "addRecipient": "+ 受取人を追加",
+ "reviewTx": "トランザクションを確認",
+ "remove": "削除",
+ "enterRecipientAddr": "送金先アドレスを入力してください。",
+ "enterAddrForN": "受取人 {n} のアドレスを入力してください。",
+ "enterValidAmtForN": "受取人 {n} の有効な金額を入力してください。",
+ "selectCoin": "使用するコインを1つ以上選択してください。",
+ "networkFee": "ネットワーク手数料",
+ "offlineSignNote": "オフライン:今すぐ署名し、オンライン端末からトランザクションを送信してください。",
+ "signBroadcast": "署名して送信",
+ "signTx": "トランザクションに署名",
+ "broadcastFailed": "送信に失敗: {msg}",
+ "signingFailed": "署名に失敗: {msg}",
+ "done": "完了",
+ "txSignedNote": "✓ 署名済み。下のコードをオンライン端末から送信してください(例: mempool.space → Broadcast)。",
+ "transactionId": "トランザクションID",
+ "signedTxRaw": "署名済みトランザクション(コード)",
+ "copyHex": "コードをコピー",
+ "downloadLabel": "ダウンロード",
+ "showQrAirgap": "QRを表示(オフライン転送用)",
+ "txBroadcast": "✓ トランザクションを送信しました!",
+ "copyTxid": "トランザクションIDをコピー",
+ "viewOnMempool": "mempool.spaceで見る ↗",
+ "noTxYet": "まだ取引はありません。",
+ "received": "受取",
+ "sent": "送金",
+ "pendingTag": "⏳ 保留中",
+ "awaitingConfirmation": "承認待ち",
+ "feeShort": "手数料 {x}",
+ "historyOffline": "オフラインでは履歴を表示できません。",
+ "status": "状態",
+ "confirmed": "承認済み",
+ "confirmedTag": "承認済み",
+ "pendingInMempool": "保留中(mempool)",
+ "block": "ブロック",
+ "date": "日時",
+ "copyId": "IDをコピー",
+ "backToHistory": "← 履歴に戻る",
+ "recoveryPhrase": "復元フレーズ",
+ "recoveryWarn": "⚠ この単語を見た人は資金を盗めます。表示前に誰も見ていないことを確認してください。",
+ "bip39Passphrase": "パスフレーズ",
+ "copyPassphrase": "パスフレーズをコピー",
+ "revealRecovery": "復元フレーズを表示",
+ "offlineTransfer": "オフライン転送",
+ "offlineTransferDesc": "オンライン端末でコインをエクスポートし、オフライン端末(このウォレットとシード)でファイルをインポートすれば、インターネットなしで署名できます。",
+ "exportSnapshot": "⤓ スナップショットを書出",
+ "importSnapshot": "スナップショットを読込…",
+ "rescan": "再スキャン",
+ "rescanDesc": "現在のアドレスは自動更新されます。古い(再利用した)アドレスへの入金が表示されない場合のみ再スキャンしてください。",
+ "rescanWallet": "ウォレットを再スキャン",
+ "scanning": "スキャン中…",
+ "language": "言語",
+ "offlineBanner": "ネットワークに接続できません — オフライン動作中。設定からスナップショットを読み込んでコインを表示できます。",
+ "retry": "再試行",
+ "copied": "コピーしました",
+ "snapshotExported": "スナップショットを書き出しました",
+ "importedNCoins": "{n} 件のコインを読み込みました",
+ "unmatchedSuffix": " · このウォレットにない {n} 件のアドレス",
+ "importFailed": "読み込みに失敗: {msg}",
+ "copy": "コピー",
+ "switchUnit": "BTC / sats を切替",
+ "footerMadeBy": "作成者:",
+ "footerSourceOn": "ソースは"
+} \ No newline at end of file