775 lines
47 KiB
TypeScript
775 lines
47 KiB
TypeScript
/**
|
||
* Japanese (日本語) — batch 9: social UI (socialUi) — the crew agent, notification
|
||
* bell, crew chat, DMs, contacts, collectives, coordinators, crew create/edit,
|
||
* invites, joins, vouches, treasury and crew video.
|
||
*
|
||
* Skate/brand vocabulary stays English or katakana (クルー, スポット, DM, Stash,
|
||
* The Lab, Nostr, Lightning, Zap, リレー, sats, NWC, NIP-05); all trick names stay
|
||
* English. `{{placeholders}}` are preserved verbatim.
|
||
*/
|
||
const jaBatch9 = {
|
||
socialUi: {
|
||
agentPanel: {
|
||
spot: 'スポット',
|
||
event: 'イベント',
|
||
labPro: 'Labプロ',
|
||
gear: 'ギア',
|
||
crew: 'クルー',
|
||
description: 'このクルーのジャム、メンバー、オープンコールを把握し、さらに広いシーンのライブデータも知っています。',
|
||
greeting: 'よう! クルー「{{crew}}」のガイド、Sasquatchだ。クルーのこと——次のジャム、誰が仕切っているか、何を募集しているか——や、広いシーンのことを聞いてくれ。',
|
||
suggestion1: '次のジャムはいつ?',
|
||
suggestion2: 'このクルーは誰が仕切っている?',
|
||
suggestion3: '何を募集しているの?',
|
||
suggestion4: '近くのベストスポットは?',
|
||
suggestion5: 'スケートするのに天気は?',
|
||
thinking: 'Sasquatchが考え中…',
|
||
placeholder: '地元のシーンについて質問…',
|
||
disclaimer: 'AIは間違えることがあります — リンクは実際のリスティングに飛びます。',
|
||
},
|
||
badge: {
|
||
upcomingOne: '{{count}} 件のイベント開催予定',
|
||
upcomingMany: '{{count}} 件のイベント開催予定',
|
||
comingOne: '{{count}} 件のイベントが近日開催',
|
||
comingMany: '{{count}} 件のイベントが近日開催',
|
||
},
|
||
bell: {
|
||
youAreIn: '{{crew}} に入ったよ! 🛹',
|
||
membershipConfirmed: 'メンバー登録を確認しました。',
|
||
couldNotConfirm: '確認できませんでした',
|
||
addedYouTo: 'あなたを追加しました:',
|
||
confirmToAppear: 'メンバーとして表示するには確認してください。',
|
||
notifications: '通知',
|
||
notificationsNew: '通知(新着 {{count}} 件)',
|
||
unreadCount: '未読の通知 {{count}} 件',
|
||
markRead: '既読にする',
|
||
allClear: 'すべて確認済み',
|
||
tabAll: 'すべて',
|
||
tabTrades: '取引',
|
||
tabSocial: 'ソーシャル',
|
||
tabNews: 'ニュース',
|
||
tabCrews: 'クルー',
|
||
checkingUpdates: '更新を確認中…',
|
||
checkingTrades: 'オファーと取引を確認中…',
|
||
loadingDrops: '最新の配信を読み込み中…',
|
||
emptyAll: 'オファー、取引、Zap、返信、ニュースレターの配信、クルーのアクティビティがここに表示されます。',
|
||
emptyTrades: 'オファー、カウンターオファー、取引の確認はすべてここに届きます — 売る、買う、交換する、どれでも。',
|
||
emptySocial: 'Zap、リアクション、リポスト、メンション、返信、イベントのRSVP、ホストの更新がここに届きます。',
|
||
emptyNews: 'SkateSpotsのニュースレター配信はここに届きます。ニュースレターのページで購読してください。',
|
||
emptyCrews: 'クルーの招待、コレクティブの申請、メンバー申請がここに表示されます。',
|
||
subscribeBanner: '購読して新しい配信をベルで受け取ろう',
|
||
read: '既読',
|
||
allCaughtUp: 'すべて確認済みです',
|
||
},
|
||
chat: {
|
||
hidden: '非表示',
|
||
hideMessageAria: 'このメッセージを非表示にする',
|
||
hideMessageTitle: 'メッセージを非表示(管理者)',
|
||
messageHidden: 'メッセージを非表示にしました',
|
||
messageHiddenDesc: '全員のクルーチャットから非表示にしました。',
|
||
messageHideFailed: 'メッセージを非表示にできませんでした',
|
||
encryptionUnavailable: '暗号化を利用できません',
|
||
encryptionUnavailableDesc: 'あなたの署名アプリはNIP-44暗号化に対応していません。拡張機能を更新してください。',
|
||
messageFailed: 'メッセージ送信に失敗',
|
||
couldNotSend: 'メッセージを送信できませんでした。',
|
||
noOneToMessage: 'まだメッセージを送る相手がいません',
|
||
noOneToMessageDesc: 'このクルーにはチャットできる他のメンバーがいません。',
|
||
subject: '{{crew}} のクルーチャット',
|
||
title: 'クルーチャット',
|
||
cordnBadgeTitle: 'ContextVM経由でこのクルーのCordnコーディネーターを通して配信。エンドツーエンド暗号化。',
|
||
private: 'プライベート',
|
||
privateBadgeTitle: 'エンドツーエンド暗号化 — クルーのメンバーだけがこのメッセージを読めます。',
|
||
encryptedCordn: '暗号化され、クルーのコーディネーター(Cordn)経由で配信 — メッセージが公開リレーに流れることはありません。',
|
||
encryptedNip17: '創設者と登録メンバー全員のための暗号化グループチャット。',
|
||
moderatorNote: ' モデレーターとして、クルーからメッセージを非表示にできます。',
|
||
loginToSee: 'ログインしてクルーチャットに参加できるか確認しましょう。',
|
||
membersOnly: 'このチャットはクルーのメンバー限定です。会話に参加するには創設者にクルーへの追加を依頼してください。',
|
||
noMessages: 'まだメッセージはありません。クルーチャットを始めよう — セッションを計画し、スポットを共有し、クリップを盛り上げよう。',
|
||
newMessages: '新着メッセージ',
|
||
new: '新着',
|
||
placeholder: 'クルーにメッセージ…',
|
||
sendAria: 'メッセージを送信',
|
||
},
|
||
collectiveJoinRequest: {
|
||
addedTitle: '{{name}} を {{collective}} に追加しました 🛹',
|
||
addedDesc: '本人が確認すると、認証済みメンバーとして表示されます。',
|
||
couldNotAdd: 'メンバーを追加できませんでした',
|
||
couldNotDismiss: '却下できませんでした',
|
||
addedDone: '追加:',
|
||
addedTo: '→',
|
||
dismissedDone: '{{name}} からの申請を却下しました',
|
||
wantsToJoin: '参加を希望しています',
|
||
alreadyOnRoster: 'すでに名簿にいます',
|
||
openCollective: 'コレクティブを開く',
|
||
dismiss: '却下',
|
||
addToCollective: 'コレクティブに追加',
|
||
},
|
||
collectiveMembers: {
|
||
confirmed: '確認済み',
|
||
pending: '保留中',
|
||
pendingTooltip: 'コレクティブが登録 — このメンバーの確認待ちです。',
|
||
crewOnly: 'クルー限定',
|
||
crewOnlyTooltip: 'このメンバーはクルーの仲間にだけ表示される設定にしています。あなたがクルーに入っているので見えています。',
|
||
hiddenMember: '非表示のメンバー',
|
||
title: 'メンバー',
|
||
verifiedOf: '{{total}} 人中 {{confirmed}} 人が認証済み — 各メンバーが自分のNostrキーで署名して確認しています。',
|
||
verifiedPerMember: 'メンバーは1人ずつ認証されます。各メンバーが自分のNostrキーで確認します。',
|
||
adminsOne: '{{count}} 人の管理者がクルーの運営を支えています。',
|
||
adminsMany: '{{count}} 人の管理者がクルーの運営を支えています。',
|
||
},
|
||
confirmMembership: {
|
||
public: '公開',
|
||
crewOnly: 'クルー限定',
|
||
confirmedTitle: 'メンバー登録を確認しました!',
|
||
confirmedCrew: '{{name}} で認証されました — クルーの仲間にだけ表示されます。',
|
||
confirmedPublic: '{{name}} の認証済みメンバーとして表示されるようになりました。',
|
||
failed: '確認に失敗しました',
|
||
addedTo: '{{name}} に追加されました',
|
||
addedDesc: 'プロフィールと相手側で認証済みとして表示されるよう、メンバー登録を確認してください。',
|
||
yourVisibility: '公開範囲',
|
||
confirming: '確認中…',
|
||
confirmButton: 'メンバー登録を確認',
|
||
},
|
||
contacts: {
|
||
message: 'メッセージ',
|
||
removePrivate: 'プライベート連絡先から削除',
|
||
savePrivate: 'プライベート連絡先に保存',
|
||
seoTitle: '連絡先 - SkateSpots',
|
||
seoDescription: 'あなたのシーン — クルーの仲間、フォロー中の人、最近の会話。プライベートで暗号化された連絡先。',
|
||
encryptionUnavailableDesc: 'あなたの署名アプリはNIP-44暗号化に対応していません。',
|
||
removed: 'プライベート連絡先から削除しました',
|
||
saved: 'プライベート連絡先に保存しました',
|
||
savedDesc: 'このリストはあなただけが見られます。',
|
||
updateFailed: '連絡先を更新できませんでした',
|
||
loginTitle: 'あなたのシーンを一か所に',
|
||
loginDesc: 'ログインすると、クルーの仲間、フォロー中の人、最近の会話を確認でき、プライベートで暗号化された連絡先リストを保てます。',
|
||
title: '連絡先',
|
||
subtitle: 'あなたのシーン — クルーの仲間、フォロー、会話',
|
||
filterPlaceholder: 'npubで絞り込み…',
|
||
tabCrew: 'クルー',
|
||
tabFollows: 'フォロー',
|
||
tabDms: 'DM',
|
||
tabSaved: '保存済み',
|
||
emptyCrewmates: 'まだクルーの仲間がいません。クルーに参加するか立ち上げて、シーンのネットワークを作ろう。',
|
||
emptyFollowing: 'まだ誰もフォローしていません。',
|
||
emptyDms: 'まだ会話がありません。スケーターにメッセージを送って始めよう。',
|
||
savedHint: 'このリストはあなたのキーで暗号化されています — あなただけが読めます。追加したい人の星をタップしてください。',
|
||
emptySaved: '保存した連絡先はまだありません。各タブで星を付けて、自分だけのアドレス帳を作ろう。',
|
||
},
|
||
conversation: {
|
||
unknown: '不明',
|
||
seoTitle: '{{name}} とのチャット - SkateSpots',
|
||
seoDescription: 'プライベートな暗号化会話',
|
||
sendFailed: 'メッセージの送信に失敗しました',
|
||
sendFailedDesc: '少ししてからもう一度お試しください。',
|
||
tradeConfirmed: '取引を確認しました',
|
||
tradeConfirmedDesc: 'お互いの評価を更新しました。',
|
||
tradeConfirmFailed: '取引を確認できませんでした',
|
||
somethingWrong: '問題が発生しました。',
|
||
soldNote: '{{name}} に売却。',
|
||
saleConfirmed: '売却を確認しました',
|
||
saleConfirmedDesc: '{{name}} が自分の側を確認できるようになりました。',
|
||
saleConfirmFailed: '売却を確認できませんでした',
|
||
escrowRedeemed: 'エスクローを引き出しました',
|
||
escrowRedeemedDesc: '資金があなたのCashuウォレットに入りました。',
|
||
escrowRedeemFailed: 'エスクローを引き出せませんでした',
|
||
loginTitle: 'ログインしてメッセージを表示',
|
||
secureLoginTitle: '安全なログインが必要です',
|
||
secureLoginDesc: 'メッセージには安全な署名アプリが必要です。',
|
||
encrypted: '暗号化済み',
|
||
refresh: '更新',
|
||
didCompleteTrade: 'この取引は完了しましたか?',
|
||
recordedSale: '{{name}} が売却を記録しました。確認するとお互いの評価が更新されます。',
|
||
confirm: '確認',
|
||
confirmSale: 'この売却を確認しますか?',
|
||
askedToRecord: '{{name}} が記録を依頼しました。確認するとお互いの評価が積み上がります。',
|
||
confirmSaleButton: '売却を確認',
|
||
redeemEscrow: 'エスクローを引き出す',
|
||
escrowAppOnly: 'Cashuエスクローはアプリ専用です — スマホでSkateSpotsを開いて引き出してください。',
|
||
startThread: 'メッセージを送って会話を始めよう',
|
||
placeholder: 'メッセージを入力...',
|
||
e2eeNote: 'メッセージはNIP-17でエンドツーエンド暗号化されています',
|
||
},
|
||
coordinator: {
|
||
secondsAgo: '{{count}} 秒前',
|
||
minutesAgo: '{{count}} 分前',
|
||
hoursAgo: '{{count}} 時間前',
|
||
daysAgo: '{{count}} 日前',
|
||
statusIdle: '未確認',
|
||
statusChecking: '確認中…',
|
||
statusOnline: '接続済み',
|
||
statusStale: '静か',
|
||
statusOffline: '未確認',
|
||
statusError: '到達不可',
|
||
notACoordinator: 'これはコーディネーターではありません',
|
||
notACoordinatorDesc: 'nprofile、npub、またはcordn.netのリンクを貼り付けてください。',
|
||
added: 'コーディネーターを追加しました',
|
||
relayOne: '{{count}} リレー',
|
||
relayMany: '{{count}} リレー',
|
||
lastSeen: '最終確認 {{time}}',
|
||
onlineDesc: 'アナウンス中。これを使うグループは今すぐメッセージを配信できます。',
|
||
staleDesc: '見つかりましたが、最近アナウンスしていません — スリープ中の可能性があります。',
|
||
offlineDesc: 'アナウンスが見つかりません。プライベート(それで問題ありません)か、単にオフラインかもしれません。',
|
||
errorDesc: 'リレーに到達できませんでした。',
|
||
idleDesc: '確認中…',
|
||
checkingDesc: 'アナウンスを探しています…',
|
||
eventFoundOne: '{{count}} 件のイベントが見つかりました。',
|
||
eventFoundMany: '{{count}} 件のイベントが見つかりました。',
|
||
check: '確認',
|
||
addLinkCopied: '追加リンクをコピーしました',
|
||
copyFailed: 'コピーに失敗',
|
||
copyManually: '手動でコピーしてください。',
|
||
addLink: 'リンクを追加',
|
||
removeConfirm: 'このコーディネーターをこの端末から削除しますか?',
|
||
scanToJoin: 'Cordnでスキャンしてこのコーディネーターに参加。',
|
||
noCoordinator: 'まだコーディネーターがありません',
|
||
noCoordinatorDescA: 'コーディネーターはあなたのクルーの',
|
||
encryptedWord: '暗号化された',
|
||
noCoordinatorDescB: 'グループメッセージを順番に配信します。誰が、いつ、どのグループかは見えますが、中身は決して見ません。1つ選ぶか、自分で運用しましょう。',
|
||
change: 'コーディネーターを変更',
|
||
addTitle: 'コーディネーターを追加',
|
||
add: '追加',
|
||
scanQR: 'コーディネーターのQRをスキャン',
|
||
inputPlaceholder: 'nprofile… または cordn.net のリンク',
|
||
runOwn: '自分で運用する',
|
||
runOwnDesc: '古いスマホ、Raspberry Pi、通電したままの小さな端末で動かせます。起動している間はグループが動き続け、好きなタイミングでグループを移せます。',
|
||
onPhone: 'スマホで',
|
||
onPhoneDesc: 'Cordnコーディネーターアプリを使い、そのQRをここでスキャンして追加します。',
|
||
openCordn: 'Cordnを開く',
|
||
scanItsQR: 'QRをスキャン',
|
||
onServer: 'サーバーで',
|
||
commandCopied: 'コマンドをコピーしました',
|
||
copyCommand: 'コマンドをコピー',
|
||
androidSleep: 'Androidはスマホのコーディネーターをスリープさせることがあります。時々グループを移すことを想定してください。',
|
||
privacyNote: '🔒 コーディネーターは暗号文とメタデータだけを見ます — メッセージの中身は決して見ません。自分で運用すればメタデータさえ自分のものにできます。',
|
||
customTitle: 'カスタムチャットコーディネーター',
|
||
customBadge: '・実験的・自分のリレー',
|
||
customDescShort: '任意 — あなたのクルーにはすでにエンドツーエンド暗号化チャットが組み込まれているので、これは不要です。自分で運用する場合だけ設定してください',
|
||
remove: '削除',
|
||
pointerNote: '今のところポインタのみ:wss:// のエンドポイントはクルーのチャットリレーとして使われ、https:// のものは共有ContextVMリレー経由で使われます。本物のCordn MLSはまだ接続されていません。',
|
||
cordnCoordinator: 'Cordnコーディネーター',
|
||
invalid: 'コーディネーターには見えません。nprofile、cordn.netのリンク、またはhttps/wssのURLを貼り付けてください。',
|
||
useMine: '自分のコーディネーターを使う',
|
||
},
|
||
createCrew: {
|
||
seoTitle: 'クルーを作成 - SkateSpots',
|
||
seoDescription: 'あなたのスケートクルーを作成 — ホーム、メンバー、スポット。',
|
||
loginRequired: 'ログインが必要です',
|
||
loginRequiredDesc: 'クルーを作成するにはログインが必要です。',
|
||
backToCrews: 'クルー一覧に戻る',
|
||
title: 'クルーを作成',
|
||
intro: 'あなたのスケートファミリー — 一緒に滑る仲間。名前だけで始められ、ほかはすべて任意です。',
|
||
},
|
||
crew: {
|
||
seoTitleNamed: '{{name}} - SkateSpotsクルー',
|
||
seoTitle: 'クルー - SkateSpots',
|
||
seoDescription: 'SkateSpotsのスケートクルー。',
|
||
postHidden: '投稿を非表示にしました',
|
||
postHiddenDesc: '全員のクルーフィードから削除しました。',
|
||
postHideFailed: '投稿を非表示にできませんでした',
|
||
backToCrews: 'クルー一覧に戻る',
|
||
disband: '解散',
|
||
youAreCaptain: 'あなたはキャプテンです',
|
||
member: 'メンバー',
|
||
askSasquatch: 'Sasquatchに聞く',
|
||
agent: 'クルーエージェント',
|
||
agentDesc: 'あなたのクルーのAIガイド — 近くのスポット、イベント、コーチ、ギアをライブデータで。',
|
||
eventsTab: 'イベント',
|
||
chatTab: 'チャット',
|
||
newMessages: '新着メッセージ',
|
||
hostJam: 'ジャムを主催',
|
||
noEvents: 'まだクルーのイベントがありません。クルーとしてジャム、コンペ、ミートアップを主催しましょう — イベントカレンダーにつながり、Zapも受け取れます。',
|
||
support: 'サポート',
|
||
zapCrew: 'クルーにZap',
|
||
bandTitle: 'クルーバンド',
|
||
bandTagline: 'ライブ音楽 · スケート&サウンド',
|
||
listenTitle: '聴く:{{domain}}',
|
||
listen: '曲を聴く',
|
||
setUpGig: 'ギグを設定',
|
||
bookGigMessage: '{{crew}} のみんな — {{band}} のギグ出演を依頼したい。日程の相談できる?',
|
||
messageAboutGig: 'ギグについて連絡',
|
||
gigHintA: 'このクルーが主催する音楽イベントをカレンダーに追加します。',
|
||
messageShort: 'メッセージ',
|
||
gigHintB: '日程や詳細を詰めるため、クルーへの暗号化DMを開きます。',
|
||
homeSpots: 'ホームスポット',
|
||
viewSpot: 'スポットを見る',
|
||
seeOnMap: '地図で見る →',
|
||
founderLinks: '創設者とリンク',
|
||
startedBy: '{{name}} が開始',
|
||
opens: '開く:{{domain}}',
|
||
},
|
||
crews: {
|
||
seoTitle: 'クルー - SkateSpots',
|
||
seoDescription: '仲間を見つけよう。近くのスケートクルー、コレクティブ、コミュニティを発見。',
|
||
videoPartTooltip: 'このクルーにはビデオパートがあります',
|
||
part: 'パート',
|
||
bandTooltip: 'クルーバンド:{{name}}',
|
||
band: 'バンド',
|
||
focusAll: 'すべて',
|
||
focusAllShort: 'すべて',
|
||
focusDiy: 'DIY',
|
||
focusPhoto: '写真',
|
||
focusCoaching: 'コーチング',
|
||
focusArt: 'アート',
|
||
focusMusic: '音楽',
|
||
focusPhysio: '理学療法',
|
||
focusMixed: 'ミックス',
|
||
title: 'クルー',
|
||
heroLine: '地図に根ざしたあなたのスケートファミリー — 一緒に滑る',
|
||
heroWith: '仲間',
|
||
heroRest: 'であり、雇う相手ではありません(それはThe Lab)。',
|
||
crewCountOne: '{{count}} クルー',
|
||
crewCountMany: '{{count}} クルー',
|
||
cityCountOne: '{{count}} 都市',
|
||
cityCountMany: '{{count}} 都市',
|
||
createCrew: 'クルーを作成',
|
||
create: '作成',
|
||
searchPlaceholder: '名前か都市でクルーを検索…',
|
||
filterTitle: 'クルーを絞り込む',
|
||
filterDesc: 'クルーが何に打ち込んでいるか。',
|
||
nearMe: '近く',
|
||
emptySearchTitle: '検索に一致するクルーがありません',
|
||
emptySearchHint: '「{{query}}」に何も見つかりませんでした。別の名前か都市を試してください。',
|
||
clearSearch: '検索をクリア',
|
||
emptyFocusTitle: '{{label}}のクルーはまだありません',
|
||
emptyFocusHint: 'ここで「{{label}}」の旗を掲げる人はまだいません。すべてのクルーを表示するか、自分で立ち上げましょう。',
|
||
showAll: 'すべてのクルーを表示',
|
||
claimTitle: '地元のシーンを名乗ろう',
|
||
claimHint: 'ここにはまだクルーがありません。最初の一人になろう — クルーを立ち上げ、ホームスポットをひも付け、あなたのシーンを地図に載せてみんなに見つけてもらいましょう。',
|
||
},
|
||
crewCoordinator: {
|
||
privateChat: 'プライベートクルーチャット',
|
||
on: 'オン',
|
||
defaultA: 'この',
|
||
chatWord: 'チャット',
|
||
defaultB: 'タブは',
|
||
e2ee: 'エンドツーエンド暗号化',
|
||
defaultC: '創設者と登録メンバー全員のためのもので、設定は不要です。メッセージは各メンバーのキーで封をされ(NIP-17)、あなたのクルーだけが読めます。',
|
||
advancedA: '上級:自分で運用する',
|
||
cordnCoordinator: 'Cordnコーディネーター',
|
||
routeThrough: 'これを通してチャットを配信',
|
||
coordinator: 'コーディネーター',
|
||
deliveredOver: '配信経路',
|
||
sharedRelay: '— 共有ContextVMリレー。',
|
||
ownRelay: '— あなたのクルー専用リレー。',
|
||
chatLive: 'プライベートチャットは稼働中',
|
||
routesA: 'この',
|
||
routesB: 'タブはこのコーディネーターを通して配信されます:メッセージはエンドツーエンド暗号化(NIP-44、各メンバー宛てに封)なので、コーディネーターは封をされた通信だけを扱います。',
|
||
publicWarning: '注意:これは共有ContextVMリレー経由で宛先指定されるため、暗号文とそのメタデータ(どのクルーが、いつ)は公開で見えます — ただし読めはしません。さらにプライベートに保つには、クルーをプライベートなwss://リレーに向けてください。',
|
||
ownRelaySafe: 'あなたのクルー専用リレーからクルー固有の情報は出ていきません。',
|
||
manage: 'コーディネーターを管理',
|
||
open: '{{domain}} を開く',
|
||
runBy: 'コーディネーターの運用者',
|
||
},
|
||
dms: {
|
||
securityReminder: 'セキュリティの注意',
|
||
phishingStrong: 'SkateSpotsがDMで連絡することはありません',
|
||
phishingRest: 'アカウント確認、キーの共有、支払いを求めることはありません。DMでSkateSpotsサポートを名乗る人がいたら — 詐欺です。',
|
||
dismissReminder: 'セキュリティの注意を閉じる',
|
||
peopleCount: '{{count}} 人',
|
||
youPrefix: 'あなた:',
|
||
unreadMessages: '未読メッセージ',
|
||
seoTitle: 'メッセージ - SkateSpots',
|
||
seoDescription: 'スケートボードコミュニティとのプライベートな暗号化メッセージ',
|
||
loginTitle: 'ログインしてメッセージにアクセス',
|
||
loginDesc: 'コミュニティのスケーターとのプライベートで暗号化されたメッセージング',
|
||
secureLoginTitle: '安全なログインが必要です',
|
||
secureLoginDesc: 'プライベートメッセージの暗号化には安全な署名アプリが必要です。',
|
||
onAndroid: 'Androidの場合:',
|
||
useAmber: 'Amberアプリを使う',
|
||
getAmber: 'Amberを入手 →',
|
||
onIOS: 'iOSの場合:',
|
||
iosHint: '設定からバンカー接続(nsec.app)でログインを試してください',
|
||
browserHint: '暗号化に対応したAlbyやnos2xなどのブラウザ拡張でログインを試してください。',
|
||
title: 'メッセージ',
|
||
subtitleFull: 'NIP-17でエンドツーエンド暗号化',
|
||
subtitleShort: '暗号化済み',
|
||
newMessage: '新規メッセージ',
|
||
groups: 'グループ',
|
||
loadFailed: 'メッセージの読み込みに失敗しました',
|
||
emptyTitle: 'まだメッセージがありません',
|
||
emptyDesc: 'コミュニティの誰かと会話を始めよう',
|
||
startConversation: '会話を始める',
|
||
undecryptableOne: '{{count}} 件の暗号化メッセージを署名アプリが開けませんでした。',
|
||
undecryptableMany: '{{count}} 件の暗号化メッセージを署名アプリが開けませんでした。',
|
||
},
|
||
editCrew: {
|
||
seoTitleNamed: '{{name}} を編集 - SkateSpots',
|
||
seoTitle: 'クルーを編集 - SkateSpots',
|
||
seoDescription: 'あなたのスケートクルーを編集。',
|
||
loginRequired: 'ログインが必要です',
|
||
notYours: 'あなたのクルーではありません',
|
||
notYoursDesc: 'このクルーを編集できるのはクルーの創設者だけです。',
|
||
backToCrew: 'クルーに戻る',
|
||
title: 'クルーを編集',
|
||
},
|
||
form: {
|
||
add: '追加',
|
||
added: '追加済み',
|
||
addNameInBasicsA: 'クルー名を「',
|
||
addNameInBasicsB: '」で追加して完了しましょう。',
|
||
adminsDescA: '信頼できるメンバーを',
|
||
adminsWord: '管理者',
|
||
adminsDescB: 'にしましょう — 自分のキーでメンバーを招待し、クルーのフィードとチャットをモデレートできます。あなた(創設者)は常にクルーのアイデンティティのオーナーです。',
|
||
agentDescA: 'クルーに',
|
||
agentDescB: 'というAIガイドを追加します。クルーのことを本当に知っていて、メンバーが',
|
||
agentDescC: 'について尋ねられます — さらにSkateSpotsのライブデータから近くのスポット、イベント、コーチ、ギアも。ブラウザ内で動作し、キーも設定も不要。まだ初期段階です(無料枠のAIなので時々遅くなります)。',
|
||
agentDescStrong: '次のジャム、クルーの仕切り役、募集内容、雰囲気',
|
||
agentEnabledNote: '保存するとSasquatchがクルーページに表示されます。',
|
||
bandDesc: 'バンドをやっていますか? スケートシーンと地元の音楽は切っても切れません — バンド名と曲のリンクを登録しましょう。',
|
||
bandFooterA: 'バンドの完全なプロフィール(ジャンル、楽器、ギグ)を作るには、The Labで',
|
||
musicianWord: 'ミュージシャン',
|
||
bandFooterB: 'を作成し、上の',
|
||
linkedLabWord: 'リンク済みLabプロフィール',
|
||
bandFooterC: 'セクションでひも付けてください。',
|
||
bandMusicWord: 'バンド&音楽',
|
||
bandName: 'バンド名',
|
||
bandNamePlaceholder: '例:The Bail Outs',
|
||
bandNudgeA: 'バンドをやっているなら、タップして',
|
||
crewTypeWord: 'クルータイプ',
|
||
bandNudgeB: 'を',
|
||
bandNudgeC: 'に設定すると、The Labの音楽シーンにも表示されます。',
|
||
beta: 'ベータ',
|
||
bioLabel: '概要 / マニフェスト',
|
||
bioPlaceholder: 'あなたは誰で、何を滑り、どんな物語があるか…',
|
||
continue: '続ける',
|
||
crewCreated: 'クルーを作成しました!',
|
||
crewUpdated: 'クルーを更新しました!',
|
||
crewName: 'クルー名',
|
||
crewOnlyWord: 'クルー限定',
|
||
crewType: 'クルータイプ',
|
||
crewTypeDescA: 'クルーは特定の分野に特化していますか? 1つ選ぶと',
|
||
theLab: 'The Lab',
|
||
crewTypeDescB: 'のそのシーンにも表示されます。通常のスケートクルーは',
|
||
mixedWord: 'ミックス',
|
||
crewTypeDescC: 'のままです。',
|
||
customVibeHint: '「#」で自分の雰囲気や分野を追加',
|
||
customVibePlaceholder: '例:ダウンヒル、ナイトセッション、no-comply',
|
||
editDesc: 'クルーのアイデンティティ、ホーム、メンバー',
|
||
enableAgent: 'クルーエージェントを有効化',
|
||
enableTreasury: 'クルー財務を有効化',
|
||
failed: '失敗',
|
||
founded: '設立(年)',
|
||
geolocationUnsupported: '位置情報に対応していません',
|
||
gettingLocation: '取得中...',
|
||
goalHint: 'あなたのNostrプロフィールにLightningアドレス(lud16)があると、寄付が届きます。',
|
||
goalPlaceholder: '例:DIYスポットをコンクリートで固める',
|
||
goalTarget: '目標額(sats)',
|
||
goalWhat: '目標は何?',
|
||
homeSpots: 'ホームスポット',
|
||
homeSpotsDesc: 'クルーが通うスポットをひも付けよう — 地図上であなたのクルーとつながります',
|
||
homeTurf: 'ホーム(都市 / 地域)',
|
||
homeTurfPlaceholder: 'Bristol, UK',
|
||
instagramDetected: 'Instagramクリップを検出',
|
||
invalidMember: '有効なnpub、nprofile、または16進数のpubkeyを入力してください。',
|
||
latitude: '緯度',
|
||
leaveBlankLocation: '空欄にすると現在のホームの位置を維持します。',
|
||
links: 'リンク',
|
||
locationError: '位置情報エラー',
|
||
locationFound: '位置情報を取得しました',
|
||
logoAlt: 'クルー',
|
||
logoHint: 'ロゴがあると、地図やフィードであなたのクルーがすぐに認識されます。正方形が最適です。',
|
||
logoLabel: 'クルーのロゴ / 写真',
|
||
logoUploaded: 'ロゴをアップロードしました',
|
||
longitude: '経度',
|
||
looksGood: 'よさそうです',
|
||
makeAdmin: '管理者にする',
|
||
mapPin: '地図ピン',
|
||
mapPinHint: '地元の人が見つけられるよう、地図にクルーを落としましょう。ボタンをタップするだけ — 入力は不要です。',
|
||
memberAlreadyAdded: 'そのメンバーはすでに追加されています。',
|
||
members: 'メンバー',
|
||
membersDesc: 'クルーのNostrアカウントを追加します。各メンバーは自分のキーで確認し、それまでは「保留中」と表示されます。',
|
||
musicLink: '音楽リンク',
|
||
nameCrew: 'クルーに名前を付ける',
|
||
nameCrewDesc: '続けるにはクルーの名前が必要です。',
|
||
nameCrewFirst: '先にクルーへ名前を付けましょう',
|
||
nameHint: '本当に必要なのはこれだけ。後から変更できます。',
|
||
namePlaceholder: '例:Backyard Bandits',
|
||
nameRequired: '名前が必要です',
|
||
nameRequiredDesc: 'クルーに名前を付けましょう。',
|
||
nip05DescA: 'どのドメインでも自分で管理できる検証可能なハンドル。例:',
|
||
nip05DescB: '。これはこのクルーの創設者キーに対して検証され、複数追加できます — 各ドメインが確認すると緑のチェックが表示されます。',
|
||
nip05Label: 'クルーのNIP-05',
|
||
nip05Placeholder: 'crew@yourdomain.com',
|
||
nip05Add: '追加',
|
||
nip05Invalid: 'crew@yourdomain.com のようなハンドルを入力してください',
|
||
nip05TooMany: 'ハンドルは最大 {{count}} 件まで追加できます。',
|
||
nip05Unverified: '未確認',
|
||
nip05Remove: '{{handle}} を削除',
|
||
notAKeyA: 'まだNostrキーには見えません —',
|
||
notAKeyB: '、',
|
||
notAKeyC: '、または16進数のpubkeyを貼り付けてください。',
|
||
onlyYouTubeInstagram: 'YouTubeとInstagramのリンクのみ対応しています。',
|
||
openCall: 'オープンコール',
|
||
openCallDescA: 'フィルマー、エディター、新しい仲間を探していますか? 募集を出しましょう — クルーページに表示され、',
|
||
openCallDescB: 'のみんなが連絡できます。',
|
||
optional: '・任意',
|
||
optionalParen: '(任意)',
|
||
otherSocials: 'その他のソーシャル',
|
||
otherSocialsDesc: '好きなだけ追加できます — YouTube、TikTok、Discord、Telegram など。',
|
||
ownVisibility: '公開範囲',
|
||
progress: '進捗',
|
||
publicWord: '公開',
|
||
publishedToScene: 'シーンに公開しました。',
|
||
publishFailed: '公開に失敗しました',
|
||
publishing: '公開中...',
|
||
ready: '準備完了',
|
||
readyToRollA: '準備OK —',
|
||
readyToRollB: 'を好きなタイミングで押してください。',
|
||
removeAdminRole: '管理者権限を外す',
|
||
removeMember: 'メンバーを削除',
|
||
removeSocial: 'ソーシャルリンクを削除',
|
||
removeVibe: '{{vibe}} を削除',
|
||
roles: '役割:',
|
||
sasquatch: 'Sasquatch',
|
||
saveCrew: 'クルーを保存',
|
||
skipToEnd: '最後へスキップ',
|
||
socialPlaceholder: '@ユーザー名 または リンク',
|
||
sponsorDesc: '地元のショップがクルーを支援しているなら、ここで選ぶとショップにリンクする「Sponsored by」バナーが表示されます。',
|
||
stepAria: 'ステップ {{step}}:{{title}}',
|
||
stepBasics: '基本',
|
||
stepBasicsShort: '基本',
|
||
stepBasicsHint: '必須はこれだけ — このステップだけでクルーを作れます。',
|
||
stepVibe: 'アイデンティティと雰囲気',
|
||
stepVibeShort: '雰囲気',
|
||
stepVibeHint: 'アプリ内でのクルーの見え方。すべて任意です。',
|
||
stepSquad: '仲間とスポット',
|
||
stepSquadShort: '仲間',
|
||
stepSquadHint: '仲間とホームを追加しましょう。後からでもいつでもできます。',
|
||
stepExtras: '追加項目',
|
||
stepExtrasShort: '追加',
|
||
stepExtrasHint: '後から使える強化項目 — 迷ったものは飛ばしてOK。',
|
||
extrasAllOptional: 'このステップはすべて任意です。',
|
||
groupIdentity: 'アイデンティティ',
|
||
groupIdentityHint: 'ハンドル、リンク',
|
||
groupAi: 'Sasquatch AI',
|
||
groupShowcase: 'ショーケース',
|
||
groupPayments: '支払いと財務',
|
||
groupIntegrations: '連携',
|
||
groupAdvanced: '詳細設定',
|
||
groupAdvancedHint: '実験的',
|
||
pro: 'Pro',
|
||
agentProNote: 'Sasquatchによる提供。Proでは最高のモデルを使え、Proでなければ無料のフォールバックを使います。',
|
||
stepOf: 'ステップ {{step}} / {{total}}',
|
||
treasuryDescA: '共有の目標のためにsatsを集めよう — 地元DIYスポットの補修、クルーの遠征、コンペの賞金プール。透明なLightning目標で、Zapは',
|
||
treasuryDescStrong: 'あなたのウォレットに直接',
|
||
treasuryDescB: '届きます(プロフィールのLightningアドレス経由)。SkateSpotsが資金を保有することはありません。',
|
||
upload: 'アップロード',
|
||
uploadFailed: 'アップロードに失敗しました',
|
||
useCurrentLocation: '現在地を使う',
|
||
vibeLabel: '雰囲気 / 分野',
|
||
videoDescA: 'クルーのフルパート、モンタージュ、最新クリップ。',
|
||
videoDescB: 'のリンクを貼り付ければ、クルーページでそのまま再生されます。',
|
||
visibilityDescA: '各メンバーが自分の',
|
||
visibilityDescB: 'を管理します — 自分のキーで確認するときに',
|
||
visibilityDescC: '(外部からは非表示)を選べます。これは代わりに設定できません。本人の判断です。',
|
||
website: 'ウェブサイト',
|
||
yourRoles: 'あなたの役割(チームリーダー)',
|
||
youtubeDetected: 'YouTube動画を検出',
|
||
invalidUrl: '有効なリンクを入力してください(例:https://example.com)。',
|
||
},
|
||
groupConversation: {
|
||
seoTitle: 'グループチャット - SkateSpots',
|
||
invalidLink: 'このグループチャットのリンクは無効です。',
|
||
loginTitle: 'ログインしてこのグループを表示',
|
||
secureSignerTitle: '安全な署名アプリが必要です',
|
||
secureSignerDesc: 'グループメッセージにはNIP-44対応の署名アプリが必要です。',
|
||
encryptedGroup: 'エンドツーエンド暗号化グループ',
|
||
empty: 'まだメッセージはありません — グループに挨拶しよう。',
|
||
placeholder: 'グループにメッセージ...',
|
||
},
|
||
hero: {
|
||
established: '設立 {{year}}',
|
||
teamLeader: 'チームリーダー:{{name}}',
|
||
ledBy: 'リード',
|
||
},
|
||
inviteCard: {
|
||
acceptedTitle: '招待を承認しました 🛹',
|
||
acceptedDesc: 'クルーの創設者が {{crew}} のメンバーを確認します。承認されると名簿に表示されます。',
|
||
couldNotAccept: '承認できませんでした',
|
||
couldNotDecline: '辞退できませんでした',
|
||
acceptedDone: '承認しました —',
|
||
confirmsMembers: 'がメンバーを確認',
|
||
declinedDone: '{{crew}} への招待を辞退しました',
|
||
invitedYou: 'があなたを招待:',
|
||
admin: '管理者',
|
||
accept: '承認',
|
||
decline: '辞退',
|
||
},
|
||
inviteDialog: {
|
||
messageIntro: 'よう — SkateSpotsで {{crew}} クルーに参加しよう 🛹',
|
||
messageBody: 'Nostrキーでログインして、クルーページから参加を申請してください。',
|
||
copyFailed: 'コピーに失敗',
|
||
shareTitle: '{{crew}} に参加',
|
||
sentTitle: '招待を送信しました! 🛹',
|
||
sentDesc: '相手に承認または辞退の通知が届きます。',
|
||
couldNotSend: '招待を送信できませんでした',
|
||
trigger: '招待',
|
||
title: '{{crew}} に招待',
|
||
description: '相手のNostrキーに招待を送るか、リンクを共有します。',
|
||
sendTab: '招待を送る',
|
||
shareTab: 'リンクを共有',
|
||
npubLabel: 'スケーターのnpub',
|
||
invalidNpub: '有効なnpubには見えません。',
|
||
noteLabel: 'メモ',
|
||
optional: '(任意)',
|
||
notePlaceholder: '一緒に滑ろう…',
|
||
inviteAsAdmin: '管理者として招待',
|
||
inviteAsAdminDesc: 'クルーを管理し、他のメンバーを招待できます。',
|
||
sendButton: '招待を送る',
|
||
sendFooter: '相手に承認または辞退の通知が届きます。メンバーになるのは承認した時点からです。',
|
||
inviteLink: '招待リンク',
|
||
messageLabel: 'メッセージ',
|
||
copyMessage: 'メッセージをコピー',
|
||
founderHint: '創設者なら、メンバーのキーを直接追加して本人に確認してもらうこともできます。',
|
||
addMemberSettings: 'クルー設定でメンバーを追加',
|
||
},
|
||
joinRequest: {
|
||
moreCount: '他 {{count}} 件',
|
||
addedTitle: '{{name}} を {{crew}} に追加しました 🛹',
|
||
addedDesc: '本人が確認するとメンバーとして表示されます。',
|
||
vouchedTitle: '{{name}} を推薦しました 🤝',
|
||
vouchedDesc: '{{crew}} の創設者があなたの推薦を見て、追加できます。',
|
||
couldNotEndorse: '推薦できませんでした',
|
||
endorsedDoneA: 'あなたが推薦した相手:',
|
||
endorsedDoneB: '— 創設者が確認します',
|
||
vouchedBy: '推薦者',
|
||
approveAndAdd: '承認して追加',
|
||
addToCrew: 'クルーに追加',
|
||
vouchedWaiting: '推薦済み — 創設者の確認待ち',
|
||
vouchForThem: 'この人を推薦する',
|
||
leadershipOnly: 'クルーのリーダー限定。',
|
||
adminHelp: '管理者はメンバーを直接追加できません — 推薦すると、このライダーを支持することが創設者に伝わります。',
|
||
},
|
||
leadership: {
|
||
teamLeader: 'チームリーダー',
|
||
captain: 'キャプテン',
|
||
verifiedMember: '認証済みメンバー',
|
||
messageName: '{{name}} にメッセージ',
|
||
title: 'リーダーシップ',
|
||
captainsOne: '{{count}} キャプテン',
|
||
captainsMany: '{{count}} キャプテン',
|
||
footer: 'チームリーダーが名簿を運営し、キャプテンが招待、ジャムの主催、クルーの整理を支えます。',
|
||
},
|
||
linkField: {
|
||
title: 'ひも付けたクルー',
|
||
description: 'クルーも運営していますか? ひも付けると、スタジオとクルーの間を移動できます。任意です。クルー編集からこのクルーをプロフィールにひも付けると、両方に緑の',
|
||
descriptionRest: 'バッジが表示されます。',
|
||
none: 'まだクルーがありません。クルーページで作成してここにひも付けましょう。',
|
||
linkedCrew: 'ひも付けたクルー({{id}})',
|
||
},
|
||
lookingFor: {
|
||
title: 'オープンコール',
|
||
subtitle: 'このクルーが探しているもの:',
|
||
},
|
||
memberVisibility: {
|
||
updatedTitle: '公開範囲を更新しました',
|
||
updatedCrew: 'クルーの仲間にだけ表示されるようになりました。',
|
||
updatedPublic: 'このクルーで公開表示されるようになりました。',
|
||
couldNotUpdate: '更新できませんでした',
|
||
title: 'このクルーでの公開範囲',
|
||
save: '公開範囲を保存',
|
||
},
|
||
newMessage: {
|
||
inCrew: 'あなたのクルー:{{crews}}',
|
||
crewmate: 'クルーの仲間',
|
||
following: 'フォロー中',
|
||
invalidKey: '有効なnpubまたは公開鍵には見えません。',
|
||
description: '名前で仲間を検索するか、npubを貼り付けて誰にでもメッセージできます。2人以上選ぶとグループを開始します。',
|
||
searchPlaceholder: '名前を検索、または npub1... を貼り付け',
|
||
messageThisKey: 'このキーにメッセージ',
|
||
loadingPeople: '仲間を読み込み中...',
|
||
noPeople: 'まだクルーの仲間もフォローもありません。',
|
||
noPeopleHint: '上のnpubを貼り付けて会話を始めましょう。',
|
||
yourCrews: 'あなたのクルー',
|
||
selected: '{{count}} 人選択中',
|
||
startGroup: 'グループを開始({{count}})',
|
||
message: 'メッセージ',
|
||
},
|
||
nip05: {
|
||
mismatch: 'このドメインはハンドルをクルーの創設者とは別のNostrキーに向けています。検証されていません。',
|
||
verified: '検証済み — ドメインがこのハンドルをクルーの創設者キーに属すると確認しました。',
|
||
},
|
||
requestCollective: {
|
||
sentTitle: '申請を送信しました 🤝',
|
||
sentDesc: '{{name}} の通知に表示され、追加してもらえます。',
|
||
couldNotSend: '申請を送信できませんでした',
|
||
title: 'このコレクティブに参加',
|
||
waiting: '申請済み — {{name}} の確認待ち。',
|
||
askA: '運営は',
|
||
askB: 'です。名簿への追加を依頼しましょう。通知が届き、ワンタップで追加できます。',
|
||
placeholder: '任意:自分が合う理由を書いてみましょう…',
|
||
sendButton: '申請を送る',
|
||
},
|
||
requestToJoin: {
|
||
sentTitle: '申請を送信しました! 🛹',
|
||
sentDesc: '{{crew}} のリーダーが通知で確認します。',
|
||
couldNotSend: '申請を送信できませんでした',
|
||
trigger: '参加を申請',
|
||
title: '{{crew}} に参加',
|
||
description: 'クルーの創設者と管理者に通知され、追加してもらえます。',
|
||
placeholder: '挨拶を — どこで滑るか、誰を知っているか、なぜ入りたいか…',
|
||
sending: '送信中…',
|
||
sendButton: '参加申請を送る',
|
||
},
|
||
sponsorBanner: {
|
||
loading: 'スポンサーを読み込み中…',
|
||
sponsoredBy: 'スポンサー:',
|
||
},
|
||
sponsorPicker: {
|
||
selected: 'スポンサーを選択しました',
|
||
setLoading: 'スポンサーを設定(ショップ読み込み中…)',
|
||
set: 'スポンサーを設定',
|
||
clearAria: 'スポンサーをクリア',
|
||
searchPlaceholder: '名前か都市でスケートショップを検索…',
|
||
loading: 'ショップを読み込み中…',
|
||
noMatch: '一致するショップがありません — 別の検索を試してください。',
|
||
none: 'まだショップが見つかりません。',
|
||
},
|
||
treasury: {
|
||
title: 'クルー財務',
|
||
ofGoal: '目標 {{target}} のうち',
|
||
goalReached: '目標達成!',
|
||
funded: '{{percent}}% 達成',
|
||
contributionOne: '{{count}} 件の寄付',
|
||
contributionMany: '{{count}} 件の寄付',
|
||
daysLeft: '残り {{days}} 日',
|
||
closed: '終了',
|
||
nonCustodial: 'ノンカストディアル · ZapはクルーのLightningウォレットに直接届きます',
|
||
},
|
||
userStatus: {
|
||
atSpot: '📍 スポットにいます',
|
||
autoClears: '⏱️ {{min}} 分後に自動クリア',
|
||
},
|
||
video: {
|
||
title: 'ザ・パート',
|
||
fullVideo: 'フル動画 · モンタージュ',
|
||
latestClip: '最新クリップ',
|
||
watch: '観る',
|
||
iframeTitle: '{{crew}} — 動画',
|
||
playAria: '{{crew}} の動画を再生',
|
||
thumbAlt: '{{crew}} の動画サムネイル',
|
||
instagramTitle: 'Instagramクリップ',
|
||
},
|
||
vouch: {
|
||
removedTitle: '推薦を取り消しました',
|
||
vouchedTitle: '推薦しました!',
|
||
removedDesc: '{{name}} への推薦を取り消しました。',
|
||
vouchedDesc: '{{name}} を推薦しました。シーンは身内を信頼します。',
|
||
couldNotVouch: '推薦できませんでした',
|
||
title: 'シーンの推薦',
|
||
sceneVerified: 'シーン認証済み',
|
||
vouched: '推薦済み',
|
||
newUnvouched: '新規 · 未推薦',
|
||
checking: 'シーンを確認中…',
|
||
empty: 'まだ推薦がありません。あなたの輪の中のスケーターからの推薦は、その人が本物である最良のシグナルです — たまたま入ってきた誰かではありません。',
|
||
countOne: '{{count}} 件の推薦',
|
||
countMany: '{{count}} 件の推薦',
|
||
trusted: 'あなたの信頼網のスケーターから {{count}} 件',
|
||
remove: '推薦を取り消す',
|
||
vouchFor: '{{name}} を推薦',
|
||
ownerNote: 'あなたの仕事を知るスケーターがここで推薦できます。',
|
||
},
|
||
},
|
||
};
|
||
|
||
export default jaBatch9;
|