{
  "meta": {
    "version": "3.1.2",
    "updated": "2026-05-07"
  },
  "common": {
    "welcome": "いらっしゃいませ",
    "hello": "こんにちは",
    "goodbye": "さようなら",
    "yes": "はい",
    "no": "いいえ",
    "save": "保存",
    "cancel": "キャンセル",
    "delete": "消去",
    "edit": "編集",
    "loading": "読み込み中...",
    "offlineTitle": "あなたはオフラインです",
    "offlineMessage": "インターネット接続を確認してください",
    "tryReconnect": "再接続してみてください",
    "logout": "ログアウト",
    "login": "ログイン",
    "amount": "額",
    "success": "成功",
    "error": "エラー",
    "warning": "警告",
    "info": "情報：",
    "debug": "デバッグ",
    "progress": "進捗：",
    "remaining": "残り：",
    "total": "合計：",
    "completed": "7. 無事完了しました！",
    "missing": "ない",
    "partial": "部分的",
    "sameAsSource": "ソースと同じ:",
    "formatMismatch": "形式の不一致:",
    "typeMismatch": "タイプの不一致:",
    "structureMismatch": "構造の不一致:",
    "invalidOption": "無効なオプション",
    "separator": "=================================================",
    "initializationFailed": "❌ 初期化に失敗しました: {error}",
    "stackTrace": "スタックトレース: {stack}",
    "pressEnterToContinue": "続行するには Enter キーを押してください...",
    "pressEnterToReturn": "Enterを押してメインメニューに戻ります...",
    "stepCompleted": "ステップ '{stepName}』が完成しました。",
    "stepFailed": "ステップ '{stepName}' 失敗した。",
    "runningStep": "実行ステップ: {stepName}",
    "command": "指示： {command}",
    "startingWorkflow": "ワークフローを開始しています...",
    "workflowCompleted": "ワークフローが完了しました。",
    "checkReports": "詳細についてはレポートを確認してください。",
    "errorExecutingCommand": "コマンド実行エラー: {error}",
    "genericError": "❌ エラー: {error}",
    "errors": {
      "errors": "エラー:",
      "genericError": "❌ エラー: {error}",
      "initializationFailed": "❌ 初期化に失敗しました: {error}",
      "initializationCancelled": "❌ ユーザーにより初期化がキャンセルされました。",
      "translationKeyNotFound": "翻訳キーが見つかりません: {key}",
      "sourceDirectoryNotFound": "ソースディレクトリが見つかりません: {directory}",
      "configLoadingFailed": "構成のロードに失敗しました",
      "invalidSourceDirectory": "無効なソース ディレクトリ: {directory}",
      "securityViolation": "セキュリティ違反が検出されました",
      "authenticationFailed": "認証に失敗しました",
      "sourceEqualsI18nWarn": "⚠️sourceDir は i18nDir と等しい ({sourceDir}）。に戻る {fallback} ソーススキャン用。"
    },
    "errorGeneratingStatusSummary": "エラー生成ステータスの概要: {error}",
    "errorRunningDebugTool": "デバッグ ツールの実行中にエラーが発生しました '{displayName}': {error}",
    "errorReadingDebugLogs": "デバッグ ログの読み取りエラー: {error}",
    "errorAnalyzingLogFile": "ログ ファイルの分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationKeys": "翻訳キーの分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationCompleteness": "翻訳の完全性を分析中にエラーが発生しました: {error}",
    "analyzingTranslationCompleteness": "すべての言語にわたる翻訳の完全性を分析しています...",
    "i18nDirectoryNotFound": "⚠️ i18n ディレクトリが見つかりません: {i18nDir}",
    "translationCompletenessAnalysisFailed": "⚠️ 翻訳完全性分析が失敗しました: {error}",
    "failedToAnalyzeLanguage": "❌ 言語の解析に失敗しました {language}: {error}",
    "errorReadingI18nDirectory": "❌ i18n ディレクトリの読み取りエラー:",
    "languageCompletenessTitle": "📈 言語ごとの翻訳の完成度",
    "errorAnalyzingTranslationFormat": "翻訳形式の分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationType": "翻訳タイプの分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationStructure": "翻訳構造の分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationFormatMismatch": "翻訳形式の不一致を分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationTypeMismatch": "翻訳タイプの不一致を分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationStructureMismatch": "翻訳構造の不一致を分析中にエラーが発生しました: {error}",
    "errorAnalyzingTranslationSameAsSource": "ソースと同じ翻訳の分析中にエラーが発生しました: {error}",
    "title": "状態",
    "nextStep1": "1. 使用状況分析を確認します。",
    "nextStep2": "2. 翻訳を検証します。",
    "nextStep3": "3. 完全性を分析します。",
    "nextStep4": "4. 不足している翻訳を完了します。",
    "nextStep5": "5. 概要レポートを生成します。",
    "nextStep6": "6. 翻訳を確認して最終決定します。",
    "generating": "概要レポートを生成しています...",
    "review": "翻訳をレビュー中...",
    "finalizing": "翻訳を仕上げています...",
    "finalized": "無事に完成しました！",
    "warnings": "警告:",
    "completedKeys": "完成したキー:",
    "missingKeys": "不足しているキー:",
    "partialKeys": "部分的なキー:",
    "home": "家",
    "settings": "設定",
    "startingSettings": "🎛️ 設定 CLI を開始しています...",
    "confirm": "確認する",
    "errorExiting": "終了時にエラーが発生しました。"
  },
  "errors": {
    "invalidOption": "❌ 無効なオプション: {option}。もう一度試してください。",
    "readlineClosed": "入力ストリームは閉じられています。非対話型モードで実行されます。",
    "noPackageJson": "package.json が見つかりません。 i18n フレームワークを自動検出できません。",
    "noI18nDir": "プロジェクトのルートに i18n ディレクトリが見つかりません。",
    "noI18nConfig": "プロジェクトのルートに i18n 構成ファイルが見つかりません。",
    "errorReadingDebugLogs": "デバッグ ログの読み取りエラー: {error}"
  },
  "scanner": {
    "help_message": "I18n テキスト スキャナーの使用法: ノード i18ntk-scanner.js [オプション] オプション: --source-dir <dir>     スキャンするソース ディレクトリ (デフォルト: ./src) --output <file>        スキャン結果の出力ファイル (デフォルト: ./i18ntk-scanner-report.json) --framework <name>     ターゲットとなるフレームワーク (react、vue、angular、vanilla) --patterns <patterns>  カスタム正規表現パターン (カンマ区切り) --include-tests スキャンにテスト ファイルを含めます --exclude-dirs <dirs>  除外するディレクトリ (カンマ区切り) --help このヘルプを表示 例: node i18ntk-scanner.js --source-dir=./src --framework=react node i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include-tests node i18ntk-scanner.js --output=./scan-results.json",
    "help_options": {
      "source_dir": "i18n の問題をスキャンするソース ディレクトリ",
      "output_dir": "スキャンレポートと結果のディレクトリ",
      "framework": "ターゲットフレームワーク (react、vue、angular、vanilla)",
      "patterns": "テキスト検出用のカスタム正規表現パターン",
      "exclude": "スキャンから除外するファイル パターン",
      "output_report": "詳細なスキャンレポートを生成する",
      "min_length": "翻訳の際に考慮すべき最小テキスト長",
      "max_length": "翻訳の際に考慮すべき最大テキスト長",
      "include_tests": "スキャンプロセスにテストファイルを含める"
    },
    "starting": "🔍 フレームワークのテキストスキャナーを開始します: {framework}",
    "sourceDirectory": "📁 スキャンディレクトリ: {sourceDir}",
    "frameworkDetected": "🎯 検出されたフレームワーク: {framework}",
    "scanningFiles": "📊 スキャン中 {fileCount} ファイル...",
    "foundTexts": "📝見つかりました {textCount} 翻訳が必要な文章",
    "generatingReport": "📊 詳細レポートを生成中...",
    "reportSaved": "💾 スキャンレポートの保存場所: {reportPath}",
    "noTextsFound": "✅ ハードコードされた英語テキストは見つかりませんでした",
    "scanComplete": "🎉 スキャンが正常に完了しました。",
    "analysisTitle": "🔍 翻訳スキャン分析",
    "fileSummary": "📄 {file}: {count} テキストが見つかりました",
    "textLocation": "📍ライン {line}: {text}",
    "foundText": "見つかった {count} ハードコードされたテキスト インスタンスの可能性",
    "context": "📝 コンテキスト: {context}",
    "severity": "⚠️ 重大度: {severity}",
    "recommendation": "💡お勧め: {recommendation}",
    "welcome": {
      "title": "🎯 テキスト スキャナーへようこそ!",
      "description": "このツールは、ソース コードをスキャンして、翻訳が必要な可能性のあるハードコーディングされた英語テキストを探します。"
    },
    "frameworkPrompt": {
      "title": "🎯 フレームワークを選択",
      "available": "利用可能なフレームワーク: React、Vue、Angular、Vanilla",
      "description": "フレームワークのタイプを入力します (または自動検出するには Enter キーを押します)。",
      "input": "フレームワーク:"
    },
    "directoryPrompt": {
      "title": "📁 ソースディレクトリを選択",
      "current": "現在のディレクトリ: {dir}",
      "description": "スキャンするディレクトリを入力します (または Enter キーを押して現在のディレクトリを入力します)。",
      "input": "ディレクトリ："
    },
    "options": {
      "includeTests": "テストファイルを含めますか?",
      "excludeDirs": "除外するディレクトリ (カンマ区切り):",
      "customPatterns": "スキャンするカスタム パターン (正規表現):"
    },
    "reportGenerated": "スキャンレポートが生成されました: {path}"
  },
  "fixer": {
    "help_message": "I18n Translation Fixer の使用法: ノード i18ntk-fixer.js [オプション] オプション: --source-dir <dir>     スキャンするソース ディレクトリ (デフォルト: ./locales) --langages <langs>    修正する言語のカンマ区切りリスト --marks <markers>    未翻訳として扱うカンマ区切りのマーカー --no-backup 自動バックアップ作成をスキップ --help このヘルプを表示 例: node i18ntk-fixer.js --langages de,fr node i18ntk-fixer.js --source-dir=./locales --marks NOT_TRANSLATED node i18ntk-fixer.js --no-backup",
    "starting": "🚀 言語の翻訳修正を開始します: {languages}",
    "sourceDirectory": "📁 ソースディレクトリ: {sourceDir}",
    "sourceLanguage": "🔤 ソース言語: {sourceLanguage}",
    "markers": "🏷️ 修正するマーカー: {markers}",
    "scanningLanguage": "📊 スキャン中 {language}...",
    "noLanguages": "❌ 修正対象の言語が指定されていません。",
    "allComplete": "🎉 すべての翻訳はすでに完了しています!",
    "fullReportSaved": "📊 完全なレポートの保存場所: {reportPath}",
    "reviewReport": "続行する前にレポートを確認してください。",
    "backupCreated": "💾 バックアップが正常に作成されました。",
    "applyingFixes": "🔄 修正を適用しています...",
    "fixingComplete": "✅ 翻訳修正完了！",
    "operationCancelled": "❌ ユーザーによって操作がキャンセルされました。",
    "analysisTitle": "🔍 翻訳修正分析",
    "analysisSeparator": "=================================================",
    "totalIssues": "見つかった問題の合計: {totalIssues}",
    "missingTranslations": "不足している翻訳: {missing}",
    "placeholderTranslations": "プレースホルダーの翻訳: {placeholder}",
    "noIssues": "✅ 問題は見つかりませんでした。すべての翻訳が完了しました。",
    "detailedIssues": "📋 詳細な問題:",
    "detailedSeparator": "--------------------------------------------------",
    "filePath": "📄 {file} → {path}",
    "missingKey": "❌ 欠落: {source} → {new}",
    "placeholderKey": "⚠️ プレースホルダー: \"{target}\" → \"{new}\"",
    "moreIssues": "... そして {count} さらに問題が発生します。詳細については、レポート ファイルを確認してください。",
    "confirmationTitle": "🤔 これらの修正を続行しますか?",
    "confirmationOptions": "オプション:",
    "optionYes": "y - はい、すべての修正を適用します",
    "optionNo": "n - いいえ、操作をキャンセルします",
    "optionShow": "s - 詳細な問題を表示する",
    "choicePrompt": "あなたの選択 (y/n/s):",
    "nonInteractiveMode": "⚡ 非対話型モードが検出されました - 修正を自動的に適用しています...",
    "reportGenerated": "📊 フィクサーレポートが生成されました: {path}",
    "summary": "フィクサーの概要:",
    "welcome": {
      "title": "🎯 翻訳フィクサーへようこそ!",
      "description": "このツールは、ロケール ファイル全体の壊れた翻訳とプレースホルダーを修正するのに役立ちます。"
    },
    "markerPrompt": {
      "title": "🏷️ プレースホルダーマーカーを構成する",
      "description": "未翻訳のテキストを示すマーカーを入力します (カンマ区切り):",
      "currentDefaults": "デフォルトのマーカー: {markers}",
      "input": "マーカー (またはデフォルトの場合は Enter キーを押します):"
    },
    "languagePrompt": {
      "title": "🌍 修正する言語を選択してください",
      "available": "利用可能な言語: {languages}",
      "description": "修正する言語を入力するか (カンマ区切り)、すべてに対して Enter キーを押します。",
      "input": "言語:",
      "noLanguages": "修正できる言語が見つかりません。"
    },
    "directoryPrompt": {
      "title": "📁 ディレクトリを選択",
      "current": "現在のディレクトリ: {dir}",
      "description": "ロケール ファイルを含むディレクトリを入力します (または Enter キーを押して現在のディレクトリを選択します)。",
      "input": "ディレクトリ："
    },
    "backupLocation": "バックアップの場所: {dir}",
    "completed": "修正が完了しました。",
    "creatingBackup": "バックアップの作成 {dir}...",
    "dryRunMode": "ドライランモード: {mode}",
    "error": "修正に失敗しました: {error}",
    "fixing": "固定する {language}...",
    "foundLanguages": "見つかった {count} 言語: {languages}",
    "languageFixed": "{language}： 修理済み {fixed} キー、スキップされました {skipped}.",
    "running": "翻訳フィクサーを実行しています...",
    "totalFixed": "固定合計: {count}"
  },
  "autorun": {
    "stepAnalyzeTranslations": "翻訳を分析する",
    "stepCompletedWithIcon": "✅ 完了: {stepName}",
    "stepValidateTranslations": "翻訳を検証する",
    "stepRunning": "▶️ステップ {stepNumber}/{totalSteps}: {stepName}",
    "separator": "=================================================",
    "stepFailed": "❌ 失敗: {stepName}",
    "errorLabel": "エラー",
    "autoRunScriptTitle": "🧪 自動実行ワークフロー",
    "usageTitle": "使用法",
    "runAllSteps": "実行: ノード i18ntk-autorun.js",
    "configureSettingsFirst": "構成: i18ntk-config.json または CLI フラグ",
    "runSpecificSteps": "--steps=1,3 または --list を使用してステップを表示します",
    "showHelp": "-- 詳細についてはヘルプを参照してください",
    "examplesTitle": "例",
    "configExample": "ノード i18ntk-autorun.js --ui- language=zh",
    "stepsExample1": "ノード i18ntk-autorun.js --steps=分析、検証",
    "stepsExample2": "ノード i18ntk-autorun.js --list",
    "customSettingsConfiguration": "カスタム自動実行設定",
    "availableSteps": "利用可能なステップ",
    "startingAutoRunWorkflow": "🚀 自動実行ワークフローを開始しています...",
    "workflowIncludesSteps": "ワークフローには以下が含まれます {count} 手順:",
    "missingRequiredFile": "必要なファイルがありません: {file}",
    "workflowStopped": "障害によりワークフローが停止しました。",
    "workflowCompleted": "🎉 ワークフローが完了しました!",
    "successfulSteps": "成功した手順: {count}",
    "failedSteps": "失敗したステップ: {count}",
    "stepInitializeProject": "プロジェクトの初期化",
    "stepCheckUsage": "キーの使用状況を確認する",
    "stepGenerateSummary": "概要レポートの生成",
    "runInitializationFirst": "最初に初期化を実行してください。",
    "initializationCheckPassed": "初期化チェックに合格しました。",
    "runningStep": "実行ステップ: {stepName}",
    "commandLabel": "指示： {command}",
    "stepCompletedWithTime": "ステップ '{stepName}で完了しました {duration}MS。",
    "stepCompleted": "ステップ '{stepName}』が完成しました。",
    "stepFailedWithError": "ステップ '{stepName}' エラーで失敗しました: {error}",
    "requiredStepFailed": "必要なステップが失敗しました。ワークフローを停止しています。",
    "optionalStepFailed": "オプションのステップが失敗しました。継続的なワークフロー。",
    "stepRequired": "（必須）",
    "stepOptional": "(オプション)",
    "startingExecution": "実行を開始しています...",
    "pressEnterToContinue": "続行するには Enter キーを押してください...",
    "runningSelectedSteps": "選択したステップを実行中...",
    "invalidStepNumber": "無効なステップ番号: {stepNum}",
    "executionReport": "実行レポート:",
    "requiredFailedSteps": "必要な手順が失敗しました: {count}",
    "stepDetails": "ステップの詳細:",
    "reportSavedTo": "レポートの保存場所: {path}",
    "overallStatusSuccess": "成功",
    "overallStatusFailed": "失敗した",
    "overallStatus": "全体的なステータス: {status}",
    "pressEnterForDefaults": "Enter キーを押して、プロンプトのデフォルト設定を使用します。",
    "sourceDirPrompt": "ソース ディレクトリを入力してください (デフォルト: {default}):",
    "sourceLangPrompt": "ソース言語を入力してください (デフォルト: {default}):",
    "targetLangsPrompt": "ターゲット言語を入力します (カンマ区切り、デフォルト: {default}):",
    "translationMarkerPrompt": "翻訳マーカーを入力してください (デフォルト: {default}):",
    "outputDirPrompt": "レポートの出力ディレクトリを入力してください (デフォルト: {default}):",
    "settingsUpdatedSuccessfully": "設定が正常に更新されました。",
    "errorConfiguringSettings": "設定の構成中にエラーが発生しました: {error}",
    "configurationComplete": "設定が完了しました。",
    "runAutoRunCommand": "これで自動実行コマンドを実行できるようになりました。",
    "configurationFailed": "構成に失敗しました: {error}",
    "noValidStepNumbers": "有効なステップ番号が指定されていません。",
    "autoRunFailed": "自動実行に失敗しました: {error}",
    "stepCompleteTranslations": "完全な翻訳",
    "stepAnalyzeSizing": "サイジングの分析",
    "stepCompletedIcon": "✅",
    "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] ステップ '{stepName}' 走っています...",
    "stepFailedIcon": "❌",
    "translationLoadWarning": "警告: ロードできませんでした {lang} 翻訳",
    "configReadError": "読み取りエラー {file}"
  },
  "analyze": {
    "help_message": "I18n 変換アナライザーの使用法: ノード i18ntk-analyze.js [オプション] オプション: --source-dir <dir>     スキャンするソース ディレクトリ (デフォルト: ./src) --i18n-dir <dir>       I18n ディレクトリ (デフォルト: ./src/locales) --output-report 詳細レポートの生成 --output-dir <dir>     レポートの出力ディレクトリ (デフォルト: ./reports) --help このヘルプを表示 例: ノード i18ntk-analyze.js --output-report ノード i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales ノード i18ntk-analyze.js --output-dir=./analysis --output-report",
    "source_directory": "📁 ソースディレクトリ: {sourceDir}",
    "i18n_directory": "🌐 I18n ディレクトリ: {i18nDir}",
    "loading_translation_files": "📋 翻訳ファイルを読み込み中...",
    "sourceDirectoryLabel": "📁 ソースディレクトリ: {sourceDir}",
    "sourceLanguageLabel": "🌍 ソース言語: {sourceLanguage}",
    "strictModeLabel": "⚙️ストリクトモード: {mode}",
    "found_translation_files_count": "✅ 見つかりました {count} 翻訳ファイル",
    "analyzing_translations": "🔍 翻訳を分析中...",
    "analysis_completed_successfully": "🎉 分析が正常に完了しました!",
    "analysis_results": "📊 分析結果",
    "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% 翻訳済み)",
    "sample_missing_keys": "欠落しているキーのサンプル:",
    "missing_key": "- {key}",
    "and_more_missing": "...そして {count} もっと。",
    "sample_unused_keys": "未使用のキーのサンプル:",
    "unused_key": "- {key}",
    "and_more_unused": "...そして {count} もっと。",
    "recommendations": "📋 推奨事項",
    "add_missing_translations": "💡 カバレッジを改善するために、不足している翻訳を追加します。",
    "remove_unused_translations": "💡 プロジェクトをクリーンな状態に保つために、未使用の翻訳を削除します。",
    "next_steps": "📋 次のステップ",
    "review_analysis_results": "1. コンソールまたは生成されたレポートで分析結果を確認します。",
    "run_with_output_report": "2. --output-report を指定して実行すると、詳細なレポートが表示されます。",
    "add_or_remove_translations": "3. 不足している翻訳を追加するか、未使用の翻訳を削除します。",
    "rerun_analysis": "4. 分析を再実行して改善を確認します。",
    "analysis_summary": "📊 分析の概要",
    "source_files_scanned": "スキャンされたソース ファイル: {fileCount}",
    "translation_files_checked": "チェックされた翻訳ファイル: {translationFileCount}",
    "total_keys": "キーの合計: {totalKeys}",
    "translated_keys": "翻訳されたキー: {translatedKeys}",
    "missing_keys": "不足しているキー: {missingKeys}",
    "unused_keys": "未使用のキー: {unusedKeys}",
    "translation_coverage": "翻訳範囲: {coverage}%",
    "analysis_passed_for_language": "✅ 分析に合格しました {language}",
    "analysis_failed_for_language": "❌ 分析に失敗しました {language} ({missingKeys} ない、 {unusedKeys} 未使用）",
    "starting": "🔍 翻訳分析を開始しています...",
    "foundLanguages": "📋 見つかりました {count} 分析する言語: {languages}",
    "analyzing": "🔄 分析中 {language}...",
    "reportTitle": "📊 翻訳分析レポート",
    "generated": "生成されるもの: {timestamp}",
    "status": "状態： {translated}/{total} キー ({percentage}% 翻訳済み)",
    "filesAnalyzed": "分析されたファイル: {analyzed}/{total}",
    "keysNeedingTranslation": "翻訳が必要なキー: {count}",
    "fileBreakdown": "📋 ファイルの内訳",
    "error": "エラー",
    "completed": "✅ 分析が完了しました {language}",
    "progress": "📊 全体的な進捗状況: {translated}/{total} 処理される言語",
    "reportSaved": "保存されたレポート: {reportPath}",
    "summary": "📊 分析の概要",
    "finished": "✅ 分析が正常に完了しました。",
    "statusFileMissing": "❌ 翻訳ファイルがありません",
    "sourceKeys": "📊 ソースキー: {count}",
    "translation": "📊 翻訳: {translated}/{total} ({percentage}%)",
    "structure": "🗂️ 構造: {status}",
    "consistent": "一貫性のある",
    "inconsistent": "一貫性がない",
    "missingKeys": "不足しているキー: {count}",
    "extraKeys": "追加のキー: {count}",
    "issues": "⚠️ 見つかった問題: {count}",
    "issueType": {
      "not_translated": "未翻訳: {count}",
      "empty_value": "空の値: {count}",
      "partial_translation": "部分的な翻訳: {count}",
      "format_mismatch": "形式の不一致: {count}",
      "type_mismatch": "型の不一致: {count}",
      "structure_mismatch": "構造の不一致: {count}",
      "same_as_source": "ソースと同じ: {count}"
    },
    "keysToTranslate": "📋 翻訳するキー",
    "key": "鍵",
    "english": "英語",
    "needsTranslation": "翻訳が必要です",
    "andMoreKeys": "...そして {count} さらに多くのキー。",
    "noLanguages": "⚠️ ターゲット言語が見つかりません。",
    "languageStats": "{language}: {percentage}％ 完了 （{translated}/{total} キー)",
    "invalidReportFilePath": "無効なレポート ファイル パス",
    "failedToWriteReportFile": "レポート ファイルを安全に書き込めませんでした"
  },
  "complete": {
    "configLoadedSuccessfully": "設定が正常にロードされました",
    "configLoadingFailed": "構成のロードに失敗しました",
    "sourceLanguageNotFound": "ソース言語ディレクトリが見つかりません: {sourceLanguage}",
    "couldNotParseTarget": "ターゲットファイルを解析できませんでした: {file}",
    "couldNotParseSource": "ソースファイルを解析できませんでした: {file}",
    "reportGenerated": "生成されたレポート: {path}",
    "generateReportPrompt": "レポートの生成を希望しますか?",
    "title": "🌍 I18NTK翻訳完了",
    "separator": "======================================================",
    "sourceDir": "📁 ソースディレクトリ: {sourceDir}",
    "sourceLanguage": "🌐 ソース言語: {sourceLanguage}",
    "dryRunMode": "🧪 ドライランモード - 変更は行われません",
    "languages": "🌍 利用可能な言語: {languages}",
    "addingMissingKeys": "➕ 不足しているキーを翻訳ファイルに追加しています...",
    "processing": "🔄 処理中 {language}...",
    "addedKeys": "✅ 追加されました {count} 鍵がありません",
    "noChangesNeeded": "✅ 変更は必要ありません {language}",
    "summaryTitle": "📊 完成概要",
    "totalChanges": "📝 合計の変更: {totalChanges}",
    "languagesProcessed": "🌍 処理される言語: {languagesProcessed}",
    "missingKeysAdded": "➕ 不足しているキーが追加されました: {missingKeysAdded}",
    "nextStepsTitle": "📋 次のステップ",
    "nextStep1": "1. 使用状況分析を実行します。",
    "nextStep2": "ノード i18ntk-usage.js --output-report",
    "nextStep3": "2. 翻訳を検証します。",
    "nextStep4": "ノード i18ntk-validate.js",
    "nextStep5": "3. パターンを分析します。",
    "nextStep6": "ノード i18ntk-analyze.js",
    "allKeysAvailable": "🎉 すべての翻訳キーが利用可能になりました!",
    "runWithoutDryRun": "💡 --dry-run なしで実行して変更を適用します",
    "deletingOldReport": "🗑️ 古いレポートを削除しています...",
    "generatingFreshAnalysis": "📊 新しい使用状況分析を生成しています...",
    "couldNotGenerate": "❌ 使用状況分析を生成できませんでした",
    "reportNotFound": "📋 使用状況レポートが見つかりません。共通キーを使用する...",
    "foundMissingKeys": "📋 見つかりました {count} 使用状況分析でキーが欠落している",
    "couldNotParse": "❌ 使用状況レポートを解析できませんでした。共通キーを使用する...",
    "errorDuringCompletion": "❌ 完了時のエラー: {error}",
    "fatalError": "❌ 致命的なエラー: {error}",
    "configurationValidationFailed": "構成の検証に失敗しました: 必須フィールドが欠落しています"
  },
  "sizing": {
    "separator": "=========================================================================",
    "lineSeparator": "--------------------------------------------------------------------------------",
    "analysisStats": "{stats}",
    "sourceDirectoryLabel": "📁 ソースディレクトリ: {sourceDir}",
    "sourceLanguageLabel": "🌍 ソース言語: {sourceLanguage}",
    "strictModeLabel": "⚙️ストリクトモード: {mode}",
    "invalidSourceDirectoryError": "無効なソース ディレクトリ パス: {sourceDir}",
    "sourceDirectoryNotFoundError": "ソースディレクトリが見つかりません: {sourceDir}",
    "invalidOutputDirectoryError": "無効な出力ディレクトリ パス: {outputDir}",
    "invalidReportFileError": "無効なレポート ファイル パス",
    "problematic_keys": "問題のあるキー: {problematicKeys}",
    "problematicKeysLabel": "問題のあるキー: {problematicKeys}",
    "long_translations": "長い翻訳: {longTranslations}",
    "failedToSaveReportError": "レポートを安全に保存できませんでした",
    "invalidCsvFileError": "CSV ファイルのパスが無効です",
    "failedToSaveCsvError": "CSV レポートを安全に保存できませんでした",
    "fatalError": "❌ サイズ分析が失敗しました: {error}",
    "starting_i18n_sizing_analysis": "i18n のサイジング分析を開始しています...",
    "source_directory": "ソースディレクトリ: {sourceDir}",
    "found_languages": "見つかった言語: {languages}",
    "analyzing_file_sizes": "ファイルサイズを分析中...",
    "analyzing_translation_content": "翻訳内容を分析中...",
    "generating_size_comparisons": "サイズ比較を生成しています...",
    "no_languages_found_for_comparison": "比較対象の言語が見つかりません",
    "sizing_analysis_results": "I18n サイジング分析結果",
    "file_sizes_title": "ファイルサイズ",
    "file_sizes_header": "言語サイズ(KB) 行数 文字数",
    "file_size_row": "{lang}      {sizeKB}      {lines}      {characters}",
    "language_statistics_title": "言語統計",
    "language_stats_header": "言語キーの文字 平均長 最大長 空の長い",
    "language_stats_row": "{lang}      {totalKeys}    {totalCharacters}    {averageKeyLength}    {maxKeyLength}    {emptyKeys}    {longKeys}",
    "size_variations_title": "サイズバリエーション",
    "size_variations_header": "言語の文字差分 % 差分に問題があります",
    "size_variation_row": "{lang}      {characterDifference}    {percentageDifference}%    {problematic}",
    "problematic_yes": "はい",
    "problematic_no": "いいえ",
    "recommendations_title": "推奨事項",
    "recommendation_item": "{index}. {recommendation}",
    "problematic_key_detail": "{index}。鍵： '{key}' - バリエーション: {variations}",
    "generating_detailed_report": "詳細レポートを生成しています...",
    "keysHaveSignificantSizeVariations": "キーのサイズには大きなばらつきがある",
    "longTranslationsDetected": "${lang} 100 文字を超える ${data.longKeys} 翻訳があります - 分割することを検討してください",
    "longer": "もっと長く",
    "shorter": "短い",
    "review_translations": "見直しを検討してください {lang} 翻訳 - それらは {percentageDifference}% {comparison} ベースラインよりも",
    "report_saved_to": "レポートの保存場所: {reportPath}",
    "considerReviewingTranslations": "見直しを検討してください ${lang} 翻訳 - ベースラインより ${data.percentageDifference}% 長くなります",
    "csv_report_saved_to": "CSV レポートの保存場所: {csvPath}",
    "human_report_saved": "読みやすいレポートが保存されました: {reportPath}",
    "folder_summary_title": "フォルダーの概要",
    "folder_summary_table_header": "言語サイズ(KB) キーの平均長さ 合計文字数",
    "folder_summary_row": "{lang}      {sizeKB}      {totalKeys}    {avgLength}    {totalChars}",
    "language_comparison_title": "言語の比較",
    "language_comparison_row": "{lang}: {diff} 文字 ({percent}%) {status}",
    "summary_stats": "📊 概要: {totalLanguages} 言語、 {totalKeys} キー - レポートの保存先 {reportPath}",
    "detailedKeysDescription": "コンソールに詳細なキーレベル分析を表示する",
    "too_many_keys_warning": "⚠️ キーが多すぎてコンソールに表示できません - 完全な分析については詳細なレポート ファイルを確認してください",
    "no_translation_files_found": "翻訳ファイルが見つかりませんでした",
    "analysis_completed": "に分析が完了しました {duration}MS",
    "analysis_failed": "分析が失敗しました: {errorMessage}",
    "starting_analysis": "分析を開始しています...",
    "found_files": "見つかった {count} ファイル",
    "failed_to_parse_language_error": "解析に失敗しました {language} 翻訳: {errorMessage}",
    "recommendations": {
      "keys_have_significant_size_variations": "キーのサイズには大きなばらつきがある",
      "consider_reviewing_translations": "見直しを検討してください {lang} 翻訳 - それらは {percentageDifference}% {comparison} ベースラインよりも",
      "long_translations_detected": "{lang} もっている {longKeys} より長い翻訳 {threshold} キャラクター - 細分化することを検討してください"
    },
    "detailed_key_analysis_title": "詳細なキー分析",
    "key_analysis_detail": "{lang}: {length} 文字 ({status}) - {translation}",
    "key_analysis_header": "鍵： {key}",
    "status_empty": "空の",
    "status_long": "長さ",
    "status_ok": "わかりました"
  },
  "usage": {
    "help_message": "I18n 使用状況アナライザーの使用法: ノード i18ntk-usage.js [オプション] オプション: --source-dir <dir>     スキャンするソース ディレクトリ (デフォルト: ./src) --i18n-dir <dir>       I18n ディレクトリ (デフォルト: ./src/locales) --output-report 詳細レポートの生成 --output-dir <dir>     レポートの出力ディレクトリ (デフォルト: ./reports) --help このヘルプを表示 例: ノード i18ntk-usage.js --output-report ノード i18ntk-usage.js --source-dir=./app --i18n-dir=./locales ノード i18ntk-usage.js --output-dir=./analysis --output-report",
    "source_directory_thissourcedir": "📁 ソースディレクトリ: {sourceDir}",
    "translationCompletenessTitle": "🌍 翻訳の完全性:",
    "i18n_directory_thisi18ndir": "🌐 I18n ディレクトリ: {i18nDir}",
    "failed_to_parse_filename_error": "⚠️ 解析に失敗しました {fileName}: {errorMessage}",
    "analyzing_source_files": "🔍 ソースファイルを分析中...",
    "found_files_in_source": "📂 見つかりました {numFiles} ソースディレクトリ内のファイル",
    "found_thisusedkeyssize_unique_": "🎯 見つかりました {usedKeysSize} 使用される固有のキー",
    "total_key_usages_totalkeysfoun": "📊 キーの合計使用量: {totalKeysFound}",
    "loading_available_translation_": "📋 利用可能な翻訳キーをロード中...",
    "found_thisavailablekeyssize_av": "✅ 見つかりました {availableKeysSize} 利用可能なキー",
    "foundTranslationFiles": "✅ 見つかりました {count} 翻訳ファイル",
    "errorReadingI18nDirectory": "⚠️ i18n ディレクトリの読み取りエラー: {error}",
    "pressEnterToReturnToMenu": "📝 Enterを押してメインメニューに戻ります...",
    "notTranslatedKeysTotal": "⚠️ 未翻訳のキー: {total}",
    "noSourceFilesFound": "⚠️ ソース ディレクトリにソース ファイルが見つかりません。",
    "reviewNotTranslatedKeys": "💡 未翻訳のキーを確認する",
    "analysisCompletedSuccessfully": "🎉 分析が正常に完了しました!",
    "detectedSourceDirectory": "検出されたソース ディレクトリ: {sourceDir}",
    "detectedI18nDirectory": "検出された i18n ディレクトリ: {i18nDir}",
    "fileInfo": "📄 {namespace}: {keys} キー",
    "failedToAnalyzeUsage": "❌ 使用状況の分析に失敗しました: {error}",
    "failedToAnalyzeFile": "❌ ファイルの分析に失敗しました: {error}",
    "failedToExtractKeys": "❌ からキーを抽出できませんでした {filePath}: {error}",
    "analysisFailedError": "❌ 分析が失敗しました: {error}",
    "analyzerInitialized": "アナライザーが初期化されました",
    "analyzerInitFailed": "アナライザーの初期化に失敗しました: {error}",
    "argsParsed": "解析された引数",
    "processedFiles": "加工済み {processedFiles} の {totalFiles} ファイル。",
    "argsParseFailed": "引数の解析に失敗しました: {error}",
    "translationDiscoveryError": "翻訳検出エラー: {error}",
    "fileTraversalError": "ファイル トラバーサル エラー: {error}",
    "sourceEqualsI18nWarn": "{reason}。使用状況分析では、ロケール ファイルをソース コードとしてスキャンしません。",
    "i18nEqualsSourceWarn": "⚠️ I18n ディレクトリとソースディレクトリは同じです。これにより、分析で問題が発生する可能性があります。",
    "usageAnalysisFailed": "⚠️ 使用状況分析が失敗しました: {error}",
    "translationFileParseError": "⚠️ 翻訳ファイルの解析エラー: {error}",
    "translationKeysLoadError": "⚠️ 翻訳キーの読み込みエラー: {error}",
    "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% 翻訳済み)",
    "missingKeysCount": "⚠️ キーがありません: {count}",
    "analyzingTranslationCompleteness": "翻訳の完全性を分析中...",
    "unusedKeysCount": "未使用のキー: {count}",
    "usedKeysCount": "使用したキー: {count}",
    "availableKeysCount": "利用可能なキー: {count}",
    "analysisResults": "分析結果:",
    "i18nDirectoryNotFound": "⚠️ I18n ディレクトリが見つかりません。パスを確認してください。",
    "sourceDirectoryNotFound": "⚠️ ソースディレクトリが見つかりません: {dir}",
    "checkUsage": {
      "title": "🔍 I18NTK 使用状況分析",
      "analyzing_source_files": "🔍 ソースファイルを分析中...",
      "source_directory_thissourcedir": "📁 ソースディレクトリ: {sourceDir}",
      "i18n_directory_thisi18ndir": "📁 i18n ディレクトリ: {i18nDir}",
      "found_files_in_source": "✅ 見つかりました {numFiles} ソースディレクトリ内のファイル",
      "no_source_files_found": "⚠️ 指定されたディレクトリにソース ファイルが見つかりません",
      "processedFiles": "📊 処理済み {processedFiles} の {totalFiles} ファイル",
      "failedToProcessFile": "❌ 処理に失敗しました",
      "found_thisusedkeyssize_unique_": "🔍見つかりました {usedKeysSize} 使用される固有のキー",
      "total_key_usages_totalkeysfoun": "📊 キーの合計使用量: {totalKeysFound}",
      "loading_available_translation_": "📂 利用可能な翻訳キーを読み込んでいます...",
      "found_thisavailablekeyssize_av": "✅ 見つかりました {availableKeysSize} 利用可能なキー",
      "message": "プロジェクト全体での翻訳キーの使用状況を分析しています...",
      "usage_analysis_results": "📊 使用状況分析結果",
      "source_files_scanned_thisfileu": "📁 スキャンされたソースファイル: {fileUsageSize}",
      "available_translation_keys_thi": "✅ 利用可能な翻訳キー: {availableKeysSize}",
      "used_translation_keys_thisused": "🔍 使用した翻訳キー: {usedKeysSize}",
      "dynamic_keys_detected_dynamick": "⚡ 動的キーが検出されました: {dynamicKeysLength}",
      "unused_keys_unusedkeyslength": "🗑️ 未使用のキー: {unusedKeysLength}",
      "missing_keys_missingkeyslength": "❌ キーが見つからない: {missingKeysLength}",
      "translation_completeness_title": "📈 翻訳の完成度",
      "language_completeness_stats": "{language}: {translated}/{total} キー ({percentage}%)",
      "n_sample_unused_keys": "🗑️ 未使用キーのサンプル (最初の 5 つ):",
      "key": "🔑 {key}",
      "and_unusedkeyslength_5_more": "... そして {count} 未使用のキーが増える",
      "n_sample_missing_keys": "❌ 欠落しているキーのサンプル (最初の 5 つ):",
      "and_missingkeyslength_5_more": "... そして {count} 足りない鍵が増える",
      "n_generating_detailed_report": "📊 詳細レポートを生成中...",
      "report_saved_reportpath": "📄 レポートが保存されました: {reportPath}",
      "n_recommendations": "💡 推奨事項:",
      "consider_removing_unused_trans": "🗑️ バンドルのサイズを減らすために、未使用の翻訳を削除することを検討してください。",
      "add_missing_translation_keys_t": "➕ 一貫性を維持するために不足している変換キーを追加します",
      "review_dynamic_keys_manually_t": "🔍 動的キーを手動で確認します (有効である可能性があります)",
      "all_translation_keys_are_prope": "✅ すべての翻訳キーが適切に使用されています。",
      "n_next_steps": "🎯 次のステップ:",
      "2_check_the_detailed_report_fo": "2. 詳細レポートで特定の問題を確認する",
      "help_message": "I18n 使用状況アナライザーの使用法: ノード i18ntk-usage.js [オプション] オプション: --source-dir <dir>     スキャンするソース ディレクトリ (デフォルト: ./src) --i18n-dir <dir>       I18n ディレクトリ (デフォルト: ./src/locales) --output-report 詳細レポートの生成 --output-dir <dir>     レポートの出力ディレクトリ (デフォルト: ./reports) --help このヘルプを表示 例: ノード i18ntk-usage.js --output-report ノード i18ntk-usage.js --source-dir=./app --i18n-dir=./locales ノード i18ntk-usage.js --output-dir=./analysis --output-report",
      "1_review_the_analysis_results": "1. コンソールまたは生成されたレポートで分析結果を確認します。",
      "2_run_with_outputreport_for_de": "2. --output-report を指定して実行すると、詳細なレポートが表示されます。",
      "3_remove_unused_keys_or_add_mi": "3. 未使用のキーを削除するか、不足しているキーをソース コードに追加します。",
      "4_rerun_analysis_to_verify_imp": "4. 分析を再実行して改善を確認します。",
      "noSourceFilesFound": "分析するソース ファイルが見つかりません。",
      "i18nDirectoryNotFound": "I18n ディレクトリが見つかりません: {i18nDir}",
      "noTranslationLanguagesFound": "翻訳言語が見つかりません。",
      "failedToAnalyzeFile": "ファイルの解析に失敗しました {filePath}: {error}",
      "failedToAnalyzeLanguage": "言語の解析に失敗しました {language}: {error}",
      "translationCompletenessAnalysisFailed": "翻訳完全性分析が失敗しました: {error}",
      "n": "\\n"
    },
    "complete": {
      "configLoadedSuccessfully": "設定が正常にロードされました",
      "configLoadingFailed": "構成のロードに失敗しました",
      "title": "🌍 I18NTK翻訳完了",
      "separator": "======================================================",
      "sourceDir": "📁 ソースディレクトリ: {sourceDir}",
      "sourceLanguage": "🌐 ソース言語: {sourceLanguage}",
      "dryRunMode": "🧪 ドライランモード - 変更は行われません",
      "languages": "🌍 利用可能な言語: {languages}",
      "addingMissingKeys": "➕ 不足しているキーを翻訳ファイルに追加しています...",
      "processing": "🔄 処理中 {language}...",
      "addedKeys": "✅ 追加されました {count} 鍵がありません",
      "changeDetails": "📝 {file}: {key}",
      "andMore": "...そして {count} もっと",
      "noChangesNeeded": "✅ 変更は必要ありません {language}",
      "summaryTitle": "📊 完成概要",
      "totalChanges": "📝 合計の変更: {totalChanges}",
      "languagesProcessed": "🌍 処理される言語: {languagesProcessed}",
      "missingKeysAdded": "➕ 不足しているキーが追加されました: {missingKeysAdded}",
      "nextStepsTitle": "📋 次のステップ",
      "nextStep1": "1. 使用状況分析を実行します。",
      "nextStep2": "ノード i18ntk-usage.js --output-report",
      "nextStep3": "2. 翻訳を検証します。",
      "nextStep4": "ノード i18ntk-validate.js",
      "nextStep5": "3. パターンを分析します。",
      "nextStep6": "ノード i18ntk-analyze.js",
      "allKeysAvailable": "🎉 すべての翻訳キーが利用可能になりました!",
      "runWithoutDryRun": "💡 --dry-run なしで実行して変更を適用します",
      "deletingOldReport": "🗑️ 古いレポートを削除しています...",
      "generatingFreshAnalysis": "📊 新しい使用状況分析を生成しています...",
      "couldNotGenerate": "❌ 使用状況分析を生成できませんでした",
      "reportNotFound": "📋 使用状況レポートが見つかりません。共通キーを使用する...",
      "foundMissingKeys": "📋 見つかりました {count} 使用状況分析でキーが欠落している",
      "couldNotParse": "❌ 使用状況レポートを解析できませんでした。共通キーを使用する..."
    },
    "noTranslationLanguagesFound": "翻訳言語が見つかりません",
    "failedToAnalyzeLanguage": "言語の分析に失敗しました",
    "translationCompletenessAnalysisFailed": "翻訳完全性分析が失敗しました",
    "failedToProcessFile": "ファイルの処理に失敗しました:",
    "failedToSaveReport": "使用状況レポートの保存に失敗しました: {error}",
    "i18nDirectoryDoesNotExist": "I18n ディレクトリが存在しません: {dir}",
    "reportSavedTo": "使用状況レポートの保存場所: {reportPath}",
    "sourceDirectoryDoesNotExist": "ソースディレクトリが存在しません: {dir}",
    "noSourceDirectoryConfigured": "(何も設定されていません)"
  },
  "validate": {
    "help_message": "I18n 変換バリデータの使用法: ノード i18ntk-validate.js [オプション] オプション: --source-dir <dir>     スキャンするソース ディレクトリ (デフォルト: ./src) --i18n-dir <dir>       I18n ディレクトリ (デフォルト: ./src/locales) --output-report 詳細レポートの生成 --output-dir <dir>     レポートの出力ディレクトリ (デフォルト: ./reports) --help このヘルプを表示 例: node i18ntk-validate.js --output-report node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales node i18ntk-validate.js --output-dir=./analysis --output-report",
    "title": "🔍 I18n 翻訳バリデーター",
    "message": "検証プロセスを開始しています...",
    "sourceDirectory": "📁 ソースディレクトリ: {dir}",
    "sourceLanguage": "🌍 ソース言語: {sourceLanguage}",
    "strictMode": "⚙️ストリクトモード: {mode}",
    "noTargetLanguages": "ターゲット言語が設定されていません。ターゲットの検証をスキップします。 「i18ntk init --langages=de,fr」で言語を追加します。",
    "validatingLanguages": "🌍 言語の検証: {langs}",
    "validatingLanguage": "🔍 言語の検証: {lang}",
    "filesCount": "📄 ファイル: {count}",
    "keysCount": "🔑 キー: {count}",
    "missingFilesCount": "📁 不足しているファイル: {count}",
    "syntaxErrorsCount": "❌ 構文エラー: {count}",
    "translationPercentage": "🎯 翻訳: {percentage}% ({translated}/{total} キー)",
    "validationSummary": "📊 検証の概要",
    "validation_failed": "❌ 検証に失敗しました: {error}",
    "totalErrors": "❌ 合計エラー数: {count}",
    "totalWarnings": "⚠️ 警告の総数: {count}",
    "errorsSection": "❌ エラー",
    "warningsSection": "⚠️ 警告",
    "recommendationsSection": "💡 推奨事項",
    "fixErrorsFirst": "1.最初にすべてのエラーを修正します",
    "resolveMissingFilesAndSyntaxErrors": "1. 不足しているファイルと構文エラーを解決する",
    "fixStructuralInconsistencies": "2. 構造的な矛盾を修正する",
    "completeMissingTranslations": "3. 不足している翻訳を完了する",
    "rerunValidation": "4. 検証を再実行して修正を確認する",
    "addressWarnings": "品質を向上させるために警告に対処する",
    "reviewWarnings": "警告を確認し、必要に応じて修正します",
    "considerRunningWithStrict": "2. より厳密な検証を行うには、--strict フラグを使用して実行することを検討してください。",
    "allValidationsPassed": "🎉 すべての検証に合格しました!",
    "considerRunningUsageAnalysis": "使用状況分析の実行を検討してください: ノード i18ntk-usage.js",
    "deletedOldReport": "🗑️ 古い検証レポートを削除しました",
    "sourceDir": "📁 ソースディレクトリ: {sourceDir}",
    "i18nDir": "🌐 I18n ディレクトリ: {i18nDir}",
    "loadingTranslationFiles": "📋 翻訳ファイルを読み込み中...",
    "foundTranslationFilesCount": "✅ 見つかりました {count} 翻訳ファイル",
    "analyzingTranslations": "🔍 翻訳を分析中...",
    "validationCompletedSuccessfully": "🎉 検証が正常に完了しました。",
    "validationErrorsFound": "⚠️ 検証エラーが見つかりました: {count}",
    "validationWarningsFound": "⚠️ 検証警告が見つかりました: {count}",
    "validationPassed": "✅ エラーなしで検証に合格しました",
    "validationFailed": "検証が失敗しました: {error}",
    "startingValidationProcess": "🔍 検証プロセスを開始しています...",
    "validationProcessCompletedSuccessfully": "✅ 検証プロセスが正常に完了しました",
    "stackTrace": "スタックトレース: {stack}",
    "authenticationFailed": "❌ 認証に失敗しました。アクセスが拒否されました。",
    "fatalValidationError": "❌ 致命的な検証エラー: {error}",
    "configAccess": "検証のための構成へのアクセス",
    "configValidated": "構成は正常に検証されました",
    "configError": "構成エラー: {error}",
    "validatorInit": "I18n バリデーターを初期化しています",
    "validatorInitialized": "I18n バリデーターが正常に初期化されました",
    "validatorInitError": "バリデータ初期化エラー: {error}",
    "argsParsing": "コマンドライン引数の解析",
    "argsParsed": "コマンドライン引数が正常に解析されました",
    "argsParseError": "引数解析エラー: {error}",
    "languagesScan": "利用可能な言語をスキャンしています",
    "languagesFound": "見つかった {count} 言語",
    "languagesScanError": "言語スキャン エラー: {error}",
    "filesScan": "見つかった {count} 内のファイル {language}",
    "filesScanError": "ファイルスキャンエラー: {error}",
    "jsonValidated": "検証された JSON 構文: {filePath}",
    "jsonValidationError": "JSON 検証エラー: {error}",
    "languageValidation": "言語を検証しています: {language}",
    "languageValidationError": "言語検証エラー: {error}",
    "fileDeleted": "ファイルが削除されました",
    "runStarted": "検証の実行を開始します",
    "runCompleted": "検証の実行が正常に完了しました",
    "runError": "検証の実行が失敗しました: {error}",
    "scriptExecution": "スクリプトの実行",
    "validationCompleted": "検証が完了しました",
    "validationError": "検証エラー: {error}",
    "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
    "languageHeader": "🌐 言語: {language}",
    "validationResults": "📊 検証結果",
    "noErrors": "✅ エラーは見つかりませんでした",
    "noWarnings": "✅ 警告は見つかりませんでした",
    "summaryHeader": "📋 全体的な概要",
    "progressIndicator": "⏳ 処理中...",
    "completedIndicator": "✅ 完了",
    "errorIndicator": "❌ エラー",
    "warningIndicator": "⚠️警告",
    "infoIndicator": "ℹ️ 情報",
    "sourceDirNotConfigured": "ソースディレクトリが構成されていません",
    "sourceLanguageNotConfigured": "ソース言語が設定されていません",
    "translationFunctionNotInitialized": "翻訳関数が正しく初期化されていません",
    "sourceLanguageDirectoryNotFound": "ソース言語ディレクトリが見つかりません",
    "specifiedLanguageNotFound": "指定された言語が見つかりません",
    "noJsonFilesFound": "ソース ディレクトリに JSON ファイルが見つかりません: {sourceDir}",
    "i18nDirectoryNotFound": "I18n ディレクトリが見つかりません: {i18nDir}",
    "invalidDirectoryPaths": "無効なディレクトリ パスが検出されました",
    "invalidSampleFilePath": "サンプルファイルのパスが無効です",
    "failedToCreateSampleTranslationFile": "サンプル翻訳ファイルの作成に失敗しました",
    "invalidFilePathDetected": "無効なファイルパスが検出されました",
    "failedToWriteFile": "ファイルの書き込みに失敗しました: {filePath}",
    "invalidSourceDirectory": "無効なソース ディレクトリ: {sourceDir}",
    "invalidSourceLanguageDirectory": "無効なソース言語ディレクトリ: {sourceDir}"
  },
  "adminCli": {
    "setupPinProtectionTitle": "🔐 管理者PIN保護の設定",
    "setupPinProtectionDescription": "これには、管理操作のために 4 ～ 6 桁の PIN が必要になります。",
    "enablePinProtectionPrompt": "管理者 PIN 保護を有効にしますか?",
    "setupCancelled": "管理者 PIN 保護の設定がキャンセルされました。",
    "enterPinPrompt": "4 ～ 6 桁の PIN を入力してください:",
    "pinFormatError": "❌ PIN は 4 ～ 6 桁である必要があります。もう一度試してください。",
    "confirmPinPrompt": "PIN を確認します:",
    "pinMismatchError": "❌ PIN が一致しません。もう一度試してください。",
    "pinProtectionEnabledSuccess": "✅ 管理者 PIN 保護が正常に有効になりました。",
    "pinRecoveryWarning": "⚠️ PIN を覚えておいてください - 紛失した場合は回復できません。",
    "setupPinProtectionFailed": "❌ 管理者 PIN 保護のセットアップに失敗しました。",
    "errorSettingUpPin": "❌ 管理者 PIN の設定中にエラーが発生しました: {message}",
    "authRequiredForOperation": "🔐 以下の場合に管理者認証が必要です: {operation}",
    "invalidPinFormat": "❌ PIN の形式が無効です。 PIN は 4 ～ 6 桁である必要があります。",
    "authenticationSuccess": "✅ 認証に成功しました!",
    "invalidPinAttemptsRemaining": "❌ PIN が無効です。 {remaining} 残りの試行数。",
    "authenticationFailedAccessDenied": "❌ 認証に失敗しました。アクセスが拒否されました。",
    "authenticationError": "❌ 認証エラー: {message}",
    "pinProtectionNotEnabled": "管理者 PIN 保護は現在有効になっていません。",
    "disablingPinProtectionTitle": "🔓 管理者PIN保護の無効化",
    "confirmDisablePinProtection": "管理者 PIN 保護を無効にしてもよろしいですか?",
    "operationCancelled": "操作はキャンセルされました。",
    "pinProtectionDisabledSuccess": "✅ 管理者PIN保護が無効になっています。",
    "disablePinProtectionFailed": "❌ 管理者 PIN 保護を無効にできませんでした。",
    "errorDisablingPinProtection": "❌ 管理者保護を無効にするエラー: {message}",
    "adminProtectionStatusTitle": "🔐 管理者の保護ステータス",
    "statusEnabled": "ステータス: ✅ 有効",
    "protectionDetails": "保護: 管理操作には 4 ～ 6 桁の PIN が必要です",
    "lockoutDetails": "ロックアウト: 3 回の試行失敗 = 15 分間のロックアウト",
    "statusDisabled": "ステータス: ❌ 無効",
    "noAuthRequired": "保護: 認証は必要ありません",
    "unprotectedRisk": "リスク: 管理操作が保護されていない",
    "errorCheckingAdminStatus": "❌ 管理ステータスのチェック中にエラーが発生しました: {message}",
    "authRequired": "🔐 管理者認証が必要です。",
    "invalidPin": "❌ PIN が無効です。",
    "authSuccess": "✅ 認証に成功しました!",
    "adminPinSetupCli": "admin_pin_setup_cli",
    "adminAuthFailedCli": "admin_auth_failed_cli",
    "adminAuthDisabledCli": "admin_auth_disabled_cli",
    "protectedAccess": "保護されたアクセス: 機密性の高い操作には管理者認証が必要です。",
    "enterPin": "管理者 PIN を入力してください:",
    "accessGranted": "アクセスが許可されました。"
  },
  "adminPin": {
    "setup_title": "🔐 管理者PINの設定",
    "setup_separator": "======================================================",
    "setup_description": "管理者が機密設定にアクセスするために、4 ～ 6 桁の PIN を作成します。",
    "required_for_title": "この PIN は次の場合に必要になります。",
    "required_for_1": "• セキュリティ設定の変更",
    "required_for_2": "• 詳細設定の変更",
    "required_for_3": "• デバッグツールへのアクセス",
    "required_for_4": "• 設定をリセットする",
    "setup_note": "💡 注: 入力するとアスタリスク (*) が表示されます。これらは単なるマスキング文字です。",
    "setup_digits_only": "PIN 数字として受け入れられるのは 0 ～ 9 の数字のみです。",
    "invalid_pin_length": "❌ PIN が無効です。 4 ～ 6 桁である必要があります (0 ～ 9 の数字のみ)。",
    "invalid_pin_example": "例: 1234 または 567890",
    "pins_do_not_match": "❌ PIN が一致しません。",
    "setup_success": "✅ 管理者PINが正常に設定されました!",
    "setup_warning": "⚠️ この PIN は安全に保管してください。紛失した場合は回復できません。",
    "setup_error": "❌ PIN の設定エラー:",
    "session_expired": "⏰ 非アクティブのため、管理者セッションが期限切れになりました。",
    "no_pin_set_setting_up": "⚠️ 管理者PINが設定されていません。 PIN を設定中...",
    "no_pin_configured_access_denied": "⚠️ 管理者 PIN が設定されていません。アクセスが拒否されました。",
    "use_admin_settings_to_set_pin": "💡 まず管理者設定を使用して PIN を設定します。",
    "locked_out": "🔒 試行失敗が多すぎるため、管理者アクセスがロックされています。",
    "wait_before_retry": "5 分待ってから再試行してください。",
    "access_granted": "✅ 管理者アクセスが許可されました。",
    "incorrect_pin": "❌ PIN が間違っています。 {attempts} 残りの試行数。",
    "verify_pin_error": "❌ PIN の検証中にエラーが発生しました:",
    "already_configured": "✅ 管理者PINはすでに設定されています。",
    "optional_setup_title": "🔐 管理者PINの設定(オプション)",
    "optional_setup_description": "管理者 PIN 保護により、次のような機密性の高い操作に対するセキュリティが追加されます。",
    "setup_prompt": "管理者PINを設定しますか? (y/N):",
    "skipping_setup": "⏭️ 管理者 PIN の設定をスキップします。後から設定で設定することもできます。",
    "setup_prompt_error": "❌ PIN 設定プロンプト中のエラー:",
    "protectedAccess": "保護されたアクセス: 機密性の高い操作には管理者認証が必要です。",
    "enterPin": "管理者 PIN を入力してください:",
    "accessGranted": "アクセスが許可されました。",
    "invalidPin": "❌ PIN が無効です。もう一度試してください。",
    "weak_pin_warning": "⚠️ 警告: この PIN は弱いか、一般的なもののようです。",
    "weak_pin_suggestion": "💡 さまざまな桁のより強力な PIN の使用を検討してください。",
    "use_anyway_prompt": "とにかく使用する場合は「yes」と入力するか、Enter キーを押して別の PIN を選択します。",
    "enter_new_pin": "新しい管理者 PIN (4 ～ 6 桁) を入力してください:",
    "confirm_pin": "管理者PINを確認します:",
    "not_set": "未設定",
    "pin_display_mask": "####"
  },
  "debug": {
    "title": "🔧 デバッグツール",
    "separator": "======================================================",
    "mainDebuggerSystemDiagnostics": "1. システム診断",
    "_consoleTranslationsCheck": "// 2. コンソール翻訳チェック",
    "_exportMissingKeys": "// 3. 不足している翻訳キーをエクスポートする",
    "_replaceHardcodedConsole": "// 4. ハードコードされたコンソール文字列を置換する",
    "_consoleKeyChecker": "// 5. コンソールキーチェッカー",
    "debugLogs": "2. デバッグログ",
    "backToMainMenu": "0. メインメニューに戻る",
    "selectOption": "デバッグ ツールを選択します。",
    "runningDebugTool": "ランニング {displayName}...",
    "debugToolNotFound": "❌ デバッグ ツールが見つかりません: {toolName}",
    "errorRunningDebugTool": "デバッグ ツールの実行中にエラーが発生しました '{displayName}': {error}",
    "recentDebugLogs": "📄 最近のデバッグログ",
    "noDebugLogsFound": "❌ デバッグ ログが見つかりません。",
    "debugLogsDirectoryNotFound": "❌ デバッグ ログ ディレクトリが見つかりません。",
    "selectLogPrompt": "表示するログ ファイルを選択してください (1-{count}):",
    "invalidChoiceSelectRange": "無効な選択です。可能な範囲からお選びください。",
    "contentOf": "📄の内容 {filename}:",
    "pressEnterToContinue": "続行するには Enter キーを押してください..."
  },
  "detect_language_mismatches": {
    "tool_title": "🔍 言語の不一致検出ツール",
    "separator": "====================================",
    "analyzing_file": "📄 分析中 {language}.json...",
    "error_analyzing_file": "❌ エラー分析中 {filename}: {errorMessage}",
    "results_title": "📊 言語の不一致の検出結果",
    "results_separator": "=======================================",
    "summary_title": "📋 概要:",
    "total_files_analyzed": "分析されたファイルの合計: {totalFiles}",
    "files_with_mismatches": "不一致のあるファイル: {filesWithMismatches}",
    "total_mismatches_found": "見つかった不一致の合計: {totalMismatches}",
    "no_mismatches_found": "✅ 言語の不一致は見つかりませんでした。すべての翻訳は正しい言語で行われているようです。",
    "detailed_results_title": "🔍 詳細な結果:",
    "file_mismatch_header": "📄 {filename} ({language})",
    "mismatches_count": "見つかった {count} 不一致:",
    "mismatch_details": "{index}。鍵： {key}",
    "mismatch_value": "価値： \"{value}\"",
    "mismatch_issue": "問題： {description}",
    "recommendations_title": "💡 推奨事項:",
    "recommendation_1": "1. [TRANSLATE] のマークが付いたすべてのエントリを確認して翻訳します。",
    "recommendation_2": "2. 言語の接頭辞 ([DE]、[FR] など) を適切な翻訳に置き換えます。",
    "recommendation_3": "3. 英語のテキストを適切なターゲット言語に翻訳します。",
    "recommendation_4": "4. ユーザーに表示されるすべてのテキストに同等の母国語を使用する",
    "recommendation_5": "5. 修正を行った後、このツールを再度実行して修正を確認します。",
    "detailed_report_saved": "📄 詳細レポートの保存場所: {reportPath}",
    "error_saving_report": "❌ レポートの保存中にエラーが発生しました: {errorMessage}",
    "auto_fix_mode": "🔧 自動修正モード {dryRun}",
    "auto_fix_separator": "====================================",
    "fixed_file": "✅ 修正済み {filename}",
    "auto_fix_summary_title": "📊 自動修正の概要:",
    "total_fixes_applied": "適用された修正の合計: {count}",
    "preview_fixes_title": "🔍 修正のプレビュー:",
    "fix_details": "{file}: {key}      古い： \"{old}\"      新しい： \"{new}\"",
    "more_fixes": "... そして {count} さらに修正",
    "run_with_apply_fixes": "💡 これらの修正を適用するには --apply を指定して実行します",
    "error_general": "❌ エラー:",
    "mainDebuggerSystemDiagnostics": "メインデバッガ/システム診断",
    "exportMissingKeys": "不足しているキーをエクスポートする",
    "replaceHardcodedConsole": "ハードコードされたコンソールを置き換える",
    "consoleKeyChecker": "コンソールキーチェッカー",
    "debugLogs": "デバッグログ",
    "backToMainMenu": "メインメニューに戻る",
    "invalidChoiceSelectRange": "❌ 選択が無効です。表示された範囲内の数値を選択してください。",
    "runningDebugTool": "デバッグ ツールの実行: {displayName}",
    "debugToolNotFound": "デバッグツール「{toolName}' 見つかりません。",
    "recentDebugLogs": "最近のデバッグ ログ",
    "noDebugLogsFound": "デバッグ ログが見つかりません。",
    "logEntry": "ログエントリ: {timestamp} - {message}",
    "debugLogsDirectoryNotFound": "デバッグ ログ ディレクトリが見つかりません。"
  },
  "help": {
    "title": "📊 I18NTK 管理ヘルプ",
    "usage": "使用法: ノード main/manage/index.js [オプション]",
    "interactiveMode": "💡 使用: ノー​​ド main/manage/index.js --command=<command> 直接実行の場合",
    "showHelp": "📖 使用可能なコマンドについては、node main/manage/index.js --help を使用してください。",
    "availableCommands": "📖 利用可能なコマンド:",
    "initProject": "🚀 新しい言語を初期化する",
    "analyzeTranslations": "🔍 翻訳を分析する",
    "validateTranslations": "✅ 翻訳を検証する",
    "checkUsage": "📊 キーの使用状況を確認する",
    "initCommand": "init - 新しい言語を初期化する",
    "analyzeCommand": "分析 - 翻訳を分析する",
    "validateCommand": "validate - 翻訳を検証する",
    "usageCommand": "使用法 - キーの使用法を確認する",
    "sizingCommand": "sizing - サイジングを分析する",
    "completeCommand": "complete - 完全な翻訳 (100% カバー)",
    "summaryCommand": "概要 - プロジェクトのステータスを表示します",
    "debugCommand": "debug - 翻訳の問題をデバッグします",
    "scannerCommand": "スキャナ - キーをスキャンします",
    "translateCommand": "翻訳 - ロケール ファイルを自動翻訳します",
    "menu": {
      "pressEnterToContinue": "続行するには Enter キーを押してください...",
      "title": "🌐 I18NTK管理メニュー",
      "description": "国際化を管理するための対話型メニュー",
      "exit": "🚪 終了"
    },
    "commands": {
      "init": "init - 新しい言語を初期化する",
      "analyze": "分析 - 翻訳を分析する",
      "validate": "validate - 翻訳を検証する",
      "usage": "使用法 - キーの使用法を確認する",
      "sizing": "sizing - サイジングを分析する",
      "complete": "complete - 完全な翻訳 (100% カバー)",
      "summary": "概要 - プロジェクトのステータスを表示します",
      "debug": "debug - 翻訳の問題をデバッグします"
    },
    "options": {
      "sourceDir": "--ソースディレクトリ <dir>     分析するソースディレクトリ",
      "output": "- 出力 <file>        レポートの出力ファイル",
      "verbose": "--verbose, -v 詳細情報を表示",
      "keepReports": "--keep-reports 既存のレポートを保持します",
      "deleteReports": "--delete-reports 既存のレポートを削除します",
      "help": "--help, -h このヘルプを表示する"
    },
    "examples": {
      "title": "例:",
      "example1": "ノード i18ntk-manage.js",
      "example2": "ノード i18ntk-manage.js --source-dir ./locales",
      "example3": "ノード i18ntk-manage.js --output summary-report.txt",
      "example4": "ノード i18ntk-manage.js --verbose",
      "example5": "ノード i18ntk-manage.js --source-dir ./locales --output report.json"
    },
    "features": {
      "initProject": "🚀 新しい言語を初期化する",
      "analyzeTranslations": "🔍 翻訳を分析する",
      "validateTranslations": "✅ 翻訳を検証する",
      "checkUsage": "📊 キーの使用状況を確認する",
      "completeTranslations": "🎯 完全な翻訳 (100% カバー)",
      "showSizing": "📏 サイズを分析する",
      "runWorkflow": "🔄 完全なワークフローを実行する",
      "showStatus": "📋 プロジェクトのステータスを表示",
      "deleteReports": "🗑️ すべてのレポートを削除する",
      "changeLanguage": "🌍 UI言語を変更する",
      "settings": "⚙️設定",
      "showHelp": "❓ ヘルプ",
      "debugTools": "🔧 デバッグツール"
    },
    "messages": {
      "selectOption": "オプションを選択してください:",
      "invalidOption": "無効なオプションです。もう一度試してください。",
      "operationCompleted": "✅ 操作は正常に完了しました。",
      "pressEnter": "続行するには Enter キーを押してください...",
      "goodbye": "👋 さようなら！",
      "unknownCommand": "不明なコマンド: {command}",
      "nonInteractive": "⚠️ 非対話型モードが検出されました。参考のために表示されているメニューです。"
    },
    "i18n_helper": {
      "translation_file_not_found": "翻訳ファイルが見つかりません: {translationFile}",
      "error_loading_translations": "翻訳の読み込みエラー: {errorMessage}",
      "translation_not_found": "キーの翻訳が見つかりません: {key}",
      "translation_key_not_string": "翻訳キーが文字列に解決されません: {key}",
      "error_reading_locales_directory": "ロケール ディレクトリの読み取りエラー: {errorMessage}"
    }
  },
  "init": {
    "initializationTitle": "🚀 i18n 管理ツールキット - プロジェクトの初期化",
    "initializationCancelled": "🚫 ユーザーによって初期化がキャンセルされました。",
    "sourceDirectoryLabel": "📁 ソースディレクトリ: {dir}",
    "requiredTitle": "初期化が必要です",
    "requiredBody": "このコマンドを実行する前に、このプロジェクトを初期化する必要があります。",
    "promptRunNow": "今すぐ初期化を実行しますか? (y/N):",
    "sourceLanguageLabel": "🌍 ソース言語: {language}",
    "detectedI18nFrameworks": "🔍 検出された i18n フレームワーク: {frameworks}",
    "pinMustBe4Digits": "🔐 PIN は 4 桁である必要があります。",
    "existingDirectoriesFound": "📁 既存の翻訳ディレクトリが見つかりました:",
    "useExistingDirectoryPrompt": "既存のディレクトリを使用しますか? (はい/いいえ)",
    "selectDirectoryPrompt": "番号を入力してディレクトリを選択します (または、[新しいディレクトリを作成] を選択します)。",
    "enterNewDirectoryName": "新しい翻訳ディレクトリの名前を入力してください",
    "createdNewDirectory": "✅ 新しいディレクトリを作成しました: {dir}",
    "directoryAlreadyExists": "⚠️ ディレクトリはすでに存在します: {dir}",
    "invalidDirectoryName": "❌ 無効なディレクトリ名が指定されました。",
    "usingExistingDirectory": "既存のディレクトリを使用する: {dir}",
    "adminPinSetupOptional": "🔐 管理者PINの設定はオプション（セキュリティのために推奨）",
    "adminPinSeparator": "------------------------------",
    "adminPinDescription1": "管理者PIN: 安全なアクセスのための4桁の番号",
    "adminPinDescription2": "PIN の設定をスキップするには空白のままにします",
    "adminPinDescription3": "PIN を設定すると、今後のすべての安全なアクションに PIN が必要になります。",
    "adminPinDescription4": "PIN を安全に保管するために AES-256-GCM 暗号化が使用されます。",
    "adminPinSetupPrompt": "管理者 PIN (4 桁) を入力するか、空白のままにしてスキップします:",
    "skippingAdminPinSetup": "管理者 PIN の設定をスキップしています...",
    "settingUpAdminPin": "🔐 管理者PINを設定中...",
    "enterAdminPin": "管理者PINを入力してください:",
    "confirmAdminPin": "管理者 PIN を確認します:",
    "pinMismatch": "PIN が一致しません。もう一度試してください。",
    "adminPinSetupSuccess": "🔐 管理者PINの設定が成功しました!",
    "adminPinSetupFailure": "🔐 管理者PINの設定に失敗しました。もう一度試してください。",
    "adminProtectionEnabled": "🔐 管理者保護が有効になっています。すべての操作には PIN 認証が必要です。",
    "adminProtectionDisabled": "🔐 管理者保護が無効になっています。すべてのアクションは PIN なしで実行できるようになりました。",
    "autoDetectedI18nDirectory": "自動検出された i18n ディレクトリ: {directory}",
    "initializingProject": "⚙️ プロジェクト構成を初期化しています...",
    "createdSampleTranslationFile": "✅ 作成されたサンプル翻訳ファイル: {file}",
    "languageSelectionTitle": "🌐 言語設定",
    "available": "利用可能",
    "defaultLanguages": "📝 デフォルトの言語: {languages}",
    "enterLanguageCodes": "🎯 ターゲット言語コードを入力します (カンマ区切り、例: de、es、fr、ru):",
    "targetLanguages": "🌍 対象言語",
    "foundSourceFiles": "📄 見つかりました {count} 分析するソースファイル",
    "processingLanguage": "🔄 処理言語: {language}",
    "fileProcessingResult": "✅ 加工済み {file}: {translated}/{total} キー ({percentage}%)",
    "overallProgress": "📊 全体的な進捗状況: {translated}/{total} 処理されたキー ({percentage}%)",
    "initializationSummaryTitle": "📋 初期化の概要",
    "languageSummary": "{icon} {name} ({code}): {percentage}％ 完了",
    "languageFiles": "📄 ファイル: {count}",
    "languageKeys": "🔤 キー: {translated}/{total}",
    "languageMissing": "⚠️ 不足しているもの: {count}",
    "initializationCompletedSuccessfully": "🎉 プロジェクトの初期化が正常に完了しました!",
    "nextStepsTitle": "🚀 次のステップ",
    "nextStep1": "1. locales/ ディレクトリに生成された翻訳ファイルを確認します。",
    "nextStep2": "2. 各ターゲット言語の翻訳を追加します",
    "nextStep3": "3. 「npm run i18ntk」を再度実行して翻訳を検証します",
    "detectedFrameworks": "✅ 検出された i18n フレームワーク: {frameworks}",
    "setup": {
      "title": "設定",
      "question": "セットアップの質問",
      "opt_single": "単一ファイル",
      "opt_modular": "モジュラー",
      "opt_existing": "既存",
      "choice_prompt": "オプションを選択してください:",
      "opt_confirm": "確認する",
      "opt_cancel": "キャンセル",
      "apply_all_prompt": "この構造をすべての言語に適用しますか? (y/N):",
      "per_language_intro": "言語を個別に構成することを選択しました。利用可能な言語は次のとおりです。",
      "available_languages": "利用可能な言語: {languages}",
      "include_prompt": "含める言語コードをカンマで区切って入力します (例: 「de,fr,es」):"
    },
    "warnings": {
      "noPackageJson": "package.json が見つかりません。 i18n フレームワークを自動検出できません。"
    },
    "errorsPackageJsonRead": "package.json の読み取りエラー: {error}",
    "errorsNoFramework": "i18n フレームワークが検出されませんでした。いずれかをインストールするか、手動で指定してください。",
    "suggestions": {
      "noFramework": "i18n フレームワークが検出されませんでした。次のいずれかの使用を検討してください。",
      "installFramework": "フレームワークをインストールするには、npm install <package-name> を実行します。"
    },
    "frameworks": {
      "react": "- React i18next (react-i18next)",
      "vue": "- Vue i18n (vue-i18n)",
      "i18next": "- i18next (アイ18ネクスト)",
      "nuxt": "- Nuxt i18n (@nuxtjs/i18n)",
      "svelte": "- Svelte i18n (svelte-i18n)"
    },
    "continueWithoutI18nPrompt": "i18n フレームワークが検出されませんでした。何もせずに続行しますか? (y/N):",
    "detectedI18nFramework": "検出された i18n フレームワーク: {frameworks}",
    "existingDirectoryItem": "{index}. {location}",
    "usingExistingStructure": "既存の構造を使用する: {dir}",
    "creatingSourceDirectory": "ソースディレクトリの作成： {dir}",
    "creatingSourceLanguageDirectory": "ソース言語ディレクトリの作成: {dir}",
    "errors": {
      "errorExecutingCommand": "コマンド実行エラー: {error}",
      "sourceDirectoryNotFound": "ソースディレクトリが見つかりません: {dir}",
      "sourceLanguageDirectoryNotFound": "ソース言語ディレクトリが見つかりません: {dir}",
      "noJsonFilesInSourceDirectory": "ソース ディレクトリに JSON ファイルが見つかりません: {dir}",
      "invalidFilePathDetected": "無効なファイルパスが検出されました",
      "initializationFailed": "初期化に失敗しました: {error}",
      "noFramework": "i18n フレームワークが検出されませんでした。汎用モードで続行します。",
      "packageJsonRead": "package.json の読み取り中にエラーが発生しました。"
    },
    "processingFile": "処理 {file} のために {language}...",
    "fileAlreadyExistsMerging": "ファイル {file} すでに存在します。新しいキーをマージします。",
    "createdNewFile": "新しいファイルを作成しました: {file}",
    "updatedFile": "更新されたファイル: {file}",
    "skippingExcludedFile": "スキップ {file} のために {language} 除外されるので。",
    "continuingWithoutAdminPin": "管理者 PIN を設定せずに続行します。",
    "createdSourceLanguageDirectory": "作成されたソース言語ディレクトリ: {dir}",
    "errorSettingUpAdminPin": "管理者 PIN の設定中にエラーが発生しました: {error}",
    "noTargetLanguagesSpecified": "ターゲット言語が指定されていません。",
    "translationFilesCreatedWarning": "翻訳ファイルはプレースホルダーを使用して作成されました。本番環境で使用する前に確認してください。",
    "warningCannotReadSourceDir": "警告: ソース ディレクトリを読み取れません {dir}: {error}",
    "warningInvalidLanguageCodes": "警告: 無効な言語コードは無視されます: {languages}",
    "warningProceedingWithoutFramework": "i18n フレームワークが検出されないまま続行します。",
    "backup": {
      "title": "バックアップ設定",
      "description": "バックアップの再帰とリポジトリ汚染を避けるために、バックアップはデフォルトで無効になっています。",
      "enablePrompt": "自動バックアップを有効にしますか? (はい/いいえ): ",
      "keepPrompt": "自動的に保持するバックアップの数 (1 ～ 3、デフォルトは 1):"
    },
    "completionSummaryTitle": "完了の概要",
    "completionSummaryBasicTitle": "完了の概要 (基本)",
    "totalChanges": "合計の変更: {count}",
    "languagesProcessed": "処理される言語: {count}",
    "missingKeysAdded": "不足しているキーが追加されました: {count}",
    "reportPrompt": "レポートの生成を希望しますか? (はい/いいえ):",
    "reportGenerated": "生成されたレポート: {reportPath}",
    "reportFailed": "レポートの生成に失敗しました: {error}",
    "completionError": "完了時のエラー: {error}",
    "optimize": {
      "title": "パッケージサイズ最適化",
      "preview": "ロケール最適化のプレビューを実行しています...",
      "reduceTip": "必要な言語だけを選ぶと、パッケージサイズを削減できます。",
      "prompt": "今すぐ対話式の最適化を実行しますか? (y/N): ",
      "starting": "対話式のロケール最適化を開始しています...",
      "completed": "パッケージ最適化が完了しました。",
      "later": "ロケール最適化は後で実行できます:",
      "unavailable": "ロケール最適化を提供できません: {error}"
    }
  },
  "language": {
    "title": "🌍 言語を変更する",
    "separator": "======================================================",
    "current": "現在の言語: {language}",
    "available": "利用可能な言語:",
    "languageOption": "{index}. {displayName}{current}",
    "backToMainMenu": "メインメニューに戻る",
    "prompt": "言語を選択します (0 ～ 8):",
    "cancelled": "言語変更がキャンセルされました。",
    "invalid": "無効な選択です。もう一度試してください。",
    "changed": "言語が次のように変更されました: {language}",
    "changeFailed": "言語の変更に失敗しました: {error}",
    "pressEnterToContinue": "続行するには Enter キーを押してください..."
  },
  "maintainLanguagePurity": {
    "workflow_title": "🚀 言語純度維持ワークフロー",
    "step1_title": "📊 ステップ 1: 初期の言語純度評価",
    "step2_title": "🔧 ステップ 2: 言語の不一致を検出して自動修正する",
    "step3_title": "🌐 ステップ 3: 自動翻訳を適用する",
    "step4_title": "✅ ステップ 4: 最終的な言語純度評価",
    "workflow_error": "❌ ワークフローエラー: {errorMessage}",
    "running_initial_validation": "初期の言語純度検証を実行しています...",
    "initial_assessment_complete": "✅ 初期評価が完了しました: {count} 違反が見つかりました",
    "initial_assessment_warnings": "⚠️ 初期評価は警告付きで完了しました",
    "detecting_fixing_mismatches": "言語の不一致を検出して修正しています...",
    "detection_complete_applying_fixes": "検出が完了しました。自動修正を適用しています...",
    "mismatch_fixes_complete": "✅ 言語の不一致の修正が完了しました: {count} 修正が適用されました",
    "mismatch_fixes_warnings": "⚠️ 言語の不一致の修正は警告付きで完了しました",
    "applying_automatic_translations": "自動翻訳を適用しています...",
    "translation_preview_complete": "翻訳プレビューが完了しました。翻訳を適用しています..."
  },
  "menu": {
    "title": "🌐 I18NTK管理メニュー",
    "separator": "======================================================",
    "options": {
      "init": "🚀 新しい言語を初期化する",
      "analyze": "🔍 翻訳を分析する",
      "validate": "✅ 翻訳を検証する",
      "usage": "📊 キーの使用状況を確認する",
      "complete": "🎯 完全な翻訳 (100% カバー)",
      "sizing": "📏 サイズを分析する",
      "fix": "🛠️ プレースホルダーの翻訳を修正",
      "scanner": "🔍 i18n の問題をスキャンする",
      "translate": "🌐 自動翻訳",
      "workflow": "🔄 完全なワークフローを実行する",
      "status": "📋 プロジェクトのステータスを表示",
      "delete": "🗑️ すべてのレポートを削除する",
      "language": "🌍 UI言語を変更する",
      "settings": "⚙️設定",
      "help": "❓ ヘルプ",
      "debug": "🔧 デバッグツール",
      "exit": "🚪 終了"
    },
    "update": "📦アップデートパッケージ",
    "goodbye": "👋 さようなら！",
    "invalidChoice": "無効な選択です。 0～15を選択してください。",
    "returning": "メインメニューに戻る...",
    "invalidOption": "無効なオプションです。もう一度試してください。",
    "nonInteractiveModeWarning": "非対話型モードが検出されました。参考のために表示されているメニューです。",
    "useDirectExecution": "使用: ノー​​ド main/manage/index.js --command=<command> 直接実行の場合。",
    "useHelpForCommands": "使用可能なコマンドについては、node main/manage/index.js --help を使用してください。",
    "returnToMainMenu": "Enter を押してメインメニューに戻ります。",
    "pressEnterToContinue": "続行するには Enter キーを押してください...",
    "selectOptionPrompt": "オプションを選択してください:",
    "selectDebugToolPrompt": "デバッグ ツールを選択します。",
    "selectLogPrompt": "ログ ファイルを選択します (1-{count}):",
    "autoDetectedI18nDirectory": "自動検出された i18n ディレクトリ: {directory}",
    "executingCommand": "コマンドの実行: {command}",
    "unknownCommand": "不明なコマンド: {command}",
    "languageOption": "{index}. {displayName}{current}",
    "debugTools": {
      "1": "ログファイルの分析",
      "2": "翻訳キーの使用状況の分析",
      "3": "翻訳完全性分析",
      "4": "翻訳形式の分析",
      "5": "翻訳タイプの分析",
      "6": "翻訳構造解析"
    },
    "native_translations": {
      "exact_translation_found": "✅ {keyPath}: {value}",
      "no_exact_translation": "⚠️「」の正確な翻訳はありません{keyPath}'、同様のキーが見つかりました:",
      "similar_key": "- {key} ({similarity}％ マッチ）",
      "processing_language_files": "🔄 処理中 {count} 言語ファイル...",
      "file_not_found": "⚠️ ファイルが見つかりません: {file}",
      "processing_translations": "🌍 処理中 {code} 翻訳...",
      "backup_created": "📋 バックアップが作成されました: {filename}",
      "error_parsing_json": "❌ 解析エラー {code}.json: {errorMessage}",
      "existing_keys_found": "📊 {code}： 見つかった {count} 既存のキー",
      "error_writing_json": "❌ 書き込みエラー {code}.json: {errorMessage}",
      "translations_replaced": "📊 {code}: {count} 翻訳が置き換えられました",
      "translation_replacement_complete": "✅ 翻訳交換完了！",
      "total_replacements": "📊 総交換数: {count}",
      "dry_run_mode": "⚠️ ドライランモード - ファイルは変更されていません",
      "tool_title": "🌍 ネイティブ翻訳置換 v1.9.1",
      "tool_separator": "=====================================",
      "dry_run_warning": "⚠️ DRY RUN モードで実行 - ファイルは変更されません",
      "error_during_replacement": "❌ 翻訳置換中のエラー:"
    }
  },
  "config": {
    "dirFallbackWarning": "⚠️ディレクトリ {dir} 見つかりません。使用する {fallback}.",
    "dirInvalidError": "❌ 無効なディレクトリ: {dir}"
  },
  "operations": {
    "completed": "✅ 操作は正常に完了しました。",
    "deleteReportsTitle": "🗑️ レポートとログを削除する",
    "scanningForFiles": "🔍 削除するファイルをスキャンしています...",
    "noFilesFoundToDelete": "✅ 削除するファイルが見つかりません。",
    "availableDirectories": "📁 利用可能なディレクトリ:",
    "allDirectories": "すべてのディレクトリ",
    "andMore": "さらに...",
    "cancelOption": "キャンセル",
    "cancelReportOption": "キャンセル/メニューに戻る",
    "invalidSelection": "❌ 選択が無効です。",
    "foundFilesInSelectedDirectories": "📊 見つかりました {count} 選択したディレクトリ内のファイル:",
    "deletionOptions": "🗑️ 削除オプション:",
    "deleteAllFiles": "すべてのファイルを削除する",
    "keepLast3Files": "最新の 3 ファイルを保存 (日付順)",
    "keepLast5Files": "最新の 5 ファイルを保存 (日付順)",
    "noFilesToDelete": "✅ 削除するファイルはありません。",
    "filesToDeleteCount": "📋 削除するファイル: {count}",
    "filesToKeepCount": "📋 保存するファイル: {count}",
    "confirmDeletion": "⚠️ これらのファイルを削除してもよろしいですか? (y/N):",
    "deletedFile": "✅ 削除されました: {filename}",
    "failedToDeleteFile": "❌ 削除に失敗しました {filename}: {error}",
    "cancelled": "❌ 操作がキャンセルされました。",
    "init": {
      "title": "🚀 新しい言語を初期化する"
    },
    "usage": {
      "title": "📊 キーの使用状況を確認する",
      "noUsedKeysHint": "翻訳は見つかりましたが、原文では使用されていません。 --source-dir と translationPatterns を確認してください。"
    },
    "analyze": {
      "title": "🔍 翻訳を分析する"
    },
    "validate": {
      "title": "✅ 翻訳を検証する"
    },
    "settings": {
      "title": "⚙️設定管理",
      "separator": "======================================================"
    },
    "complete": {
      "deletingOldReport": "🗑️ 新しい分析のために古い使用状況レポートを削除しています",
      "generatingFreshAnalysis": "🔄 新しい使用状況分析を生成しています...",
      "couldNotGenerate": "⚠️ 使用状況分析を生成できませんでした。一般的な欠落キーの使用。",
      "reportNotFound": "⚠️使用レポートが見つかりません。新しい分析を生成しています...",
      "foundMissingKeys": "🔍見つかりました {count} 使用状況分析でキーが欠落している",
      "couldNotParse": "⚠️ 使用状況レポートを解析できませんでした。一般的な欠落キーの使用。",
      "title": "🎯 翻訳を完了する",
      "separator": "======================================================",
      "sourceDir": "📁 ソースディレクトリ: {sourceDir}",
      "sourceLanguage": "🔤 ソース言語: {sourceLanguage}",
      "dryRunMode": "🧪 ドライランモード - ファイルは変更されません",
      "languages": "🎯 対象言語: {languages}",
      "addingMissingKeys": "➕ 不足しているキーを翻訳ファイルに追加しています...",
      "processing": "🔄 処理中 {language}...",
      "addedKeys": "✅ 追加されました {count} キー",
      "changeDetails": "📝 {file}: {key}",
      "noChangesNeeded": "✅ 変更は必要ありません {language}",
      "summaryTitle": "📊 完成概要",
      "totalChanges": "📝 合計の変更: {totalChanges}",
      "languagesProcessed": "🌐 処理される言語: {languagesProcessed}",
      "missingKeysAdded": "➕ 不足しているキーが追加されました: {missingKeysAdded}",
      "nextStepsTitle": "📋 次のステップ",
      "nextStep1": "1. 使用状況分析を実行します。",
      "nextStep2": "2. 翻訳を検証します。",
      "nextStep3": "3. 完全性を分析します。",
      "allKeysAvailable": "🎉 すべての翻訳キーが利用可能になりました!",
      "runWithoutDryRun": "💡 --dry-run なしで実行して変更を適用します",
      "pressEnterToContinue": "続行するには Enter キーを押してください..."
    },
    "updatePackage": {
      "title": "📦 i18n-toolkit パッケージを更新",
      "description": "これにより、i18n-toolkit パッケージが npm で利用可能な最新バージョンに更新されます。",
      "command": "実行するコマンド",
      "confirm": "アップデートを続行してもよろしいですか? (y/N):",
      "updating": "パッケージを更新しています... これには少し時間がかかる場合があります。",
      "success": "✅ i18n-toolkit が正常に更新されました!",
      "error": "❌ i18n-toolkit の更新に失敗しました",
      "cancelled": "❌ アップデートがキャンセルされました。"
    }
  },
  "security": {
    "pathValidationFailed": "パス_検証_失敗",
    "invalidInputType": "無効な入力タイプ",
    "pathTraversalAttempt": "パストラバーサル試行",
    "pathValidated": "✅ パスが正常に検証されました",
    "pathValidationError": "パス検証エラー",
    "fileTooLarge": "セキュリティ: ファイルが大きすぎます: {filePath}",
    "fileReadError": "セキュリティ: ファイル読み取りエラー: {errorMessage}",
    "contentTooLargeForFile": "セキュリティ: コンテンツがファイルに対して大きすぎます: {filePath}",
    "fileWriteError": "セキュリティ: ファイル書き込みエラー: {errorMessage}",
    "jsonStringTooLarge": "セキュリティ: JSON 文字列が大きすぎます",
    "jsonParseError": "セキュリティ: JSON 解析エラー: {errorMessage}",
    "inputContainsDisallowedCharacters": "セキュリティ: 入力に許可されていない文字が含まれています",
    "unknownCommandArgument": "セキュリティ: 不明なコマンド引数: {key}",
    "unknown_command_argument": "セキュリティ: 不明なコマンド引数: {key}",
    "unknownConfigKey": "セキュリティ: 不明な構成キー: {key}",
    "unknown_config_key": "セキュリティ: 不明な構成キー: {key}",
    "securityAlert": "[セキュリティ警告] {timestamp}: {event}",
    "contentTooLarge": "セキュリティ: コンテンツがファイルに対して大きすぎます: {validatedPath}",
    "inputDisallowedCharacters": "セキュリティ: 入力に許可されていない文字が含まれています",
    "unknownCommandArg": "不明なコマンド引数",
    "logMessage": "[安全 {level}] {timestamp}: {event}",
    "alertMessage": "[セキュリティ警告] {timestamp}: {event}",
    "securityWarning": "[セキュリティ警告] {timestamp}: {event}",
    "json_parse_error": "セキュリティ: JSON 解析エラー: {errorMessage}",
    "file_too_large": "ファイルが大きすぎます",
    "file_read_error": "ファイル読み取りエラー",
    "content_too_large_for_file": "コンテンツがファイルに対して大きすぎます",
    "file_write_error": "ファイル書き込みエラー",
    "json_string_too_large": "Json文字列が大きすぎます",
    "recursion_detected": "で再帰が検出されました {operation}",
    "operation_timeout": "操作のタイムアウト: {operation}",
    "operation_error": "の操作エラー {operation}: {error}",
    "directory_read_error": "ディレクトリ読み取りエラー: {errorMessage}",
    "security_alert": "セキュリティ警告"
  },
  "settings-cli": {
    "settings": {
      "mainMenu": {
        "title": "メインメニュー:",
        "uiSettings": "UI設定",
        "uiSettingsDesc": "言語、テーマ、インターフェースのオプション",
        "directorySettings": "ディレクトリ設定",
        "directorySettingsDesc": "ソースおよび出力ディレクトリのパス",
        "scriptDirectorySettings": "スクリプトディレクトリの設定",
        "scriptDirectorySettingsDesc": "個々のスクリプト操作のディレクトリ パス",
        "processingSettings": "処理設定",
        "processingSettingsDesc": "バッチサイズ、同時実行性、パフォーマンス",
        "advancedSettings": "詳細設定",
        "advancedSettingsDesc": "検証、ロギング、およびエキスパートのオプション",
        "viewAllSettings": "すべての設定を表示",
        "viewAllSettingsDesc": "現在の構成を表示する",
        "importExport": "インポート/エクスポート",
        "importExportDesc": "設定のバックアップと復元",
        "resetToDefaults": "デフォルトにリセット",
        "resetToDefaultsDesc": "工場出荷時の設定を復元する",
        "reportBug": "バグを報告する",
        "reportBugDesc": "GitHub で問題レポートを送信する",
        "saveChanges": "変更を保存",
        "saveChangesDesc": "現在の設定をファイルに保存する",
        "updatePackage": "アップデートパッケージ",
        "updatePackageDesc": "npm 経由で i18n-toolkit パッケージを更新します。",
        "help": "ヘルプ",
        "helpDesc": "詳細なヘルプ情報を表示する",
        "quit": "やめる",
        "quitDesc": "設定を終了します (必要に応じて保存プロンプトが表示されます)",
        "unsavedChangesWarning": "⚠️ 未保存の変更があります",
        "saveChangesBeforeQuit": "終了する前に変更を保存しますか? (y/N):",
        "selectOption": "オプションを選択してください:",
        "goodbyeMessage": "i18n 設定マネージャーをご利用いただきありがとうございます。"
      },
      "goodbyeMessage": "i18n 設定マネージャーをご利用いただきありがとうございます。",
      "relativePathHint": "このディレクトリからの相対パスを使用します (例: ./src/i18n/locales)。",
      "currentDirectory": "現在のプロジェクトディレクトリ"
    },
    "settings_manager": {
      "error_loading_settings": "❌ 設定の読み込みエラー:",
      "error_saving_settings": "❌ 設定の保存中にエラーが発生しました:",
      "error_setting_value": "❌ エラー設定値：",
      "missing_required_setting": "❌ 必要な設定がありません: {prop}",
      "invalid_language": "❌ 無効な言語: {language}",
      "invalid_source_language": "❌ 無効なソース言語: {sourceLanguage}",
      "default_languages_must_be_array": "❌defaultLanguages は配列である必要があります",
      "invalid_date_format": "❌ 無効な日付形式: {dateFormat}。有効な形式: {validFormats}",
      "invalid_time_format": "❌ 無効な時刻形式: {timeFormat}。有効な形式: {validFormats}",
      "notifications_types_must_be_object": "❌ notification.types はオブジェクトである必要があります",
      "exclude_files_must_be_array": "❌ excludeFiles は配列である必要があります",
      "exclude_dirs_must_be_array": "❌ excludeDirs は配列である必要があります",
      "include_extensions_must_be_array": "❌ includeExtensions は配列である必要があります",
      "invalid_batch_size": "❌ バッチサイズが無効です。正の数でなければなりません",
      "invalid_max_concurrent_files": "❌ 最大同時ファイル数が無効です。正の数でなければなりません",
      "invalid_sizing_threshold": "❌ サイズ設定のしきい値が無効です。正の数でなければなりません",
      "invalid_timeout": "❌ タイムアウトが無効です。少なくとも 1000 ミリ秒である必要があります",
      "invalid_sizing_format": "❌ 無効なサイズ形式: {sizingFormat}。有効な形式: {validFormats}",
      "error_validating_settings": "❌ 設定の検証中にエラーが発生しました:",
      "backup_created": "📋 バックアップが作成されました: {backupPath}",
      "error_creating_backup": "❌ バックアップ作成エラー:",
      "language_not_supported": "言語 '{language}」はサポートされていません。利用可能： {availableLanguages}",
      "ui_language_set": "🌍 UI言語は次のように設定されています: {language}"
    }
  },
  "settings": {
    "title": "⚙️設定管理",
    "separator": "======================================================",
    "goodbyeMessage": "i18ntk 設定マネージャーをご利用いただきありがとうございます。",
    "relativePathHint": "このディレクトリからの相対パスを使用します (例: ./src/i18n/locales)。",
    "currentDirectory": "現在のプロジェクトディレクトリ",
    "startingSettings": "開始設定:",
    "pin": "ピン：",
    "reportBug": {
      "title": "バグを報告する",
      "description": "発生した問題やバグを報告してください",
      "guidance": "問題を効果的に報告するには:",
      "checkLogs": "1. プロジェクト ディレクトリのデバッグ ログを確認します。",
      "documentIssue": "2. 問題を再現手順とともに文書化する",
      "contactSupport": "3. システム管理者またはサポート チームに連絡します。",
      "completed": "バグ報告ガイダンスが表示される",
      "instructions": "バグを報告するには、上記の手順に従ってください。"
    },
    "mainMenu": {
      "title": "メインメニュー:",
      "uiSettings": "UI設定",
      "uiSettingsDesc": "言語、テーマ、インターフェースのオプション",
      "directorySettings": "ディレクトリ設定",
      "directorySettingsDesc": "ソースおよび出力ディレクトリのパス",
      "processingSettings": "処理設定",
      "processingSettingsDesc": "バッチサイズ、同時実行性、およびパフォーマンス",
      "advancedSettings": "詳細設定",
      "advancedSettingsDesc": "検証、ロギング、およびエキスパートのオプション",
      "viewAllSettings": "すべての設定を表示",
      "viewAllSettingsDesc": "現在の構成を表示する",
      "importExport": "インポート/エクスポート",
      "updatePackage": "アップデートパッケージ",
      "updatePackageDesc": "npm 経由で i18n-toolkit パッケージを更新します。",
      "importExportDesc": "設定のバックアップと復元",
      "resetToDefaults": "デフォルトにリセット",
      "resetToDefaultsDesc": "工場出荷時の設定を復元する",
      "reportBug": "バグを報告する",
      "reportBugDesc": "GitHub で問題レポートを送信する",
      "saveChanges": "変更を保存",
      "saveChangesDesc": "現在の設定をファイルに保存する",
      "help": "ヘルプ",
      "helpDesc": "詳細なヘルプ情報を表示する",
      "quit": "やめる",
      "quitDesc": "設定を終了します (必要に応じて保存プロンプトが表示されます)",
      "unsavedChangesWarning": "⚠️ 未保存の変更があります",
      "saveChangesBeforeQuit": "終了する前に変更を保存しますか? (y/N):",
      "selectOption": "オプションを選択してください:",
      "goodbyeMessage": "i18n 設定マネージャーをご利用いただきありがとうございます。",
      "selectSettingPrompt": "編集する設定を選択します (または、「b」で戻ります)。",
      "enterNewValue": "新しい値を入力してください:",
      "updatedSuccessfully": "{setting} 無事に更新されました！",
      "scriptDirectorySettings": "スクリプトディレクトリの設定",
      "scriptDirectoryDesc": "各スクリプトのカスタム ディレクトリを指定する",
      "scriptDirectorySettingsDesc": "スクリプトごとにカスタム ディレクトリを設定できます。設定されていない場合は、グローバル設定が使用されます。",
      "currentDirectory": "現在のプロジェクトディレクトリ",
      "securitySettings": "セキュリティ設定",
      "securitySettingsDesc": "管理者PINおよびその他のセキュリティオプション",
      "backupSettings": "バックアップ設定",
      "backupSettingsDesc": "構成設定のバックアップと復元",
      "autoTranslate": "自動翻訳",
      "autoTranslateDesc": "プレースホルダー、同時実行数、バッチ、レポートを調整"
    },
    "updatePackage": {
      "title": "アップデートパッケージ",
      "description": "npm 経由で i18n-toolkit パッケージを更新します。",
      "command": "npm update i18ntk -g",
      "success": "アップデートは正常に完了しました。",
      "failed": "アップデートに失敗しました。",
      "prompt": "今すぐパッケージを更新しますか? (y/N):",
      "promptDesc": "注: これにより、i18ntk パッケージが最新バージョンに更新されます。",
      "confirm": "y",
      "cancelled": "更新がキャンセルされました。",
      "error": "パッケージの更新に失敗しました",
      "updating": "パッケージを更新しています..."
    },
    "admin": {
      "selectOption": "オプションを選択します:",
      "updateSuccess": "管理者 PIN が正常に更新されました。",
      "updateFailed": "管理者PINの更新に失敗しました。",
      "protectionRemoved": "管理者 PIN 保護が削除されました。",
      "configSuccess": "管理者 PIN が正常に設定されました。",
      "configFailed": "管理者PINの設定に失敗しました。",
      "setupPinPrompt": "管理者PINを設定しますか? (y/N):",
      "pinUpdatedSuccess": "管理者 PIN が正常に更新されました。",
      "pinUpdatedFailed": "管理者PINの更新に失敗しました。",
      "pinRemoved": "管理者 PIN 保護が削除されました。",
      "pinConfiguredSuccess": "管理者 PIN が正常に設定されました。",
      "pinConfiguredFailed": "管理者PINの設定に失敗しました。",
      "accessDenied": "❌ アクセスが拒否されました。メニューに戻ります。",
      "setupPin": "🔐 管理者PINを設定中...",
      "setupFailed": "❌ 管理者PINの設定に失敗しました。設定は変更されていません。",
      "pinConfigured": "📌 管理者 PIN は現在設定されています。",
      "options": "オプション:",
      "changePin": "1) 既存のPINを変更する",
      "removePin": "2) PIN 保護を削除する",
      "cancel": "3) キャンセル",
      "verifyCurrentPin": "🔐 まず現在の PIN を確認します:",
      "settingNewPin": "🔄 新しいPINを設定しています...",
      "verifyToRemove": "🔐 現在の PIN を確認して保護を解除します。",
      "noPinConfigured": "🔓 現在、管理者 PIN は設定されていません。",
      "pinBenefits": "管理者 PIN を設定すると、次のセキュリティが強化されます。",
      "benefitSecurity": "• セキュリティ設定の変更",
      "benefitAdvanced": "• 詳細設定の変更",
      "benefitDebug": "• デバッグツールへのアクセス",
      "benefitReset": "• 設定をリセットする",
      "setupCancelled": "⏭️ 管理者 PIN の設定がキャンセルされました。",
      "operationCancelled": "❌ 操作がキャンセルされました。",
      "startingSettings": "🎛️ 設定 CLI を開始しています...",
      "authRequired": "🔒 以下の場合に管理者認証が必要です: {label}",
      "pinSetupTitle": "管理者PINの設定",
      "browserOpenFailed": "ブラウザを自動的に開くことができませんでした。",
      "manualVisit": "手動でアクセスしてください: {url}",
      "browserOpened": "✅ ブラウザが正常に開きました!"
    },
    "importExport": {
      "title": "設定のインポート/エクスポート",
      "export": "設定のエクスポート",
      "import": "インポート設定",
      "backup": "バックアップの作成",
      "enterFilename": "ファイル名を入力してください (またはデフォルトの場合は Enter キーを押します):",
      "exportSuccess": "設定のエクスポート先 {file}",
      "exportFailed": "設定のエクスポートに失敗しました: {error}",
      "importFilename": "インポートするファイル名を入力してください:",
      "fileNotFound": "ファイルが見つかりません。",
      "invalidFormat": "設定ファイルの形式が無効です。",
      "confirmImport": "これにより、現在の設定がすべて置き換えられます。続く？ (y/N):",
      "importSuccess": "設定が正常にインポートされました。",
      "importFailed": "設定のインポートに失敗しました: {error}",
      "backupSuccess": "バックアップが作成されました: {file}",
      "backupFailed": "バックアップの作成に失敗しました: {error}",
      "exportFilenamePrompt": "エクスポート ファイル名を入力してください:",
      "importConfirm": "この設定ファイルをインポートしますか? (y/N):",
      "importFilenamePrompt": "インポートファイル名を入力してください:",
      "manageBackups": "バックアップの管理",
      "restore": "設定を復元する"
    },
    "selectOption": "オプションを選択してください:",
    "resetToDefaultsTitle": "設定をデフォルトにリセットする",
    "resetWarning1": "⚠️ これにより、すべての設定がデフォルト値にリセットされます。",
    "resetWarning2": "この操作は元に戻すことができません。",
    "resetConfirm": "続行してもよろしいですか? (y/N):",
    "resetSuccess": "設定は正常にデフォルトにリセットされました。",
    "resetFailed": "設定をリセットできませんでした: {error}",
    "resetDone": "設定は正常にデフォルトにリセットされました。",
    "resetScriptDirsDone": "スクリプト ディレクトリがシステムのデフォルトに正常にリセットされました。",
    "saveSuccess": "設定が正常に保存されました。",
    "saveFailed": "設定の保存に失敗しました。",
    "saveError": "無効な設定が提供されました",
    "pressEnter": "続行するには Enter キーを押してください...",
    "initFailed": "設定の初期化に失敗しました: {error}",
    "invalidValueFormat": "値の形式が無効です。",
    "help": {
      "title": "設定ヘルプ",
      "navigationTitle": "ナビゲーション",
      "navigation1": "1. 一般設定 - UI 言語、テーマ、基本設定を構成します。",
      "navigation2": "2. ディレクトリ設定 - 翻訳ファイルのソース ディレクトリと出力ディレクトリを設定します。",
      "navigation3": "3. 処理設定 - バッチ サイズ、同時実行性、パフォーマンス オプションを構成します。",
      "navigation4": "4. 詳細設定 - 検証、ログ記録、およびエキスパート構成オプションへのアクセス",
      "categoriesTitle": "設定カテゴリ",
      "categoryUI": "• UI 設定: インターフェイス言語、カラーテーマ、および表示設定",
      "categoryDirectory": "• ディレクトリ設定: ソース ファイルの場所と出力レポート ディレクトリ",
      "categoryProcessing": "• 処理設定: バッチ処理、ファイル制限、パフォーマンス調整",
      "categoryAdvanced": "• 詳細設定: デバッグ モード、監査ログ、およびセキュリティ オプション",
      "envVarsTitle": "環境変数",
      "envVar1": "• I18N_SOURCE_DIR: デフォルトのソース ディレクトリ パスを上書きします。",
      "envVar2": "• I18N_OUTPUT_DIR: デフォルトの出力ディレクトリ パスを上書きします。",
      "envVar3": "• I18N_DEBUG: デバッグ モードを有効にする (true/false)",
      "cliUsageTitle": "CLI の使用例",
      "cliUsage1": "• npx i18ntk --settings: 対話型設定メニューを開きます。",
      "cliUsage2": "• npx i18ntk --settings --lang de: ドイツ語で設定を開きます",
      "cliUsage3": "• npx i18ntk --reset-settings: すべての設定をデフォルトにリセットします。",
      "navigation": "数字キーを使用してオプションを選択し、「b」で戻ります",
      "editing": "プロンプトが表示されたら新しい値を入力するか、Enter キーを押して最新の値を維持します",
      "saving": "終了する前に「s」を使用して変更を保存します",
      "reset": "オプション 7 を使用して、すべての設定をデフォルトにリセットします"
    },
    "categories": {
      "uiSettings": "UI設定",
      "directorySettings": "ディレクトリ設定",
      "processingSettings": "処理設定",
      "advancedSettings": "詳細設定",
      "scriptDirectorySettings": "スクリプトディレクトリの設定",
      "securitySettings": "セキュリティ設定",
      "autoTranslate": "自動翻訳設定"
    },
    "security": {
      "title": "🔐 セキュリティ設定",
      "description": "管理者 PIN 保護とセキュリティ オプションを構成する",
      "currentPin": "現在のPIN:",
      "pinConfigured": "✅ 設定済み",
      "pinNotConfigured": "❌ 未設定",
      "pinDisplay": "PIN 表示:",
      "menu": {
        "enableDisable": "1) 管理者PINの有効化/無効化",
        "setupChange": "2) 管理者PINの設定/変更",
        "sessionTimeout": "3) セッションタイムアウト",
        "maxAttempts": "4) 失敗した試行の最大数",
        "lockoutDuration": "5) ロックアウト期間",
        "back": "b) メインメニューに戻る"
      },
      "prompts": {
        "enablePin": "管理者 PIN 保護を有効にしますか? (y/N):",
        "disablePin": "管理者 PIN 保護を無効にしますか? (y/N):",
        "enterTimeout": "セッションのタイムアウト (分) を入力してください:",
        "enterMaxAttempts": "失敗した試行の最大数を入力してください:",
        "enterLockoutDuration": "ロックアウト期間 (分) を入力してください:"
      },
      "messages": {
        "pinEnabled": "管理者PIN保護が有効になっています",
        "pinDisabled": "管理者PIN保護が無効になっています",
        "timeoutUpdated": "セッションタイムアウトが次のように更新されました {minutes} 分",
        "maxAttemptsUpdated": "失敗した試行の最大数が次のように更新されました {attempts}",
        "lockoutDurationUpdated": "ロックアウト期間が更新されました {minutes} 分"
      }
    },
    "fields": {
      "backup.enabled": {
        "label": "Enable Backup",
        "description": "Enable automatic backup of settings",
        "help": "Enable/disable backup feature"
      },
      "backup.singleFileMode": {
        "label": "Single File Mode",
        "description": "Use single file for backups",
        "help": "Backup settings in a single file"
      },
      "backup.singleBackupFile": {
        "label": "Backup File Path",
        "description": "Path to the backup file",
        "help": "Path to the single backup file"
      },
      "backup.retentionDays": {
        "label": "Retention Period",
        "description": "Days to keep backup files",
        "help": "Number of days to retain old backup files"
      },
      "backup.maxBackups": {
        "label": "Maximum Backups",
        "description": "Maximum backup files to keep",
        "help": "Maximum number of backup files to keep"
      },
      "backup.confirm": {
        "label": "Confirm Backup",
        "description": "Require confirmation for backup operations",
        "help": "Confirm backup operation"
      },
      "i18nDir": {
        "label": "I18n ディレクトリ",
        "description": "翻訳ファイルを含むディレクトリ",
        "current": "現在： {value}",
        "help": "翻訳ファイルのあるディレクトリへのパス"
      },
      "projectRoot": {
        "label": "プロジェクトルート",
        "description": "プロジェクトのルートディレクトリ",
        "current": "現在： {value}",
        "help": "プロジェクトのルートディレクトリへのパス"
      },
      "checkUsage": {
        "usage_analysis_failed": "使用状況分析に失敗しました",
        "usage_analysis_success": "使用状況分析が成功しました",
        "usage_analysis_complete": "使用状況分析が完了しました",
        "usage_analysis_in_progress": "使用状況分析中",
        "usage_analysis_started": "使用状況分析が開始されました",
        "usage_analysis_skipped": "使用状況分析はスキップされました"
      },
      "language": {
        "label": "インターフェース言語",
        "description": "ユーザーインターフェースの言語",
        "current": "現在： {value}",
        "help": "好みのインターフェース言語を選択してください"
      },
      "scriptDirectories": {
        "analyzeLabel": "スクリプトディレクトリの分析",
        "analyzeHelp": "スクリプト ディレクトリを分析して問題を検出する",
        "completeLabel": "完全なセットアップ ディレクトリ",
        "initLabel": "スクリプトディレクトリの初期化",
        "manageLabel": "スクリプトディレクトリの管理",
        "sizingLabel": "スクリプトディレクトリのサイズ設定",
        "summaryLabel": "概要レポートのディレクトリ",
        "usageLabel": "使用状況レポートのディレクトリ",
        "validateLabel": "スクリプトディレクトリの検証"
      },
      "theme": {
        "label": "カラーテーマ",
        "description": "UIテーマの設定",
        "current": "現在： {value}",
        "help": "明るいテーマと暗いテーマから選択してください"
      },
      "dateFormat": {
        "label": "日付形式",
        "description": "日付の表示形式",
        "current": "現在： {value}",
        "help": "レポートでの日付の表示方法を選択する"
      },
      "notifications": {
        "enabled": {
          "label": "通知を有効にする",
          "description": "デスクトップ通知を表示する",
          "current": "現在： {value}",
          "help": "完了した操作のデスクトップ通知を有効にする"
        }
      },
      "sourceDir": {
        "label": "ソースディレクトリ",
        "description": "翻訳ファイルを含むディレクトリ",
        "current": "現在： {value}",
        "help": "ソース翻訳ファイルが含まれるディレクトリへのパス"
      },
      "sourceLanguage": {
        "label": "ソース言語",
        "description": "翻訳の主言語",
        "current": "現在： {value}",
        "help": "翻訳のソースとして使用される主言語"
      },
      "outputDir": {
        "label": "出力ディレクトリ",
        "description": "生成されたレポートのディレクトリ",
        "current": "現在： {value}",
        "help": "レポートと処理されたファイルが保存される場所"
      },
      "batchSize": {
        "label": "バッチサイズ",
        "description": "バッチごとに処理されるアイテムの数",
        "current": "現在： {value}",
        "help": "各バッチで処理するファイルの数"
      },
      "maxConcurrentFiles": {
        "label": "最大同時ファイル数",
        "description": "同時に処理される最大ファイル数",
        "current": "現在： {value}",
        "help": "同時に処理するファイルの最大数"
      },
      "sizingThreshold": {
        "label": "サイズ設定のしきい値 (%)",
        "description": "サイズ変動警告のしきい値",
        "current": "現在： {value}%",
        "help": "サイズの不一致を検出するためのパーセントしきい値"
      },
      "strictMode": {
        "label": "厳密な検証モード",
        "description": "厳密な検証モードを有効にする",
        "current": "現在： {value}",
        "help": "翻訳ファイルの厳密な検証を有効にする"
      },
      "enableAuditLog": {
        "label": "監査ログを有効にする",
        "description": "すべての翻訳変更を追跡する",
        "current": "現在： {value}",
        "help": "翻訳ファイルに加えられたすべての変更をログに記録します"
      },
      "backupBeforeChanges": {
        "label": "自動バックアップ",
        "description": "変更前にバックアップを作成する",
        "current": "現在： {value}",
        "help": "変更を加える前にバックアップを自動的に作成する"
      },
      "advanced_maxConcurrentFiles": {
        "label": "最大同時ファイル数",
        "description": "同時に処理される最大ファイル数",
        "current": "現在： {value}",
        "help": "同時に処理するファイルの最大数"
      },
      "advanced_strictMode": {
        "label": "厳密な検証モード",
        "description": "厳密な検証モードを有効にする",
        "current": "現在： {value}",
        "help": "翻訳ファイルの厳密な検証を有効にする"
      },
      "adminPinEnabled": {
        "label": "管理者PINの保護",
        "description": "機密性の高い設定に対して管理者 PIN 認証を有効にする",
        "current": "現在： {value}",
        "help": "セキュリティと詳細設定を変更するには管理者 PIN が必要です"
      },
      "sessionTimeout": {
        "label": "セッションタイムアウト",
        "description": "管理者セッションのタイムアウト (分単位)",
        "current": "現在： {value} 分",
        "help": "再認証が必要になるまでに管理セッションがアクティブな状態を維持する時間"
      },
      "maxFailedAttempts": {
        "label": "失敗した試行の最大数",
        "description": "ロックアウトまでの PIN 試行失敗の最大数",
        "current": "現在： {value} 試み",
        "help": "一時的なロックアウトまでに許可される PIN 試行の失敗回数"
      },
      "lockoutDuration": {
        "label": "ロックアウト期間",
        "description": "試行失敗後のロックアウト期間",
        "current": "現在： {value} 分",
        "help": "試行が最大失敗した後、システムがロックされたままになる時間"
      },
      "scriptDirectories_analyze": {
        "label": "スクリプトディレクトリの分析",
        "description": "分析スクリプト用のカスタム ディレクトリ",
        "current": "現在： {value}",
        "help": "分析スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "scriptDirectories_complete": {
        "label": "完全なセットアップ ディレクトリ",
        "description": "完全なセットアップ スクリプト用のカスタム ディレクトリ",
        "current": "現在： {value}",
        "help": "完全なセットアップ スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "scriptDirectories_init": {
        "label": "スクリプトディレクトリの初期化",
        "description": "初期化スクリプト用のカスタム ディレクトリ",
        "current": "現在： {value}",
        "help": "初期化スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "scriptDirectories_manage": {
        "label": "スクリプトディレクトリの管理",
        "description": "スクリプト管理用のカスタム ディレクトリ",
        "current": "現在： {value}",
        "help": "管理スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "scriptDirectories_sizing": {
        "label": "スクリプトディレクトリのサイズ設定",
        "description": "サイズ調整スクリプト用のカスタム ディレクトリ",
        "current": "現在： {value}",
        "help": "サイズ設定スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "scriptDirectories_summary": {
        "label": "概要レポートのディレクトリ",
        "description": "概要レポートスクリプト用のカスタムディレクトリ",
        "current": "現在： {value}",
        "help": "概要レポート スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "scriptDirectories_usage": {
        "label": "使用状況レポートのディレクトリ",
        "description": "使用状況レポートスクリプト用のカスタムディレクトリ",
        "current": "現在： {value}",
        "help": "使用状況レポート スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "scriptDirectories_validate": {
        "label": "スクリプトディレクトリの検証",
        "description": "検証スクリプト用のカスタム ディレクトリ",
        "current": "現在： {value}",
        "help": "検証スクリプトのカスタム ソース ディレクトリを指定します。グローバル設定を使用するには、空のままにしておきます。"
      },
      "security_adminPinEnabled": {
        "label": "管理者PINの保護",
        "description": "機密性の高い設定に対して管理者 PIN 認証を有効にする",
        "current": "現在： {value}",
        "help": "セキュリティと詳細設定を変更するには管理者 PIN が必要です"
      },
      "fields": {
        "adminPinEnabled": {
          "label": "管理者PINの保護",
          "description": "機密性の高い設定に対して管理者 PIN 認証を有効にする",
          "help": "セキュリティと詳細設定を変更するには管理者 PIN が必要です"
        }
      },
      "security_pinProtection_enabled": {
        "label": "PIN の保護",
        "description": "機密設定の PIN 保護を有効にする",
        "current": "現在： {value}",
        "help": "セキュリティと詳細設定を変更するには PIN が必要です"
      },
      "pinProtection_configure": {
        "label": "PIN で保護されたスクリプトの構成",
        "description": "どのスクリプトに PIN 保護が必要かを構成する",
        "help": "PIN 認証を必要とする個々のスクリプトを選択する"
      },
      "pinProtection_debugMenu": {
        "label": "「デバッグツール」メニュー",
        "description": "「デバッグツール」メニューにはPINが必要です",
        "current": "現在： {value}",
        "help": "デバッグ ツールにアクセスするための PIN 保護を有効にする"
      },
      "pinProtection_deleteReports": {
        "label": "レポートの削除",
        "description": "レポートの削除には PIN が必要です",
        "current": "現在： {value}",
        "help": "レポートを削除するために PIN 保護を有効にする"
      },
      "pinProtection_summaryReports": {
        "label": "概要レポート",
        "description": "概要レポートには PIN が必要です",
        "current": "現在： {value}",
        "help": "概要レポートを生成するために PIN 保護を有効にする"
      },
      "pinProtection_settingsMenu": {
        "label": "設定メニュー",
        "description": "設定メニューにはPINが必要です",
        "current": "現在： {value}",
        "help": "設定にアクセスするための PIN 保護を有効にする"
      },
      "pinProtection_initScript": {
        "label": "スクリプトの初期化",
        "description": "スクリプトの初期化にPINを要求する",
        "current": "現在： {value}",
        "help": "初期化スクリプトを実行するために PIN 保護を有効にする"
      },
      "pinProtection_resetDefaults": {
        "label": "リセットPIN保護",
        "description": "すべての PIN 保護設定をデフォルトにリセットします",
        "help": "すべての個々のスクリプト PIN 保護をデフォルト値にリセットします"
      },
      "removeUiLanguages": {
        "label": "UI言語の削除",
        "description": "インストールされていない UI 言語を削除する",
        "help": "システムにインストールされていない UI 言語を削除する"
      },
      "${helperKey}": {
        "help": "ヘルプ"
      },
      "backup": {
        "enabled": {
          "label": "バックアップを有効にする",
          "description": "設定の自動バックアップを有効にする",
          "help": "バックアップ機能を有効/無効にする"
        },
        "singleFileMode": {
          "label": "シングルファイルモード",
          "description": "バックアップには単一ファイルを使用する",
          "help": "設定を 1 つのファイルにバックアップする"
        },
        "singleBackupFile": {
          "label": "バックアップファイルのパス",
          "description": "バックアップファイルへのパス",
          "help": "単一のバックアップ ファイルへのパス"
        },
        "retentionDays": {
          "label": "保存期間",
          "description": "バックアップファイルを保存する日数",
          "help": "古いバックアップ ファイルを保持する日数"
        },
        "maxBackups": {
          "label": "最大バックアップ数",
          "description": "保存できるバックアップ ファイルの最大数",
          "help": "保持するバックアップ ファイルの最大数"
        },
        "confirm": {
          "label": "バックアップの確認",
          "description": "バックアップ操作には確認が必要です",
          "help": "バックアップ操作の確認"
        }
      },
      "reports_format": {
        "label": "レポート形式",
        "help": "読みやすいレポートには markdown、自動化には json、プレーンなログには text を選びます。"
      },
      "autoTranslate_placeholderMode": {
        "label": "プレースホルダー処理モード",
        "help": "自動翻訳中にプレースホルダーを含む文字列がどのように処理されるか。"
      },
      "autoTranslate_concurrency": {
        "label": "同時翻訳リクエスト",
        "help": "プロバイダーへの最大同時リクエスト数。i18ntk では Google は最大 100 まで対応し、DeepL と LibreTranslate はより低く制限されます。"
      },
      "autoTranslate_batchSize": {
        "label": "バッチごとのテキストセグメント",
        "help": "バッチごとにスケジュールされたテキスト セグメントの数。"
      },
      "autoTranslate_progressInterval": {
        "label": "進捗更新間隔",
        "help": "進捗状況の更新の間に完了したテキスト セグメント。"
      },
      "autoTranslate_retryCount": {
        "label": "リトライ回数",
        "help": "失敗したリクエストごとの最大再試行数。"
      },
      "autoTranslate_retryDelay": {
        "label": "再試行遅延 (ミリ秒)",
        "help": "基本再試行遅延 (ミリ秒単位)。"
      },
      "autoTranslate_timeout": {
        "label": "リクエストのタイムアウト (ミリ秒)",
        "help": "翻訳プロバイダーのリクエストがタイムアウトしました。"
      },
      "autoTranslate_dryRunFirst": {
        "label": "まずはドライランプレビュー",
        "help": "ファイルを書き込む前に、翻訳される内容をプレビューします。"
      },
      "autoTranslate_onlyMissingOrEnglish": {
        "label": "未翻訳または英語のキーのみ",
        "help": "既存の翻訳済み値を保持し、未設定、マーカー、原文コピー、または英語と判定される値だけを翻訳します。"
      },
      "autoTranslate_reportStdout": {
        "label": "レポートを端末に出力する",
        "help": "翻訳後のレポートを標準出力に出力します。"
      },
      "autoTranslate_bom": {
        "label": "UTF-8 BOM の書き込み",
        "help": "UTF-8 BOM を使用して、翻訳された JSON ファイルを書き込みます。"
      },
      "autoTranslate_protectionEnabled": {
        "label": "ブランドの用語、キー、価値を保護する",
        "help": "ユーザーが編集可能な保護された用語、キー、値、パターンを有効にします。"
      },
      "autoTranslate_protectionFile": {
        "label": "保護JSONファイル",
        "help": "自動翻訳保護ルールを含むプロジェクト JSON ファイル。"
      },
      "autoTranslate_promptProtectionSetup": {
        "label": "保護ファイルの作成を依頼する",
        "help": "自動翻訳を初めて実行するときに、保護ファイルを作成するように要求します。"
      },
      "autoTranslate_promptProtectionUpdate": {
        "label": "保護ルールの更新を要求する",
        "help": "マネージャーが翻訳する前に、保護ルールを更新するかどうかを尋ねます。"
      }
    },
    "actions": {
      "editSetting": "編集 {setting}:",
      "settingUpdated": "✅ {setting} 無事に更新されました！",
      "invalidValue": "❌ 値が無効です。もう一度試してください。",
      "pressEnter": "続行するには Enter キーを押してください...",
      "backToMenu": "メインメニューに戻る",
      "saveSuccess": "✅ 設定が正常に保存されました。",
      "saveFailed": "❌ 設定を保存できませんでした: {error}",
      "resetConfirm": "すべての設定をデフォルトにリセットしてもよろしいですか? (y/N):",
      "resetSuccess": "✅ 設定がデフォルトに正常にリセットされました。",
      "importSuccess": "✅ 設定が正常にインポートされました。",
      "exportSuccess": "✅ 設定が正常にエクスポートされました。",
      "fileNotFound": "❌ ファイルが見つかりません: {path}",
      "invalidFormat": "❌ 設定ファイルの形式が無効です",
      "pinProtectionUpdated": "✅ PIN 保護 {script} 無事に更新されました！",
      "pinProtectionReset": "✅ すべての PIN 保護設定がデフォルトにリセットされます。",
      "pinProtectionConfigure": "個々のスクリプトの PIN 保護を構成する",
      "pinProtectionSelectScript": "PIN 保護を切り替えるスクリプトを選択します。",
      "pinProtectionCurrentStatus": "現在のステータス: {status}",
      "pinProtectionEnabled": "有効",
      "pinProtectionDisabled": "無効",
      "pinProtectionToggle": "PIN 保護の切り替え",
      "pinProtectionResetAll": "すべてをデフォルトにリセット",
      "pinProtectionBack": "セキュリティ設定に戻る"
    },
    "themes": {
      "light": "ライト",
      "dark": "暗い",
      "system": "システム"
    },
    "languages": {
      "en": "英語",
      "de": "ドイツ語",
      "es": "スペイン語",
      "fr": "フランス語",
      "ru": "ロシア",
      "ja": "日本語",
      "zh": "中国語",
      "it": "イタリア語",
      "pt": "ポルトガル語",
      "nl": "オランダ語",
      "pl": "ポーランド語",
      "sv": "スウェーデン語",
      "uk": "ウクライナ語",
      "cs": "チェコ語",
      "tr": "トルコ語",
      "ko": "韓国語",
      "ar": "アラビア語",
      "hi": "ヒンディー語",
      "th": "タイ語",
      "vi": "ベトナム語",
      "he": "ヘブライ語",
      "el": "ギリシャ語",
      "hu": "ハンガリー語"
    },
    "viewAll": {
      "title": "すべての設定を表示"
    },
    "current": "現在",
    "back": "メインメニューに戻る",
    "selectSettingPrompt": "編集する設定を選択します (または b で戻る、r でリセット):",
    "invalidOption": "無効なオプションです。",
    "editing": "編集",
    "enterNewValue": "新しい値を入力します (または Enter を押して現在の値を維持し、「default」と入力してシス​​テムのデフォルトを使用します)。",
    "validOptions": "有効なオプション",
    "updatedSuccessfully": "無事に更新されました！",
    "noHelp": "この設定に関して利用可能なヘルプはありません",
    "resetScriptDirectories": "デフォルト値にリセット",
    "resetScriptDirectoriesTitle": "スクリプトディレクトリをデフォルトにリセットする",
    "resetScriptDirectoriesWarning1": "これにより、すべてのスクリプト ディレクトリ構成がシステムのデフォルトにリセットされます。",
    "resetScriptDirectoriesWarning2": "すべてのカスタム ディレクトリ パスがクリアされます。この操作は元に戻すことができません。",
    "resetScriptDirectoriesConfirm": "すべてのスクリプト ディレクトリをデフォルトにリセットしてもよろしいですか? (y/N):",
    "backup": {
      "title": "バックアップ設定",
      "description": "現在の設定をファイルにバックアップする",
      "confirm": "現在の設定をバックアップしてもよろしいですか? (y/N):",
      "success": "✅ 設定は正常にバックアップされました {backupFile}",
      "failed": "❌ 設定のバックアップに失敗しました: {error}",
      "enabled": "バックアップを有効にする",
      "enabledHelp": "バックアップ機能を有効/無効にする",
      "singleFileMode": "シングルファイルモード",
      "singleFileModeHelp": "設定を 1 つのファイルにバックアップする",
      "singleBackupFile": "単一のバックアップ ファイル",
      "singleBackupFileHelp": "単一のバックアップ ファイルへのパス",
      "retentionDays": "保存日数",
      "retentionDaysHelp": "古いバックアップ ファイルを保持する日数",
      "maxBackups": "最大バックアップ数",
      "maxBackupsHelp": "保持するバックアップ ファイルの最大数",
      "confirmHelp": "バックアップ操作の確認",
      "confirmYes": "はい",
      "confirmNo": "いいえ"
    },
    "validation": {
      "valid": "有効",
      "validatingPaths": "構成されたパスを検証しています...",
      "validationComplete": "パスの検証が完了しました: {valid}/{total} 有効。"
    }
  },
  "summary": {
    "separator": "======================================================",
    "configurationTitle": "🔧 構成:",
    "sourceLanguage": "ソース言語: {sourceLanguage}",
    "supportedExtensions": "サポートされている拡張子: {extensions}",
    "excludedFiles": "除外されるファイル: {files}",
    "reportContent": "{report}",
    "fatalError": "❌ 致命的なエラー: {error}",
    "helpTitle": "📊 I18NTK サマリーレポートジェネレーター",
    "helpDescription": "i18n フォルダー構造を分析し、主要な統計、ファイル構造分析、検証チェックを含む包括的な概要レポートを生成します。",
    "helpUsage": "使用法: ノード i18ntk-summary.js [オプション]",
    "helpOptions": "--ソースディレクトリ <dir>     分析するソースディレクトリ",
    "helpSourceDir": "--ソースディレクトリ <dir>     分析するソースディレクトリ",
    "helpOutput": "- 出力 <file>        レポートの出力ファイル",
    "helpVerbose": "--verbose, -v 詳細情報を表示",
    "helpKeepReports": "--keep-reports 既存のレポートを保持します",
    "helpDeleteReports": "--delete-reports 既存のレポートを削除します",
    "helpHelp": "--help, -h このヘルプを表示する",
    "helpExamples": "例:",
    "helpExample1": "ノード i18ntk-summary.js",
    "helpExample2": "ノード i18ntk-summary.js --source-dir ./locales",
    "helpExample3": "ノード i18ntk-summary.js --output summary-report.txt",
    "helpExample4": "ノード i18ntk-summary.js --verbose",
    "helpExample5": "ノード i18ntk-summary.js --source-dir ./locales --output report.json",
    "couldNotReadFile": "⚠️ ファイルを読み取れませんでした: {filePath}",
    "couldNotParseJSFile": "⚠️ JS/TS ファイルを解析できませんでした: {filePath}",
    "errorReadingFile": "⚠️ ファイルの読み取り中にエラーが発生しました {filePath}: {error}",
    "analyzingFolder": "🔍 フォルダー構造を分析中...",
    "noLanguageDirectoriesFound": "❌ 指定されたソース ディレクトリに言語ディレクトリが見つかりません。",
    "foundLanguages": "✅ 見つかりました {count} 言語: {languages}",
    "referenceLanguageFiles": "📁 参照言語 '{language}' もっている {count} ファイル",
    "analyzingLanguage": "🌍 言語の分析: {language}",
    "keysInFiles": "📊 見つかりました {keys} キーを横切る {files} ファイル",
    "checkingInconsistentKeys": "🔍 言語間で一貫性のないキーをチェックしています...",
    "generatingSummaryReport": "📝 概要レポートを生成中...",
    "reportTitle": "📊 I18NTK サマリーレポート",
    "generated": "生成されるもの: {timestamp}",
    "sourceDirectory": "ソースディレクトリ: {dir}",
    "overview": "📈 概要",
    "languagesCount": "言語: {count}",
    "totalFiles": "総ファイル数: {count}",
    "totalKeys": "キーの合計: {count}",
    "avgKeysPerLanguage": "言語ごとの平均キー: {count}",
    "languagesBreakdown": "🌍 言語の内訳",
    "languageBreakdown": "{language}: {files} ファイル、 {keys} キー",
    "fileStructure": "📁 ファイル構造",
    "fileKeys": "{file}: {keys} キー",
    "missingInLanguages": "⚠️ 不足しているもの: {languages}",
    "issuesFound": "❌ 問題が見つかりました",
    "missingFiles": "📁 不足しているファイル:",
    "emptyFiles": "📄 空のファイル:",
    "malformedFiles": "⚠️ 不正な形式のファイル:",
    "duplicateKeys": "🔑 キーの重複:",
    "inconsistentKeys": "🔍 一貫性のないキー:",
    "missingKeys": "ない： {keys}{more}",
    "extraKeys": "余分な： {keys}{more}",
    "noIssuesFound": "✅ 問題は見つかりませんでした",
    "allFilesConsistent": "すべての翻訳ファイルは言語間で一貫性があります。",
    "recommendations": "💡 推奨事項",
    "createMissingFiles": "• 不足している翻訳ファイルを作成する",
    "addContentToEmptyFiles": "• 空の翻訳ファイルにコンテンツを追加する",
    "fixMalformedFiles": "• 不正な形式の JSON/JS ファイルを修正",
    "removeDuplicateKeys": "• ファイルから重複キーを削除する",
    "synchronizeKeys": "• すべての言語間でキーを同期する",
    "splitLargeFiles": "• 大きなファイルを小さな名前空間に分割することを検討する",
    "addMoreLanguages": "• さらに言語を追加することを検討してください",
    "nextSteps": "🎯 次のステップ",
    "nextStep1": "1. 上記で特定された問題を修正します",
    "nextStep2": "2. 整合性を確保するために検証を実行します。",
    "nextStep3": "3. 詳細な検証には i18ntk-validate の使用を検討してください",
    "nextStep4": "4. 定期的なモニタリングの推奨",
    "couldNotFindI18nDirectory": "❌ i18n ディレクトリが見つかりませんでした。 --source-dir を指定してください。",
    "sourceDirectoryDoesNotExist": "❌ ソース ディレクトリが存在しません: {dir}",
    "i18nSummaryReportGenerator": "📊 I18N 概要レポートジェネレーター",
    "analysisComplete": "✅ 分析完了",
    "analyzedLanguages": "📊 分析された言語: {count}",
    "processedFiles": "📁 処理されたファイル: {count}",
    "foundTranslationKeys": "🔑 見つかった翻訳キー: {count}",
    "foundIssues": "❌ 見つかりました {count} 問題",
    "noIssuesConsole": "✅ 問題は見つかりませんでした - すべてのファイルに一貫性があります。",
    "errorDuringAnalysis": "❌ 分析中のエラー: {error}",
    "usageReportTitle": "📊 I18NTK 使用レポート",
    "usageReportGenerated": "生成されるもの: {timestamp}",
    "usageReportSourceDir": "ソースディレクトリ: {sourceDir}",
    "usageReportI18nDir": "I18n ディレクトリ: {i18nDir}",
    "usageReportSummary": "📈 概要",
    "usageReportSourceFilesScanned": "スキャンされたソース ファイル: {count}",
    "usageReportTranslationFilesFound": "見つかった翻訳ファイル: {count}",
    "usageReportAvailableKeys": "利用可能な翻訳キー: {count}",
    "usageReportUsedKeys": "使用された翻訳キー: {count}",
    "usageReportDynamicKeys": "動的変換キー: {count}",
    "usageReportUnusedKeys": "未使用の翻訳キー: {count}",
    "usageReportMissingKeys": "翻訳キーがありません: {count}",
    "usageReportNotTranslatedKeys": "翻訳されていないキー: {count}",
    "usageReportTranslationCompleteness": "🌍 翻訳の完成度",
    "usageReportLanguageCompleteness": "{language}: {completeness}% ({translated}/{total})",
    "usageReportNotTranslatedInLanguage": "未翻訳: {count} キー",
    "usageReportTranslationFilesDiscovered": "📁 翻訳ファイル",
    "usageReportFileInfo": "{relativePath} (名前空間: {namespace}、 タイプ： {type})",
    "usageReportUnusedTranslationKeys": "🗑️ 未使用の翻訳キー",
    "usageReportUnusedKeysDescription": "これらのキーは翻訳ファイルには存在しますが、ソース コードでは使用されません。",
    "usageReportUnusedKey": "• {key}",
    "usageReportMoreUnusedKeys": "... そして {count} 未使用のキーが増える",
    "usageReportMissingTranslationKeys": "❌ 翻訳キーがありません",
    "usageReportMissingKeysDescription": "これらのキーはソース コードで使用されていますが、翻訳ファイルには含まれていません。",
    "usageReportMissingKey": "• {key}",
    "usageReportUsedIn": "使用場所: {filePath}",
    "usageReportMoreFiles": "... そして {count} さらに多くのファイル",
    "usageReportDynamicTranslationKeys": "⚡ 動的翻訳キー",
    "usageReportDynamicKeysDescription": "これらのキーは動的に使用されます (実行時に構築されます)。",
    "usageReportDynamicKey": "• {key}",
    "usageReportFileUsageBreakdown": "📊 ファイル使用量の内訳",
    "usageReportFileUsage": "{filePath}: {count} キー",
    "status": {
      "generating": "⏳ 生成中...",
      "completed": "✅ 完了"
    },
    "help": {
      "usage": "使用法: ノード main/manage/index.js [オプション]",
      "interactiveMode": "💡 使用: ノー​​ド main/manage/index.js --command=<command> 直接実行の場合",
      "initProject": "🚀 新しい言語を初期化する",
      "analyzeTranslations": "🔍 翻訳を分析する",
      "validateTranslations": "✅ 翻訳を検証する",
      "checkUsage": "📊 キーの使用状況を確認する",
      "showHelp": "📖 使用可能なコマンドについては、node main/manage/index.js --help を使用してください。",
      "availableCommands": "📖 利用可能なコマンド:",
      "initCommand": "init - 新しい言語を初期化する",
      "analyzeCommand": "分析 - 翻訳を分析する",
      "validateCommand": "validate - 翻訳を検証する",
      "usageCommand": "使用法 - キーの使用法を確認する",
      "sizingCommand": "sizing - サイジングを分析する",
      "completeCommand": "complete - 完全な翻訳 (100% カバー)",
      "summaryCommand": "概要 - プロジェクトのステータスを表示します",
      "scannerCommand": "スキャナ - i18n の問題をスキャンします",
      "translateCommand": "翻訳 - ロケール ファイルを自動翻訳します",
      "debugCommand": "debug - 翻訳の問題をデバッグします"
    },
    "test_complete_system": {
      "starting_test": "🧪 完全なシステムテストを開始します",
      "separator": "=",
      "testing_ui_translations": "📝 UI 翻訳をテスト中...",
      "testing_settings_manager": "⚙️ テスト設定マネージャー...",
      "testing_main_scripts": "🔧 メインスクリプトをテスト中...",
      "checking_translation_consistency": "🌐 翻訳の一貫性をチェックしています...",
      "non_critical_missing_keys": "ℹ️ {file}: {count} 重要ではない欠落キー",
      "extra_keys": "ℹ️ {file}: {count} 追加のキー",
      "generating_report": "📊 レポートを生成中...",
      "final_test_report_title": "📋 最終テストレポート",
      "passed": "✅ 合格: {passed}",
      "failed": "❌ 失敗: {failed}",
      "warnings": "⚠️ 警告: {warnings}",
      "missing_translations_title": "🔍 翻訳がありません ({count}):",
      "missing_translation_key": "- {key}",
      "missing_translations_more": "... そして {count} もっと",
      "errors_title": "❌ エラー:",
      "error_message": "- {error}",
      "overall_status": "📊 全体的なステータス: {status}",
      "success_message": "✅ {message}",
      "failure_message": "❌ {message}",
      "failure_error_message": "{errorMessage}",
      "warning_message": "⚠️  {message}",
      "test_runner_failed": "❌ テストランナーが失敗しました:",
      "recommendations": {
        "add_missing_translation_keys": "一貫性を維持するために不足している変換キーを追加する",
        "fix_failing_scripts": "導入前に失敗したスクリプトを修正する",
        "review_warning_messages": "警告メッセージを確認して対処する",
        "system_ready_for_deployment": "システムを展開する準備ができました"
      },
      "hardcodedTexts": {
        "addMissingTranslationKeys": "一貫性を維持するために不足している変換キーを追加する",
        "fixFailingScripts": "導入前に失敗したスクリプトを修正する",
        "reviewWarningMessages": "警告メッセージを確認して対処する",
        "systemReadyForDeployment": "システムを展開する準備ができました"
      }
    },
    "testConsoleI18n": {
      "found_target_file": "ターゲットファイルが見つかりました: {fileName}",
      "scanning_files_for_console_statements": "コンソール ステートメントのファイルをスキャンしています...",
      "found_javascript_files": "見つかった {count} JavaScript ファイル。",
      "console_i18n_analysis_results": "コンソール I18n 分析結果",
      "total_console_statements": "コンソールステートメントの合計: {count}",
      "translated_statements": "翻訳されたステートメント: {count}",
      "hardcoded_statements": "ハードコードされたステートメント: {count}",
      "translation_coverage": "翻訳範囲: {percentage}%",
      "coverage_by_file": "ファイルごとの範囲:",
      "file_coverage_stats": "{emoji} {fileName}: {coverage}% ({translated}/{total})",
      "hardcoded_console_statements": "ハードコードされたコンソール ステートメント:",
      "file_header": "ファイル： {file}",
      "line_statement": "ライン {line}: {statement}",
      "suggested_key": "推奨されるキー: {key}",
      "suggested_replacement": "推奨される代替品: {replacement}",
      "recommendations": "推奨事項:",
      "recommendation_1": "1. ハードコードされた文字列を i18n.t() 呼び出しに置き換えます。",
      "recommendation_2": "2. 関連する翻訳 JSON ファイルに新しいキーを追加します。",
      "recommendation_3": "3. すべてのコンソール メッセージがユーザー向けであり、翻訳が必要であることを確認します。",
      "recommendation_4": "4. 動的メッセージにはテンプレート リテラルまたは文字列連結を使用し、変数を i18n.t() に渡します。",
      "translation_keys_to_add": "追加する推奨翻訳キー:",
      "add_keys_instruction": "次の JSON 構造を翻訳ファイルにコピーします。",
      "perfect_translation_coverage": "完璧な翻訳範囲！",
      "all_statements_using_translation": "すべてのコンソール ステートメントは変換システムを使用しています。",
      "i18n_console_translation_checker": "I18n コンソール翻訳チェッカー",
      "script_description_line1": "このスクリプトは、コンソール ステートメントのすべての JavaScript ファイルをスキャンします。",
      "script_description_line2": "翻訳システムを使用しているかどうかを確認します。",
      "analysis_completed_in_duration": "に分析が完了しました {duration} 秒。",
      "report_saved_to_path": "レポートの保存場所: {path}",
      "found_hardcoded_messages": "見つかった {count} ハードコードされたメッセージ。エラー コード 1 で終了します。",
      "all_console_messages_use_translation": "すべてのコンソール メッセージは翻訳を使用します。コード0で終了します。",
      "consoleTranslationsCheck": "コンソール翻訳チェック"
    },
    "translate_mismatches": {
      "title": "🌐 翻訳ヘルパー {dryRun}",
      "separator": "====================================",
      "processing_file": "📄 処理中 {language}.json...",
      "translation_summary_title": "📊 翻訳の概要:",
      "total_translations_applied": "適用された翻訳の合計: {totalTranslations}",
      "run_with_apply_instruction": "💡 これらの翻訳を適用するには --apply を指定して実行します",
      "no_translation_mappings": "⚠️ 利用可能な翻訳マッピングはありません {language}",
      "translation_applied": "✅ {key}: \"{oldValue}\" → \"{newValue}\"",
      "saved_translations": "💾 保存しました {count} への翻訳 {filename}",
      "found_translatable_items": "🔍見つかりました {count} 翻訳可能な項目",
      "no_automatic_translations": "✨ 自動翻訳は利用できません",
      "error_processing_file": "❌ エラー処理 {filename}: {errorMessage}",
      "coverage_report_title": "📊 翻訳カバレッジレポート",
      "coverage_report_separator": "===============================",
      "file_header": "📄 {filename}:",
      "total_keys": "キーの合計: {total}",
      "translated_keys": "翻訳: {translated}",
      "untranslated_markers": "未翻訳のマーカー: {untranslated}",
      "contains_english": "英語が含まれています: {hasEnglish}",
      "coverage_percentage": "カバレッジ： {coverage}%",
      "error_general": "❌ エラー:",
      "use_help": "使用方法については --help を使用してください"
    },
    "cleaningUpReportFiles": "古いレポート ファイルをクリーンアップしています...",
    "couldNotDelete": "削除できませんでした {file}: {error}",
    "deletedOldReportFiles": "削除されました {count} 古いレポート ファイル。",
    "errorCleaningUpReports": "レポートのクリーンアップ中にエラーが発生しました: {error}",
    "noOldReportFilesToDelete": "削除する古いレポート ファイルはありません。",
    "reportFilesPreserved": "レポート ファイルは保存されます。",
    "reportSaveFailed": "レポートを次の場所に保存できませんでした: {reportPath}",
    "reportSaved": "レポートの保存場所: {reportPath}"
  },
  "ui": {
    "autoDetectedI18nDirectory": "自動検出された i18n ディレクトリ: {path}",
    "executingCommand": "コマンドの実行: {command}",
    "unknownCommand": "不明なコマンド: {command}",
    "errorExecutingCommand": "コマンド実行エラー: {error}",
    "errorLoadingTranslationFile": "' の翻訳ファイルのロード中にエラーが発生しました{language}': {error}",
    "errorSavingLanguagePreference": "言語設定の保存中にエラーが発生しました: {error}",
    "noActiveReadlineInterface": "使用可能なアクティブな readline インターフェイスがありません",
    "uiLanguageUpdated": "UI 言語が次のように更新されました: {language}",
    "selectOptionPrompt": "オプションを選択してください:",
    "pressEnterToReturn": "Enterを押してメインメニューに戻ります...",
    "detectedSourceDirectory": "検出されたソース ディレクトリ: {sourceDir}",
    "detectedI18nDirectory": "検出された i18n ディレクトリ: {directory}",
    "toolkitTitle": "i18ntk - エンタープライズ i18n 管理ツールキット",
    "versionInfo": "バージョン: {version}",
    "releaseDate": "発売日： {date}",
    "maintainer": "メンテナ: {maintainer}",
    "nodeVersion": "Node.js: {version}",
    "license": "ライセンス： {license}",
    "whatsNew": "✨ v の新機能{version}:",
    "changeItem": "{change}",
    "documentation": "📚 ドキュメント: {url}",
    "issues": "🐛 問題: {url}",
    "versionInfoUnavailable": "i18ntk のバージョン情報は利用できません",
    "versionInfoError": "エラー： {error}"
  },
  "validateLanguagePurity": {
    "phrase_debug_tools": "デバッグツール",
    "phrase_settings": "設定",
    "phrase_configuration": "構成",
    "phrase_invalid_choice": "無効な選択",
    "phrase_please_select": "選択してください",
    "phrase_back_to_main_menu": "メインメニューに戻る",
    "phrase_error": "エラー",
    "phrase_warning": "警告",
    "phrase_success": "成功",
    "phrase_failed": "失敗した",
    "phrase_loading": "読み込み中",
    "phrase_saving": "節約",
    "phrase_full_system_debug": "フルシステムのデバッグ",
    "phrase_configuration_debug": "構成のデバッグ",
    "phrase_translation_debug": "翻訳デバッグ",
    "phrase_performance_debug": "パフォーマンスのデバッグ",
    "phrase_admin_pin_setup": "管理者ピンの設定",
    "phrase_enter_admin_pin": "管理者PINを入力してください",
    "phrase_confirm_admin_pin": "管理者PINを確認する",
    "phrase_authentication_failed": "認証に失敗しました",
    "phrase_access_denied": "アクセスが拒否されました",
    "phrase_security_log": "セキュリティログ",
    "language_german": "ドイツ語",
    "language_french": "フランス語",
    "language_spanish": "スペイン語",
    "language_russian": "ロシア",
    "language_japanese": "日本語",
    "language_chinese": "中国語",
    "validator_title": "🔍 言語純度検証ツール",
    "validating_file": "📄 検証中 {language}.json ({name})...",
    "valid_file_message": "✅ 有効 - 言語純度違反なし",
    "invalid_file_message": "❌ 無効 - {count} 違反が見つかりました",
    "no_validation_rules": "言語に対して検証ルールが定義されていません: {language}",
    "error_reading_file": "ファイルの読み取りエラー: {errorMessage}",
    "issue_forbidden_marker": "禁止されたマーカーが含まれています: {marker}",
    "issue_english_phrase": "英語のフレーズが含まれています: \"{phrase}\"",
    "issue_english_words": "英単語が含まれています: {words}",
    "issue_missing_cyrillic": "長いテキストにはロシア語のキリル文字が含まれている必要があります",
    "issue_missing_japanese": "長いテキストには日本語の文字が含まれている必要があります",
    "issue_missing_chinese": "長いテキストには漢字が含まれている必要があります",
    "summary_title": "📊 検証の概要",
    "overall_results_header": "📋 全体的な結果:",
    "total_files_validated": "検証されたファイルの合計: {count}",
    "valid_files": "有効なファイル: {count}",
    "invalid_files": "無効なファイル: {count}",
    "total_violations": "合計違反数: {count}",
    "violations_by_file_header": "❌ ファイル別の違反:"
  },
  "workflow": {
    "title": "ワークフロー管理",
    "description": "i18n ワークフローを管理します。",
    "select_workflow_file": "実行するワークフロー ファイルを選択します。",
    "no_workflow_files": "ワークフロー ディレクトリにワークフロー ファイルが見つかりません。",
    "invalid_selection": "選択が無効です。ワークフロー ファイルに対応する番号を入力してください。",
    "workflow_execution_started": "ワークフローの開始: {workflowName}",
    "workflow_execution_completed": "ワークフローが完了しました: {workflowName}",
    "workflow_execution_failed": "ワークフローが失敗しました: {workflowName} - {error}",
    "workflow_cancelled": "ワークフローの実行がキャンセルされました。",
    "press_enter_to_continue": "続行するには Enter を押してください!",
    "starting": "🚀 ワークフローを開始しています...",
    "completed": "✅ ワークフローが正常に完了しました。",
    "checkReports": "📄 詳細についてはレポートを確認してください。",
    "exitingCompleted": "📝 ワークフローが完了しました。終了中...",
    "summary": {
      "title": "📋 ワークフローの概要",
      "separator": "===================",
      "completedAt": "🕐 ワークフローは次の時点で完了しました: {timestamp}",
      "initialViolations": "📊 最初の違反: {count}",
      "finalViolations": "📉 最終的な違反: {count}",
      "totalFixes": "🔧 適用された修正の合計: {count}",
      "improvement": "📈 改善: {percentage}%",
      "stepResults": "📝 ステップの結果:",
      "stepDetail": "{number}. {status} {stepName}",
      "violations": "違反: {count}",
      "fixesApplied": "適用された修正: {count}",
      "nextSteps": "💡 次のステップ:",
      "congratulations": "🎉 おめでとうございます！すべてのロケール ファイルは完全な言語の純度を持ちます。",
      "cicdIntegration": "✅ バリデーターを CI/CD パイプラインに統合することを検討してください。",
      "automatedChecks": "✅ 新しい翻訳の自動チェックを設定する",
      "greatProgress": "🎯 素晴らしい進歩です！ほとんどの問題は解決されました。",
      "manualReview": "🔍 残りの違反を手動で確認する",
      "addMappings": "🌐 エッジケースに備えて変換マッピングを追加することを検討してください",
      "goodProgress": "📈 順調に進んでいますが、さらなる作業が必要です。",
      "expandMappings": "🔧 自動翻訳マッピングを拡張する",
      "professionalReview": "👥 複雑な翻訳は手動でレビューすることを検討してください",
      "runAgain": "🔄 さらにマッピングを追加した後、ワークフローを再度実行します",
      "limitedProgress": "⚠️進行状況は限られています。手動による介入が必要になる場合があります。",
      "reviewMappings": "🔍 翻訳マッピングを確認し、不足しているマッピングを追加する",
      "professionalServices": "👥 プロの翻訳サービスを検討してください",
      "checkIssues": "🔧 ロケールファイルの体系的な問題をチェックする",
      "success": "✅",
      "warning": "⚠️"
    }
  },
  "consoleI18nTester": {
    "found_target_file": "目的のファイルが見つかりました",
    "scanning_files_for_console_statements": "ファイルをスキャンしてコンソール ステートメントを確認する",
    "found_javascript_files": "JavaScript ファイルが見つかりました",
    "console_i18n_analysis_results": "コンソール i18n の分析結果",
    "total_console_statements": "コンソールステートメントの合計",
    "translated_statements": "翻訳されたステートメント",
    "hardcoded_statements": "ハードコードされたステートメント",
    "translation_coverage": "翻訳範囲",
    "coverage_by_file": "ファイルごとの範囲",
    "file_coverage_stats": "ファイルカバレッジ統計",
    "hardcoded_console_statements": "ハードコーディングされたコンソール ステートメント",
    "file_header": "ファイルヘッダー",
    "line_statement": "行ステートメント",
    "suggested_key": "推奨されるキー",
    "suggested_replacement": "推奨される代替品",
    "recommendations": "推奨事項",
    "recommendation_1": "推奨事項 1",
    "recommendation_2": "推奨事項 2",
    "recommendation_3": "推奨事項 3",
    "recommendation_4": "推奨事項 4",
    "translation_keys_to_add": "追加する翻訳キー",
    "add_keys_instruction": "キーの追加手順",
    "perfect_translation_coverage": "完璧な翻訳範囲",
    "all_statements_using_translation": "翻訳を使用したすべてのステートメント",
    "i18n_console_translation_checker": "I18n コンソール翻訳チェッカー",
    "script_description_line1": "スクリプトの説明行 1",
    "script_description_line2": "スクリプトの説明行 2",
    "analysis_completed_in_duration": "分析は期間内に完了しました",
    "report_saved_to_path": "レポートがパスに保存されました",
    "found_hardcoded_messages": "ハードコードされたメッセージが見つかりました",
    "all_console_messages_use_translation": "すべてのコンソール メッセージは翻訳を使用します"
  },
  "exportTranslations": {
    "createdDirectory": "作成されたディレクトリ",
    "foundFiles": "見つかったファイル",
    "createdTemplate": "作成されたテンプレート",
    "skippedExisting": "既存をスキップ",
    "title": "タイトル",
    "creatingTemplates": "テンプレートの作成",
    "summary": "まとめ",
    "summaryLanguages": "概要言語",
    "summaryFilesPerLanguage": "言語ごとの概要ファイル",
    "summaryTotalFiles": "合計ファイル数の概要",
    "success": "成功",
    "location": "位置",
    "nextSteps": "次のステップ"
  },
  "dashboard": {
    "title": "タイトル",
    "overview": "概要"
  },
  "auth": {
    "title": "タイトル",
    "email": "電子メール",
    "password": "パスワード",
    "signIn": "サインイン",
    "forgotPassword": "パスワードをお忘れですか",
    "signUp": "サインアップ"
  },
  "checkUsage": {
    "usage_analysis_failed": "使用状況の分析に失敗しました。"
  },
  "completeTranslations": {
    "warning_could_not_parse_filepa": "警告: ファイル パスを解析できませんでした: {filePath}"
  },
  "pressEnterToContinue": "続行するには Enter キーを押してください...",
  "status": {
    "exitingCompleted": "ワークフローが完了しました。終了中..."
  },
  "prompt": {
    "yesTokens": [
      "はい",
      "は",
      "y",
      "yes"
    ],
    "noTokens": [
      "いいえ",
      "いえ",
      "n",
      "no"
    ]
  },
  "translate": {
    "title": "自動翻訳",
    "sourceDirectory": {
      "title": "ソースロケールディレクトリ",
      "currentProject": "現在のプロジェクト: {dir}",
      "accepted": "絶対パス、または現在のプロジェクトからの相対パスを使用できます。",
      "localeRootExample": "./locales  (次にソース言語を選択: en)",
      "folderHint": "フォルダにJSONファイルを直接置くことも、./locales/en のような言語フォルダを置くこともできます。",
      "defaultNotFound": "既定のディレクトリが見つかりません: {dir}",
      "enterExisting": "JSONロケールファイルがある既存のディレクトリを入力してください。",
      "directoryNotFound": "ディレクトリが見つかりません: {dir}",
      "enterFolderExample": "./locales/en などの既存フォルダを入力してください。",
      "notDirectory": "ディレクトリではありません: {dir}",
      "using": "ソースディレクトリを使用: {dir}",
      "noJsonDirect": "直下にJSONファイルが見つかりません: {dir}",
      "usingLanguageFolder": "ソース言語フォルダを使用: {dir}",
      "noJsonWithLanguageFolder": "JSONファイルが見つかりません: {dir}\nソース言語フォルダも確認しました: {languageDir}",
      "noJson": "JSONファイルが見つかりません: {dir}"
    },
    "targetLanguages": {
      "title": "ターゲット言語",
      "allConfigured": "a) 設定済みのすべてのターゲット言語: {languages}",
      "noneConfigured": "a) 設定済みのターゲット言語: なし",
      "enterCodes": "またはカンマや空白区切りで言語コードを入力してください。",
      "sourceExcluded": "ソース言語 \"{lang}\" は自動的に除外されます。",
      "noneSelected": "有効なターゲット言語が選択されていません。中止します。",
      "configureHint": ".i18ntk-config で defaultLanguages を設定するか、ターゲットコードを手動入力してください。",
      "selected": "ターゲット言語: {languages}"
    },
    "protection": {
      "title": "保護された用語とキー"
    },
    "common": {
      "default": "既定値: {value}",
      "examples": "例:",
      "exampleValue": "例: {value}",
      "examplesInline": "例: {examples}",
      "pressEnterDefault": "Enterで既定値を使用します。",
      "usingDefault": "既定値を使用: {value}"
    },
    "sourceLanguage": {
      "title": "ソース言語コード",
      "hint": "ソースJSONの値の言語と一致している必要があります。",
      "using": "ソース言語を使用: {lang}",
      "invalid": "言語コードが無効です。2文字以上を使用してください (例: en, de, fr)。"
    },
    "files": {
      "title": "どのファイルを翻訳しますか?",
      "all": "a) すべてのJSONファイル ({count}: {files})",
      "choicePrompt": "選択 [a/all またはファイル番号]: ",
      "invalidChoice": "無効な選択です。中止します。"
    },
    "dryRun": {
      "previewFor": "\"{lang}\" のプレビュー..."
    },
    "confirm": {
      "proceed": "実際の翻訳を続行しますか?",
      "yesNoPrompt": "[は]い / [い]いえ: ",
      "cancelled": "翻訳を中止しました。"
    },
    "run": {
      "translatingTo": "\"{lang}\" へ翻訳中...",
      "failedFor": "\"{lang}\" で失敗: {error}"
    },
    "summary": {
      "title": "概要:",
      "complete": "翻訳が完了しました!"
    },
    "nonInteractive": {
      "useDirect": "非対話モードです。直接CLIを使用してください:"
    },
    "errors": {
      "sourceDirectoryNotFound": "ソースロケールディレクトリが見つかりません: {dir}"
    }
  }
}
