584 lines
35 KiB
TypeScript
584 lines
35 KiB
TypeScript
/**
|
||
* Japanese (日本語) — drift fragment: the keys added after the main batches.
|
||
*
|
||
* These were the last keys missing from this locale (nav search, the first-run
|
||
* checklist, marketplace states/escrow copy, the clothing craft, the trust UI,
|
||
* the marketplace guidelines, the weather legend and the native Cordn/MLS chat).
|
||
* The default export is the nested dictionary; `index.ts` deep-merges it over
|
||
* the composed batch fragments (a shallow spread would replace a whole namespace
|
||
* and drop its sibling keys).
|
||
*
|
||
* Skate/brand vocabulary stays English or transliterated (Spot, Park, Crew,
|
||
* Stash, The Lab, Nostr, Lightning, sats, Cashu, MLS, Cordn, Staircase), matching
|
||
* the other batches.
|
||
*/
|
||
type Dict = { [key: string]: string | Dict };
|
||
|
||
const drift: Dict = {
|
||
nav: {
|
||
searchLanguages: '言語を検索...',
|
||
noLanguages: '言語が見つかりません',
|
||
},
|
||
mapPage: {
|
||
searchSuggestPlaces: '場所',
|
||
},
|
||
mapUi: {
|
||
firstRunTitle: 'はじめかた',
|
||
firstRunTip: 'ピンをタップして探索。設定は不要 — 近くのスポットはすぐそこ。',
|
||
firstRunAddSpot: '最初のスポットを追加',
|
||
firstRunJoinCrew: 'クルーに参加',
|
||
firstRunStartCrew: 'クルーを始める',
|
||
firstRunWallet: 'ウォレットを設定',
|
||
forecastDays: '{{count}}日間予報',
|
||
},
|
||
spotUi: {
|
||
forecastDays: '{{count}}日間予報',
|
||
},
|
||
marketUi: {
|
||
trades: {
|
||
stateRevoked: '取り消し済み',
|
||
stateVerifying: '確認中',
|
||
},
|
||
loadFailed: 'リレーに接続できませんでした。接続を確認してもう一度お試しください。',
|
||
statusPending: '保留中',
|
||
offers: {
|
||
closeDeal: '取引を終了',
|
||
loadFailed: 'オファーを読み込めませんでした。接続を確認してもう一度お試しください。',
|
||
},
|
||
pay: {
|
||
nonSats: 'このオファーの価格は{{currency}}です。アプリ内支払いはsatsのみです。出品者と直接精算してください。',
|
||
unsupported: 'この支払いコード(Cashuリクエスト)はまだ対応していません。出品者にLightningインボイスまたはアドレスを依頼してください。',
|
||
},
|
||
escrowRequest: {
|
||
lockedNotSent: '資金はエスクローにロックされ、このデバイスに保存されていますが、リクエストは送信されませんでした。リスティングを開き直して再試行してください。再度支払わないでください。',
|
||
mintLabel: 'ミント(資金がロックされる場所)',
|
||
sellerMintHint: '出品者はこのミントを希望しています。ここにロックされた資金が最も引き出しやすくなります。',
|
||
mintHint: 'エスクローはこのミントに置かれます。出品者はここで引き出すので、双方が信頼できるものを選んでください。',
|
||
noMints: '利用可能なミントがありません',
|
||
p2pkUnsupported: 'このミントはP2PK(NUT-11)対応を告知していないため、ここでエスクローをロックできません。別のミントを選んでください。',
|
||
},
|
||
},
|
||
labUi: {
|
||
offerClothing: '服を提供',
|
||
tabClothing: '服',
|
||
empty: {
|
||
clothingTitle: '服のデザイナーはまだいません',
|
||
clothingBody: 'シーンのためのカスタム服、チームキット、アパレルを最初に提供しましょう。',
|
||
transportTitle: '輸送プロバイダーはまだいません',
|
||
transportBody: 'スケーター、ギア、荷物の移動が必要?車、バン、タクシー、自転車、ヘリ、飛行機、ボートを登録しよう。',
|
||
},
|
||
craftFields: {
|
||
sizing: 'サイズ範囲',
|
||
samples: 'サンプル / 試作',
|
||
customization: 'カスタマイズ',
|
||
capacity: '定員',
|
||
cargo: '荷物スペース',
|
||
coverage: '対応エリア / ルート',
|
||
availability: '稼働時間',
|
||
base: '拠点エリア',
|
||
accessibility: 'アクセシビリティ',
|
||
},
|
||
tabTransport: '輸送',
|
||
filterVehicles: '車両',
|
||
filterTransportServices: 'サービス',
|
||
filterCapabilities: '対応内容',
|
||
filterCapacity: '定員',
|
||
filterCoverage: '対応エリア',
|
||
offerTransport: '輸送を提供',
|
||
labLink: {
|
||
transport: '輸送',
|
||
},
|
||
detail: {
|
||
noun: {
|
||
transport: '輸送プロバイダー',
|
||
},
|
||
skillsTitle: {
|
||
transport: '車両とサービス',
|
||
},
|
||
},
|
||
},
|
||
socialUi: {
|
||
coordinator: {
|
||
ourDefaultTitle: 'SkateSpotsコーディネーター',
|
||
ourDefaultDesc: 'SkateSpotsはrelay.skate-spots.orgでコーディネーターを運営しています。デフォルトで利用するか、自分のものを運営できます。コーディネーターが見るのは暗号文とメタデータだけで、あなたのメッセージを見ることはありません。',
|
||
useOurs: 'SkateSpotsコーディネーターを使う',
|
||
},
|
||
crewCoordinator: {
|
||
encryptedChat: '暗号化チャット',
|
||
privateChatName: 'プライベートチャット',
|
||
privateChatDesc: 'コーディネーター経由の前方秘匿型グループチャット(MLS)。',
|
||
privateChatDescFull: 'プライベートチャットは管理者が一度作成し、その後メンバーが参加します。',
|
||
chatRowDesc: 'クルーの全員 — 各メンバーの鍵に封緘(NIP-17)。',
|
||
openChat: '開く',
|
||
setUpChat: '設定',
|
||
joinChat: '参加',
|
||
checking: '確認中…',
|
||
openInAnotherApp: '別のアプリで開く',
|
||
openInCordnWeb: 'Cordn(ウェブ)',
|
||
openCordnGroup: 'クルーチャットを開く',
|
||
copyForStaircase: 'Staircase用にコピー',
|
||
},
|
||
dms: {
|
||
refresh: '更新',
|
||
privateRooms: 'プライベートルーム',
|
||
crews: 'クルー',
|
||
crewFounder: '創設者',
|
||
crewMember: 'メンバー',
|
||
crewOpen: '開く',
|
||
crewSetUp: '設定',
|
||
},
|
||
form: {
|
||
cordnGroup: 'Cordnグループ',
|
||
cordnGroupHint: '任意:StaircaseまたはCordnウェブからグループリンクを貼り付けてください。するとクルーに、私たちのコーディネーターでホストされる本物のエンドツーエンドMLSチャットが与えられます。',
|
||
},
|
||
bell: {
|
||
dmsUnread: '{{count}}件の新しい暗号化メッセージ',
|
||
messagesAndCrews: 'メッセージとクルーチャット',
|
||
},
|
||
},
|
||
settingsUi: {
|
||
loginDialog: {
|
||
welcomeSubtitleBrowse: "登録またはログイン — または閲覧を続ける。",
|
||
extensionCard: "ブラウザ拡張",
|
||
signerCard: "署名アプリ",
|
||
secretKeyLink: "代わりに秘密鍵を使う",
|
||
whereBunker: "バンカーはどこで入手?",
|
||
},
|
||
settingsPage: {
|
||
trust: '信頼',
|
||
trustSub: 'ソースと表示',
|
||
},
|
||
},
|
||
walletUi: {
|
||
trust: {
|
||
mute: 'ミュート',
|
||
muted: 'ミュート済み',
|
||
mutedDesc: '相手のコンテンツは表示されません。',
|
||
unmute: 'ミュート解除',
|
||
unmuted: 'ミュート解除済み',
|
||
unmutedDesc: '相手のコンテンツが再び表示されます。',
|
||
unmuteFailed: 'ミュートを解除できませんでした。もう一度お試しください。',
|
||
muteFailed: 'ミュートできませんでした。もう一度お試しください。',
|
||
loginToMute: 'ミュートするにはログインしてください。',
|
||
attributedNetwork: 'あなたのネットワークの人から',
|
||
attributedProviderHouse: 'コミュニティ信頼プロバイダーから',
|
||
attributedProviderCustom: 'あなたが選んだプロバイダーから',
|
||
howItWorks: '信頼の仕組み',
|
||
flaggedNoticeTitle: '信頼できるスケーターによる報告',
|
||
flaggedNoticeDesc: 'ご注意ください。ネットワーク内の信頼できる人々がこのアカウントを報告しています。',
|
||
flaggedReporterFollow: 'フォロー中の{{count}}人',
|
||
flaggedReporterNetwork: 'ネットワーク内の{{count}}人',
|
||
flaggedReporterOther: 'その他のアカウント{{count}}件',
|
||
flaggedReport: '報告',
|
||
flaggedDismiss: '閉じる',
|
||
bucketVerified: '認証済み',
|
||
bucketUnknown: '不明',
|
||
bucketFlagged: 'フラグ付き',
|
||
bucketVerifiedDesc: 'あなたのネットワークの誰かがこのアカウントを保証しています。',
|
||
bucketUnknownDesc: 'あなたのネットワークで、まだ誰もこのアカウントを保証していません。',
|
||
bucketFlaggedDesc: '信頼できる人々がこのアカウントを報告しました。',
|
||
reportedByTrusted: '信頼できる{{count}}人に報告されました',
|
||
},
|
||
stats: {
|
||
transport: '輸送',
|
||
},
|
||
},
|
||
trustUi: {
|
||
alertsTitle: 'ネットワーク警告',
|
||
alertsDesc: 'あなたがフォローしていて、信頼できる人々が報告またはミュートしたアカウント。',
|
||
alertsEmpty: '警告はありません。フォロー中のアカウントに信頼できる報告がないか確認しています。',
|
||
alertsReported: '信頼できる{{count}}人に報告されました',
|
||
alertsMuted: '信頼できる{{count}}人にミュートされました',
|
||
alertsIgnore: '無視',
|
||
alertsUnfollow: 'フォロー解除',
|
||
alertsLogin: 'フォロー中のアカウントの警告を見るにはログインしてください。',
|
||
providerTitle: 'プロバイダー',
|
||
providerDesc: 'スコアはあなたが選んだプロバイダーから提供されます。デフォルトはコミュニティプロバイダーです。',
|
||
useCommunity: 'コミュニティプロバイダーを使う',
|
||
setProvider: 'プロバイダーを設定',
|
||
customPubkeyPlaceholder: 'プロバイダーのnpubまたは16進pubkey',
|
||
customRelayPlaceholder: 'wss://relay.example.com',
|
||
invalidProvider: '有効なnpubか64文字の16進pubkey、およびwss://リレーを入力してください。',
|
||
publishFailed: 'プロバイダーを公開できませんでした。もう一度お試しください。',
|
||
providerSaved: 'プロバイダーを更新しました。',
|
||
loggedOutProvider: 'プロバイダーを選ぶにはログインしてください。',
|
||
showMarks: '信頼マークを表示',
|
||
showMarksDesc: '認証済みと不明のマーク。報告は常に表示されます。',
|
||
sourceLabel: 'ソース',
|
||
sourceHouse: 'コミュニティ信頼プロバイダー',
|
||
sourceCustom: 'あなたのプロバイダー',
|
||
loggedOut: '独自の信頼プロバイダーを選ぶにはログインしてください。',
|
||
seoTitle: '信頼の仕組み',
|
||
seoDescription: 'SkateSpotsが信頼をどう表示するか:3つの状態、スコアの出所、そして不在が不信ではない理由。',
|
||
title: '信頼の仕組み',
|
||
intro: 'ここでの信頼は判定ではなくシグナルです。あなたが誰を知っているか、またはあなたが選んだプロバイダーから生まれます。私たちは人を世界的に順位付けしません。',
|
||
statesTitle: '3つの状態',
|
||
verifiedTitle: '認証済み',
|
||
verifiedDesc: 'あなたのネットワークの誰かがこのアカウントを保証しています:友人の友人、またはあなたが選んだプロバイダー。',
|
||
unknownTitle: '不明',
|
||
unknownDesc: 'まだ誰も保証していません。すべての新しいアカウントはここから始まります。',
|
||
flaggedTitle: 'フラグ付き',
|
||
flaggedDesc: '信頼できる人々がこのアカウントを報告しました。これはよく見るべきという警告であり、何かの証明ではありません。',
|
||
absenceTitle: 'バッジがないことは不信ではない',
|
||
absenceDesc: 'ほとんどのアカウントは何も表示しません。それはあなたのネットワークの誰もまだ保証していないという意味で、何か問題があるという意味ではありません。マークの欠如を否定的に読まないでください。',
|
||
sourceTitle: '誰が計算するか',
|
||
sourceDesc: 'デフォルトではあなた自身のネットワークを使います。Nostr(NIP-85)で署名済みスコアを公開する信頼プロバイダーを選ぶことも、表示をオフにすることもできます。フラグ付きは常に表示されます。安全シグナルだからです。',
|
||
endorsementTitle: '存在は推薦ではない',
|
||
endorsementDesc: '認証済みマークは誰かが保証したという意味で、その人が善人だという意味ではありません。フラグは信頼できる人々が報告したという意味で、有罪という意味ではありません。判断する前に詳細を確認してください。',
|
||
povTitle: '見る視点によって変わる',
|
||
povDesc: 'スコアは誰が見ているかに相対的です。あるプロバイダーや一人のランクは別のものと比較できず、私たちはそれを客観的事実として提示しません。',
|
||
settingsCta: '設定で管理',
|
||
},
|
||
marketTerms: {
|
||
link: 'マーケットプレイスのガイドライン',
|
||
seoTitle: 'マーケットプレイスのガイドライン',
|
||
seoDescription: 'SkateSpotsのギア出品の仕組み:ピアツーピア、買い手の自己責任、そしてルール。',
|
||
title: 'マーケットプレイスのガイドライン',
|
||
intro: 'SkateSpotsはピアツーピアのギアボードです。取引は相手と直接行います:私たちは資金を保持せず、商品を発送せず、紛争を解決しません。',
|
||
howTitle: '仕組み',
|
||
howBody: 'ギアを出品し、出品者にプライベートメッセージで連絡し、直接精算します(現金、Lightning、または物々交換)。カートやチェックアウトはありません。',
|
||
rulesTitle: '禁止事項',
|
||
rulesBody: '違法、危険、成人向けのコンテンツは禁止です。ドラッグ、武器、偽造品や盗品も禁止です。出品はスケートギアと関連アイテムに限定してください。',
|
||
respectTitle: '敬意を持って接する',
|
||
respectBody: '虐待、嫌がらせ、脅迫、ヘイトは禁止です。モデレーターは出品やアカウントを非表示にできます。',
|
||
trustTitle: '信頼は指針であり保証ではない',
|
||
trustBody: '認証マークと取引評価はネットワークからのシグナルであり、約束ではありません。取引の前に自分で確認してください。',
|
||
trustLink: '信頼の仕組み',
|
||
privacyLink: 'デバイスから出るもの',
|
||
safetyTitle: '安全に取引する',
|
||
safetyBody: '受け渡しは公共の場で会い、発送を伴う取引にはエスクローや誠意のデポジットを使い、アプリ外にお金を送らないでください。',
|
||
moderationTitle: 'モデレーションはソフトで可逆的',
|
||
moderationBody: '非表示にされたコンテンツはリレーに残り、復元できます。人同士の紛争はあなた自身で解決してください。',
|
||
},
|
||
labOptions: {
|
||
clothing: {
|
||
service: {
|
||
tees: 'Tシャツ',
|
||
hoodies: 'フーディーとスウェット',
|
||
pants: 'パンツとショーツ',
|
||
jackets: 'ジャケットとアウター',
|
||
kits: 'チームキットとジャージ',
|
||
caps: 'キャップとビーニー',
|
||
socks: 'ソックス',
|
||
accessories: 'バッグとアクセサリー',
|
||
footwear: 'フットウェアとシューズ',
|
||
patches: 'パッチとアップリケ',
|
||
griptape: 'グリップテープとデッキアパレル',
|
||
onepiece: '一点物 / アップサイクル',
|
||
},
|
||
serviceDesc: {
|
||
tees: 'カスタムTシャツとトップス',
|
||
hoodies: 'フーディー、クルーネック、スウェットパンツ',
|
||
pants: 'ワークパンツ、カーゴ、ショーツ',
|
||
jackets: 'コーチジャケット、シェル、ワークジャケット',
|
||
kits: 'チームキット、ジャージ、ユニフォーム',
|
||
caps: 'キャップ、ビーニー、ヘッドウェア',
|
||
socks: 'クルーソックスとニット',
|
||
accessories: 'バッグ、ベルト、小物',
|
||
footwear: 'カスタムシューズとフットウェア',
|
||
patches: '刺繍パッチとアップリケ',
|
||
griptape: 'グリップテープアートとデッキアパレル',
|
||
onepiece: '単品とアップサイクル衣類',
|
||
},
|
||
method: {
|
||
screenprint: 'シルクスクリーン',
|
||
dtg: 'DTG / ダイレクト・トゥ・ガーメント',
|
||
embroidery: '刺繍',
|
||
cutsew: 'カットソー&ソーイング',
|
||
sublimation: '昇華プリント',
|
||
heattransfer: '熱転写 / ビニール',
|
||
garmentdye: '製品染め',
|
||
knit: 'ニット',
|
||
patchwork: 'パッチワーク',
|
||
allover: '総柄プリント',
|
||
},
|
||
material: {
|
||
cotton: 'コットン',
|
||
heavyweight: 'ヘビーウェイト',
|
||
organic: 'オーガニック / サステナブル',
|
||
fleece: 'フリース',
|
||
denim: 'デニム',
|
||
canvas: 'キャンバス',
|
||
nylon: 'ナイロン / テクニカル',
|
||
wool: 'メリノ / ウール',
|
||
leather: 'レザー',
|
||
recycled: 'リサイクル / デッドストック',
|
||
},
|
||
},
|
||
transport: {
|
||
capacity: {
|
||
solo: '1〜3人',
|
||
small_group: '4〜7人',
|
||
large_group: '8人以上',
|
||
van_load: 'バン1台分',
|
||
freight: '貨物 / カーゴ',
|
||
},
|
||
coverage: {
|
||
local: 'ローカル',
|
||
regional: '地域',
|
||
national: '全国',
|
||
international: '国際',
|
||
cross_border: '国境を越えるルート',
|
||
},
|
||
},
|
||
},
|
||
becomeRolesUi: {
|
||
clothing: {
|
||
seoTitle: '服のデザイナーになる - SkateSpots',
|
||
seoDescription: 'シーンのためのカスタム服、チームキット、アパレル。',
|
||
heading: '服のデザイナー',
|
||
tagline: 'シーンのためのカスタム服、チームキット、アパレル',
|
||
noun: '服のデザイナー',
|
||
rateLabel: '料金',
|
||
portfolioLabel: 'ショップ / ポートフォリオのリンク',
|
||
sectionWhatYouMake: '何を作るか',
|
||
sectionHowYouMake: 'どう作るか',
|
||
sectionMaterials: '素材',
|
||
minimumPlaceholder: '例:10着',
|
||
turnaroundPlaceholder: '例:2〜3週間',
|
||
sizingPlaceholder: '例:XS〜3XL / オーダーメイド',
|
||
samplesHelper: '本生産の前にサンプルや試作を提供しますか?',
|
||
customizationPlaceholder: '例:名前、番号、グラフィック',
|
||
},
|
||
transport: {
|
||
seoTitle: '輸送・ドライバーを提供 - SkateSpots',
|
||
seoDescription: 'スケーター、ギア、荷物を運びます — 車、タクシー、バン、バイク、ヘリコプター、飛行機、ボート。自己申告制、コミュニティ審査あり。',
|
||
heading: '輸送 / ドライバー',
|
||
tagline: 'シーンの人とギアを運ぶ — 陸・空・海どこへでも',
|
||
noun: '輸送プロバイダー',
|
||
rateLabel: '料金 / 1回',
|
||
portfolioLabel: '車両・フリートの写真',
|
||
sectionVehicles: '車両',
|
||
sectionServices: 'サービス',
|
||
sectionFeatures: '対応できること',
|
||
sectionCapacity: '定員',
|
||
sectionCoverage: '対応エリア',
|
||
capacityLabel: '定員',
|
||
capacityPlaceholder: '例:乗客4名 / ボード2枚',
|
||
cargoLabel: '荷物スペース',
|
||
cargoPlaceholder: '例:バン1台分、デッキボックス8個',
|
||
coverageLabel: '対応エリア / ルート',
|
||
coveragePlaceholder: '例:バルセロナ ↔ ペルピニャン、地域内',
|
||
availabilityLabel: '稼働時間',
|
||
availabilityPlaceholder: '例:週末、イベント日、オンコール',
|
||
baseLabel: '拠点エリア',
|
||
basePlaceholder: '例:バルセロナ / エル・プラット',
|
||
accessibilityLabel: 'アクセシビリティ',
|
||
accessibilityPlaceholder: '例:スロープ、車いすスペース、介助',
|
||
},
|
||
},
|
||
weatherUi: {
|
||
updated: '更新済み',
|
||
refresh: '更新',
|
||
unavailable: '天気を取得できません。',
|
||
retry: '再試行',
|
||
sunrise: '日の出',
|
||
sunset: '日の入り',
|
||
legendTitle: '天気スコア',
|
||
legendWeatherOnly: '天気のみ',
|
||
},
|
||
cordnUi: {
|
||
shareInvite: '招待',
|
||
shareInviteText: '{{crew}} に参加 — クルーのプライベートチャット',
|
||
inviteCopied: '招待リンクをコピーしました',
|
||
title: 'プライベートチャット',
|
||
subtitle: 'クルーメンバー間のエンドツーエンド暗号化(MLS)。コーディネーターは暗号文とメタデータのみをルーティングし、メッセージの内容を見ることはありません。',
|
||
notLoggedIn: 'クルーのプライベートチャットを使うにはログインしてください。',
|
||
membersOnly: 'クルーメンバーだけがプライベートチャットを開けます。',
|
||
connecting: '接続中…',
|
||
noCoordinator: 'このクルーにはまだコーディネーターが設定されていません。',
|
||
noGroupAdmin: 'このクルーのプライベートチャットはまだ作成されていません。',
|
||
noGroupMember: 'あなたはまだこのクルーのプライベートチャットに参加していません。',
|
||
create: 'プライベートチャットを作成',
|
||
requestJoin: '参加をリクエスト',
|
||
requestAgain: "もう一度リクエスト",
|
||
requestHandled: "リクエストを処理しました",
|
||
copyCordnLink: "Cordnリンクをコピー",
|
||
cordnWebCaveat: "Cordn webはサインイン後に止まることがあります。アプリ内からの参加がより確実です。",
|
||
checkInvite: '招待を確認',
|
||
requested: 'リクエストを送信しました — クルー管理者が承認します。',
|
||
noInvite: 'まだ招待はありません。管理者にリクエストの承認を依頼してください。',
|
||
placeholder: 'クルーにメッセージ…',
|
||
send: '送信',
|
||
refresh: '更新',
|
||
requests: '参加リクエスト',
|
||
checkRequests: 'リクエストを確認',
|
||
approve: '追加',
|
||
approveTitle: "このデバイスを承認しますか?",
|
||
approveDesc: "{{name}} をこの暗号化ルームに追加しますか?そのデバイスは新しいメッセージを読めるようになります。",
|
||
noRequests: '保留中の参加リクエストはありません。',
|
||
inviteHint: '今のところこのチャットにはあなただけです — クルーメンバーは「参加をリクエスト」をタップでき、あなたはここで承認します。',
|
||
memberCount: 'グループ内 {{count}}人',
|
||
you: 'あなた',
|
||
groupRef: 'グループリンク',
|
||
copyRef: 'コピー',
|
||
copied: 'コピーしました',
|
||
attachImage: '画像を添付',
|
||
uploading: 'アップロード中…',
|
||
uploadFailed: '画像をアップロードできませんでした。',
|
||
bannerTitle: 'このクルーにはまだプライベートチャットがありません',
|
||
bannerBody: 'クルーのためにエンドツーエンド暗号化(MLS)チャットを設定しましょう — メンバーはタブから参加します。',
|
||
bannerCta: '設定',
|
||
ready: '接続済み · MLS',
|
||
errorPrefix: 'コーディネーターに接続できませんでした',
|
||
interactiveHint: '署名者は各操作で承認を求めます — 必要に応じて更新と送信を使ってください。',
|
||
setupDevice: "このデバイスを設定",
|
||
setupDeviceBody: "このデバイス専用のキーをプライベートチャットに付与します。創設者が一度承認します。",
|
||
waitingApproval: "創設者の承認を待っています…",
|
||
waitingApprovalManual: "創設者を待っています。承認されたら「招待を確認」をタップしてください。",
|
||
onboardingFounder1: "プライベートチャットを開始しましょう。",
|
||
onboardingFounder2: "参加を希望するメンバーを承認しましょう。",
|
||
onboardingFounder3: "クルーとプライベートにチャットしましょう。",
|
||
onboardingMember1: '参加をリクエスト',
|
||
onboardingMember2: "創設者があなたのデバイスを承認します。",
|
||
onboardingMember3: "参加しました — メッセージは暗号化されています。",
|
||
encryptedNote: "読めるのはクルーメンバーだけです。コーディネーターは暗号化されたメッセージを中継するだけです。",
|
||
advanced: "詳細設定",
|
||
compareTitle: "チャットとプライベートチャット",
|
||
compareChat: "チャットは標準的な NIP-17 のグループDMです。他の Nostr クライアントとも動作し、コーディネーターは存在しません。",
|
||
comparePrivate: "プライベートチャットは MLS を使用し、メンバー管理がより強固で、前方秘匿性を備えています。コーディネーターはグループのメタデータと暗号文を目にしますが、メッセージ本文を見ることはありません。",
|
||
coordinator: "コーディネーター",
|
||
lastChecked: "最終確認",
|
||
keyPackage: "キーパッケージ",
|
||
keyPackageReady: "このデバイスで準備完了",
|
||
keyPackageMissing: "このデバイスでは未設定",
|
||
members: "メンバー",
|
||
roleFounder: "創設者",
|
||
roleAdmin: "管理者",
|
||
makeAdmin: "管理者にする",
|
||
removeAdmin: "管理者を解除",
|
||
adminAdded: "メンバーを管理者にしました。",
|
||
adminRemoved: "管理者権限を解除しました。",
|
||
roleUpdateFailed: "役割を更新できませんでした。もう一度お試しください。",
|
||
addReaction: "リアクションを追加",
|
||
deleteMessage: "メッセージを削除",
|
||
deleteMessageConfirm: "このメッセージを全員から削除しますか?",
|
||
readBy: "{{count}}人が既読",
|
||
joinRequestTitle: "プライベートチャットのリクエスト",
|
||
joinRequestFor: "{{crew}}への参加リクエスト",
|
||
joinRequestReview: "リクエストを確認",
|
||
joinRequestDismiss: "リクエストを却下",
|
||
roleMember: "メンバー",
|
||
qrTitle: "スキャンしてプライベートチャットに参加",
|
||
qrHint: "クルーメンバーがスマートフォンのカメラでスキャンします。リンクからプライベートチャットタブが開きます。",
|
||
sendFailed: "送信できませんでした — 「再試行」をタップしてください。",
|
||
queued: "このデバイスで待機中",
|
||
sending: "送信中…",
|
||
sent: "送信済み",
|
||
retry: "再試行",
|
||
errorUnreachable: "プライベートチャットに接続できませんでした。接続を確認してください。",
|
||
errorDetails: "詳細",
|
||
unreachable: "接続不可",
|
||
dismiss: "閉じる",
|
||
linkDevice: "このデバイスをリンク",
|
||
linkDeviceTitle: "別のデバイスをリンク",
|
||
linkDeviceHint: "すでにルームに参加しているデバイスでこのコードをスキャンしてください。",
|
||
linkDeviceNote: "コードには公開鍵パッケージが含まれます。秘密鍵は新しいデバイスに残ります。",
|
||
waitingDevice: "もう一方のデバイスを待っています…",
|
||
addDevice: "デバイスを追加",
|
||
deviceLinked: "デバイスを追加しました。",
|
||
deviceLinkFailed: "そのデバイスを追加できませんでした。",
|
||
removeMemberConfirm: "{{name}} をプライベートチャットから削除しますか?そのデバイスはアクセスできなくなります。",
|
||
removeMemberFailed: "そのメンバーを削除できませんでした。",
|
||
reply: "返信",
|
||
},
|
||
communityUi: {
|
||
link: "コミュニティ",
|
||
title: "コミュニティチャット",
|
||
subtitle: "質問したり、フィードバックを共有したり、SkateSpots コミュニティと話しましょう — エンドツーエンド暗号化。",
|
||
heading: "SkateSpots コミュニティ",
|
||
eyebrow: "質問とフィードバック",
|
||
seoTitle: "SkateSpots コミュニティチャット",
|
||
seoDescription: "質問、フィードバック、コミュニティの会話 — エンドツーエンド暗号化。",
|
||
notLoggedIn: "コミュニティチャットに参加するにはログインしてください。",
|
||
noGroupAdmin: "コミュニティルームはまだ作成されていません。",
|
||
noGroupMember: "あなたはまだコミュニティルームに参加していません。",
|
||
waitingApproval: "コミュニティボットまたは管理者の承認を待っています…",
|
||
waitingApprovalManual: "手動モードです。承認されたら「招待を確認」をタップしてください。",
|
||
noInvite: "まだ招待がありません。ボットは通常1分以内に承認します。その後で「招待を確認」をタップしてください。",
|
||
pendingRequests: "参加リクエスト {{count}} 件が待機中",
|
||
pendingRequestsDesc: "ボットは通常自動で承認します。止まっている場合は、下のルームを開いて「リクエストを確認」をタップしてください。",
|
||
botMissing: "コミュニティボットが現在このルームにいないため、管理者が参加リクエストを確認します。",
|
||
secondDeviceHint: "別のデバイスで既にメンバーですか?直接引き継ぐには「このデバイスをリンク」を使うか、このデバイスで改めて参加をリクエストしてください。",
|
||
create: "コミュニティルームを作成",
|
||
setupDeviceBody: "このデバイスにコミュニティルームの鍵を付与します。管理者またはボットが一度だけ承認します。",
|
||
onboardingFounder1: "コミュニティルームを作成します。",
|
||
onboardingFounder2: "コミュニティボットと新しいメンバーを承認します。",
|
||
onboardingFounder3: "質問に答え、フィードバックを集めます。",
|
||
onboardingMember1: "コミュニティルームへの参加をリクエストします。",
|
||
onboardingMember2: "管理者またはコミュニティボットがあなたのデバイスを承認します。",
|
||
onboardingMember3: "質問したり、フィードバックを共有したり、あいさつするだけでもどうぞ。",
|
||
encryptedNote: "ルームのメンバーだけが読めます。コーディネーターは暗号化されたメッセージを中継するだけです。",
|
||
shareInviteText: "SkateSpots コミュニティチャットに参加",
|
||
qrTitle: "スキャンしてコミュニティチャットに参加",
|
||
qrHint: "スマートフォンのカメラでスキャンして、コミュニティチャットを開き参加をリクエストします。",
|
||
owner: "オーナー",
|
||
botName: "コミュニティボット",
|
||
howItWorks: "新しいデバイスは管理者またはコミュニティボットが一度だけ承認します。参加前に送られたメッセージは表示されません。",
|
||
feedbackNote: "質問もフィードバックも歓迎です。みんなのルームなので、やさしくお願いします。",
|
||
},
|
||
translateUi: {
|
||
title: 'メッセージの翻訳',
|
||
translate: '翻訳',
|
||
translating: '翻訳中…',
|
||
showOriginal: '原文を表示',
|
||
showTranslation: '翻訳を表示',
|
||
translatedFrom: '{{language}} から翻訳',
|
||
failed: '翻訳に失敗しました。もう一度お試しください。',
|
||
unsupported: 'この言語ペアはまだ利用できません。',
|
||
pilotNote: 'パイロット:英語 ↔ スペイン語のみ。',
|
||
autoTranslate: 'メッセージを自動翻訳',
|
||
autoTranslateDesc: '受信メッセージをあなたの言語に翻訳します。このデバイス上で動作し、何も送信されません。',
|
||
privacy: '翻訳はお使いのデバイス上で実行されます。メッセージが外部に送られることはありません。初回利用時に言語モデルをダウンロードします。',
|
||
},
|
||
newsletterDraftUi: {
|
||
weeklyDraftReady: '週間下書きの準備ができました',
|
||
loadDraft: '下書きを読み込む',
|
||
hidePreview: 'プレビューを隠す',
|
||
untitled: '無題',
|
||
},
|
||
signerPromptUi: {
|
||
title: "Amber のプロンプト予算",
|
||
body: "Amber は署名付きの操作ごとに承認を求めます。読み取りとバックグラウンドの復号はローカルで行われ、プロンプトは表示されません。グループ DM の送信は受信者ごとに 1 回(暗号化 + 署名)確認し、Cordn はコーディネーターのリクエストごとに確認することがあります。頻繁なプライベートチャットやクルーチャットなら、バンカーかローカルキーの方が静かです。",
|
||
bunker: "高価値な署名には Amber を使い、長いチャットが予想されるときはバンカーに切り替えてください。",
|
||
},
|
||
globalSearchUi: {
|
||
open: "検索",
|
||
placeholder: "スポット、クルー、イベント、ギアを検索…",
|
||
hint: "⌘K / Ctrl+K",
|
||
recent: "最近",
|
||
pages: "ページ",
|
||
spots: "スポット",
|
||
shops: "ショップ",
|
||
crews: "クルー",
|
||
events: "イベント",
|
||
gear: "ギア",
|
||
skaters: "スケーター",
|
||
signers: "署名器",
|
||
trust: "信頼",
|
||
noResults: "「{{query}}」の結果はありません。",
|
||
},
|
||
marketplaceExtrasUi: {
|
||
savedSearches: "保存した検索",
|
||
saveSearch: "検索を保存",
|
||
searchName: "この検索に名前を付ける…",
|
||
deleteSearch: "保存した検索を削除",
|
||
safetyTitle: "安全に売買する",
|
||
safetyMeet: "人目のある場所で待ち合わせ、支払う前にギアを確認しましょう。",
|
||
safetyKeys: "シードフレーズや秘密鍵は絶対に共有しないでください。取引はアプリ内チャットで進めましょう。",
|
||
safetyEscrow: "発送の取引では、まずエスクローの条件を読んでください。Cashu エスクローはネイティブアプリ専用で、未検証です。",
|
||
safetyMore: "マーケットプレイスのガイドラインを読む",
|
||
offerTemplates: "クイックメモ",
|
||
offerDiscount: "10% オフにできますか?",
|
||
offerSwap: "交換は検討できますか?",
|
||
offerPickup: "今週中に受け取れます。",
|
||
offerShipping: "送料をまとめられますか?",
|
||
},
|
||
placesUi: {
|
||
eventDetail: {
|
||
eventPass: "イベントパス"
|
||
},
|
||
},
|
||
};
|
||
|
||
export default drift;
|