码桶
发现社区成员的开源项目
ja.js51.4 KB
export default {
title: 'DNS 管理パネル',
subtitle: 'Cloudflare ドメインを安全に管理',
serverMode: 'サーバーモード',
clientMode: 'クライアントモード',
usernameLabel: 'ユーザー名',
usernamePlaceholder: 'ユーザー名を入力...',
passwordLabel: 'パスワード',
passwordPlaceholder: 'パスワードを入力...',
tokenLabel: 'Cloudflare API トークン',
tokenPlaceholder: 'API トークンを貼り付け...',
tokenHint: 'トークンはヘッダー経由で送信され、バックエンドは透過プロキシとして動作します。',
apiTokenTab: 'API Token',
globalKeyTab: 'Global API Key',
globalKeyEmailLabel: 'Cloudflare アカウントメール',
globalKeyEmailPlaceholder: '[email protected]',
globalKeyLabel: 'Global API Key',
globalKeyPlaceholder: 'Global API Key を入力',
globalKeyHint: 'Cloudflare ダッシュボード > My Profile > API Tokens > Global API Key で取得:',
globalKeyWarning: 'セキュリティ注意:Global API Key はアカウント全体の制御権を持ちます。漏洩した場合、攻撃者がCloudflareアカウントを完全に制御できます。より細かい権限制御にはAPI Tokenを推奨します。',
serverHint: 'バックエンドは Pages 環境変数で動作します。',
loginBtn: 'ダッシュボードへ',
loginFailed: 'ログイン失敗',
sessionExpired: 'セッションが期限切れです。再度ログインしてください。',
errorOccurred: 'エラーが発生しました',
yourDomains: 'ドメイン一覧',
domainSubtitle: 'ゾーンを選択して DNS および SaaS 設定を管理します',
refresh: '更新',
id: 'ID',
manage: '管理',
back: 'ゾーン一覧に戻る',
dnsRecords: 'DNS レコード',
saasHostnames: 'カスタムホスト名',
addRecord: 'レコード追加',
type: 'タイプ',
name: '名前',
content: '内容',
proxied: 'プロキシ',
actions: '操作',
hostname: 'ホスト名',
status: 'ステータス',
sslStatus: 'SSL ステータス',
confirmDelete: 'このレコードを削除してもよろしいですか?',
logout: 'ログアウト',
managed: 'マネージド',
clientOnly: 'クライアント専用',
cancel: 'キャンセル',
save: '保存',
saving: '保存中...',
addModalTitle: '新しい DNS レコードを追加',
confirmTitle: '操作の確認',
confirmDeleteText: 'この操作は取り消せません。続行しますか?',
yes: '確認',
no: 'いいえ',
statusActive: '有効',
statusPending: '保留中',
statusInitializing: '初期化中',
statusMoved: '移動済み',
statusDeactivated: '無効化',
rememberMe: 'ログイン状態を維持',
rememberToken: 'API トークンを保存',
searchPlaceholder: 'レコードを検索...',
editRecord: 'レコード編集',
addSaaS: 'カスタムホスト名を追加',
confirmDeleteSaaS: 'このカスタムホスト名を削除してもよろしいですか?',
proxiedHint: '有効にすると、トラフィックは Cloudflare によって高速化・保護されます',
hostnamePlaceholder: '例: app.example.com',
fallbackOrigin: 'フォールバックオリジン',
fallbackOriginPlaceholder: '例: origin.example.com',
updateFallback: 'フォールバックオリジンを更新',
fallbackStatus: 'フォールバックステータス',
sslMethod: 'SSL 検証方法',
sslType: 'SSL タイプ',
sslMethodTxt: 'TXT レコード',
sslMethodHttp: 'HTTP 検証',
sslMethodCname: 'CNAME 検証',
sslMethodEmail: 'メール検証',
httpWarning: 'セキュリティ警告:安全でない HTTP 接続が検出されました。トークンを保護するため、非 HTTPS 環境での機密情報の送信は禁止されています(localhost を除く)。',
recommended: '推奨',
copied: 'クリップボードにコピーしました',
updateSuccess: '更新成功',
addSuccess: '追加成功',
deleteSuccess: '削除成功',
importSuccess: 'インポート成功',
exportSuccess: 'エクスポート成功',
batchDelete: '一括削除',
confirmBatchDelete: '選択した {count} 件のレコードを削除してもよろしいですか?',
comment: 'コメント',
tags: 'タグ',
addTag: 'タグを追加',
commentPlaceholder: 'コメントを追加...',
tagsPlaceholder: 'タグを入力して Enter を押してください',
priority: '優先度',
weight: 'ウェイト',
port: 'ポート',
service: 'サービス',
protocol: 'プロトコル',
tag: 'タグ',
flags: 'フラグ',
import: 'インポート',
export: 'エクスポート',
uploadFile: '設定ファイルをアップロード',
order: '順序',
preference: '優先度',
regex: '正規表現',
replacement: '置換値',
algorithm: 'アルゴリズム',
fingerprint: 'フィンガープリント',
keyTag: 'キータグ',
digestType: 'ダイジェストタイプ',
digest: 'ダイジェスト',
usage: '用途',
selector: 'セレクタ',
matchingType: 'マッチングタイプ',
certificate: '証明書',
target: 'ターゲット',
value: '値',
ttl: 'TTL',
ttlAuto: '自動',
ttl1min: '1 分',
ttl2min: '2 分',
ttl5min: '5 分',
ttl10min: '10 分',
ttl15min: '15 分',
ttl30min: '30 分',
ttl1h: '1 時間',
ttl2h: '2 時間',
ttl5h: '5 時間',
ttl12h: '12 時間',
ttl1d: '1 日',
ownership: '所有権の確認',
sslValidation: 'SSL 検証',
verifyMethod: '検証方法',
verifyType: '検証タイプ',
verifyName: '検証名',
verifyValue: '検証値',
certificateStatus: '証明書ステータス',
hostnameStatus: 'ホスト名ステータス',
verificationRecords: '検証レコード',
noVerificationNeeded: '検証は不要です',
editSaaS: 'カスタムホスト名を編集',
minTlsVersion: '最小 TLS バージョン',
certType: '証明書タイプ',
certCloudflare: 'Cloudflare 提供',
certCustom: 'カスタム証明書',
originServer: 'オリジンサーバー',
defaultOrigin: 'デフォルトオリジン',
customOrigin: 'カスタムオリジン',
originPlaceholder: '例: origin.example.com',
tlsDefault: 'TLS 1.0(デフォルト)',
active: '有効',
pending_validation: '検証待ち',
pending_deployment: 'デプロイ中',
pending: '保留中',
switchZone: 'ドメイン切り替え',
deleteZone: 'ゾーン削除',
deleteZoneWarning: 'この操作により、このドメインとそのすべてのDNSレコード、設定、構成がCloudflareアカウントから永久に削除されます。この操作は元に戻せません。',
deleteZoneTypeConfirm: '削除を確認するには {zone} と入力してください:',
zoneDeleted: 'ゾーンが正常に削除されました',
zoneDeleteFailed: 'ゾーンの削除に失敗しました',
saasNotEnabled: 'カスタムホスト名が有効化されていません',
saasNotEnabledDesc: 'Cloudflareはすべてのプランで100個の無料カスタムホスト名(SSL for SaaS)を提供していますが、まずCloudflareダッシュボードで有効化し、有効な支払い方法を追加する必要があります。',
saasStep1: '1. Cloudflareダッシュボード → SSL/TLS → カスタムホスト名に移動',
saasStep2: '2. 有効な支払い方法を追加(課金はされません)',
saasStep3: '3. 有効化後、最大100個のカスタムホスト名を無料で管理できます',
unbindZone: 'ゾーン解除',
unbindZoneDesc: 'このマネージャーからドメインを削除するだけです。ゾーンはCloudflareアカウントに残ります。更新すると再表示されます。',
zoneUnbound: 'ゾーンがマネージャーから削除されました',
unbindZoneConfirmShort: 'このゾーンをマネージャーから削除しますか?',
deleteGroup: '認証情報グループを削除',
deleteGroupDesc: 'この認証情報と配下の {count} 個のゾーンを削除します。ゾーンはCloudflareアカウントに残りますが、トークン/キーは削除されます。',
zoneActions: 'ゾーン操作',
toggleSidebar: 'サイドバー切替',
overview: '概要',
selectZone: 'ゾーンを選択',
noZonesFound: 'ドメインが見つかりません。トークンを確認するか、Cloudflare でドメインを追加してください。',
fallbackError: 'このレコードは SSL for SaaS のフォールバックオリジンとして設定されているため、編集できません。',
invalidPassword: 'パスワードが無効です',
accountLocked: 'アカウントが一時的にロックされています。しばらくしてから再試行してください。',
serverNotConfigured: 'サーバーはパスワードログイン用に設定されていません',
switchAccount: 'アカウント切り替え',
not_set: '未設定',
invalidToken: '無効な API トークン',
tokenRequired: 'API トークンが必要です',
verifyFailed: 'トークン検証に失敗しました',
noZonesServerExplanation: 'サーバーモードですが、サーバーに CF_API_TOKEN が設定されていないか、トークンにドメインへのアクセス権がありません。',
noZonesClientExplanation: 'API トークンが無効、期限切れ、または必要な権限がない可能性があります。',
noZonesRetryWithToken: 'API トークンで再試行',
noZonesEnterToken: 'Cloudflare API トークンを入力して直接接続します。',
noZonesGetToken: 'トークンを作成してください:',
tokenRequiredPermissions: '必要な権限:Zone > Zone Read, DNS Edit, Zone Settings Edit, Cache Purge, SSL and Certificates Edit',
backToLogin: 'ログインに戻る',
retryFetch: '再試行',
saveToServer: 'サーバーに保存',
saveToServerHint: 'トークンをサーバーに保存すると、次回パスワードでログインするだけでドメインを管理できます。',
tokenSaved: 'トークンをサーバーに保存しました',
tokenSaveFailed: '保存に失敗しました',
useDirectly: 'そのまま使用',
addAccount: 'アカウント追加',
addNewToken: '新しいトークンを追加',
addAccountTitle: 'Cloudflare アカウントを追加',
accountName: 'アカウント名(任意)',
accountNamePlaceholder: '例: マイブログ',
removeAccount: 'アカウント削除',
confirmRemoveAccount: 'このアカウントを削除しますか?トークンはサーバーから削除されます。',
accountAdded: 'アカウントを追加しました',
accountRemoved: 'アカウントを削除しました',
storageServer: 'マネージド',
storageLocal: 'ローカル',
switchingStorage: '切り替え中...',
switchedToLocal: 'ローカルモードに切り替えました',
switchedToServer: 'マネージドモードに切り替えました',
localModeTitle: 'ローカルモード',
localModeDesc: 'トークンはブラウザのみに保存され、サーバーを経由しません。',
localTokens: 'ローカルトークン',
noLocalTokens: 'ローカルトークンがありません。Cloudflare API トークンを追加してください。',
addLocalToken: 'ローカルトークンを追加',
localTokenAdded: 'トークンをローカルに追加しました',
removeLocalToken: '削除',
confirmRemoveLocalToken: 'このローカルトークンを削除しますか?',
localTokenRemoved: 'ローカルトークンを削除しました',
uploadToServer: 'サーバーにアップロード',
uploadedToServer: 'サーバーにアップロードしました',
switchToLocal: 'ローカルストレージに切り替え',
localBadge: 'ローカル',
apiTokenBadge: 'API Token',
globalKeyBadge: 'Global Key',
usersManagement: 'ユーザー管理',
addUser: 'ユーザー追加',
editUser: 'ユーザー編集',
deleteUser: 'ユーザー削除',
confirmDeleteUser: 'このユーザーを削除しますか?ユーザーのすべてのトークンも削除されます。',
roleAdmin: '管理者',
roleUser: '一般ユーザー',
userCreated: 'ユーザーを作成しました',
userUpdated: 'ユーザーを更新しました',
userDeleted: 'ユーザーを削除しました',
newPassword: '新しいパスワード',
newPasswordPlaceholder: '新しいパスワードを入力(空欄で変更なし)',
role: 'ロール',
loginAnotherAccount: '別のアカウントでログイン',
addSessionTitle: '別のアカウントでログイン',
sessionAdded: 'アカウントを追加しました',
removeSession: 'このアカウントからログアウト',
setupAccount: 'アカウント設定',
setupAccountDesc: '管理者から受け取ったセットアップトークンでパスワードを設定します',
setupTokenLabel: 'セットアップトークン',
setupTokenPlaceholder: '管理者からのセットアップトークンを貼り付け...',
setupSuccess: 'アカウントが有効化されました。ログインしてください。',
setupFailed: 'セットアップ失敗',
needsSetup: 'アカウントが未設定です。先にセットアップトークンを使用してください。',
changePassword: 'パスワード変更',
currentPassword: '現在のパスワード',
currentPasswordPlaceholder: '現在のパスワードを入力...',
newPasswordPlaceholder2: '新しいパスワードを入力...',
confirmNewPassword: '新しいパスワードの確認',
confirmNewPasswordPlaceholder: '新しいパスワードを再入力...',
passwordChanged: 'パスワードを変更しました',
passwordMismatch: 'パスワードが一致しません',
passwordTooWeak: 'パスワードは8文字以上で、英字と数字を含む必要があります',
passwordChangeError: 'パスワード変更に失敗しました',
setupTokenCopied: 'セットアップトークンをコピーしました',
resetSetupToken: 'セットアップトークンを再生成',
userStatusPending: '未有効化',
userStatusActive: '有効',
adminPasswordNote: '管理者パスワードは環境変数で管理されています',
register: '新規登録',
registerDesc: '新しいアカウントを作成',
registerSuccess: '登録完了。ログインしてください。',
registerFailed: '登録に失敗しました',
registrationDisabled: '登録は無効です。管理者に招待を依頼してください。',
appSettings: '設定',
openRegistration: 'オープン登録',
openRegistrationDesc: '招待トークンなしで誰でも自己登録できるようにする',
settingsSaved: '設定を保存しました',
inviteTokenMode: '招待トークンモード',
inviteTokenModeDesc: '新規ユーザーは登録時に管理者が提供する招待トークンが必要です',
badgeE2E: 'E2E 暗号化',
badgeZeroKnowledge: 'ゼロナレッジ',
badgeSHA256: 'PBKDF2 ハッシュ',
badgeJWT: 'JWT 認証',
badgeHTTPS: 'HTTPS のみ',
badgeNoPlaintext: '平文パスワード送信なし',
passkey: 'パスキー',
passkeyLogin: 'パスキーログイン',
passkeyLoginDesc: '登録済みのパスキーでサインイン',
passkeyLoginBtn: 'パスキーでサインイン',
passkeyManage: 'パスキー管理',
passkeyRegister: 'パスキー登録',
passkeyRegistered: 'パスキーを登録しました',
passkeyDeleted: 'パスキーを削除しました',
passkeyNone: 'パスキーが未登録です',
passkeyName: '名前',
passkeyCreatedAt: '登録日時',
passkeyNoSupport: 'このブラウザはパスキーに対応していません',
passkeyNoCredentials: 'このユーザーにはパスキーが登録されていません',
passkeyError: 'パスキー操作に失敗しました',
passkeyUsernameRequired: '先にユーザー名を入力してください',
badgePasskey: 'パスキー対応',
darkMode: 'ダークモード',
lightMode: 'ライトモード',
// Audit Log
auditLog: '監査ログ',
auditLogEmpty: '監査記録はまだありません',
auditLogClear: 'ログをクリア',
auditLogClearConfirm: 'すべての監査ログをクリアしてもよろしいですか?',
auditLogCleared: '監査ログをクリアしました',
auditTime: '時刻',
auditUser: 'ユーザー',
auditAction: '操作',
auditDetail: '詳細',
auditPrev: '前へ',
auditNext: '次へ',
// Global Search
globalSearchPlaceholder: '全ゾーンの DNS レコードを検索...',
searchResults: '検索結果',
searchNoResults: '一致するレコードが見つかりません',
searchMinChars: '2 文字以上入力してください',
searching: '検索中...',
searchResultCount: '{count} 件のレコードが見つかりました({zones} ゾーンを検索)',
// TOTP/2FA
totpManage: '二段階認証',
totpSetupDesc: '認証アプリでセキュリティを強化します',
totpEnabled: '二段階認証が有効です',
totpNotEnabled: '二段階認証が無効です',
totpEnable: '二段階認証を有効化',
totpDisable: '二段階認証を無効化',
totpScanQR: '認証アプリで QR コードをスキャンするか、キーを手動で入力してください',
totpSecretKey: 'シークレットキー',
totpEnterCode: '設定を完了するにはコードを入力してください',
totpCodePlaceholder: '6 桁のコード',
totpVerify: '確認',
totpVerified: '二段階認証を有効化しました',
totpDisabled: '二段階認証を無効化しました',
totpDisableDesc: '二段階認証を無効にするには現在のコードを入力してください',
totpRequired: '二段階認証コードを入力してください',
totpInvalid: '認証コードが無効です',
totpStep: '二段階認証',
// DNS History/Rollback
dnsHistory: 'DNS 履歴',
noSnapshots: 'スナップショットはありません',
snapshotTime: '時刻',
snapshotUser: 'ユーザー',
snapshotAction: '操作',
rollback: 'ロールバック',
rollbackConfirm: 'このスナップショットにロールバックしますか?現在のレコードは置き換えられます。',
rollbackSuccess: 'ロールバック完了',
rollbackDetail: '削除: {deleted}、作成: {created}、更新: {updated}',
// Diff View
compare: '比較',
diffTitle: 'スナップショット差分',
diffNoChanges: 'スナップショットと現在のレコードに差異はありません',
diffAdded: '追加',
diffRemoved: '削除',
diffModified: '変更',
diffAddedSection: '追加されたレコード(現在あり、スナップショットになし)',
diffRemovedSection: '削除されたレコード(スナップショットにあり、現在なし)',
diffModifiedSection: '変更されたレコード',
diffBefore: 'スナップショット',
diffAfter: '現在',
// Bulk Operations
bulkOperations: '一括操作',
bulkDesc: '複数ゾーンの DNS レコードを一括管理',
bulkCreate: '一括作成',
bulkDelete: '一括削除',
bulkAllZones: '全ゾーン',
bulkSelectedZones: '選択したゾーン',
bulkExecute: '実行',
bulkExecuting: '実行中...',
bulkResults: '結果',
bulkSuccess: '一括操作が完了しました',
bulkSelectZones: 'ゾーンを選択',
bulkRecordType: 'レコードタイプ',
bulkRecordName: 'レコード名',
bulkRecordContent: 'レコード値',
// Webhook
webhookUrl: 'Webhook URL',
webhookUrlPlaceholder: 'https://example.com/webhook',
webhookDesc: 'DNS 変更やログインイベントの通知を受け取る Webhook を設定します',
webhookSaved: 'Webhook を保存しました',
// DNS Templates
templates: 'テンプレート',
templateSpf: 'SPF(ドメインのメールサーバーを許可)',
templateDmarc: 'DMARC(基本ポリシー)',
templateGoogleMx: 'Google Workspace MX',
templateWwwCname: 'WWW リダイレクト (CNAME)',
templateMailMx: 'メール (MX 基本)',
templateGoogleVerify: '検証 (Google)',
templateApplied: 'テンプレートを適用しました',
// Bulk Import
bulkImport: '一括インポート',
bulkImportDesc: 'JSON で DNS レコードを一括インポート',
pasteJson: 'JSON を貼り付け',
uploadJsonFile: 'または .json ファイルをアップロード',
previewRecords: 'レコードをプレビュー',
importRecords: 'レコードをインポート',
importing: 'インポート中...',
importResultCreated: '{count} 件のレコードを作成しました',
importResultErrors: '{count} 件のレコードのインポートに失敗しました',
invalidJson: '無効な JSON 形式です',
noRecordsFound: 'レコードが見つかりません',
jsonFormatHint: '形式: { "records": [{ "type": "A", "name": "@", "content": "1.2.3.4" }] }',
// Zone Permissions
allowedZones: 'ゾーン権限',
allowedZonesDesc: 'このユーザーが管理できるゾーンを制限します(空欄 = すべてのゾーン)',
allowedZonesPlaceholder: 'ゾーン名を入力して Enter(例: example.com)',
allowedZonesAll: 'すべてのゾーン(制限なし)',
allowedZonesAdd: '追加',
allowedZonesRemove: '削除',
// Dashboard
dashboard: 'ダッシュボード',
dashboardZones: 'ゾーン数',
dashboardRecords: 'DNS レコード数',
dashboardAccounts: 'アカウント数',
dashboardLastLogin: '最終ログイン',
dashboardRecentActivity: '最近のアクティビティ',
dashboardNoActivity: 'アクティビティはありません',
dashboardJustNow: 'たった今',
// Scheduled Changes
scheduledChanges: '予約変更',
scheduleForLater: '後で実行',
scheduleDateTime: '実行日時',
scheduleConfirm: '予約する',
scheduleCreated: '予約変更を作成しました',
scheduleCancelled: '予約変更をキャンセルしました',
scheduleMustBeFuture: '実行日時は未来でなければなりません',
noScheduledChanges: '予約変更はありません',
scheduledFor: '予約日時',
cancelSchedule: '予約をキャンセル',
scheduleActionCreate: '作成',
scheduleActionUpdate: '更新',
scheduleActionDelete: '削除',
// Keyboard Shortcuts
keyboardShortcuts: 'キーボードショートカット',
shortcutFocusSearch: '検索にフォーカス',
shortcutNewRecord: '新しい DNS レコード',
shortcutCloseModal: 'モーダルを閉じる',
shortcutShowHelp: 'ショートカットヘルプを表示',
shortcutGeneral: '全般',
shortcutOr: 'または',
errorBoundaryTitle: '問題が発生しました',
errorBoundaryMessage: 'このセクションで予期しないエラーが発生しました。もう一度お試しいただくか、問題が解決しない場合はページを更新してください。',
errorBoundaryRetry: 'もう一度試す',
errorBoundaryDetails: 'エラーの詳細',
offlineMessage: 'オフラインです。一部の機能が利用できない場合があります。',
// Onboarding Tour
onboardingWelcomeTitle: 'DNS Manager へようこそ',
onboardingWelcomeDesc: '主な機能をご紹介します。',
onboardingZoneTitle: 'ゾーンセレクター',
onboardingZoneDesc: 'ここでドメインを切り替えて管理できます。ドメイン名をクリックして切り替えメニューを開きます。',
onboardingDnsTitle: 'DNS レコード',
onboardingDnsDesc: 'すべての DNS レコードの表示、編集、管理ができます。プロキシステータスのインライン切り替えに対応しています。',
onboardingTemplatesTitle: 'テンプレート',
onboardingTemplatesDesc: 'SPF、DMARC、Google MX などのプリセットテンプレートを使って、よく使う DNS レコードをすばやく追加できます。',
onboardingSearchTitle: '検索',
onboardingSearchDesc: '検索ボックスでレコードをすばやくフィルタリングできます。名前、タイプ、内容で検索できます。',
onboardingDoneTitle: '準備完了!',
onboardingDoneDesc: '基本的な機能を理解しました。DNS レコードの管理を始めましょう!',
onboardingSkip: 'スキップ',
onboardingNext: '次へ',
onboardingFinish: '完了',
// DNS Record Grouping
groupBy: 'グループ化',
groupByNone: 'なし',
groupByType: 'タイプ別',
groupBySubdomain: 'サブドメイン別',
// Import Formats
importFormatHint: 'JSON、BIND ゾーンファイル、CSV 形式に対応しています。形式は自動検出されます。',
importDetectedFormat: '検出された形式',
importPasteData: 'データを貼り付け',
importUploadFile: 'ファイルをアップロード',
importPlaceholder: 'JSON: [{"type":"A","name":"@","content":"1.2.3.4"}]\nBIND: @ IN A 1.2.3.4\nCSV: type,name,content,ttl,proxied',
importCsvMissingHeaders: 'CSV に必要な列ヘッダー(type, name, content)がありません',
// Share Snapshot
shareSnapshot: '共有',
shareSnapshotTitle: 'スナップショットを共有',
shareSnapshotDesc: '読み取り専用の共有リンクを作成(7日間有効)',
shareLinkCopied: '共有リンクをコピーしました',
// Inline Edit
inlineEditHint: 'ダブルクリックで素早く編集',
inlineEditSave: '保存',
inlineEditCancel: 'キャンセル',
inlineEditSaving: '保存中...',
// Drag and Drop Reorder
dragHandle: 'ドラッグして並べ替え',
dragReorderHint: '行をドラッグして優先度を変更',
priorityUpdated: '優先度が更新されました',
priorityUpdateFailed: '優先度の更新に失敗しました',
// DNS Monitors
monitors: 'DNS モニタリング',
monitorAdd: 'モニター追加',
monitorDelete: 'モニター削除',
monitorAdded: 'モニターを追加しました',
monitorDeleted: 'モニターを削除しました',
monitorNone: 'モニターがありません',
monitorNoneHint: 'モニターを追加して DNS レコードの変更を追跡',
monitorZone: 'ゾーン',
monitorSelectZone: 'ゾーンを選択...',
monitorRecordName: 'レコード名',
monitorExpectedContent: '期待される内容',
monitorExpected: '期待値',
monitorLastCheck: '最終チェック',
monitorAutoRefresh: '60秒ごとに自動更新',
// Cache Management
cacheTab: 'キャッシュ',
cacheDevMode: '開発モード',
cacheDevModeDesc: '開発モードはキャッシュを一時的に無効にします。3時間後に自動的に無効になります。',
cacheDevModeOn: '開発モードを有効にする',
cacheDevModeOff: '開発モードを無効にする',
cacheDevModeExpires: '{time} 後に自動的に無効になります',
devModeEnabled: '開発モードが有効になりました',
devModeDisabled: '開発モードが無効になりました',
cachePurgeAll: 'すべてのキャッシュをパージ',
cachePurgeAllDesc: 'このゾーンのすべてのキャッシュファイルを削除します。この操作は元に戻せません。',
cachePurgeAllBtn: 'すべてのキャッシュをパージ',
cachePurgeAllConfirm: 'このゾーンのすべてのキャッシュをパージしてもよろしいですか?',
cachePurgeAllSuccess: 'すべてのキャッシュがパージされました',
cachePurgeUrls: 'URL 指定パージ',
cachePurgeUrlsDesc: 'キャッシュをパージする URL を1行に1つずつ入力してください(1回のリクエストにつき最大30件)。',
cachePurgeUrlsPlaceholder: 'https://example.com/page1\nhttps://example.com/page2',
cachePurgeUrlsBtn: 'URL をパージ',
cachePurgeUrlsSuccess: '{count} 件の URL のキャッシュをパージしました',
cacheUrlsEmpty: 'URL を1つ以上入力してください',
cacheUrlsLimit: '1回のリクエストにつき最大30件(Cloudflare API の制限)',
tokenPermissionHint: 'APIトークンの権限が不足しています。Zone Settings Edit、Cache Purge、SSL and Certificates Edit を追加してください。',
loadSettingsError: '設定の読み込みに失敗しました:{error}',
// Speed Optimization
speedTab: '速度',
speedQuickActions: 'ワンクリック速度最適化',
speedQuickActionsDesc: '圧縮、プリロード、プロトコル最適化など、すべての速度最適化設定を一括で有効化・無効化します。',
speedEnableAll: 'すべての速度最適化を有効にする',
speedDisableAll: 'すべて無効にする',
speedEnableAllSuccess: 'すべての速度最適化が有効になりました',
speedDisableAllSuccess: 'すべての速度最適化が無効になりました',
speedAdvanced: '詳細 / カスタマイズ',
speed_rocket_loader: 'Rocket Loader',
speedRocketLoaderDesc: 'JavaScript の読み込みを遅延させ、描画速度を向上させます。一部の JS 依存機能に影響する場合があります。',
speedRocketLoaderWarning: 'インラインスクリプトに問題が発生する可能性があります',
speed_minify: '自動圧縮',
speedMinifyDesc: '不要な文字を削除してファイルサイズを削減します',
speed_brotli: 'Brotli 圧縮',
speedBrotliDesc: 'Brotli 圧縮を適用してページの読み込みを高速化します',
speed_early_hints: 'Early Hints(スマートヒント)',
speedEarlyHintsDesc: '完全なレスポンスの準備前にブラウザにプリロードヒントを送信します',
speed_h2_prioritization: 'HTTP/2 優先順位付け',
speedH2Desc: 'HTTP/2 でのリソース配信順序を最適化します',
speed_0rtt: '0-RTT 接続再開',
speed0rttDesc: 'TLS 1.3 接続をフルハンドシェイクなしで再開できるようにします',
speed_fonts: 'Cloudflare フォント',
speedFontsDesc: 'Google Fontsをあなたのドメインから配信するよう書き換え、サードパーティ接続を排除してプライバシーとパフォーマンスを向上させます。',
speed_polish: 'Polish (画像最適化)',
speedPolishDesc: 'サイトの画像サイズを最適化します。ロスレスは品質を保ちつつファイルサイズを縮小、ロッシーはより高い圧縮率を提供します。',
speedPolish_off: 'オフ',
speedPolish_lossless: 'ロスレス',
speedPolish_lossy: 'ロッシー',
speed_mirage: 'Mirage',
speedMirageDesc: '画像の遅延読み込みと最適化されたプレースホルダーにより、モバイルデバイスでの画像読み込みを高速化します。',
speed_image_resizing: '画像リサイズ',
speedImageResizingDesc: 'URLパラメータまたはWorkersを使用して、画像をリアルタイムでリサイズ、トリミング、変換します。',
// SSL/TLS
sslTab: 'SSL/TLS',
sslModeTitle: 'SSL/TLS 暗号化モード',
sslModeDescription: 'Cloudflare が訪問者とオリジンサーバー間のトラフィックを暗号化する方法を選択します。',
sslModeOff: 'オフ',
sslModeOffDesc: '暗号化なし。すべてのトラフィックが平文で送信されます。',
sslModeFlexible: 'フレキシブル',
sslModeFlexibleDesc: 'ブラウザと Cloudflare 間のトラフィックのみを暗号化します。オリジンに SSL 証明書は不要です。',
sslModeFull: 'フル',
sslModeFullDesc: 'エンドツーエンドの暗号化ですが、オリジン証明書を検証しません。',
sslModeStrict: 'フル(厳格)',
sslModeStrictDesc: 'オリジン証明書を検証するエンドツーエンドの暗号化。最も安全なオプションです。',
sslAlwaysHttps: '常に HTTPS を使用',
sslAlwaysHttpsDesc: 'すべての HTTP リクエストを HTTPS にリダイレクトします。',
sslMinTls: '最小 TLS バージョン',
sslMinTlsDesc: 'ドメインへの接続に許可する最小 TLS バージョンを設定します。',
sslAutoRewrites: '自動 HTTPS リライト',
sslAutoRewritesDesc: 'HTTP を HTTPS にリライトして混合コンテンツを修正します。',
sslUpdateSuccess: 'SSL/TLS 設定が更新されました',
sslOffWarning: '警告: SSL がオフです。サイトのトラフィックは暗号化されておらず、傍受のリスクがあります。',
sslDiagramBrowser: 'ブラウザ',
sslDiagramOrigin: 'オリジン',
errPermission: '権限不足',
errPermissionDesc: 'この API トークンには必要な権限がありません。Zone:Read と DNS:Edit のスコープがあるか確認してください。',
errAuth: '認証情報が無効または期限切れ',
errAuthDesc: 'この API トークンまたはキーは無効、削除済み、または期限切れです。有効な認証情報を再追加してください。',
errNetwork: 'ネットワークエラー',
errNetworkDesc: 'Cloudflare API に接続できません。ネットワーク接続を確認して再試行してください。',
errUnknown: '予期しないエラーが発生しました',
retry: '再試行',
goToCfDashboard: 'CF ダッシュボードを開く',
loadingRecords: '読み込み中...',
searchZones: 'ゾーンを検索...',
sidebarPerformance: 'パフォーマンス',
sidebarSecurity: 'セキュリティ',
sidebarConfig: '設定',
sidebarMonitoring: 'モニタリング',
pageRulesTab: 'ページルール',
securityTab: 'セキュリティ',
networkTab: 'ネットワーク',
scrapeShieldTab: 'スクレイプシールド',
workersTab: 'Workers',
rulesTab: 'リダイレクトルール',
analyticsTab: 'アナリティクス',
dnsSettingsTab: 'DNS 設定',
dnsSettingsTitle: 'DNS 設定',
enable: '有効化',
disable: '無効化',
disabled: '無効',
dnssecDesc: 'DNSSEC は DNS レコードにデジタル署名することで、DNS スプーフィングやキャッシュポイズニングからドメインを保護します。有効化後、レジストラに DS レコードを追加する必要があります。',
dnssecPending: 'DNSSEC はアクティベーション待ちです。ドメインレジストラに DS レコードを追加してください。',
cnameFlattening: 'CNAME フラット化',
cnameFlattenRoot: 'ルートのみフラット化',
cnameFlattenAll: 'すべての CNAME をフラット化',
cnameFlatteningDesc: 'CNAME フラット化は CNAME レコードを A レコードに解決して互換性を向上させます。デフォルトではルート(@)のみ有効です。',
cnameFlattenPaidOnly: '「すべての CNAME をフラット化」は有料プランでのみ利用可能です。',
paidOnly: '有料',
nameservers: 'ネームサーバー',
nameserversDesc: 'このドメインに現在割り当てられている Cloudflare ネームサーバー。',
pointDnsTo: 'ドメインの DNS を以下に設定:',
transformTab: '変換ルール',
originTab: 'オリジンルール',
emailTab: 'メールルーティング',
customPagesTab: 'カスタムページ',
sidebarEmail: 'メール&ページ',
// DNS Settings
dsTitle: 'DNS 設定',
dsDesc: 'DNSSEC、CNAMEフラット化、ネームサーバーなどのDNSレベル設定を管理します。',
dsDnssec: 'DNSSEC',
dsDnssecDesc: 'デジタル署名でDNSクエリを保護し、DNSスプーフィングやキャッシュポイズニングを防止します。',
dsDnssecEnabled: 'DNSSEC 有効',
dsDnssecDisabled: 'DNSSEC 無効',
dsDnssecPending: 'DNSSEC 保留中',
dsDsRecord: 'DS レコード',
dsDsRecordHint: 'DNSSECを有効にするには、このDSレコードをドメインレジストラに追加してください。',
dsCnameFlattening: 'CNAME フラット化',
dsCnameFlatteningDesc: 'CNAMEフラット化の動作を制御します。フラット化はCNAMEレコードを最終IPアドレスに解決します。',
dsFlattenAll: 'すべてのCNAMEをフラット化',
dsFlattenAtRoot: 'ルートのみフラット化',
dsNameservers: 'ネームサーバー',
dsNameserversDesc: 'このゾーンに割り当てられたCloudflareネームサーバー。',
// Transform Rules
trTitle: '変換ルール',
trDesc: 'URLリライトとHTTPリクエスト/レスポンスヘッダー変更ルールを管理します。',
trUrlRewrites: 'URL リライト',
trHeaderMods: 'ヘッダー変更',
trNoRules: '変換ルールはありません。',
trInfoCard: '変換ルールはCloudflareルールセットエンジンの一部です。複雑なルールの作成・編集はCloudflareダッシュボードで行えます。ここでは既存ルールの有効/無効を切り替えられます。',
trManageInDashboard: 'ダッシュボードで管理',
// Origin Rules
orTitle: 'オリジンルール',
orDesc: 'ホストヘッダーの書き換えやポートオーバーライドなど、リクエストがオリジンサーバーに到達する方法を制御するルールを管理します。',
orNoRules: 'オリジンルールはありません。',
orInfoCard: 'オリジンルールはCloudflareルールセットエンジンの一部です。複雑なルールの作成・編集はCloudflareダッシュボードで行えます。ここでは既存ルールの有効/無効を切り替えられます。',
orManageInDashboard: 'ダッシュボードで管理',
// Email Routing
erTitle: 'メールルーティング',
erDesc: 'ドメインに送信されたメールを宛先メールボックスにルーティングするメール転送ルールを設定します。',
erAddRule: 'ルールを追加',
erEditRule: 'ルールを編集',
erDeleteConfirm: 'このメールルーティングルールを削除しますか?',
erSaved: 'メールルーティングルールを保存しました',
erDeleted: 'メールルーティングルールを削除しました',
erNoRules: 'メールルーティングルールはありません。',
erEnable: 'メールルーティング',
erEnableDesc: 'このゾーンのメールルーティングを有効にします。',
erMatchType: 'マッチタイプ',
erExactMatch: '完全一致',
erCatchAll: 'キャッチオール',
erFromAddress: '送信元アドレス',
erForwardTo: '転送先',
// Custom Pages
cpTitle: 'カスタムエラーページ',
cpDesc: 'WAFチャレンジやレート制限など、特定のイベント時にCloudflareが訪問者に表示するページをカスタマイズします。',
cpNoPages: '利用可能なカスタムページはありません。',
cpCustomUrl: 'カスタムページURL',
cpUrlHint: '空にするとデフォルトページに戻ります。',
ssTitle: 'スクレイプシールド',
ssDesc: 'コンテンツスクレイピングやデータ漏洩からサイトを保護します。',
ss_email_obfuscation: 'メールアドレス難読化',
ssEmailObfuscationDesc: 'ボットからメールアドレスを隠し、人間には表示します。',
ss_server_side_exclude: 'サーバーサイド除外',
ssServerSideExcludeDesc: '疑わしい訪問者から特定のコンテンツを自動的に非表示にします。',
ss_hotlink_protection: 'ホットリンク保護',
ssHotlinkProtectionDesc: '他のサイトからの直接リンクをブロックし、帯域を節約します。',
netTitle: 'ネットワーク設定',
netDesc: 'HTTP/3、WebSocket、IPv6などのネットワーク設定を管理します。',
net_websockets: 'WebSocket',
netWebsocketsDesc: 'オリジンサーバーへのWebSocket接続を許可します。',
net_ip_geolocation: 'IP ジオロケーション',
netIpGeoDesc: 'リクエストヘッダーに訪問者の国コードを含めます (CF-IPCountry)。',
net_ipv6: 'IPv6 互換',
netIpv6Desc: 'ドメインのIPv6サポートを有効にします。',
net_pseudo_ipv4: 'Pseudo IPv4',
netPseudoIpv4Desc: 'IPv6接続の訪問者に疑似IPv4ヘッダーを追加します。',
net_opportunistic_onion: 'Onion ルーティング',
netOnionDesc: 'Torネットワーク経由でサイトにアクセスできるようにします。',
net_http3: 'HTTP/3 (QUIC)',
netHttp3Desc: 'HTTP/3プロトコルを有効にして接続速度を向上させます。',
net_true_client_ip_header: 'True-Client-IP',
netTrueClientIpDesc: 'エンドユーザーのIPを含むTrue-Client-IPヘッダーを送信します。',
net_max_upload: '最大アップロードサイズ',
netMaxUploadDesc: '許可される最大HTTPリクエストボディサイズ(プランにより異なります)。',
secTitle: 'セキュリティ設定',
secLevel: 'セキュリティレベル',
secLevelDesc: 'Cloudflareのセキュリティ機能の厳しさを制御します。',
secEssentiallyOff: 'ほぼ無効',
secEssentiallyOffDesc: '最も悪質なリクエストのみにチャレンジします。',
secLow: '低',
secLowDesc: '最も脅威度の高い訪問者にのみチャレンジします。',
secMedium: '中',
secMediumDesc: '中程度および高い脅威度の訪問者にチャレンジします。',
secHigh: '高',
secHighDesc: '低・中・高の脅威スコアの訪問者にチャレンジします。',
secUnderAttack: '攻撃を受けています!',
secUnderAttackDesc: 'すべてのリクエストにJSチャレンジを表示します。DDoS攻撃時のみ使用してください。',
secUnderAttackWarning: '攻撃モードが有効です!すべての訪問者に5秒のチャレンジページが表示されます。',
secBrowserCheck: 'ブラウザ整合性チェック',
secBrowserCheckDesc: '訪問者のブラウザHTTPヘッダーを評価し、一般的な不正行為を検出します。',
secChallengeTtl: 'チャレンジ有効期限',
secChallengeTtlDesc: 'チャレンジに合格した訪問者が再チャレンジされるまでの時間。',
secPrivacyPass: 'Privacy Pass',
secPrivacyPassDesc: 'Privacy Passトークンを持つ訪問者に表示するCAPTCHAを減らします。',
secFirewallRules: 'ファイアウォールルール',
secFirewallRulesDesc: '既存のファイアウォールルールを表示します。ここでルールの有効/無効を切り替えられます。',
secNoFirewallRules: 'ファイアウォールルールはありません。',
wrTitle: 'Workers ルート',
wrDesc: 'Cloudflare Workersにリクエストをルーティングするルールを管理します。',
wrAddRoute: 'ルートを追加',
wrPattern: 'ルートパターン',
wrPatternPlaceholder: '*example.com/path/*',
wrScript: 'Worker スクリプト',
wrScriptPlaceholder: 'my-worker',
wrScriptHint: '空にするとルート除外になります',
wrWorkerScript: 'Worker スクリプト',
wrNoRoutes: 'Workers ルートはありません。',
wrNoScript: 'スクリプトなし(ルート無効)',
wrDeleteConfirm: 'このWorkersルートを削除しますか?',
wrSaved: 'Workersルートを保存しました',
wrDeleted: 'Workersルートを削除しました',
wrEditRoute: 'ルートを編集',
prTitle: 'ページルール',
prDesc: 'URLパターンに一致するリクエストの設定と動作を構成します。',
prAddRule: 'ルールを追加',
prUrlPattern: 'URLパターン',
prUrlPlaceholder: '*example.com/path/*',
prActions: 'アクション',
prAddAction: 'アクションを追加',
prActive: '有効',
prPaused: '一時停止',
prDeleteConfirm: 'このページルールを削除しますか?',
prSaved: 'ページルールを保存しました',
prDeleted: 'ページルールを削除しました',
prNoRules: 'ページルールはありません。',
prEditRule: 'ルールを編集',
rlTitle: 'リダイレクトルール',
rlDesc: 'Cloudflareルールセットエンジンによるリダイレクトを管理します。',
rlManageInDashboard: 'ダッシュボードで管理',
rlInfoCard: 'リダイレクトルールはCloudflareルールセットエンジンの一部です。複雑なルールの作成・編集はCloudflareダッシュボードで行えます。ここでは既存ルールの有効/無効を切り替えられます。',
rlNoRules: 'リダイレクトルールはありません。',
// Rule CRUD
addRule: 'ルール追加',
editRule: 'ルール編集',
saveRule: 'ルール保存',
deleteRuleConfirm: 'このルールを削除しますか?',
ruleSaved: 'ルールを保存しました',
ruleDeleted: 'ルールを削除しました',
ruleDescription: '説明',
ruleExpression: '式 (Wirefilter)',
ruleExpressionPlaceholder: '(http.host eq "example.com")',
ruleEnabled: '有効',
staticValue: '静的',
dynamicExpression: '動的',
rlTargetUrl: 'ターゲット URL',
rlStatusCode: 'ステータスコード',
rlPreserveQuery: 'クエリ文字列を保持',
orOriginHost: 'オリジンホスト名',
orOriginPort: 'オリジンポート',
orHostHeader: 'Host ヘッダーオーバーライド',
trRewritePath: 'パス書き換え',
trRewriteQuery: 'クエリ書き換え',
trHeaderOperation: 'ヘッダー操作',
trHeaderName: 'ヘッダー名',
trHeaderValue: '値',
trHeaderOpSet: '設定',
trHeaderOpAdd: '追加',
trHeaderOpRemove: '削除',
trAddHeaderOp: 'ヘッダー追加',
copyToken: 'トークンをコピー',
tokenCopied: 'トークンをクリップボードにコピーしました',
anTitle: 'トラフィック分析',
anTotalRequests: '総リクエスト数',
anCachedRequests: 'キャッシュ済み',
anBandwidth: '帯域幅',
anCachedBandwidth: 'キャッシュ済み',
anThreats: 'ブロックされた脅威',
anVisitors: 'ユニーク訪問者',
anHttpStatus: 'HTTPステータス分布',
anCountries: '上位の国',
// DNS Analytics
dnsAnalyticsTab: 'DNS アナリティクス',
dnsAnTitle: 'DNS アナリティクス',
dnsAnQueryCount: '総クエリ数',
dnsAnNxdomain: 'NXDOMAIN',
dnsAnOfTotal: '全体の',
dnsAnQueryTypes: 'クエリタイプ',
dnsAnResponseCodes: 'レスポンスコード',
dnsAnNoData: 'この期間のDNSアナリティクスデータはありません。',
// Bulk Settings
bulkApplySetting: '設定を適用',
bulkSettingName: '設定',
bulkSettingValue: '値',
// Enhanced Monitors
monitorTrafficSpike: 'トラフィック急増',
monitorErrorRate: 'エラー率',
monitorSslExpiry: 'SSL 有効期限',
monitorThreshold: 'しきい値',
monitorTimeWindow: '時間枠',
monitorStatusType: 'ステータスタイプ',
monitorDaysBefore: 'アラート',
monitorDaysBeforeUnit: '日前に通知',
// Firewall CRUD
fwCreateRule: 'ルール作成',
fwEditRule: 'ルール編集',
fwExpression: '式',
fwAction: 'アクション',
fwPriority: '優先度',
fwPaused: '一時停止',
fwDeleteConfirm: 'このファイアウォールルールを削除しますか?',
fwSaved: 'ファイアウォールルールを保存しました',
fwDeleted: 'ファイアウォールルールを削除しました',
// Bot Fight Mode
botFightMode: 'ボットファイトモード',
botFightModeDesc: 'ボットトラフィックを自動検出・軽減します。',
// Accessibility
skipToContent: 'コンテンツへスキップ',
};