{
  "common": {
    "loading": "読み込み中",
    "error": "エラー",
    "save": "保存",
    "cancel": "キャンセル",
    "back": "戻る",
    "done": "完了",
    "continue": "続行",
    "refresh": "更新",
    "delete": "削除",
    "created": "作成日時",
    "name": "名前",
    "backToDashboard": "← ダッシュボード",
    "copied": "コピー完了",
    "copyToClipboard": "コピー",
    "verifying": "確認中",
    "saving": "保存中",
    "creating": "作成中",
    "sending": "送信中",
    "checking": "確認中",
    "signIn": "サインイン",
    "verify": "確認",
    "revoke": "取り消し",
    "resendCode": "再送信",
    "backToLogin": "ログインに戻る",
    "backToSettings": "設定に戻る"
  },
  "login": {
    "title": "サインイン",
    "button": "サインイン",
    "redirecting": "リダイレクト中",
    "chooseAccount": "アカウントを選択",
    "signInToAnother": "または別のアカウントでサインイン",
    "forgotPassword": "パスワードをお忘れですか？",
    "lostPasskey": "パスキーを紛失？",
    "noAccount": "アカウントなし？",
    "createAccount": "作成",
    "removeAccount": "削除"
  },
  "verification": {
    "title": "アカウント確認",
    "subtitle": "連絡先に送信されたコードを入力",
    "codeLabel": "コード",
    "codePlaceholder": "6桁のコード",
    "resent": "コード送信済み"
  },
  "register": {
    "title": "アカウント作成",
    "redirecting": "リダイレクト中",
    "migrateTitle": "すでにアカウントをお持ちですか？",
    "migrateDescription": "既存のアカウントを移行",
    "migrateLink": "アカウントを移行",
    "handle": "ハンドル",
    "handlePlaceholder": "あなたの名前",
    "handleHint": "完全なハンドル: @{handle}",
    "handleTaken": "このハンドルは既に使用されています",
    "handleDotWarning": "カスタムドメインハンドルはアカウント作成後に設定で構成できます。",
    "password": "パスワード",
    "passwordPlaceholder": "8文字以上",
    "confirmPassword": "パスワード確認",
    "confirmPasswordPlaceholder": "パスワードを再入力",
    "identityType": "アイデンティティタイプ",
    "didPlc": "did:plc",
    "didPlcHint": "PLC ディレクトリで管理されるポータブルアイデンティティ",
    "didWeb": "did:web",
    "didWebHint": "この PDS でホストされるアイデンティティ（下記の警告をお読みください）",
    "didWebDisabledHint": "この PDS では利用できません - did:plc を使用するか、独自の did:web を持ち込んでください",
    "didWebBYOD": "did:web (自前ドメイン)",
    "didWebBYODHint": "独自ドメインを持ち込む",
    "didWebWarningTitle": "重要: トレードオフをご理解ください",
    "didWebWarning1": "この PDS への永続的な紐付け:",
    "didWebWarning1Detail": "あなたのアイデンティティは {did} になります。後で別の PDS に移行しても、このサーバーは DID ドキュメントをホストし続ける必要があります。",
    "didWebWarning2": "復旧手段がありません:",
    "didWebWarning2Detail": "did:plc と異なり、did:web にはローテーションキーがありません。この PDS が永久にオフラインになると、アイデンティティは復旧できません。",
    "didWebWarning3": "私たちの約束:",
    "didWebWarning3Detail": "移行する場合、新しい PDS を指す最小限の DID ドキュメントを引き続き提供します。アイデンティティは機能し続けます。",
    "externalDid": "あなたの did:web",
    "externalDidPlaceholder": "did:web:yourdomain.com",
    "externalDidHint": "ドメインは /.well-known/did.json でこの PDS を指す有効な DID ドキュメントを提供する必要があります",
    "contactMethod": "連絡方法",
    "verificationMethod": "確認方法",
    "email": "メール",
    "emailAddress": "メールアドレス",
    "emailPlaceholder": "you@example.com",
    "discord": "Discord",
    "discordUsername": "Discord ユーザー名",
    "discordUsernamePlaceholder": "yourusername",
    "telegram": "Telegram",
    "telegramUsername": "Telegram ユーザー名",
    "telegramUsernamePlaceholder": "@yourusername",
    "signal": "Signal",
    "signalUsername": "Signal ユーザー名",
    "signalUsernamePlaceholder": "username.01",
    "notConfigured": "未設定",
    "inviteCode": "招待コード",
    "inviteCodePlaceholder": "招待コードを入力",
    "inviteCodeRequired": "必須",
    "alreadyHaveAccount": "すでにアカウントをお持ちですか？",
    "signIn": "サインイン",
    "passkeyAccount": "パスキー",
    "passwordAccount": "パスワード",
    "ssoAccount": "SSO",
    "noSsoProviders": "このサーバーにはSSOプロバイダーが設定されていません。",
    "continueWith": "{provider}で続行",
    "validation": {
      "handleRequired": "ハンドルは必須です",
      "handleNoDots": "ハンドルにドットは使用できません。アカウント作成後にカスタムドメインを設定できます。",
      "passwordRequired": "パスワードは必須です",
      "passwordLength": "パスワードは8文字以上である必要があります",
      "passwordsMismatch": "パスワードが一致しません",
      "inviteCodeRequired": "招待コードは必須です",
      "externalDidRequired": "外部 did:web は必須です",
      "externalDidFormat": "外部 DID は did:web: で始まる必要があります",
      "emailRequired": "メール認証にはメールアドレスが必要です",
      "discordUsernameRequired": "Discord 認証には Discord ユーザー名が必要です",
      "telegramRequired": "Telegram 認証には Telegram ユーザー名が必要です",
      "signalRequired": "Signal 認証にはユーザー名が必要です"
    }
  },
  "dashboard": {
    "title": "ダッシュボード",
    "accountManager": "アカウント管理",
    "switchAccount": "アカウント切替",
    "addAnotherAccount": "別のアカウントを追加",
    "signOut": "@{handle} からサインアウト",
    "deactivatedTitle": "アカウント無効化",
    "deactivatedMessage": "アカウントは現在無効化されています。これは通常、アカウント移行中に発生します。アカウントが再有効化されるまで、一部の機能が制限される場合があります。",
    "handle": "ハンドル",
    "did": "DID",
    "primaryContact": "主要連絡先",
    "admin": "管理者",
    "deactivated": "無効化",
    "verified": "認証済み",
    "unverified": "未認証",
    "navAppPasswords": "アプリパスワード",
    "navSessions": "アクティブセッション",
    "navInviteCodes": "招待コード",
    "navSettings": "一般",
    "navSecurity": "セキュリティ",
    "navComms": "連絡設定",
    "navRepo": "リポジトリエクスプローラー",
    "navDelegation": "委任",
    "navAdmin": "管理パネル",
    "navDidDocument": "DID ドキュメント",
    "migrated": "移行済み",
    "migratedTitle": "アカウント移行済み",
    "migratedMessage": "アカウントは {pds} に移行されました。DID ドキュメントは引き続きここでホストされています。",
    "navAbout": "情報"
  },
  "about": {
    "title": "情報",
    "copyDebugInfo": "デバッグ情報をコピー",
    "copied": "デバッグ情報をクリップボードにコピーしました",
    "copyFailed": "デバッグ情報のコピーに失敗しました",
    "serverSection": "サーバー",
    "frontendSection": "フロントエンド",
    "accountSection": "アカウント",
    "environmentSection": "環境",
    "serverName": "サーバー名",
    "pdsVersion": "PDS バージョン",
    "serverUrl": "サーバー URL",
    "availableDomains": "利用可能なドメイン",
    "did": "DID",
    "handle": "ハンドル",
    "accountStatus": "アカウントステータス",
    "adminStatus": "管理者",
    "userAgent": "ユーザーエージェント",
    "locale": "言語",
    "screenSize": "画面サイズ",
    "yes": "はい",
    "no": "いいえ",
    "unknown": "不明",
    "notConfigured": "未設定",
    "serverDid": "サーバー DID",
    "inviteCodeRequired": "招待コードが必要",
    "selfHostedDidWeb": "セルフホスト DID:web",
    "enabled": "有効",
    "disabled": "無効",
    "contactSection": "連絡先とポリシー",
    "contactEmail": "連絡先メール",
    "privacyPolicy": "プライバシーポリシー",
    "termsOfService": "利用規約",
    "communicationSection": "通信",
    "availableChannels": "利用可能なチャンネル",
    "discordBot": "Discord ボット",
    "discordAppId": "Discord アプリ ID",
    "telegramBot": "Telegram ボット",
    "svelteVersion": "Svelte",
    "svelteI18nVersion": "svelte-i18n",
    "viteVersion": "Vite",
    "buildMode": "ビルドモード",
    "userCount": "ユーザー数"
  },
  "didEditor": {
    "preview": "現在の DID ドキュメント",
    "verificationMethods": "検証方法（署名キー）",
    "verificationMethodsDesc": "DIDの代わりに動作できる署名キー。新しいPDSに移行する際は、そのPDSの署名キーをここに追加してください。",
    "addKey": "キーを追加",
    "removeKey": "削除",
    "keyId": "キー ID",
    "keyIdPlaceholder": "#atproto",
    "publicKey": "公開キー（Multibase）",
    "publicKeyPlaceholder": "zQ3sh...",
    "noKeys": "検証方法が設定されていません。ローカルPDSキーを使用しています。",
    "alsoKnownAs": "別名（ハンドル）",
    "alsoKnownAsDesc": "DIDを指すハンドル。新しいPDSでハンドルが変更されたら更新してください。",
    "addHandle": "ハンドルを追加",
    "removeHandle": "削除",
    "handle": "ハンドル",
    "handlePlaceholder": "at://handle.pds.com",
    "noHandles": "ハンドルが設定されていません。ローカルハンドルを使用しています。",
    "serviceEndpoint": "サービスエンドポイント",
    "serviceEndpointDesc": "アカウントデータを現在ホストしているPDS。移行時に更新してください。",
    "currentPds": "現在のPDS URL",
    "save": "変更を保存",
    "success": "DID ドキュメントを更新しました",
    "saveFailed": "DIDドキュメントの保存に失敗しました",
    "loadFailed": "DIDドキュメントの読み込みに失敗しました",
    "invalidMultibase": "公開キーは'z'で始まる有効なmultibase文字列である必要があります",
    "helpTitle": "これは何ですか？",
    "helpText": "別の PDS に移行すると、その PDS が新しい署名キーを生成します。ここで DID ドキュメントを更新して、新しいキーと場所を指すようにしてください。"
  },
  "settings": {
    "language": "言語",
    "changeEmail": "メール変更",
    "currentEmail": "現在: {email}",
    "newEmail": "新しいメール",
    "newEmailPlaceholder": "new@example.com",
    "emailInUseWarning": "このメールアドレスは既に別のアカウントで使用されています。引き続き使用できますが、アカウント回復にはハンドルが必要になる場合があります。",
    "changeEmailButton": "メールを変更",
    "requesting": "リクエスト中...",
    "verificationCode": "確認コード",
    "verificationCodePlaceholder": "認証コードを入力",
    "confirmEmailChange": "メール変更を確認",
    "emailTokenHint": "メールに記載されたコードを入力するか、任意のデバイスでメール内のリンクをクリックしてください。",
    "emailUpdateAuthorized": "メール変更が承認されました！確認をクリックして完了してください。",
    "updating": "更新中...",
    "changeHandle": "ハンドル変更",
    "currentHandle": "現在: @{handle}",
    "pdsHandle": "PDS ハンドル",
    "customDomain": "カスタムドメイン",
    "setupInstructions": "設定手順",
    "setupMethodsIntro": "以下の確認方法のいずれかを選択してください:",
    "dnsMethod": "方法 1: DNS TXT レコード（推奨）",
    "dnsMethodDesc": "ドメインにこの TXT レコードを追加:",
    "httpMethod": "方法 2: HTTP Well-Known ファイル",
    "httpMethodDesc": "この URL で DID を提供:",
    "httpMethodContent": "ファイルには以下の内容のみを含める:",
    "yourDomain": "ドメイン",
    "yourDomainPlaceholder": "example.com",
    "verifyAndUpdate": "確認してハンドルを更新",
    "newHandle": "新しいハンドル",
    "newHandlePlaceholder": "yourhandle",
    "changeHandleButton": "ハンドルを変更",
    "exportData": "データエクスポート",
    "downloadRepo": "リポジトリをダウンロード",
    "exporting": "エクスポート中...",
    "deleteAccount": "アカウント削除",
    "deleteWarning": "この操作は取り消せません。すべてのデータが完全に削除されます。",
    "requestDeletion": "アカウント削除をリクエスト",
    "confirmationCode": "確認コード",
    "confirmationCodePlaceholder": "確認コードを入力",
    "yourPassword": "パスワード",
    "yourPasswordPlaceholder": "パスワードを入力",
    "permanentlyDelete": "アカウントを完全に削除",
    "deleting": "削除中...",
    "messages": {
      "emailCodeSentToCurrent": "現在のメールアドレスに確認コードを送信しました",
      "emailUpdated": "メールを更新しました",
      "emailUpdateFailed": "メールの更新に失敗しました",
      "handleUpdated": "ハンドルを更新しました",
      "handleUpdateFailed": "ハンドルの更新に失敗しました",
      "deletionConfirmationSent": "削除確認をメールに送信しました",
      "deletionRequestFailed": "アカウント削除リクエストに失敗しました",
      "deleteConfirmation": "本当にアカウントを削除しますか？この操作は取り消せません。",
      "deletionFailed": "アカウントの削除に失敗しました",
      "repoExported": "リポジトリをエクスポートしました",
      "exportFailed": "エクスポートに失敗しました"
    }
  },
  "appPasswords": {
    "created": "アプリパスワードを作成しました",
    "createdMessage": "このパスワードを今すぐコピーしてください。再度表示することはできません。",
    "noPasswords": "アプリパスワードはまだありません",
    "saveWarningTitle": "重要: このアプリパスワードを保存してください！",
    "saveWarningMessage": "このパスワードはパスキーや OAuth をサポートしていないアプリにサインインするために必要です。一度しか表示されません。",
    "acknowledgeLabel": "アプリパスワードを安全な場所に保存しました",
    "permissions": "権限",
    "scopeFull": "フルアクセス",
    "scopeReadOnly": "読み取り専用",
    "scopePostOnly": "投稿のみ",
    "scopeCustom": "カスタム",
    "byController": "管理者作成",
    "create": "作成",
    "name": "名前",
    "namePlaceholder": "アプリ名（例：Witchsky）",
    "deleteConfirm": "アプリパスワード「{name}」を取り消しますか？",
    "deleted": "アプリパスワードを取り消しました",
    "loadFailed": "アプリパスワードの読み込みに失敗しました",
    "createFailed": "アプリパスワードの作成に失敗しました",
    "deleteFailed": "アプリパスワードの取り消しに失敗しました",
    "saveWarning": "このパスワードを今すぐ保存してください - 再表示できません"
  },
  "sessions": {
    "noSessions": "アクティブなセッションが見つかりません。",
    "current": "現在",
    "oauth": "OAuth",
    "session": "セッション",
    "signOut": "サインアウト",
    "revoke": "取り消す",
    "revokeAll": "他のすべてのセッションを取り消す",
    "revokeCurrentConfirm": "このセッションからサインアウトされます。続行しますか？",
    "revokeConfirm": "このセッションを取り消しますか？",
    "revokeAllConfirm": "他の {count} 件のセッションを取り消します。続行しますか？",
    "noOtherSessions": "取り消す他のセッションはありません",
    "failedToLoad": "セッションの読み込みに失敗しました",
    "failedToRevoke": "セッションの取り消しに失敗しました",
    "failedToRevokeAll": "セッションの取り消しに失敗しました",
    "created": "作成日時：",
    "expires": "有効期限：",
    "daysAgo": "{count}日前",
    "hoursAgo": "{count}時間前",
    "minutesAgo": "{count}分前",
    "justNow": "たった今",
    "sessionRevoked": "セッションを取り消しました",
    "allSessionsRevoked": "他のすべてのセッションを取り消しました"
  },
  "inviteCodes": {
    "createNew": "新しい招待コードを作成",
    "yourCodes": "招待コード一覧",
    "noCodes": "招待コードはまだありません",
    "available": "利用可能",
    "used": "@{handle} が使用済み",
    "spent": "使用済み",
    "disabled": "無効",
    "created": "招待コードを作成しました",
    "copy": "コピー",
    "disable": "無効化",
    "disableConfirm": "招待コード {code} を無効にしますか？",
    "disableSuccess": "招待コードを無効にしました",
    "disableFailed": "招待コードの無効化に失敗しました",
    "createdOn": "{date} に作成",
    "loadFailed": "招待コードの読み込みに失敗しました",
    "createFailed": "招待コードの作成に失敗しました"
  },
  "security": {
    "passkeys": "パスキー",
    "addPasskey": "パスキーを追加",
    "adding": "追加中...",
    "noPasskeys": "登録されたパスキーはありません",
    "passkeyName": "パスキー名",
    "passkeyNamePlaceholder": "例: yubikey、スマホ",
    "rename": "名前変更",
    "deletePasskey": "削除",
    "deletePasskeyConfirm": "パスキー「{name}」を削除しますか？サインインに使用できなくなります。",
    "totp": "認証アプリ (TOTP)",
    "totpEnabled": "TOTP は有効です",
    "totpDisabled": "TOTP は無効です",
    "enableTotp": "TOTP を有効化",
    "disableTotp": "TOTP を無効化",
    "disabling": "無効化中...",
    "totpSetupInstructions": "認証アプリでこの QR コードをスキャンし、6桁のコードを入力して確認してください。",
    "totpCode": "TOTPコード",
    "totpCodePlaceholder": "6桁",
    "verifyAndEnable": "確認して有効化",
    "backupCodes": "バックアップコード",
    "backupCodesDescription": "認証アプリにアクセスできなくなった場合、これらのコードを使用してサインインします。各コードは1回のみ使用可能です。",
    "regenerateBackupCodes": "バックアップコードを再生成",
    "regenerating": "再生成中...",
    "regenerateConfirm": "バックアップコードを再生成しますか？現在のコードは使用できなくなります。",
    "legacyLogin": "レガシーログイン",
    "legacyLoginDescription": "ユーザー名/パスワードでの直接ログイン（レガシーモード）を許可します。無効にすると、MFA 付きの OAuth を使用する必要があります。",
    "legacyLoginOn": "レガシーログインは有効です",
    "legacyLoginOff": "レガシーログインは無効です",
    "enableLegacyLogin": "レガシーログインを有効にする",
    "disableLegacyLogin": "レガシーログインを無効にする",
    "legacyLoginWarning": "警告: レガシーログインを有効にすると、直接パスワードログインの MFA がバイパスされます。アプリの互換性が必要な場合にのみ有効にしてください。",
    "legacyAppsTitle": "レガシーアプリとは？",
    "legacyAppsDescription": "一部のアプリ（公式 Bluesky アプリなど）は、パスワードのみを必要とする古い認証を使用します。MFA を有効にしている場合、これらのアプリは二要素認証をバイパスします。レガシーログインを無効にすると、すべてのアプリが OAuth を使用するよう強制され、MFA が適切に適用されます。",
    "password": "パスワード",
    "passwordStatus": "パスワードが設定されています",
    "noPassword": "パスワードは設定されていません（パスキーのみのアカウント）",
    "setPassword": "パスワードを設定",
    "removePassword": "パスワードを削除",
    "removing": "削除中...",
    "next": "次へ: コードを確認",
    "copyToClipboard": "クリップボードにコピー",
    "savedMyCodes": "コードを保存しました",
    "cantScan": "スキャンできませんか？手動で入力",
    "unnamedPasskey": "名前のないパスキー",
    "added": "追加日",
    "lastUsed": "最終使用日",
    "disableTotpWarning": "これによりアカウントのセキュリティが低下します。",
    "removePasswordWarning": "これによりアカウントはパスキーのみになります。登録済みのパスキーでのみサインインできます。すべてのパスキーにアクセスできなくなった場合、通知チャンネルを使用してアカウントを復旧できます。",
    "trustedDevices": "信頼済みデバイス",
    "trustedDevicesDescription": "サインイン時に二要素認証をスキップできるデバイス。信頼は30日間有効で、デバイスを使用すると自動的に延長されます。",
    "appCompatibility": "アプリ互換性",
    "enterPassword": "パスワードを入力",
    "sessionExpired": "セッションが期限切れです。再度ログインしてください。",
    "legacyLoginEnabled": "レガシーアプリログインが有効",
    "legacyLoginDisabled": "レガシーアプリログインが無効 - OAuth アプリのみサインイン可能",
    "failedToUpdatePreference": "設定の更新に失敗しました",
    "passwordRemoved": "パスワードが削除されました。アカウントはパスキーのみになりました。",
    "failedToRemovePassword": "パスワードの削除に失敗しました",
    "failedToLoadTotpStatus": "TOTP ステータスの読み込みに失敗しました",
    "failedToRegenerateBackupCodes": "バックアップコードの再生成に失敗しました",
    "totpEnabledSuccess": "二要素認証が正常に有効化されました",
    "totpDisabledSuccess": "二要素認証が無効化されました",
    "backupCodesCopied": "バックアップコードをクリップボードにコピーしました",
    "failedToLoadPasskeys": "パスキーの読み込みに失敗しました",
    "passkeysNotSupported": "このブラウザではパスキーがサポートされていません",
    "passkeyCreationCancelled": "パスキーの作成がキャンセルされました",
    "passkeyAddedSuccess": "パスキーが追加されました",
    "passkeyDeleted": "パスキーが削除されました",
    "passkeyRenamed": "パスキーの名前が変更されました",
    "changePassword": "パスワードを変更",
    "currentPassword": "現在のパスワード",
    "currentPasswordPlaceholder": "現在のパスワードを入力",
    "newPassword": "新しいパスワード",
    "newPasswordPlaceholder": "新しいパスワードを入力",
    "confirmPassword": "新しいパスワード（確認）",
    "confirmPasswordPlaceholder": "新しいパスワードを再入力",
    "passwordsDoNotMatch": "パスワードが一致しません",
    "passwordTooShort": "パスワードは8文字以上である必要があります",
    "passwordChanged": "パスワードを変更しました",
    "failedToChangePassword": "パスワードの変更に失敗しました",
    "changing": "変更中...",
    "setting": "設定中...",
    "passwordSet": "パスワードを設定しました",
    "failedToSetPassword": "パスワードの設定に失敗しました",
    "failedToDisableTotp": "TOTPの無効化に失敗しました"
  },
  "comms": {
    "preferredChannel": "優先チャンネル",
    "channelConfiguration": "チャンネル設定",
    "emailVia": "メールでメッセージを受信",
    "discordVia": "Discord DM でメッセージを受信",
    "telegramVia": "Telegram でメッセージを受信",
    "signalVia": "Signal でメッセージを受信",
    "configureToEnable": "有効にするには下記で設定",
    "notConfiguredOnServer": "このサーバーでは設定されていません",
    "primary": "優先",
    "verified": "確認済み",
    "notVerified": "未確認",
    "verifyButton": "確認",
    "verifyCodePlaceholder": "確認コードを入力",
    "submit": "送信",
    "savePreferences": "設定を保存",
    "preferencesSaved": "連絡設定を保存しました",
    "verifiedSuccess": "{channel} を確認しました",
    "messageHistory": "メッセージ履歴",
    "noMessages": "メッセージが見つかりません。",
    "telegramStartBot": "または @{botUsername} に /start {handle} を手動で送信",
    "telegramOpenLink": "Telegram で確認する",
    "discordStartBot": "Discordで @{botUsername} にDMして /start {handle} を送信",
    "discordOpenLink": "Discordで認証",
    "failedToLoad": "設定の読み込みに失敗しました",
    "failedToSave": "設定の保存に失敗しました",
    "failedToVerify": "確認に失敗しました",
    "failedToLoadHistory": "メッセージ履歴の読み込みに失敗しました"
  },
  "repoExplorer": {
    "collections": "コレクション",
    "noRecords": "このコレクションにレコードはありません",
    "uri": "URI",
    "cid": "CID",
    "deleteConfirm": "レコード {rkey} を削除しますか？この操作は取り消せません。",
    "unknownError": "不明なエラーが発生しました",
    "invalidJson": "無効な JSON",
    "collectionRequired": "コレクションは必須です",
    "recordCreated": "レコードを作成しました: {uri}",
    "recordUpdated": "レコードを更新しました",
    "recordDeleted": "レコードを削除しました",
    "newRecord": "新規レコード",
    "createRecord": "レコードを作成",
    "filterCollections": "コレクションを検索...",
    "filterRecords": "レコードを検索...",
    "noCollectionsYet": "コレクションがまだありません。最初のレコードを作成して開始しましょう。",
    "recordJson": "レコード JSON",
    "updateRecord": "レコードを更新",
    "collectionNsid": "コレクション (NSID)",
    "recordKeyOptional": "レコードキー（任意）",
    "autoGenerated": "空白で自動生成 (TID)",
    "autoGeneratedHint": "空白にすると TID ベースのキーが自動生成されます",
    "demoPostText": "こんにちは、私の PDS からの初投稿です！",
    "demoDisplayName": "表示名",
    "demoBio": "自己紹介を書いてください。"
  },
  "admin": {
    "serverConfig": "サーバー設定",
    "serverName": "サーバー名",
    "serverNamePlaceholder": "マイ PDS",
    "serverNameHelp": "ブラウザのタブやその他の場所に表示されます",
    "serverLogo": "サーバーロゴ",
    "logoPreview": "ロゴプレビュー",
    "removeLogo": "削除",
    "logoHelp": "ファビコンとして使用され、ナビバーに表示されます",
    "themeColors": "テーマカラー",
    "themeColorsHint": "デフォルトカラーを使用する場合は空白のままにしてください。",
    "primaryLight": "プライマリ（ライトモード）",
    "primaryDark": "プライマリ（ダークモード）",
    "configSaved": "サーバー設定を保存しました",
    "saveConfig": "設定を保存",
    "serverStats": "サーバー統計",
    "users": "ユーザー",
    "repos": "リポジトリ",
    "records": "レコード",
    "blobStorage": "Blob ストレージ",
    "refreshStats": "統計を更新",
    "userManagement": "ユーザー管理",
    "searchPlaceholder": "ハンドルで検索（任意）",
    "handle": "ハンドル",
    "email": "メール",
    "status": "ステータス",
    "created": "作成日時",
    "loadMore": "さらに読み込む",
    "disabled": "無効",
    "userDetails": "ユーザー詳細",
    "did": "DID",
    "invites": "招待",
    "enabled": "有効",
    "enableInvites": "招待を有効化",
    "disableInvites": "招待を無効化",
    "deleteAccount": "アカウント削除",
    "deleteConfirm": "アカウント @{handle} を削除しますか？この操作は取り消せません。",
    "verified": "確認済み",
    "unverified": "未確認",
    "deactivated": "無効化",
    "secondaryLight": "セカンダリ（ライトモード）",
    "secondaryDark": "セカンダリ（ダークモード）",
    "failedToLoadStats": "サーバー統計の読み込みに失敗しました",
    "failedToLoadUsers": "ユーザーの読み込みに失敗しました",
    "searchToSeeUsers": "検索してユーザーを表示",
    "search": "検索",
    "invitesEnabled": "ユーザー招待を有効にしました",
    "invitesDisabled": "ユーザー招待を無効にしました",
    "userDeleted": "ユーザーアカウントを削除しました",
    "failedToDeleteAccount": "アカウントの削除に失敗しました",
    "failedToSaveConfig": "サーバー設定の保存に失敗しました",
    "failedToLoadConfig": "サーバー設定の読み込みに失敗しました",
    "signalIntegration": "Signal",
    "signalLinked": "連携済み",
    "signalNotLinked": "未連携",
    "signalLinkDevice": "デバイスを連携",
    "signalUnlinkDevice": "連携解除",
    "signalLinking": "Signalでスキャン",
    "signalLinkSuccess": "Signalデバイスを連携しました",
    "signalUnlinkSuccess": "Signalデバイスの連携を解除しました",
    "signalUnlinkConfirm": "Signalデバイスの連携を解除しますか?通知が停止します。",
    "signalLinkFailed": "Signalデバイスの連携に失敗しました",
    "signalLinkTimedOut": "Signal連携がタイムアウトしました",
    "signalUnlinkFailed": "Signalデバイスの連携解除に失敗しました",
    "signalFailedToLoad": "Signalステータスの読み込みに失敗しました"
  },
  "oauth": {
    "login": {
      "title": "サインイン",
      "subtitle": "サインイン中",
      "signingIn": "サインイン中",
      "authenticating": "認証中",
      "checkingPasskey": "確認中",
      "signInWithPasskey": "パスキー",
      "passkeyNotSetUp": "パスキーなし",
      "orUsePassword": "または",
      "password": "パスワード",
      "rememberDevice": "このデバイスを記憶",
      "passkeyHintChecking": "確認中",
      "passkeyHintAvailable": "パスキーを使用",
      "passkeyHintNotAvailable": "パスキーなし",
      "passwordPlaceholder": "パスワード",
      "usePasskey": "パスキーを使用",
      "passkeyNotAllowed": "このサイトで利用可能なパスキーがありません",
      "orUseCredentials": "または",
      "verificationResent": "確認コードを送信しました"
    },
    "register": {
      "title": "アカウント作成",
      "subtitle": "アプリ",
      "subtitleGeneric": "アカウントを作成",
      "haveAccount": "アカウントをお持ちですか？サインイン"
    },
    "sso": {
      "linkedAccounts": "連携アカウント",
      "noLinkedAccounts": "連携アカウントなし",
      "unlinkConfirm": "このアカウントの連携を解除しますか？",
      "unlinked": "{provider} の連携を解除しました",
      "linkedAt": "連携日時",
      "unlink": "連携解除",
      "linkNewAccount": "アカウント連携",
      "linked": "連携済み",
      "linkSuccess": "アカウントを連携しました",
      "linkFailed": "アカウントの連携に失敗しました",
      "unlinkFailed": "連携解除に失敗しました"
    },
    "consent": {
      "title": "アプリを承認",
      "appWantsAccess": "{app} があなたのアカウントにアクセスしようとしています",
      "authorize": "承認",
      "deny": "拒否",
      "authorizing": "承認中...",
      "signingInAs": "サインイン中のアカウント:",
      "permissionsRequested": "リクエストされた権限",
      "required": "必須",
      "rememberChoiceLabel": "このアプリに対する選択を記憶する",
      "permissionSets": "権限バンドル",
      "showIncludedScopes": "含まれる権限を表示 ({count})",
      "unavailablePermissions": "利用できない権限",
      "unavailableLimited": "委任による制限",
      "unavailableFailed": "読み込み失敗",
      "setPartiallyLimited": "このバンドルの一部の権限は委任設定により制限されています。許可されなかった権限は「利用できない権限」で確認できます。",
      "setFailureReason": {
        "not_found": "このバンドルは見つからないため、付与できません。",
        "unreachable": "バンドルの公開元に接続できないため、現在は付与できません。",
        "malformed": "このバンドルの名前が有効な識別子ではないため、付与できません。",
        "not_a_permission_set": "この識別子は権限バンドルを指していないため、付与できません。",
        "malformed_lexicon": "このバンドルは正しく公開されていないため、付与できません。",
        "empty_permissions": "このバンドルは現在、権限を付与しません。",
        "unknown": "このバンドルは付与できません。"
      },
      "permTable": {
        "data": "データ",
        "create": "作成",
        "update": "更新",
        "delete": "削除",
        "allData": "すべてのコレクション",
        "apiAccess": "API アクセス"
      },
      "scopes": {
        "atproto": {
          "name": "AT Protocol アクセス",
          "description": "本人確認とセッション確立"
        },
        "atprotoWithGranular": {
          "name": "AT Protocol アクセス",
          "description": "AT Protocol 基本スコープ（権限は以下で選択したオプションによって決まります）"
        }
      },
      "unexpectedState": {
        "title": "予期しない状態",
        "description": "同意ページが予期しない状態です。ブラウザのコンソールでエラーを確認してください。",
        "reload": "ページを再読み込み"
      }
    },
    "accounts": {
      "title": "アカウントを選択",
      "useAnother": "別のアカウントを使用"
    },
    "twoFactorCode": {
      "title": "確認",
      "subtitle": "{channel} にコード送信済み",
      "codeLabel": "コード",
      "codePlaceholder": "6桁のコード",
      "errors": {
        "missingRequestUri": "リクエストURIがありません",
        "verificationFailed": "確認失敗",
        "connectionFailed": "接続失敗",
        "unexpectedResponse": "予期しない応答"
      }
    },
    "totp": {
      "title": "認証コード",
      "codePlaceholder": "6桁のコード",
      "backupCodePlaceholder": "バックアップコード",
      "trustDevice": "このデバイスを30日間信頼",
      "hintBackupCode": "バックアップコード",
      "hintTotpCode": "認証コード"
    },
    "error": {
      "title": "承認失敗",
      "tryAgain": "再試行",
      "genericError": "予期しないエラーが発生しました"
    }
  },
  "sso_register": {
    "title": "登録を完了",
    "subtitle": "{provider}でアカウントを作成",
    "handle_label": "ハンドルを選択",
    "handle_available": "利用可能",
    "handle_taken": "既に使用されています",
    "submit": "アカウント作成",
    "error_expired": "登録セッションが期限切れです。もう一度お試しください。",
    "error_handle_required": "ハンドルを選択してください",
    "emailVerifiedByProvider": "このメールアドレスは{provider}で確認済みです。追加の確認は不要です。",
    "emailChangedNeedsVerification": "別のメールアドレスを使用する場合は、確認が必要です。",
    "infoAfterTitle": "アカウント作成後",
    "infoAddPassword": "従来のログイン用にパスワードを追加",
    "infoAddPasskey": "パスワードレスサインイン用にパスキーを設定",
    "infoLinkProviders": "追加のSSOプロバイダーを連携",
    "infoChangeHandle": "ハンドルの変更またはカスタムドメインの使用",
    "tryAgain": "もう一度試す"
  },
  "verify": {
    "title": "アカウント確認",
    "subtitle": "{channel} に確認コードを送信しました。以下に入力して登録を完了してください。",
    "tokenTitle": "確認",
    "tokenSubtitle": "確認コードと送信先の識別子を入力してください。",
    "codePlaceholder": "認証コードを貼り付け",
    "codeLabel": "確認コード",
    "codeHelp": "完全なコードをメッセージからコピーしてください",
    "pleaseWait": "お待ちください...",
    "codeResent": "確認コードを再送信しました！",
    "codeResentDetail": "確認コードを送信しました！受信トレイを確認してください。",
    "verified": "確認完了！",
    "channelVerified": "{channel} が正常に確認されました。",
    "canNowSignIn": "アカウントにサインインできるようになりました。",
    "migrationContinue": "このタブを閉じて、元のウィンドウで移行を続けてください。",
    "continue": "続行",
    "identifierLabel": "メールまたは識別子",
    "identifierPlaceholder": "you@example.com",
    "identifierHelp": "コードが送信されたメールアドレスまたは識別子",
    "verifyingAccount": "確認中のアカウント: @{handle}",
    "startOver": "別のアカウントでやり直す",
    "noPending": "保留中の確認が見つかりません。",
    "noPendingInfo": "最近アカウントを作成して確認が必要な場合は、新しいアカウントを作成する必要があります。すでにアカウントを確認した場合は、サインインできます。",
    "createAccount": "アカウントを作成",
    "signIn": "サインイン",
    "emailUpdateCodeHelp": "コードは現在のメールアドレスに送信されました",
    "emailUpdateFailed": "メールアドレスの更新に失敗しました",
    "emailUpdateRequiresAuth": "メールアドレスを更新するにはサインインが必要です。",
    "emailUpdateSubtitle": "新しいメールアドレスと、現在のメールに送信された確認コードを入力してください。",
    "emailUpdateTitle": "メールアドレスの更新",
    "emailUpdated": "メールアドレスが正常に更新されました。",
    "emailUpdatedInfo": "新しいメールアドレスの確認が必要な場合があります。",
    "emailAuthorizeSuccess": "メールアドレスの更新が承認されました。",
    "emailAuthorizeInfo": "元のデバイスで変更を完了できます。",
    "newEmailLabel": "新しいメールアドレス",
    "newEmailPlaceholder": "new@example.com",
    "updateEmail": "メールを更新",
    "updating": "更新中..."
  },
  "resetPassword": {
    "title": "パスワードリセット",
    "forgotTitle": "パスワードをお忘れですか",
    "subtitle": "受け取ったコードを入力して、新しいパスワードを選択してください。",
    "forgotSubtitle": "ハンドルまたはメールアドレスを入力すると、パスワードリセットコードを送信します。",
    "handleOrEmail": "ハンドルまたはメール",
    "emailPlaceholder": "ハンドルまたは you@example.com",
    "sendCode": "リセットコードを送信",
    "sending": "送信中...",
    "codeSent": "パスワードリセットコードを送信しました！優先通知チャンネルを確認してください。",
    "code": "リセットコード",
    "codePlaceholder": "リセットコードを入力",
    "newPassword": "新しいパスワード",
    "newPasswordPlaceholder": "8文字以上",
    "confirmPassword": "パスワード確認",
    "confirmPasswordPlaceholder": "新しいパスワードを再入力",
    "resetButton": "パスワードをリセット",
    "resetting": "リセット中...",
    "success": "パスワードをリセットしました！",
    "requestNewCode": "新しいコードをリクエスト",
    "passwordsMismatch": "パスワードが一致しません",
    "passwordLength": "パスワードは8文字以上である必要があります"
  },
  "recoverPasskey": {
    "title": "アカウントを復旧",
    "invalidLinkTitle": "無効な復旧リンク",
    "invalidLinkMessage": "この復旧リンクは無効または破損しています。新しい復旧メールをリクエストしてください。",
    "goToLogin": "ログインへ",
    "successTitle": "パスワードを設定しました！",
    "successMessage": "一時パスワードを設定しました。このパスワードでサインインできます。",
    "successNextSteps": "サインイン後、セキュリティ設定で新しいパスキーを追加して、パスキーのみの認証を復元することをお勧めします。",
    "signIn": "サインイン",
    "subtitle": "パスキーのみのアカウントへのアクセスを回復するために一時パスワードを設定します。",
    "newPassword": "新しいパスワード",
    "newPasswordPlaceholder": "8文字以上",
    "confirmPassword": "パスワード確認",
    "confirmPasswordPlaceholder": "パスワードを再入力",
    "whatHappensNext": "次のステップ",
    "whatHappensNextDetail": "このパスワードを設定後、サインインしてセキュリティ設定で新しいパスキーを追加できます。新しいパスキーを追加したら、一時パスワードを削除することもできます。",
    "setPassword": "パスワードを設定",
    "settingPassword": "パスワードを設定中...",
    "validation": {
      "passwordRequired": "新しいパスワードは必須です",
      "passwordLength": "パスワードは8文字以上である必要があります",
      "passwordsMismatch": "パスワードが一致しません"
    },
    "errors": {
      "invalidLink": "無効な復旧リンクです。新しいリンクをリクエストしてください。",
      "expired": "この復旧リンクは期限切れです。新しいリンクをリクエストしてください。"
    }
  },
  "requestPasskeyRecovery": {
    "title": "パスキーアカウントを復旧",
    "subtitle": "パスキーにアクセスできなくなりましたか？ハンドルまたはメールを入力すると、復旧リンクを送信します。",
    "successTitle": "復旧リンクを送信しました",
    "successMessage": "アカウントが存在し、パスキーのみのアカウントの場合、優先通知チャンネルに復旧リンクが届きます。",
    "successInfo": "リンクは1時間で期限切れになります。アカウント設定に応じて、メール、Discord、Telegram、または Signal を確認してください。",
    "handleOrEmail": "ハンドルまたはメール",
    "emailPlaceholder": "ハンドルまたは you@example.com",
    "howItWorks": "仕組み",
    "howItWorksDetail": "登録された通知チャンネルに安全なリンクを送信します。リンクをクリックして一時パスワードを設定します。その後サインインして新しいパスキーを追加できます。",
    "sendRecoveryLink": "復旧リンクを送信",
    "sending": "送信中..."
  },
  "registerPasskey": {
    "externalDid": "あなたの did:web",
    "externalDidPlaceholder": "did:web:yourdomain.com",
    "errors": {
      "handleRequired": "ハンドルは必須です",
      "handleNoDots": "ハンドルにドットは使用できません。アカウント作成後にカスタムドメインを設定できます。",
      "passkeysNotSupported": "このブラウザではパスキーがサポートされていません。パスワードベースのアカウントを作成するか、パスキーをサポートするブラウザを使用してください。",
      "passkeyCancelled": "パスキーの作成がキャンセルされました",
      "passkeyFailed": "パスキーの登録に失敗しました",
      "signalRequired": "Signal認証にはユーザー名が必要です",
      "inviteRequired": "招待コードが必要です",
      "externalDidRequired": "外部did:webが必要です",
      "emailRequired": "メール認証にはメールアドレスが必要です",
      "telegramRequired": "Telegram認証にはTelegramユーザー名が必要です",
      "externalDidFormat": "外部DIDはdid:web:で始まる必要があります",
      "discordRequired": "Discord認証にはDiscordユーザー名が必要です"
    },
    "identityType": "アイデンティティタイプ",
    "identityTypeHint": "分散型アイデンティティの管理方法を選択してください。",
    "passkeyNamePlaceholder": "例: yubikey、スマホ",
    "passkeyNameHint": "このパスキーを識別するための名前",
    "createPasskey": "パスキーを作成",
    "didPlcRecommended": "did:plc（推奨）",
    "didPlcHint": "PLC Directoryで管理されるポータブルなアイデンティティ",
    "didWeb": "did:web",
    "didWebHint": "このPDSでホストされるアイデンティティ（以下の警告を参照）",
    "didWebDisabledHint": "この PDS では利用できません - did:plc を使用するか、独自の did:web を持ち込んでください",
    "didWebBYOD": "did:web（BYOD）",
    "didWebBYODHint": "独自ドメインを持ち込む",
    "didWebWarningTitle": "重要：トレードオフを理解する",
    "didWebWarning1": "このPDSへの永続的な紐付け：",
    "didWebWarning1Detail": "あなたのアイデンティティ{did}はこのサーバーに紐付けられます。",
    "didWebWarning2": "回復メカニズムなし：",
    "didWebWarning2Detail": "did:plcと異なり、did:webにはローテーションキーがありません。",
    "didWebWarning3": "私たちの約束：",
    "didWebWarning3Detail": "移行後も最小限のDIDドキュメントを提供し続けます。",
    "didWebWarning4": "推奨事項：",
    "didWebWarning4Detail": "did:webを好む特別な理由がない限り、did:plcを選択してください。",
    "externalDidHint": "以下の場所でDIDドキュメントを提供する必要があります",
    "activatingAccount": "有効化中",
    "creatingAccount": "アカウント作成中",
    "passkeyDescription": "このアカウントにパスキーを登録",
    "passkeyName": "パスキー名",
    "setupPasskey": "パスキーを作成"
  },
  "trustedDevices": {
    "noDevices": "信頼済みデバイスはまだありません。",
    "noDevicesHint": "二要素認証を有効にしてログインする際に、デバイスを30日間信頼することを選択できます。",
    "lastSeen": "最終使用:",
    "trustedSince": "信頼開始:",
    "expired": "期限切れ",
    "tomorrow": "明日",
    "inDays": "あと{days}日",
    "revoke": "信頼を取り消す",
    "revokeConfirm": "このデバイスへの信頼を取り消しますか？次回このデバイスからログインする際に2FAコードの入力が必要になります。",
    "deviceRevoked": "デバイスの信頼を取り消しました",
    "deviceRenamed": "デバイス名を変更しました",
    "deviceNamePlaceholder": "デバイス名",
    "unknownDevice": "不明なデバイス"
  },
  "reauth": {
    "title": "再認証",
    "password": "パスワード",
    "totp": "TOTP",
    "passkey": "パスキー",
    "authenticatorCode": "認証コード",
    "usePasskey": "パスキー",
    "authenticating": "認証中",
    "cancel": "キャンセル"
  },
  "delegation": {
    "controllers": "コントローラー",
    "controlledAccounts": "管理アカウント",
    "noControllers": "コントローラーはまだいません",
    "noControlledAccounts": "管理アカウントはありません",
    "addController": "コントローラーを追加",
    "handle": "ハンドル",
    "did": "DID",
    "scopeOwner": "オーナー",
    "scopeViewer": "閲覧者",
    "scopeCustom": "カスタム",
    "actAs": "として行動",
    "auditLog": "監査ログ",
    "actor": "アクター",
    "details": "詳細",
    "actionGrantCreated": "許可作成",
    "actionGrantRevoked": "許可取り消し",
    "actionScopesModified": "権限変更",
    "actionTokenIssued": "トークン発行",
    "actionRepoWrite": "リポジトリ書き込み",
    "actionBlobUpload": "Blobアップロード",
    "actionAccountAction": "アカウントアクション",
    "previous": "前へ",
    "next": "次へ",
    "adding": "追加中...",
    "accessLevel": "アクセスレベル",
    "addControllerButton": "+ コントローラーを追加",
    "addControllerWarningTitle": "重要: ログイン方法が変わります",
    "addControllerWarningText": "コントローラーを追加すると、OAuth経由でこのアカウントにログインできるのはコントローラーアカウントのみになります。サードパーティアプリやWebインターフェースから自分の認証情報で直接ログインすることはできなくなります。",
    "addControllerWarningBullet1": "コントローラーは付与した権限であなたの代わりに操作できるようになります",
    "addControllerWarningBullet2": "まずコントローラーとしてログインし、その後このアカウントに切り替える必要があります",
    "addControllerWarningBullet3": "後でコントローラーを削除すれば、直接ログインできるようになります",
    "addControllerConfirm": "直接ログインできなくなることを理解しました",
    "auditLogDesc": "すべての委任アクティビティを表示",
    "cannotAddControllers": "他のアカウントを管理しているため、コントローラーを追加できません。アカウントはコントローラーを持つか、他のアカウントを管理するかのいずれかのみ可能です。",
    "cannotControlAccounts": "このアカウントにはコントローラーがいるため、他のアカウントを管理できません。アカウントはコントローラーを持つか、他のアカウントを管理するかのいずれかのみ可能です。",
    "controlledAccountsDesc": "あなたが代わりに操作できるアカウント",
    "controlledAccountsLocalOnly": "このPDS上のアカウントのみ表示されます。別のPDSがコントローラーアクセスを個別に付与している場合があります",
    "controllerAdded": "コントローラーを追加しました",
    "controllerDid": "コントローラーDID",
    "controllerIdentifier": "コントローラーのハンドルまたはDID",
    "controllerRemoved": "コントローラーを削除しました",
    "controllersDesc": "あなたの代わりに操作できるアカウント",
    "createAccount": "アカウントを作成",
    "createDelegatedAccount": "委任アカウントを作成",
    "createDelegatedAccountButton": "+ 委任アカウントを作成",
    "emailOptional": "メール（任意）",
    "granted": "許可日",
    "inactive": "非アクティブ",
    "remove": "削除",
    "removeConfirm": "このコントローラーを削除しますか？",
    "yourAccessLevel": "あなたのアクセスレベル",
    "accountCreated": "委任アカウントを作成しました: {handle}",
    "noAuditEntries": "監査エントリなし",
    "target": "対象",
    "failedToLoadAudit": "監査ログの読み込みに失敗しました"
  },
  "actAs": {
    "title": "として行動",
    "noAccountSpecified": "アカウントDIDが指定されていません",
    "noAccess": "このアカウントへのアクセス権がありません",
    "failedToInitiate": "認証の開始に失敗しました",
    "invalidResponse": "サーバーからの応答が無効です",
    "preparing": "委任アカウントへのログインを準備中...",
    "backToControllers": "コントローラーに戻る"
  },
  "oauthDelegation": {
    "loading": "読み込み中...",
    "title": "委任アカウント",
    "isDelegated": "{handle} は委任アカウントです。",
    "enterControllerHandle": "このアカウントにアクセスするには、コントローラーアカウントでサインインしてください。",
    "controllerHandle": "コントローラーハンドル",
    "handlePlaceholder": "handle.example.com",
    "checking": "確認中...",
    "controllerNotFound": "アカウントが見つからないか、この委任アカウントへのアクセス権がありません",
    "missingParams": "委任パラメータが見つかりません",
    "missingInfo": "必要な情報がありません",
    "passkeyCancelled": "パスキー認証がキャンセルされました",
    "passkeyFailed": "パスキー認証に失敗しました",
    "failedPasskeyStart": "パスキーログインの開始に失敗しました",
    "authFailed": "認証に失敗しました",
    "unexpectedResponse": "サーバーから予期しない応答がありました",
    "signInAsController": "コントローラーとしてサインイン",
    "authenticateAs": "{controller} として認証して {delegated} の代わりに操作します",
    "useDifferentController": "別のコントローラーを使用",
    "signInWithPasskey": "パスキーでサインイン",
    "authenticating": "認証中...",
    "usePasskey": "パスキーを使用",
    "or": "または",
    "password": "パスワード",
    "enterPassword": "パスワードを入力",
    "rememberDevice": "このデバイスを記憶する",
    "signingIn": "サインイン中...",
    "signIn": "サインイン",
    "goBack": "戻る",
    "unableToLoad": "委任情報を読み込めませんでした"
  },
  "oauthConsent": {
    "delegatedAccess": "委任アクセス",
    "actingAs": "次として行動中",
    "controller": "コントローラー",
    "accessLevel": "アクセスレベル",
    "readOnlyAccess": "読み取り専用アクセス",
    "readOnlyDesc": "公開情報のみ閲覧可能。このアカウントへの書き込みアクセスはありません。",
    "permissionsLimited": "権限が制限されています",
    "permissionsLimitedDesc": "アプリが何を要求しても、実際の権限は{level}アクセスレベルに制限されます。",
    "viewerLimitedDesc": "閲覧者として、読み取り専用アクセスのみ可能です。このアプリはこのアカウントでコンテンツの作成、更新、削除ができません。",
    "editorLimitedDesc": "編集者として、コンテンツの作成と編集が可能ですが、アカウント設定やセキュリティの管理はできません。"
  },
  "migration": {
    "title": "アカウント移行",
    "subtitle": "AT Protocolアイデンティティをサーバー間で移動",
    "migrateHere": "ここに移行",
    "migrateHereDesc": "既存のAT ProtocolアカウントをこのPDSに移動します。",
    "bringDid": "DIDとアイデンティティを持ち込む",
    "transferData": "すべてのデータを転送",
    "keepFollowers": "フォロワーを維持",
    "whatIsMigration": "アカウント移行とは？",
    "whatIsMigrationDesc": "アカウント移行により、AT Protocolアイデンティティをパーソナルデータサーバー（PDS）間で移動できます。DID（分散型識別子）は変わらないため、フォロワーやソーシャルコネクションは維持されます。",
    "beforeMigrate": "移行前の確認事項",
    "beforeMigrate1": "現在のアカウント認証情報が必要です",
    "beforeMigrate2": "セキュリティのためメール認証が必要です",
    "beforeMigrate3": "画像が多い大きなアカウントは数分かかる場合があります",
    "beforeMigrate4": "古いPDSにアカウントの無効化が通知されます",
    "importantWarning": "アカウント移行は重要な操作です。移行先のPDSを信頼し、データが移動されることを理解してください。問題が発生した場合、手動での復旧が必要になる可能性があります。",
    "learnMore": "移行のリスクについて詳しく",
    "offlineRestore": "オフライン復元",
    "offlineRestoreDesc": "旧PDSが利用できない場合にバックアップから復元します。",
    "offlineFeature1": "CARファイルバックアップを使用",
    "offlineFeature2": "ローテーションキーで所有権を証明",
    "offlineFeature3": "シャットダウンしたサーバーの復旧",
    "oauthCompleting": "認証を完了しています...",
    "oauthFailed": "認証に失敗しました",
    "tryAgain": "再試行",
    "resume": {
      "title": "移行を再開しますか？",
      "incomplete": "未完了の移行があります：",
      "direction": "方向",
      "migratingHere": "ここに移行中",
      "from": "移行元",
      "to": "移行先",
      "progress": "進行状況",
      "reenterCredentials": "続行するには認証情報を再入力する必要があります。",
      "startOver": "最初からやり直す",
      "resumeButton": "再開"
    },
    "inbound": {
      "welcome": {
        "title": "このPDSに移行",
        "desc": "既存のAT Protocolアカウントをこのサーバーに移動します。",
        "understand": "リスクを理解し、続行します"
      },
      "sourceAuth": {
        "title": "現在のハンドルを入力",
        "titleResume": "移行を再開",
        "desc": "移行するアカウントのハンドルを入力してください。",
        "descResume": "移行を続行するには、元のPDSに再認証してください。",
        "handle": "ハンドル",
        "handlePlaceholder": "alice.bsky.social",
        "handleHint": "現在のPDSでのハンドル",
        "continue": "続行",
        "connecting": "接続中...",
        "reauthenticate": "再認証",
        "resumeTitle": "移行中",
        "resumeFrom": "移行元",
        "resumeTo": "移行先",
        "resumeProgress": "進行状況",
        "resumeOAuthNote": "続行するにはOAuthで再認証が必要です。"
      },
      "chooseHandle": {
        "title": "新しいハンドルを選択",
        "desc": "このPDSでのアカウントのハンドルを選択してください。",
        "migratingFrom": "移行元",
        "handleChoice": "ハンドル",
        "keepExisting": "既存のハンドルを維持",
        "createNew": "新しいハンドルを作成",
        "existingHandle": "現在のハンドル",
        "verifyInstructions": "DNSまたはHTTPで所有権を確認",
        "or": "または",
        "returning": "返却値",
        "verifyOwnership": "所有権を確認",
        "verifying": "確認中",
        "verified": "確認済み",
        "checkAgain": "再確認",
        "newHandle": "新しいハンドル",
        "checkingAvailability": "利用可能か確認中...",
        "handleAvailable": "ハンドルは利用可能です！",
        "handleTaken": "このハンドルは既に使用されています",
        "handleTooShort": "ハンドルは3文字以上必要です",
        "handleHint": "フルハンドル（例：alice.mydomain.com）を入力して独自ドメインを使用することもできます",
        "email": "メールアドレス",
        "authMethod": "認証方法",
        "authPassword": "パスワード",
        "authPasswordDesc": "従来のパスワードベースのログイン",
        "authPasskey": "パスキー",
        "authPasskeyDesc": "生体認証やセキュリティキーを使用したパスワードレスログイン",
        "password": "パスワード",
        "passwordHint": "8文字以上",
        "passkeyInfo": "アカウント作成後にパスキーを設定します。デバイスが生体認証（指紋、Face ID）またはセキュリティキーの使用を促します。",
        "inviteCode": "招待コード"
      },
      "review": {
        "title": "移行の確認",
        "desc": "移行の詳細を確認してください。",
        "currentHandle": "現在のハンドル",
        "newHandle": "新しいハンドル",
        "did": "DID",
        "sourcePds": "移行元PDS",
        "targetPds": "移行先PDS",
        "email": "メール",
        "authentication": "認証",
        "authPasskey": "パスキー（パスワードレス）",
        "authPassword": "パスワード",
        "warning": "「移行を開始」をクリックすると、リポジトリとデータの転送が始まります。このプロセスは簡単に元に戻すことができません。",
        "startMigration": "移行を開始",
        "starting": "開始中..."
      },
      "migrating": {
        "title": "移行中",
        "desc": "アカウントを転送しています...",
        "exportRepo": "リポジトリをエクスポート",
        "importRepo": "リポジトリをインポート",
        "migrateBlobs": "blobを移行",
        "migratePrefs": "設定を移行"
      },
      "passkeySetup": {
        "title": "パスキーを設定",
        "desc": "メールが確認されました。安全なパスワードレスログインのためにパスキーを設定してください。",
        "nameLabel": "パスキー名（任意）",
        "namePlaceholder": "例: yubikey、スマホ",
        "nameHint": "このパスキーを識別するためのわかりやすい名前",
        "instructions": "下のボタンをクリックしてパスキーを登録してください。デバイスが生体認証（指紋、Face ID）またはセキュリティキーの使用を促します。",
        "register": "パスキーを登録",
        "registering": "登録中..."
      },
      "appPassword": {
        "title": "アプリパスワードを保存",
        "desc": "パスキーが作成されました。パスキーをまだサポートしていないアプリで使用するためのアプリパスワードが生成されました。",
        "warning": "このアプリパスワードは、パスキーをまだサポートしていないアプリ（bsky.appなど）へのサインインに必要です。このパスワードは一度しか表示されません。",
        "label": "アプリパスワード：",
        "saved": "アプリパスワードを安全な場所に保存しました",
        "continue": "続ける"
      },
      "emailVerify": {
        "title": "アカウントを確認",
        "desc": "確認コードが {email} に送信されました。",
        "hint": "下記にコードを入力するか、メッセージ内のリンクをクリックして自動的に続行できます。",
        "tokenLabel": "確認コード",
        "tokenPlaceholder": "確認コードを入力",
        "resend": "コードを再送信",
        "telegramInstructions": "Telegram ボットにメッセージを送信してアカウントを確認してください。",
        "discordInstructions": "Discord ボットにメッセージを送信してアカウントを確認してください。",
        "openTelegram": "Telegram で確認する",
        "openDiscord": "Discord で確認する",
        "waitingForVerification": "確認を待っています..."
      },
      "plcToken": {
        "title": "移行を確認",
        "desc": "古いアカウントに登録されているメールアドレスに確認コードが送信されました。",
        "info": "このコードはアカウントへのアクセス権を確認し、このPDSを指すようにアイデンティティを更新することを承認します。",
        "tokenLabel": "確認コード",
        "tokenPlaceholder": "メールに記載されたコードを入力",
        "resend": "コードを再送信",
        "complete": "移行を完了",
        "completing": "確認中..."
      },
      "didWebUpdate": {
        "title": "DIDドキュメントを更新",
        "desc": "did:webアイデンティティを使用しているため、DIDドキュメントを更新してこのPDSを指すようにする必要があります。",
        "yourDid": "あなたのDID：",
        "updateInstructions": "ドメインのdid.jsonファイルを更新して、atproto_pdsサービスエンドポイントをこのPDSに向けてください：",
        "important": "重要：",
        "verifyFirst": "移行を完了する前に、DIDドキュメントが更新され、公開アクセス可能であることを確認してください。",
        "fileLocation": "ファイルの場所：",
        "complete": "移行を完了",
        "completing": "完了中..."
      },
      "finalizing": {
        "title": "移行を完了中",
        "desc": "移行を完了しています...",
        "signingPlc": "アイデンティティ更新に署名",
        "activating": "新しいPDSでアカウントを有効化",
        "deactivating": "古いPDSでアカウントを無効化"
      },
      "success": {
        "title": "移行完了！",
        "desc": "アカウントはこのPDSに正常に移行されました。",
        "yourNewHandle": "新しいハンドル",
        "did": "DID",
        "blobsWarning": "{count}個のblobを移行できませんでした。これらは利用できなくなった画像やその他のメディアの可能性があります。",
        "redirecting": "ダッシュボードにリダイレクト中..."
      },
      "error": {
        "title": "移行エラー",
        "desc": "移行中にエラーが発生しました。",
        "startOver": "最初からやり直す",
        "unknown": "不明なエラーが発生しました。"
      },
      "common": {
        "back": "戻る",
        "cancel": "キャンセル",
        "continue": "続行",
        "whatWillHappen": "何が起こるか：",
        "step1": "現在のPDSにログイン",
        "step2": "このサーバーでの新しいハンドルを選択",
        "step3": "リポジトリとblobが転送されます",
        "step4": "メールで移行を確認",
        "step5": "アイデンティティがここを指すように更新されます",
        "beforeProceed": "続行する前に：",
        "warning1": "現在のアカウントに登録されているメールへのアクセスが必要です",
        "warning2": "大きなアカウントの転送には数分かかる場合があります",
        "warning3": "移行後、古いアカウントは無効化されます"
      }
    },
    "offline": {
      "welcome": {
        "title": "バックアップから復元",
        "desc": "CARファイルバックアップとローテーションキーを使用してアカウントを復元します。以前のPDSが利用できない場合に使用してください。",
        "warningTitle": "この方法を使用するタイミング",
        "warningDesc": "このオフライン復元は、古いPDSがシャットダウンした、アクセスできない、またはロックアウトされた場合の災害復旧用です。古いPDSがまだ利用可能な場合は、代わりに標準の移行を使用してください。",
        "requirementsTitle": "必要なもの",
        "requirement1": "リポジトリのCARファイルバックアップ",
        "requirement2": "ローテーションキー（DIDの秘密鍵）",
        "requirement3": "あなたのDID (did:plc:xxx)",
        "understand": "理解し、続行します"
      },
      "provideDid": {
        "title": "DIDを入力",
        "desc": "復元するアカウントのDIDを入力してください。",
        "label": "あなたのDID",
        "hint": "分散型識別子（例：did:plc:abc123）"
      },
      "uploadCar": {
        "title": "CARファイルをアップロード",
        "desc": "リポジトリバックアップファイルをアップロードしてください。",
        "label": "CARファイル",
        "hint": "バックアップから.carファイルを選択",
        "reuploadWarningTitle": "CARファイルが必要です",
        "reuploadWarning": "セッションは復元されましたが、CARファイルを再アップロードする必要があります。セキュリティ上の理由から、ファイルの内容はセッション間で保存されません。"
      },
      "rotationKey": {
        "title": "ローテーションキーを提供",
        "desc": "このDIDの所有権を証明するためにローテーションキーを入力してください。",
        "securityWarningTitle": "セキュリティ警告",
        "securityWarning1": "ローテーションキーは非常に機密性が高いです - マスターパスワードのように扱ってください",
        "securityWarning2": "信頼できるデバイスとネットワークでのみ入力してください",
        "securityWarning3": "このキーは移行完了後に保存されません",
        "label": "ローテーションキー",
        "placeholder": "秘密鍵を入力（hex、base58、またはJWK）",
        "hint": "DIDドキュメントのローテーションキーの1つに対応する秘密鍵",
        "valid": "キーは有効で、DIDのローテーションキーと一致します",
        "invalid": "キーはDIDドキュメントのどのローテーションキーとも一致しません",
        "validating": "キーを検証中...",
        "validate": "キーを検証"
      },
      "chooseHandle": {
        "migratingDid": "DIDを復元中"
      },
      "review": {
        "desc": "オフライン復元の詳細を確認してください。",
        "carFile": "CARファイル",
        "rotationKey": "ローテーションキー",
        "plcWarningTitle": "引き返せないポイント",
        "plcWarning": "開始すると、DIDドキュメントがこのPDSを指すように更新されます。問題が発生した場合はローテーションキーを使用して回復できますが、壊れたアイデンティティ状態を避けるために移行を完了する必要があります。"
      },
      "migrating": {
        "title": "アカウントを復元中",
        "desc": "アカウントを復元しています...",
        "creating": "アカウントを作成中",
        "importing": "リポジトリをインポート中"
      },
      "success": {
        "desc": "アカウントはこのPDSに正常に復元されました。"
      },
      "blobs": {
        "title": "Blobを移行中",
        "desc": "古いPDSから画像とメディアの復元を試みています...",
        "migrating": "Blobを移行中",
        "failedTitle": "一部のBlobを移行できませんでした",
        "failedDesc": "{count}個のBlobを古いPDSから取得できませんでした。サーバーに接続できないか、ファイルが削除された可能性があります。"
      }
    }
  }
}
