diff --git a/src/i18n/ja/batch7.ts b/src/i18n/ja/batch7.ts new file mode 100644 index 0000000..f401d33 --- /dev/null +++ b/src/i18n/ja/batch7.ts @@ -0,0 +1,1124 @@ +/** + * Japanese (日本語) — batch 7: wallet. + * + * `walletUi` — wallet/Cashu, stash, mints, app shop, newsletter, community + * stats, leaderboards, profile page. + * + * Skate/brand vocabulary stays English or katakana (Spot→スポット, Crew→クルー, + * Stash, The Lab, Nostr, Lightning, Zap, Relay→リレー, sats, Cashu, mint→ミント, + * NWC, npub, Lightning Address); trick names stay English. + */ +const jaBatch7 = { + walletUi: { + page: { + title: 'ウォレット', + subtitle: 'Bitcoin Lightning + Cashu', + manage: '管理', + getAWallet: 'ウォレットを入手', + learnPlanB: 'Plan B Academy で詳しく見る', + walletMinibits: 'モバイル Cashu · NWC', + walletAlby: 'ブラウザ拡張 · WebLN + NWC', + walletZeus: 'セルフカストディ Lightning', + walletCoinos: 'Webベース · どこでも使える', + whatAreZaps: 'Zapとは?', + whatAreZapsShort: 'Zapとは?', + zapsDesc: '即時のBitcoin Lightning支払い。どんなスケーター、スポット作成者、コーチにもsatsを送れる — 中間業者なし、プラットフォームの手数料なし。', + instant: '即時', + instantDesc: '数秒で決済', + flexible: '柔軟', + flexibleDesc: 'あなたのウォレット、あなたの鍵', + private: 'プライベート', + privateDesc: 'Cashuは支払者を隠す', + direct: 'ダイレクト', + directDesc: '価値はクリエイターへ', + loginRequired: 'ログインが必要', + loginRequiredDesc: 'Lightningウォレットを接続してZapを始めるには、Nostrアカウントでログインしてください。', + browseMints: 'Cashuミントを見る', + }, + modal: { + walletName: 'ウォレット名(任意)', + walletNamePlaceholder: 'マイLightningウォレット', + connectionUri: '接続URI', + spendLimitTitle: 'まず利用限度額を設定', + spendLimitBody1: 'この文字列でSkateSpotsがあなたのウォレットからLightningインボイスを支払えるようになります。ウォレットアプリで、この接続に小さめの', + dailyBudget: '1日の予算', + spendLimitBody2: '(例:数千sats)を設定し、次のものだけを有効に:', + spendLimitBody3: '無制限の予算を持つ接続を貼り付けないでください。ウォレットでいつでも取り消せます。', + addWallet: 'ウォレットを追加', + nwcConnection: 'NWC接続', + lightningWallet: 'Lightningウォレット', + pasteNwc: 'Zapを送るにはNWC接続文字列を貼り付けてください', + connectWallet: 'ウォレットを接続', + browserExtension: 'ブラウザ拡張 (WebLN)', + autoDetected: 'インストール済みなら自動検出', + ready: '準備完了', + notFound: '見つかりません', + getNwcFrom: 'NWCの入手先:', + connectionRequired: '接続URIが必要', + connectionRequiredDesc: '有効なNWC接続URIを入力してください。', + activeChanged: 'アクティブウォレットを変更しました', + activeChangedDesc: '選択したウォレットがZap用にアクティブになりました。', + connectNwc: 'NWCウォレットを接続', + connectNwcDesc: '対応ウォレットの接続文字列を入力してください。', + connect: '接続', + connecting: '接続中...', + walletSettings: 'ウォレット設定', + connectDesc: 'Lightningウォレットを接続して即座にZapを送りましょう。', + }, + cashu: { + title: 'Cashuウォレット', + desc: '内蔵ecashウォレット — 外部設定は不要', + initializing: 'ウォレットを初期化中...', + walletError: 'ウォレットエラー', + balance: '残高', + balanceAria: 'ウォレット残高 {{amount}} sats', + activeMint: 'アクティブミント', + selectMint: 'ミントを選択', + receive: '受け取る', + send: '送る', + receiveViaLightning: '⚡ Lightningで受け取る', + amountSats: '金額(sats)', + generateInvoice: 'インボイスを生成', + generating: '生成中…', + or: 'または', + receiveCashu: '🥜 Cashuトークンを受け取る', + scanQr: 'QRをスキャン', + pasteCashu: 'Cashuトークンを貼り付け (cashu...)', + receiveToken: 'トークンを受け取る', + receiving: '受信中…', + createCashu: '🥜 Cashuトークンを作成', + createToken: 'トークンを作成', + creating: '作成中…', + payInvoice: '⚡ Lightningインボイスを支払う', + pasteInvoice: 'Lightningインボイスを貼り付け (lnbc...)', + payInvoiceBtn: 'インボイスを支払う', + processing: '処理中...', + payAddress: '📧 Lightning Addressへ支払う', + sendToAddress: 'アドレスへ送る', + sending: '送信中…', + recentActivity: '最近のアクティビティ', + receivedLightning: '⚡ Lightningを受信', + sentLightning: '⚡ Lightningを送信', + sentToken: '🥜 トークンを送信', + receivedToken: '🥜 トークンを受信', + whatIsCashu: 'Cashuとは?', + whatIsCashuDesc: 'CashuはBitcoin Lightningに裏付けられたデジタル現金。ブラウザに持つBitcoinトークンのようなもの。', + benefitOffline: 'スケートスポットでオフラインでも動く', + benefitInstant: '即時のピアツーピア支払い', + benefitPrivacy: 'プライバシー重視(ミントはあなたを追跡できない)', + benefitRedeemable: 'いつでもLightningのsatsに交換可能', + findMints: 'mintradar.pedani.euでミントを探す', + backupTitle: 'ウォレットをバックアップ', + backupDesc: 'あなたのウォレットは12語のリカバリーフレーズで保護されています。安全に保存してください — ブラウザデータを消去した場合、残高を復元するのに必要になります。', + viewRecovery: 'リカバリーフレーズを表示', + backupNote: 'これはNostrのnsecのようなもの — 秘密にしてバックアップしておきましょう!', + tokenReceived: 'トークンを受信しました', + tokenReceivedDesc: 'Cashuトークンを正常に引き換えました!', + receiveFailed: '受信に失敗', + unknownError: '不明なエラー', + requestUnsupported: 'Cashuリクエストはまだ未対応', + requestUnsupportedDesc: 'このウォレットはまだCashu (creq)リクエストを支払えません — 代わりにLightningインボイスかアドレスを頼んでください。', + onchainUnsupported: 'オンチェーンはここでは未対応', + onchainUnsupportedDesc: 'それはBitcoinアドレスです。このウォレットはCashuトークンとLightning支払いのみを送信します。', + nostrProfile: 'それはNostrプロフィールです', + nostrProfileDesc: '支払うにはCashuトークン、Lightningインボイス、またはLightningアドレスをスキャンしてください。', + clinkUnsupported: '支払いコードはまだ未対応', + clinkUnsupportedDesc: 'このウォレットはまだCLINKコードを支払えません。代わりにLightningインボイスかアドレスを使ってください。', + unrecognizedQr: '認識できないQRコード', + unrecognizedQrDesc: 'Cashuトークン、Lightningインボイス、またはLightningアドレスをスキャンしてください。', + invalidAmount: '無効な金額', + invalidAmountDesc: '有効な金額を入力してください', + paymentSent: '支払いを送信しました', + paymentSentDesc: '{{address}} に {{amount}} sats を送信しました', + paymentFailed: '支払いに失敗', + copied: 'コピーしました', + copiedDesc: '{{label}} をクリップボードにコピーしました', + receiveSats: '{{amount}} sats を受け取る', + payInvoiceHint: 'このインボイスは任意のLightningウォレットから支払えます', + invoiceQrAlt: 'インボイスのQRコード', + lightningInvoice: 'Lightningインボイス', + invoiceLabel: 'インボイス', + waiting: '⏳ 支払いを待機中...', + tokenReady: '送信準備完了のトークン', + shareToken: 'このトークンを受取人と共有してください', + tokenQrAlt: 'トークンのQRコード', + cashuToken: 'Cashuトークン', + tokenLabel: 'トークン', + copyToken: 'トークンをコピー', + tokenWarning: 'このトークンを持つ人は誰でも引き換えられます — 現金のように扱ってください!', + browser: { + title: '内蔵ecashウォレット', + appOnly: 'アプリ限定', + desc: 'Bitcoin Lightningで動くセルフカストディのCashu ecash', + unlockTitle: 'SkateSpotsアプリで完全なウォレットを解放', + unlockDesc: '内蔵ecashウォレットなら、スポットその場でCashuトークンを発行・送信・引き換えできます。ネイティブアプリ内で動作し、ミントと直接通信します — ブラウザはセキュリティのためそれらの接続をサンドボックス化します。', + zapTipTitle: 'Zap & チップ — 今すぐブラウザで使えます', + zapTipDesc: 'スポット、イベント、コーチ、クルーへのsats送信はここでできます。下でLightningウォレットを接続するだけ — Nostr Wallet Connectか、Albyのようなブラウザ拡張です。Cashuミントは不要です。', + }, + }, + escrow: { + title: 'エスクロー', + desc: '安全に売却:エスクローをオンにすると、買い手が取引のためにsatsをあなたにロックできます。受け渡したら解放します — しなければ、合意した時間後に買い手が取り戻せます。', + active: 'エスクローはオン', + publish: 'エスクローをオンにする', + published: 'エスクローはオン', + publishedDesc: '買い手が取引のためにあなたに資金をロックできるようになりました。', + failed: 'エスクローをオンにできませんでした', + }, + escrowSettings: { + title: 'エスクロー設定', + desc: 'Cashuエスクロー取引の既定値。デバイス内のみ。', + lockWindow: '既定のロック期間', + lockWindowHint: '買い手が取り戻せるようになるまで資金がロックされる期間。長いほど売り手にとって安全です。', + days: '日', + preferredMint: 'エスクロー用ミント', + activeMint: 'アクティブミント', + preferredMintHint: 'どのミントがエスクローに資金を出すか。信頼できるものを使いましょう。', + requireListings: '新規出品でエスクローを必須にする', + requireListingsHint: '出品時に「エスクローを必須」を事前選択します。', + }, + privacy: { + title: 'プライバシーのヒント', + subtitle: '金銭的プライバシーの守り方を学ぶ', + cashuRecommended: 'CASHU(推奨)', + anon: '匿名の取引', + blind: 'ブラインド署名が活動を隠す', + noIp: 'IPを露出しない', + trustMint: 'ミントに資金を信託', + lightningAddress: 'LIGHTNING ADDRESS', + linked: '身元と紐付く可能性がある', + traceable: '支払い履歴が追跡可能', + ipVisible: 'インボイス作成時にIPが見える', + selfCustody: 'セルフカストディ可能', + bestPractices: 'ベストプラクティス', + tip1Title: 'チップの受け取りにはCashuを使う', + tip1Desc: '内蔵CashuウォレットはZapを受け取る最もプライベートな方法', + tip2Title: 'SkateSpots用に別のウォレットを使う', + tip2Desc: 'メインの貯蓄用ウォレットを使わない — アプリの資金は分けておく', + tip3Title: 'VPNかTorの使用を検討する', + tip3Desc: '取引時にIPアドレスを隠す', + tip4Title: '身元と紐付いたLightningアドレスを避ける', + tip4Desc: '本名と結びつかない仮名のアドレスを使う', + proTip: 'プロのヒント:', + proTipDesc: 'まずCashuウォレットで支払いを受け取り、その後定期的にVPNを使ってより大きな金額を個人ウォレットに移しましょう。', + warnTitle: 'プライバシーに関する注意', + warnDesc: 'LightningアドレスはあなたのSkateSpots活動を実の身元と結びつける可能性があります。', + betterPrivacy: 'より良いプライバシーのために:', + bullet1: 'このアプリ専用のウォレットを使う', + bullet2: '代わりにCashuウォレットの使用を検討する', + bullet3: '取引にVPN/Torを使う', + useCashu: '代わりにCashuを使う', + understand: '理解しました', + }, + mintPrivacy: { + title: 'ミントのプライバシー', + desc: '複数のミントを使うと、1つのミントがすべての取引を把握できなくなるため、プライバシーが向上します', + distribution: '資金の配分', + singleWarning: '1つのミントだけを使うと、そのミントが取引のタイミングと金額をすべて把握できます。プライバシー向上のためミントを追加しましょう。', + yourMints: 'あなたのミント({{count}})', + default: 'デフォルト', + addMint: 'ミントを追加', + addMintDesc: '新しいCashuミントをウォレットに追加', + mintUrl: 'ミントURL', + add: '追加', + adding: '追加中...', + orChoose: 'またはリストから選ぶ', + recommended: 'おすすめのミント', + allMints: 'すべてのミント(ディレクトリ)', + searchMints: 'ミントを検索…', + noDirectoryMints: '検索に一致するミントはありません。', + directoryHint: 'コミュニティのMintRadarディレクトリより — 非公式で古い可能性があります。', + added: '追加済み', + soon: '近日', + autoDistribute: '資金を自動配分', + autoDesc: '受け取った資金を複数のミントに分散', + autoAria: '資金を自動配分(近日公開)', + tip1: 'プライバシー向上のため最低2〜3の異なるミントを使う', + tip2: 'すべての資金を1つのミントに置かない — 分散させる', + tip3: 'ミントの管轄を考慮する(国が違えば法的アクセスも違う)', + tip4: 'ミントは取引のタイミングは見えるが、誰に支払ったかは見えない(ブラインド署名)', + future: '今後の機能:ミントのローテーションとプライバシースコア — お楽しみに!', + findMore: 'mintradar.pedani.euでもっとミントを探す', + trustWarning: '信頼に関する警告:', + trustWarningDesc: 'ミントはカストディアルです — あなたの資金を預かります。信頼できるミントだけを使いましょう。ミントが消えると資金を失う可能性があります。複数のミントに分散するとリスクが減ります。', + removeTitle: 'ミントを削除しますか?', + removeDesc: '{{name}} を削除してもよろしいですか?', + removeMint: 'ミントを削除', + warning: '警告:', + withdrawWarning: 'このミントには {{amount}} sats あります。削除する前に資金を引き出してください!', + invalidUrl: '無効なURL', + invalidUrlDesc: 'ミントURLはhttps://で始まる必要があります', + mintAdded: 'ミントを追加しました', + mintAddedDesc: '新しいミントを正常に追加しました', + mintAddedNamed: '{{name}} を正常に追加しました', + failedAdd: 'ミントの追加に失敗', + failed: '失敗', + noMints: 'ミントがありません', + singleMint: '単一ミント', + concentrated: '集中', + moderate: '中程度', + wellDistributed: '良好に分散', + mintCoinosWebDesc: 'Webに優しいミント(ブラウザ推奨)', + mintMinibitsWebDesc: '⚠ ネイティブアプリ限定 — Webブラウザからは到達できません', + mintMinibitsNativeDesc: 'SkateSpotsミント — 推奨', + mintCoinosDesc: 'Webに優しいミント', + mintLnbitsDesc: 'LNbits上のコミュニティミント', + }, + nwc: { + title: 'Lightningウォレット', + noConnection: 'NWCウォレット', + refresh: '残高を更新', + createInvoice: 'インボイスを作成', + copyInvoice: 'インボイスをコピー', + pasteInvoice: 'Lightningインボイスを貼り付け (lnbc…)', + amount: '金額: {{amount}} sats', + pasteToSee: '金額を表示するにはインボイスを貼り付け', + pay: '支払う', + invoiceQrAlt: 'LightningインボイスのQRコード', + enterAmount: 'satsで金額を入力', + readBalanceFailed: '残高を読み取れませんでした', + readBalanceFailedDesc: 'ウォレットが応答しませんでした。', + createInvoiceFailed: 'インボイスを作成できませんでした', + createInvoiceFailedDesc: 'しばらくしてからもう一度試してください。', + paymentSent: '支払いを送信しました', + paidAmount: '{{amount}} sats 支払いました。', + paid: '支払い済み。', + paymentRejected: 'ウォレットが支払いを拒否しました。', + }, + qr: { + title: 'QRコードをスキャン', + desc: 'カメラの枠内にQRコードを合わせてスキャン', + paste: 'クリップボードから貼り付け', + hint: 'Cashuトークン、Lightningインボイス、またはLightningアドレスをスキャン', + clipboardEmpty: 'クリップボードが空です', + clipboardEmptyDesc: 'クリップボードにテキストがありません', + pasteFailed: '貼り付けに失敗', + pasteFailedDesc: 'クリップボードから読み取れませんでした', + }, + recovery: { + title: 'リカバリーフレーズ', + desc: 'この12語だけがecash残高を復元する唯一の方法です。順番に書き留めてオフラインで保管し、誰にも共有しないでください。', + tapReveal: 'タップして表示', + noWatching: '誰も見ていないことを確認', + hide: '隠す', + reveal: '表示', + paperHint: '紙に書くのが最も安全 — クリップボードへのコピーは他のアプリに漏れる可能性があります。', + written: '書き留めました', + revealFirst: '先に単語を表示してください', + copiedDesc: 'リカバリーフレーズをコピーしました — 安全な場所に貼り付けてから、クリップボードを消去してください。', + copyFailed: 'コピーに失敗', + copyFailedDesc: '代わりに単語を書き留めてください。', + }, + guide: { + quickGuide: 'クイックガイド', + fullGuide: 'ウォレットガイド(スケーター版)', + cashuSummary: 'プライバシー + 利便性', + mintHoldsFunds: '(ミントが資金を保有)', + lightningSummary: '管理 + セキュリティ', + youHoldKeys: '(あなたが鍵を保有)', + useBoth: '両方を使う:チップはCashu、貯蓄はLightning', + cashuTitle: 'CASHUウォレット', + cashuTagline: 'スケートパークでのポケットの現金のようなもの', + cashuBullet1: 'チップを渡すのにすぐ取り出せる', + cashuBullet2: '全財産を持ち歩かない', + cashuBullet3: 'ミントが消えると資金を失う可能性がある', + cashuBullet4: 'いくら持っているか誰にも分からない(プライバシー!)', + cashuPerfectFor: 'セッションのおやつ、クリップへのZap、少額のチップ', + lightningTitle: 'LIGHTNINGウォレット', + lightningTagline: '銀行口座のようなもの — あなたが管理する', + lightningBullet1: '安全、鍵はあなたが管理', + lightningBullet2: '設定に少し時間がかかる', + lightningBullet3: '完全な取引履歴', + lightningBullet4: '大きな金額に向いている', + lightningPerfectFor: 'ギアの購入、貯蓄、大きなZap', + perfectFor: 'こんな用途に最適:', + proTips: 'プロのヒント', + tip1Title: '両方のウォレットを使う', + tip1Desc: 'セッション用のお金はCashu、貯蓄はLightning', + tip2Title: 'いろんなウォレットを試す', + tip2Desc: '自分に合うものを見つけるために試そう。それぞれ機能とトレードオフが違う', + tip3Title: 'より良いプライバシー', + tip3Desc: '複数のウォレットを使えば、1つのアプリがすべての活動を見ることはない', + tip4Title: '経験を積む', + tip4Desc: '知っているツールが多いほど選択肢が増える。小さく始めて少しずつ学ぼう', + tldr: '要するに:', + tldrDesc: '「最高の」ウォレットはない — あなたのニーズ次第。両方試して、しっくりくるものを使い、すべてのsatsを1か所に置かないこと!', + }, + zap: { + count: '{{count}} zaps', + connectFirst: 'まずウォレットを接続', + connectFirstDesc: 'Zap(Bitcoinチップ)を送るには、Lightningウォレットを接続する必要があります。', + quickSetup: 'クイックセットアップ(30秒)', + quickSetupDesc: '既存のLightningウォレットをNostr Wallet Connect (NWC)で接続。追加アカウントは不要です。', + connectNwc: 'NWCでウォレットを接続', + noWallet: 'ウォレットがない? 方法を見る', + skip: '今はスキップ(手動インボイス)', + note: 'ℹ️ メモ:', + noteDesc: 'ウォレットを接続しなくてもインボイスは作成できますが、支払うには手動でコピーする必要があります。', + payWithWebln: 'WebLNで支払う', + processing: '処理中...', + openInWallet: 'Lightningウォレットで開く', + scanHint: 'QRコードをスキャンするかインボイスをコピーして、任意のLightningウォレットで支払えます。', + cashuInstant: '内蔵ウォレットで即座に支払う', + satsAvailable: 'sats 利用可能', + or: 'または', + customAmount: 'カスタム金額', + addComment: 'コメントを追加(任意)', + insufficientBanner: '⚠️ Cashu残高が不足しています。あと {{amount}} sats 必要です。Lightningに切り替えるか、Cashuウォレットにチャージしてください。', + creatingInvoice: 'インボイスを作成中...', + zapAmount: '{{amount}} sats をZap', + zapAmountCashu: 'Cashuで {{amount}} sats をZap', + lightningInvoice: 'Lightningインボイス', + qrAlt: 'LightningインボイスのQRコード', + enterAmount: '金額を入力', + enterAmountDesc: 'プリセットを選ぶか、有効なsats数を入力してください。', + cashuUnavailable: 'Cashuウォレットが利用できません', + cashuUnavailableDesc: 'Cashuウォレットの準備ができていません。Lightningに切り替えるか、先にウォレットを開いてください。', + insufficientCashu: 'Cashu残高が不足', + insufficientCashuDesc: 'あと {{amount}} sats 必要です。Lightningに切り替えるかチャージしてください。', + zapSentCashu: 'Zapを送信しました! 🥜', + zapSentCashuDesc: 'Cashuウォレットから {{amount}} sats をZapしました。', + cashuFailed: 'Cashuの支払いに失敗', + cashuFailedDesc: 'Cashuウォレットでの支払いに失敗しました。', + invoiceCopied: 'インボイスをコピーしました', + invoiceCopiedDesc: 'Lightningインボイスをクリップボードにコピーしました', + defaultComment: 'SkateSpotsでZapしたよ! 🛹', + titleConnect: 'ウォレットを接続', + titlePayment: 'Lightning支払い', + titleZap: 'Zapを送る', + descConnect: 'Zapを送るにはLightningウォレットを接続', + descPayment: 'Bitcoin Lightning Networkで支払う', + descZap: 'Zapはこのアイテムの作成者を支援する少額のBitcoin支払いです。楽しめたなら、Zapを送ってみませんか!', + descZapShort: 'Zapはクリエイターを支援する少額のBitcoin支払い。Zapを送ってみましょう!', + }, + zapCrew: { + title: 'クルーにZap', + desc: 'Lightningアドレスを持つ {{count}} 人のクルーメンバーにZapを均等に分割します。', + noMembers: '今Zapできる他のクルーメンバーはいません。', + totalAmount: '合計金額', + customTotal: 'カスタム合計', + each: '各自 sats', + rounded: '(端数調整)', + noWallet: 'ウォレットが接続されていません — メンバーごとに手動で支払うインボイスが表示されます。ワンタップで分割するにはウォレットを接続してください。', + zapAcross: '{{count}} 人に {{amount}} sats をZap', + sentTo: '⚡ {{done}}/{{total}} に送信', + none: '自動支払いは完了しませんでした', + copyPending: '未払いのインボイスをコピーして手動で支払いを完了してください。', + thanks: 'クルーを支援してくれてありがとう!', + payingCrew: 'クルーに支払い中…', + defaultComment: '{{crew}} クルーにZapした! 🤘', + sent: '送信済み', + paying: '支払い中', + resolving: '解決中', + skipped: 'スキップ', + failed: '失敗', + waiting: '待機中', + copyInvoice: 'インボイスをコピー', + invoiceCopied: 'インボイスをコピーしました', + invoiceCopiedDesc: '任意のLightningウォレットに貼り付けてください', + }, + zapBadges: { + title: 'Zapバッジ', + zaps: 'zaps', + satsSent: 'sats 送信済み', + rank: 'ランク', + footnote: '過去30日間のZapに基づく。', + first: '初めてのZap', + firstHint: '初めてのZapを送る', + regular: 'レギュラー', + regularHint: '10回Zapを送る', + generous: '気前がいい', + generousHint: '10,000 sats を送る', + patron: 'パトロン', + patronHint: '100,000 sats を送る', + top10: 'トップ10', + top10Hint: 'トップ10サポーターに入る', + }, + trust: { + unavailable: 'トラストスコアは利用できません', + yourContent: 'これはあなたのコンテンツです', + following: 'このユーザーをフォローしています', + friendOfFriend: '友達の友達(2ホップ)', + nip05: 'NIP-05認証済みユーザー', + unknown: '不明なユーザー', + help: 'トラストスコアはスケートボードコミュニティで信頼できる貢献者を見分ける助けになります。', + }, + share: { + title: 'プロフィールをシェア', + desc: 'スマホのカメラをコードに向けて {{name}} のプロフィールを開きます。', + qrAlt: 'プロフィールのQRコード', + copyLink: 'リンクをコピー', + copyFailed: 'コピーに失敗', + copyFailedDesc: 'リンクをコピーできませんでした。', + shareEllipsis: 'シェア…', + }, + addToCollection: { + title: 'コレクションに保存', + desc: '「{{spot}}」をいずれかのコレクションに保存', + loginRequired: 'スポットをコレクションに保存するにはログインしてください', + noCollections: 'まだコレクションがありません', + createFirst: '下で最初のコレクションを作成しましょう!', + spotCount: '{{count}} スポット', + alreadySavedTag: '保存済み', + alreadySaved: '保存済み', + alreadySavedDesc: '「{{spot}}」はすでに「{{collection}}」にあります', + saved: 'スポットを保存しました!', + savedDesc: '「{{spot}}」を「{{collection}}」に追加しました', + saveFailed: '保存に失敗', + somethingWrong: '問題が発生しました', + created: 'コレクションを作成しました!', + createdDesc: '「{{spot}}」を新しいコレクション「{{collection}}」に追加しました', + createFailed: 'コレクションの作成に失敗', + name: 'コレクション名', + descriptionOptional: '説明(任意)', + creating: '作成中...', + createAndSave: '作成して保存', + createNew: '新しいコレクションを作成', + }, + collection: { + back: 'コレクションに戻る', + created: '{{date}} に作成', + deleteTitle: 'コレクションを削除しますか?', + deleteDesc: '「{{title}}」を完全に削除します。スポット自体は影響を受けません。', + deleting: '削除中...', + deleteFailed: 'コレクションの削除に失敗', + deleted: 'コレクションを削除しました', + deletedDesc: '「{{title}}」を削除しました', + empty: 'このコレクションにスポットはありません', + emptyOwner: '任意のスポットで「コレクションに保存」をクリックしてスポットを追加しましょう', + emptyOther: 'このコレクションは空です', + browseSpots: 'スポットを見る', + linkCopied: 'リンクをコピーしました!', + linkCopiedDesc: 'コレクションのリンクをクリップボードにコピーしました', + map: 'コレクションマップ', + removeFailed: 'スポットの削除に失敗', + shareText: 'このスポットコレクションを見てみて: {{title}}', + spotRemoved: 'スポットを削除しました', + spotRemovedDesc: '「{{title}}」をこのコレクションから削除しました', + }, + mints: { + title: 'ミント', + subtitle: 'Cashuミントとその状態を見る。Cashuウォレットの操作はSkateSpotsアプリで実行されます。', + searchPlaceholder: '名前かURLでミントを検索…', + onlineOnly: 'オンラインのみ', + count: '{{total}} 件中 {{filtered}} 件のミント', + directoryError: 'ミントディレクトリを読み込めませんでした。', + directoryHint: 'ディレクトリはコミュニティ運営でレート制限があります — 一時的に利用できないことがあります。', + goToWallet: 'ウォレットへ', + appOnly: 'ミントの追加はSkateSpotsアプリで行います(Cashuはアプリ限定)。', + noMatch: '「{{query}}」に一致するミントはありません。', + footer: 'コミュニティのMintRadarプロジェクトの状態データ — 非公式で古い可能性があります。資金を預ける前に必ずミントの利用規約を確認してください。', + archived: 'アーカイブ済み', + degraded: '低下', + offline: 'オフライン', + online: 'オンライン', + terms: '規約', + reliability: '信頼性', + add: '追加', + addToWallet: 'ウォレットに追加', + copyUrl: 'URLをコピー', + openMint: 'ミントを開く', + inWallet: 'ウォレット内', + addedBadge: '追加済み', + urlCopied: 'ミントURLをコピーしました', + added: 'ミントを追加しました', + addedDesc: '{{host}} がウォレットに追加されました。', + couldNotAdd: 'ミントを追加できませんでした', + communityRating: 'コミュニティ評価', + reliabilityLabel: '信頼性', + uptime: '稼働率 24時間 / 7日', + location: '場所', + latency: 'レイテンシ', + nuts: '対応NUT', + units: '単位', + version: 'バージョン', + ratedBy: 'MintRadarで {{count}} 人が {{rating}}/5 と評価。', + noRating: 'MintRadarにまだコミュニティ評価はありません。', + reviewsNote1: '文章レビューはディレクトリには含まれていません —', + openMintRadar: 'MintRadarを開く', + reviewsNote2: '読んだり投稿したりできます。', + liveness: '稼働監査: {{mints}} 件のミントと {{melts}} 件のメルトをテスト', + livenessErrors: ' · 最近のエラー {{errors}}/{{total}}', + whatsAMint: 'ミントとは?', + whatsAMintDesc: 'Cashuミントはウォレットのecashを発行・引き換えします。トークンの裏付けとなるBitcoinを保有するため、自分で運営しないミントは信頼する必要があります。', + mintWarning: 'ミントはオフラインになったり、規約を変更したり、資金を持って消えたりする可能性があります。運営者を信頼できない限り、少額の残高だけにしておきましょう。', + healthDisclaimer: '状態データはコミュニティ運営(MintRadar) — 非公式で古い可能性があります。', + }, + appShop: { + title: 'アプリショップ', + subtitle: 'シーンを回し続ける人たちのためのSkateSpotsグッズ。', + comingSoon: '近日公開', + wearThe: '着よう', + scene: 'シーン', + heroDesc1: 'これを回し続ける人たちのためのグッズ — 販売は', + locally: '地元で、リクエスト制', + heroDesc2: '。メッセージをくれれば詳細を詰めて、支払いは', + heroDesc3: '— LightningかCashu — 受け取るときに。カードなし、アカウントなし、チェックアウトのロボットなし、ドロップをかすめ取る中間業者なし。', + requestItem: 'アイテムをリクエスト', + dmHint: '私とのプライベートで暗号化されたDMを開きます。', + lightning: 'Lightning', + cashu: 'Cashu', + localHandover: '地元での受け渡し', + inTheWorks: '準備中', + notForSale: 'まだ販売していません', + soon: '近日', + tees: 'Tシャツ & パーカー', + decks: 'デッキ', + shopTools: 'ショップツール', + stickerPacks: 'ステッカーパック', + stickerPacksDesc: 'パックは準備中。デザインはまだ — この2つを今すぐ無料で印刷できます。', + sticker: 'ステッカー', + stickerTip: '黒のダイカット。ステッカー用紙に印刷し、黒い縁に沿って切る。', + poster: 'ポスター', + posterTip: 'A3で印刷;A4(50%)に縮小しても問題なくスキャンできます。', + printableAlt: 'SkateSpots {{title}} — 印刷可能', + print: '印刷', + printNote1: '印刷サイズ', + actualSize: '100% / 「実際のサイズ」', + printNote2: 'サイズが正確でQRが鮮明になるように — skate-spots.orgを指します。ベクターファイルなので、拡大してもぼやけません。', + howBuying: '購入の流れ', + dmNotCart: 'カートではなくDMです', + step1Title: 'メッセージを送る', + step1Desc: '欲しいもの(アイテム、サイズ、色など)をDMで送ってください。', + step2Title: '一緒に決める', + step2Desc: 'satsでの価格、会う場所と時間。チェックアウトではなく会話です。', + step3Title: 'satsで支払う', + step3Desc: '受け渡し時にLightningかCashuで支払えば、あなたのものです。発送なし、待合室なし。', + }, + newsletter: { + newIssue: '新しい号', + composerTitle: 'ニュースレターの号を公開', + composerDesc: 'コミュニティリレーにNIP-23記事(kind 30023)として公開されます。購読者は通知ベルで受け取ります。本文はMarkdownに対応。', + fieldTitle: 'タイトル', + identifier: '識別子(スラッグ)', + leaveBlank: '空欄なら自動生成', + reusingSlug: '既存のスラッグを再利用すると、新しい号を作成せずにその号を編集します。', + summary: '要約', + optional: '任意', + coverImage: 'カバー画像URL', + bodyMarkdown: '本文(Markdown)', + characters: '{{count}} 文字', + publishIssue: '号を公開', + issuePublished: '号を公開しました! 🛹', + issuePublishedDesc: '購読者の通知ベルに表示されます。', + publishFailed: '公開に失敗', + couldNotReachRelay: 'どのリレーにも到達できませんでした — 接続を確認してもう一度試してください。', + tryAgain: 'もう一度試してください。', + publishedToNostr: 'Nostrに公開しました', + publishedToast: '公開しました!', + postedToNostr: 'ドロップ {{number}} をNostrに投稿しました。', + postToNostr: 'Nostrに投稿', + previewLabel: 'プレビュー', + editFirst: '先に編集', + previewNoteDesc: 'ほとんどのNostrクライアントでの表示例です。書式はクライアントにより異なります。', + editNoteDesc: '下のノート本文を編集してください。変更はこの公開のみに反映され、ソースファイルは変更されません。', + dropNumber: 'ドロップ {{number}}', + publish: '公開', + publishing: '公開中...', + dropIsOut: 'ドロップ {{number}} が公開されました', + daysAgo: '{{count}}日前', + dismiss: '閉じる', + itsMonday: '月曜日です', + mondayDesc: '週刊ニュースレターの時間です。ワンクリックでAIがgitログから書きます。', + writeDrop: 'ドロップ {{number}} を書く', + dismissReminder: 'リマインダーを閉じる', + loginPrompt: 'Nostrでログインして新しいドロップをメールボックスで受け取りましょう。', + subscribedToast: '購読しました! 🛹', + subscribedToastDesc: '新しいドロップは通知ベルの「ニュース」に届きます。', + unsubscribed: '購読を解除しました', + unsubscribedDesc: 'ここでいつでもすべての号を読めます。', + checking: '確認中…', + subscribed: '購読中', + unsubscribe: '購読解除', + subscribeCta: 'ニュースレターを購読', + archiveSynced: 'アーカイブをNostrに同期しました', + missingCount: '{{count}} 件のアーカイブ号がまだNostrにありません', + backfillDesc: '{{list}} をNIP-23記事として公開し、購読者と長文読者が完全なアーカイブを見られるようにします。ページは常に充実したレイアウトを保ちます。', + backfill: '{{count}} 件をNostrにバックフィル', + publishing2: '公開中…', + publishingLabel: '公開中…', + backfilled: '{{count}} 件の号をバックフィルしました 🛹', + backfilledDesc: 'アーカイブは購読者と読者のためにNostr上にあります。', + partialBackfill: '{{published}} 件を公開、{{failed}} 件が失敗', + retryFinish: '再試行して完了: {{list}}。', + notLoggedIn: 'ログインしていません', + allIssues: 'すべての号', + brand: 'SkateSpotsニュースレター', + digTheDrop: 'ドロップは気に入った? Zapして次の号を逃さないように。', + sectionStats: '数字で見るコミュニティ', + sectionWhatsNew: '新着情報', + sectionSpotOfWeek: '今週のスポット', + sectionCommunity: 'コミュニティ', + sectionSupport: 'プロジェクトを支援', + sectionLatestDrops: '最新ドロップ · Nostrからライブ', + mappedBy: 'マッピング', + viewOnMap: '地図で見る', + noSpotPicked: '今週はスポットが選ばれていません。あなたのスポットを投稿すれば次のドロップに載るかも。', + browseMap: '地図を見る', + spotMap: 'スポットマップ', + statsBadge: '統計', + supportDesc: '100%オープンソース、コミュニティ資金、広告なし、投資家なし。役に立ったらZapするかAngorで支援しましょう。', + readFull: '号を全文読む', + joinSkaters: 'ドロップを受け取る {{count}} 人のスケーターに加わろう', + weeklyDrops: '週刊ドロップ', + tagline: '週刊ニュースレター · 気が向いたときに発行', + freeNote: '無料。Nostrで動作 — 購読はあなたの鍵に紐付き、デバイスをまたいでついてきます。新しいドロップは通知ベルに届きます。', + live: 'ライブ', + builtOn: '基盤', + openSource: 'オープンソース', + supportUs: '支援する', + freeToSkate: 'スケートボードは自由だ', + }, + stats: { + subtitle: 'Nostrネットワークから直接取得したライブ指標。透明で分散型、誰でも検証可能。', + dataSource: 'データソース:', + updated: '{{age}} に更新', + refresh: '更新', + partial: 'すべてのリレーに到達できませんでした — この数字は不完全かもしれません。', + error: '現在リレーに到達できません。接続が回復すると統計が読み込まれます。', + atAGlance: 'コミュニティ概観', + skateSpots: 'スケートスポット', + listedShops: '登録ショップ', + events: 'イベント', + mappers: 'マッパー', + uniqueContributors: 'ユニークな貢献者', + labHeader: 'The Lab · クリエイター & サービス', + total: '合計 {{count}}', + coaches: 'コーチ', + filmers: 'フィルマー', + editors: 'エディター', + photographers: 'フォトグラファー', + builders: 'ビルダー', + artists: 'アーティスト', + graffiti: 'グラフィティ', + tattoo: 'タトゥー', + trainers: 'トレーナー', + musicians: 'ミュージシャン', + judges: 'ジャッジ', + organizers: 'オーガナイザー', + barbers: 'バーバー', + showFewer: '表示を減らす', + showAllCrafts: '13職種すべて表示', + community: 'コミュニティ', + tours: 'ツアー', + crews: 'クルー', + marketplace: 'マーケットプレイス', + liveListings: '公開中の出品', + tradesRecorded: '記録された取引', + satsTraded: '取引されたsats', + zapsToMappers: 'マッパーへのZap', + tradesNote1: '相互取引', + tradesNote2: '人。satsは取引者による自己申告です — アプリはオフアプリの支払いを観測できないため、見出しは次のものだけを数えます', + mutual: '相互', + tradesNote3: 'ペアごとの上限付きの取引;生の申告は', + tradesNote4: 'sats。「マッパーへのZap」はトップ貢献者宛てのレシートのみを数えます — それは', + not: '〜ではない', + tradesNote5: 'グローバルなZap量。', + byRegion: '地域別のスポット & ショップ', + resolving: '{{count}} 件のタグなしの場所を座標から解決中… 一度だけで、このデバイスにキャッシュされます。', + topCountries: '上位の国', + topCities: '上位の都市', + other: 'その他', + otherCountriesTitle: 'トップ6以外の国', + otherCitiesTitle: 'トップ6以外の都市', + uncategorised: '未分類', + uncategorisedTitle: '都市/国のタグなし', + regionNote1: 'カウント', + spotsAndShops: 'スポット & ショップ', + regionNote2: '、スケーターではありません — それぞれの都市/国のタグから、またはタグがない場合はピンの座標から導出(デバイスにキャッシュ;国は存在すればISOコードでグループ化)、コミュニティリレーのみで、モデレーションで非表示にされたコンテンツは除外。', + ofTotal: '{{total}} 中 {{count}}', + regionNote3: '件の場所に位置タグがなく、「未分類」として表示されます。', + growth: '時間の経過と成長', + chartCumulativeTitle: 'マッピングされたスポット(累計)', + chartCumulativeDesc: '時間の経過とともに地図に追加されたスポットの合計', + chartMonthlyTitle: '月別アクティビティ', + chartMonthlyDesc: '毎月公開される新しいコンテンツ', + chartMappersTitle: 'アクティブマッパー / 月', + chartMappersDesc: '毎月公開するユニークな貢献者', + chartMixTitle: 'コンテンツの構成', + chartMixDesc: 'コンテンツタイプ別の内訳(全期間)', + noData: 'まだデータがありません', + topMappers: 'トップマッパー', + mostSpots: '— 最も多くスポットを追加', + noMapperData: 'まだマッパーデータがありません', + topShops: 'トップショップ', + mostShops: '— 最も多くショップを追加', + shopCount: '{{count}} ショップ', + noShopData: 'まだショップデータがありません', + supporters: 'コミュニティサポーター', + fundedTitle: 'コミュニティによる資金提供', + fundedDesc1: 'Angorによる分散型Bitcoinクラウドファンディング。', + fundedDesc2: '広告なし、投資家なし、データ販売なし。', + backAngor: 'Angorで支援する', + communityLink: 'コミュニティ →', + footer1: 'すべてのデータはライブで取得:', + footer2: '— 公開Nostrリレー。', + footer3: 'すべてのイベントは作成者が署名し、暗号学的に検証可能です。', + footer4: '数字は偽装できません。', + spots: 'スポット', + shops: 'ショップ', + lab: 'Lab', + thisMonth: '今月 +{{count}}', + fromActive: 'アクティブアカウントから {{count}}', + viewAll: 'すべて表示', + spotCount: '{{count}} スポット', + }, + leaderboard: { + mapEarn: 'マップして稼ぐ', + helpMap: '世界のマッピングを手伝おう', + intro: 'スポットやショップを追加すると、感謝するスケーターからZapがもらえます。トップ貢献者にはボーナス報酬があるかも!', + howItWorks: '仕組み', + step1Title: '1. マップ', + step1Desc: '写真と詳細を添えてスポット & ショップを追加', + step2Title: '2. Zapを稼ぐ', + step2Desc: 'あなたのスポットを役立つと思ったスケーターがチップをくれます', + step3Title: '3. ボーナス報酬', + step3Desc: 'トップマッパーは私たちのファンドからボーナス報酬を得られるかも', + proTips: '💡 もっとZapをもらうプロのヒント:', + tipPhotos: '写真を3枚以上追加', + tipDescriptions: '詳しい説明を書く', + tipLocation: '正確な位置', + mapShop: 'ショップをマップ', + mapShopDesc: 'スケートショップ、ボード店', + mapSpot: 'スポットをマップ', + mapSpotDesc: 'パーク、ストリートスポット、DIY', + shops: 'ショップ', + spotsLower: 'スポット', + shopsLower: 'ショップ', + contributions: '貢献', + yourRanking: 'あなたのランキング', + spotsShops: '{{spots}} スポット • {{shops}} ショップ', + totalLower: '合計', + overall: '総合', + noContributions: 'まだ貢献がありません。最初になろう!', + addFirstSpot: '最初のスポットを追加', + noShops: 'まだショップがマッピングされていません', + addFirstShop: '最初のショップを追加', + noSpots: 'まだスポットがマッピングされていません', + poweredBy: 'コミュニティのZapで動作', + poweredByDesc: 'スポットが役に立ったら、マッパーにZapしよう! 感謝を伝え、さらなる貢献を促す最良の方法です。', + you: 'あなた', + zapTitle: 'Zapリーダーボード', + zapSubtitle: '最も愛されているスポット — そして愛を与えるスケーター。', + thisWeek: '今週', + thisMonth: '今月', + allTime: '全期間', + topZappedSpots: '最もZapされたスポット', + noZaps: 'この期間はまだZapがありません。最初になろう — お気に入りのスポットで⚡を押そう。', + topSupporters: 'トップサポーター', + noZapsSent: 'この期間はまだZapが送られていません。', + fromTop10: '⚡ トップ10から {{amount}} sats', + supporter: 'サポーター', + skateShop: 'スケートショップ', + skateSpot: 'スケートスポット', + }, + supporters: { + our: '私たちの', + community: 'コミュニティ', + heroDesc: 'SkateSpotsはコミュニティによって、コミュニティのために作られています。サポーター、協力者、パートナー、友人がこれを無料で分散型に保っています。', + backAngor: 'Angorで支援する', + backers: 'サポーター', + backersDesc: 'SkateSpotsを支援したスケーター — Angorによるオンチェーン資金提供、そしてプロジェクトへのLightning Zap。', + sourceAngor: 'Angor', + supportersTotals: '{{count}} サポーター · Angor経由 {{angor}} sats · Zapped {{zap}} sats', + quietNote: '静かに支援してくれたみんなも — ありがとう。❤️', + silentTitle: 'プライベートなオンチェーン(サイレントペイメント)', + silentDesc: '1つの名前、支払いごとに新しいアドレス — サイレントペイメントによるオンチェーン、または同じレコードからのLightning。再利用するものも、紐付くものもありません。', + silentCopyName: '名前をコピー', + silentCopied: 'コピーしました', + silentWallets: 'ペイメントネーム/サイレントペイメント対応のウォレットが必要: Sparrow、Cake、Dana、Phoenix、BlueWallet、Wasabi、Nunchuk、BitBox02。', + wayLightningTitle: '即時 & 公開', + wayLightningDesc: 'SkateSpotsにZap、または静かに支払う。ログアウトでも使えます。', + waySilentTitle: 'プライベートなオンチェーン', + waySilentDesc: 'サイレントペイメントの名前 — 支払いごとに新しいアドレス。', + wayAngorTitle: '開発を資金支援', + wayAngorDesc: 'Angor — 段階的リリース、100k sats超は返金可能。', + donateTitle: 'SkateSpotsを支援', + donateDesc: '3つの手段、3つの理由 — 自分に合うものを選ぼう。すべてのsatが地図を無料、広告なし、オープンソースに保ちます。', + donatePageLink: 'シンプルな寄付ページを開く', + updatedAt: '{{when}} に更新', + tiersNote: 'ティア: Supporterは100k sats未満 · Patronは100k〜1M · Legendは1M+', + tierEmpty: 'まだ誰もいません — 最初になろう。', + joinSupporters: '{{count}} 人のサポーターに加わる', + showAll: 'すべて表示 {{count}}', + showLess: '表示を減らす', + impactSeeStats: '全体像を見る →', + impactAsOf: 'コミュニティリレーからライブ', + anonymousBacker: '匿名のサポーター', + beFirstBacker: 'まだ公開サポーターはいません — 最初になろう。', + backersTotal: '{{count}} サポーター · {{amount}} sats 調達', + verifiedOnChain: 'オンチェーン検証済み', + supportedBy: '{{count}} 人に支援されています', + tierSupporter: 'サポーター', + tierPatron: 'パトロン', + tierLegend: 'レジェンド', + topZappers: 'SkateSpotsにZapした人', + topZappersDesc: 'プロジェクトに直接公開Zapを送ったスケーター。静かな支払いは表示されません。', + paysFor: 'あなたの支援が支払うもの', + paysForDesc: 'すべてのsatの行き先 — 給与なし、オフィスなし、広告なし。', + payRelay: 'リレーホスティング', + payDomain: 'ドメイン & TLS', + payAi: 'AI / ContextVMノード', + payDev: '開発時間', + payOps: '運用', + payMarketing: 'マーケティング', + payRelayDesc: '地図をオンラインで復元力のある状態に保ちます。', + payDomainDesc: '名前、証明書、安全な接続。', + payAiDesc: 'Sasquatch、コミュニティガイド。', + payDevDesc: 'SkateSpotsの構築と修正。', + payOpsDesc: '動かし続ける地味な仕事。', + payMarketingDesc: '新しいローカルシーンとスケートショップにリーチ。', + impact: 'これまでのインパクト', + impactDesc: 'コミュニティが築いたもの — スケーターの資金で。', + impactSpots: 'スポット', + impactCrews: 'クルー', + impactEvents: 'イベント', + impactLab: 'Labのプロ', + impactShops: 'ショップ', + impactMappers: 'マッパー', + support: '支援', + supportDesc: 'AngorでSkateSpotsを資金支援 — 分散型オンチェーンBitcoinクラウドファンディング。中間業者なし、KYCなし。', + collaborators: '協力者', + collaboratorsDesc: 'SkateSpotsを積極的に構築している人々 — 開発者、デザイナー、リレー運営者。', + partners: 'パートナー', + partnersDesc: '私たちが密接に協力している組織とプロジェクト。', + friends: '友達', + friendsDesc: '気が合う人たち。', + backTitle: 'Angorでプロジェクトを支援', + backDesc: 'AngorはNostr上に構築された分散型オンチェーンBitcoin資金調達です — 資金はあなたの管理下にあり、段階的にリリースされ、資金を預かるカストディアンはいません。100,000 satsまでの貢献は寄付のように機能します(回収のハンドシェイクなし);それ以上の金額は投資で、未使用資金は回収できます。すべてのsatは開発、リレーホスティング、そして地球上のすべてのスケーターのためにSkateSpotsを無料に保つことに使われます。', + donateNote: 'ストレートな寄付がいい? ⚡ 下でZap — 返金するものも、回収するものもありません。', + openAngor: 'Angorを開く', + orZap: 'またはアプリ内で任意のスポット、クルー、クリエイターに直接 ⚡ Zap', + wantCollaborate: '協力したい?', + wantCollaborateDesc: '開発者、デザイナー、スキルを持つスケーター — 連絡してください。', + viewNostrHub: 'NostrHubで見る', + wantPartner: 'SkateSpotsと提携したい? Nostrで連絡してください。', + comingSoon: '近日公開', + wantListed: 'ここに掲載されたい?', + wantListedDesc: 'ロゴ(PNG/WebP、透過背景、最小200×200px)とURLをNostrのDMで送ってください。ノリが合う場合のみ。', + whyTitle1: 'なぜ私たちに', + whyTitle2: '支援が必要か', + whyDesc: 'SkateSpotsは100%無料、オープンソース、Nostr上に構築されています — 停止させる中央サーバーのない分散型プロトコル。広告なし、データ販売なし、投資家なし。すべてのsatは開発、リレーホスティング、そして地球上のすべてのスケーターのためにこれを無料に保つことに直接使われます。', + why1Title: 'Nostrネイティブ', + why1Desc: '中央サーバーなし。データはあなたが選んだリレーにあります。', + why2Title: 'Bitcoinで動作', + why2Desc: 'スポットをマッピングしてsatsを稼ぐ。地元のショップで使う。', + why3Title: '永久に無料', + why3Desc: 'オープンソース、ペイウォールなし、追跡なし、VC資金なし。', + thankYou: 'ありがとう。すべてのsatがスポットを地図に残します。🛹⚡', + license: 'ライセンス', + faq: 'FAQ', + }, + admin: { + confirmed: '確認済み', + title: 'レビューキュー', + subtitle: 'ジャンクシグナルに引っかかったスポット、ショップ、イベント、ツアー、ギア。非表示と確認はソフトで可逆なラベルです;通報が優先されます。何も削除されません。', + tabReports: '通報', + tabSpots: 'スポット', + tabShops: 'ショップ', + tabEvents: 'イベント', + tabTours: 'ツアー', + tabGear: 'ギア', + tabCrews: 'クルー', + tabLab: 'Lab', + tabClaims: '申請', + nothingToReview: 'レビューするものはありません — この種類でジャンクシグナルに引っかかったものはありません。', + hideActioned: '対応済みを隠す', + showActioned: '対応済みを表示 ({{count}})', + undoAll: 'すべて取り消す {{count}}', + undoAllTitle: 'このタブのすべての判定を取り消しますか?', + undoAllDesc: '各アイテムを中立に戻します — 非表示でも、承認でもありません。アイテムごとに1つの公開ラベルを発行するため、Amberでは {{count}} 回の承認画面が表示されます。', + undoCount: '取り消す {{count}}', + undo: '取り消す', + confirm: '確認', + hide: '隠す', + hideIt: '隠す', + hideForEveryone: '全員に対して非表示にしますか?', + hideForEveryoneDesc: 'すべてのSkateSpotsユーザーのブラウズと検索からアイテムを削除します。公開された可逆的なラベルです — このキューから取り消せます。', + hidden: '非表示', + hiddenDesc: '公開ラベルでアプリから削除されました。可逆的です。', + couldNotHide: '非表示にできませんでした', + notASpot: 'スケートスポットではない', + lookAtIt: '見る', + }, + profile: { + nip05Verified: 'NIP-05認証済み', + nip05NotVerified: 'NIP-05がこの鍵で認証されていません', + message: 'メッセージ', + zapsReceived: '受信したzaps', + memberSince: '登録日', + badges: 'バッジ', + sponsorsSupport: 'スポンサー & 支援', + skater: 'スケーター', + stance: 'スタンス', + skating: 'スケーティング', + homeSpot: 'ホームスポット', + basedIn: '拠点', + addSkateDetails: 'スケートの詳細を追加', + addSkateDetailsDesc: 'スタンス、スタイル、レベルを設定してスケーター名鑑に載りましょう。', + spotsAdded: '追加したスポット', + shopsAdded: '追加したショップ', + noSpots: 'まだスポットを追加していません', + noSpotsDesc: '地元のスポットを地図に載せよう →', + stash: 'Stash', + gear: 'ギア', + crews: 'クルー', + info: '情報', + lightning: 'Lightning', + silentPayment: 'サイレントペイメント', + coordinator: 'コーディネーター', + coordinatorAdded: 'コーディネーターを追加しました', + add: '追加', + messagePrivately: '非公開でメッセージ', + founder: '創設者', + member: 'メンバー', + supportSkater: 'このスケーターを支援', + supportSkaterDesc: '貢献に感謝してチップを送る', + }, + index: { + joinCommunity: 'コミュニティに参加してスポットの追加、イベントの作成などを行いましょう', + topZapped: 'トップZapped', + topZappedDesc: '今月最も支援されたスポット', + leaderboard: 'リーダーボード', + newHere: '初めてですか?', + newHereDesc: '無料アカウントを作成して、スポットの追加、イベントへの参加、スケーターとのつながり、コミュニティへの参加を。メールは不要です。', + followFounder: '創設者をフォロー', + followFounderDesc: 'アバターを3秒間押し続けるとフォローでき、新機能やイベントの最新情報を受け取れます!', + createAccount: 'アカウントを作成', + accountWorks: 'あなたのアカウントはネットワーク内のすべてのアプリで使えます', + footerTagline: 'オープンソース • コミュニティ所有 • 広告なし', + }, + stash: { + title: 'マイStash', + loginDesc: 'あなたのプライベートなギアインベントリ。所有しているものを記録し、価格を設定し、トレーダーと選択的に共有できます。', + encrypted: '暗号化済み', + syncsEverywhere: 'どこでも同期', + p2pTrading: 'P2Pトレード', + encryptionRequired: '暗号化が必要', + encryptionRequiredDesc: 'Stashはプライバシーのため暗号化されています。NIP-44暗号化に対応した署名ツール(Alby、nos2x、Amberなど)を使用してください。', + learnSigners: '署名ツールについて学ぶ', + select: '選択', + stash: 'Stash', + wishlist: 'ウィッシュリスト', + allCategories: 'すべてのカテゴリ', + sortNewest: '新しい順', + sortValue: '価値', + sortCondition: '状態', + sortAz: 'A–Z', + friendsOnly: '友達のみ', + addToWishlist: 'ウィッシュリストに追加', + addItemToStash: 'Stashにアイテムを追加', + addItem: 'アイテムを追加', + editItem: 'アイテムを編集', + publicStash: '公開Stash', + listView: 'リスト表示', + gridView: 'グリッド表示', + uploading: 'アップロード中...', + addPhotos: '写真を追加', + wishlistReqPlaceholder: '具体的な希望があれば...', + itemDescPlaceholder: 'アイテムの説明、損傷など...', + itemsCount: '{{count}} アイテム', + wishlistEmpty: 'ウィッシュリストは空です', + wishlistEmptyDesc: '探しているギアを追加しましょう — 友達のStashとマッチングします。', + stashEmpty: 'Stashは空です', + stashEmptyDesc: 'ギアの記録を始めましょう。デッキ、トラック、シューズ — 一度追加すればNostr経由でどこでもアクセス。', + noMatch: '一致するアイテムがありません', + noMatchDesc: 'フィルターを調整してみてください。', + backupTransfer: 'バックアップ & 転送', + backupDesc: 'StashはNostr上で暗号化されています。自分で管理するコピーを保管しましょう — リレーが死んでも、新しいアカウントでもギアリストを失いません。', + exportTitle: '暗号化バックアップ', + exportDialogDesc: '{{count}} アイテムをファイルに保存します。暗号化して、漏洩しても漏洩にならないようにしましょう。', + modePassword: 'パスワード', + modeKey: '自分の鍵', + password: 'パスワード', + confirmPassword: 'パスワードを確認', + passwordHint: '8文字以上を使用してください。復元はできません — 忘れないでください。', + keyModeHint: 'Nostr鍵で暗号化されます。その鍵だけが開けます — 覚えるものはありません。', + exportPlaintext: '暗号化せずにエクスポート', + pwTooShort: '8文字以上を使用してください。', + pwMismatch: 'パスワードが一致しません。', + exportFailed: 'バックアップを作成できませんでした。', + unlockTitle: 'バックアップを解除', + unlockDesc: 'このバックアップはパスワードで保護されています。', + unlock: '解除', + unlockFailed: 'バックアップを解除できませんでした。', + show: '表示', + hide: '隠す', + strength: 'パスワード強度', + strengthWeak: '弱い', + strengthFair: '普通', + strengthGood: '良い', + strengthStrong: '強い', + filenameWillSave: '{{name}} として保存されます', + export: 'エクスポート', + import: 'インポート', + exported: 'Stashをエクスポートしました', + exportedDesc: '{{count}} アイテムをファイルに保存しました。', + noItemsInFile: 'そのファイルにアイテムが見つかりません。', + noValidItems: 'そのファイルに有効なアイテムが見つかりません。', + imported: '{{count}} アイテムをインポートしました', + importSkipped: '{{count}} 件をスキップ(すでにStashにあります)。', + importAdded: 'Stashに追加しました。', + importFailed: 'インポートに失敗', + couldNotRead: 'そのファイルを読み取れませんでした。', + updateFailed: 'Stashを更新できませんでした', + updatedCount: '{{count}} アイテムを更新しました', + markedForSale: '{{count}} 件を販売中にしました', + unmarkedCount: '{{count}} 件のマークを解除', + removedCount: '{{count}} アイテムを削除しました', + selectedCount: '{{count}} 件選択中', + selectAll: 'すべて選択', + visibilityPublic: '公開', + visibilityPrivate: '非公開', + forSale: '販売中', + remove: '削除', + bulkDeleteTitle: '{{count}} アイテムを削除しますか?', + bulkDeleteDesc: '暗号化されたStashを1回の署名で書き換え、ここでは元に戻せません。不安なら先にバックアップをエクスポートしてください。', + deleteTitle: 'Stashから削除しますか?', + deleteDesc: '「{{title}}」をStashから削除します', + deleteDescPublic: ' し、公開ショーケースからも外します', + deleteUndone: '。これは元に戻せません。', + deleteDescGeneric: 'このアイテムをStashから削除します。これは元に戻せません。', + listOnMarketplace: 'マーケットプレイスに出品', + noPriceSet: '価格未設定', + categoryLabel: 'カテゴリ', + photosLabel: '写真', + willingToSell: '売却可', + willingToTrade: '交換可', + whereIsThisItem: 'このアイテムはどこにありますか?', + visibilityLabel: '公開範囲', + visibilityPrivateOnlyYou: '非公開 - 自分のみ', + visibilityFriendsMutual: '友達 - 相互フォロー', + visibilityPublicAnyone: '公開 - 誰でも', + visibilityFriends: '友達', + brandLabel: 'ブランド', + sizeLabel: 'サイズ', + descriptionLabel: '説明', + conditionLabel: '状態', + itemName: 'アイテム名', + saveChanges: '変更を保存', + listItemDialogTitle: '「{{title}}」を出品', + pickUpWhere: '買い手はどこでこのアイテムを受け取れますか?', + linkToSpot: 'スケートスポットにリンク', + linkToSpotDesc: '地元販売に最適 • スポットページと地図に表示', + recommended: 'おすすめ', + noSpecificSpot: '特定のスポットなし', + noSpecificSpotDesc: 'マーケットプレイスページのみに表示', + tipLinkedSpots: '💡 ヒント:スポットにリンクされた出品は地元のスケーターが見つけやすくなります。', + anyoneCanSee: 'これらはプロフィールで誰でも見られます。', + seeWhatOthersSee: '他の人からの見え方を見る', + inventory: 'インベントリ', + publicWantsNote: '公開の希望は「求む」広告としてマーケットプレイスに投稿され、売り手が見つけられます。', + howItWorks: '仕組み', + tapToMarketplace: 'タップしてマーケットプレイスへ →', + viewWishlist: 'ウィッシュリストを見る', + tipEditItems: 'ペンボタンでアイテムを編集', + tipListForSale: 'ストアボタンで販売出品', + tipAddPhotos: '良い交換オファーのために写真を追加', + tipKeySyncs: 'Nostr鍵はすべてのデバイスに同期', + itemsReadyToSell: '{{count}} 件が販売可能', + }, + }, +}; + +export default jaBatch7; diff --git a/src/i18n/ja/index.ts b/src/i18n/ja/index.ts index 2800824..f21caf4 100644 --- a/src/i18n/ja/index.ts +++ b/src/i18n/ja/index.ts @@ -3,6 +3,7 @@ import batch2 from './batch2'; import batch3 from './batch3'; import batch4 from './batch4'; import batch5 from './batch5'; +import batch7 from './batch7'; import batch8 from './batch8'; /** @@ -19,6 +20,7 @@ const ja = { ...batch3, ...batch4, ...batch5, + ...batch7, ...batch8, };