"log.diagnosticsAPITestRequested" = "API 診断テストを要求しました: current=%@";
"log.diagnosticsSimulationTestRequested" = "シミュレーション診断テストを要求しました: current=%@";
"language.system" = "システムに従う";
"language.zhHans" = "中文";
"language.en" = "English";
"language.ja" = "日本語";
"language.ko" = "한국어";
"language.de" = "Deutsch";
"language.fr" = "Français";
"interfaceFontSize.small" = "小";
"interfaceFontSize.standard" = "標準";
"interfaceFontSize.large" = "大";

"shift.any" = "左右いずれかの ⇧ Shift";
"shift.left" = "左 ⇧ Shift";
"shift.right" = "右 ⇧ Shift";

"key2.control.any" = "左右いずれかの ⌃ Control";
"key2.control.left" = "左 ⌃ Control";
"key2.control.right" = "右 ⌃ Control";
"key2.command.any" = "左右いずれかの ⌘ Command";
"key2.command.left" = "左 ⌘ Command";
"key2.command.right" = "右 ⌘ Command";
"key2.option.any" = "左右いずれかの ⌥ Option";
"key2.option.left" = "左 ⌥ Option";
"key2.option.right" = "右 ⌥ Option";

"menu.about" = "Arasaka LangSwitch について";
"menu.diagnostics" = "診断とデバッグを開く";
"menu.preferences" = "環境設定…";
"menu.support" = "サポート";
"menu.support.coffee" = "作者にコーヒーをおごる";
"menu.support.keyboardReviews" = "キーボードおすすめ・レビュー";
"menu.support.feedback" = "フィードバック・ご提案";
"menu.quit" = "Arasaka LangSwitch を終了";
"about.title" = "Arasaka LangSwitch について";
"about.version" = "バージョン %@";
"about.author" = "作成者：%@";

"status.tooltip" = "%@ で入力ソースを切り替え";

"preferences.title" = "Arasaka LangSwitch 環境設定";
"preferences.section.interface" = "表示";
"preferences.section.launch" = "起動";
"preferences.section.hotkeys" = "入力切替";
"preferences.section.hud" = "入力切替パネル";
"preferences.language" = "表示言語";
"preferences.interfaceFontSize" = "表示文字サイズ";
"preferences.key1" = "Key1";
"preferences.key2" = "Key2";
"preferences.switchTiming" = "実行タイミング";
"preferences.switchMode" = "入力切替方式";
"preferences.enableHotkeys" = "入力切替キーで入力ソースを切り替える";
"preferences.keyOrder" = "キーの押下順序";
"preferences.orderInsensitive" = "キーの押下順序を問わない";
"preferences.keyOrder.either" = "順序はどちらでも可";
"preferences.keyOrder.key1First" = "Key1 を押したまま Key2 を押す";
"preferences.keyOrder.key2First" = "Key2 を押したまま Key1 を押す";
"preferences.switchMode.simulation" = "擬似入力方式（入力切替キーをシステムに送信するため互換性が高い。「システム設定 > プライバシーとセキュリティ > アクセシビリティ」で許可が必要）";
"preferences.switchMode.api" = "API 方式（システム API を使用するため、「アクセシビリティ」の許可は不要ですが、Apple 公式以外のサードパーティ入力方式との互換性はやや低くなります）";
"preferences.switchMode.simulationHint" = "入力切替キーが反応しない場合は、「システム設定 > プライバシーとセキュリティ > アクセシビリティ」の許可を確認してください。";
"preferences.showInputSourceHUD" = "入力切替パネルを表示";
"preferences.hudDisplayDuration" = "表示時間";
"preferences.allowHUDInputSourceClickSelection" = "パネルでマウスによる入力ソース選択を許可";
"preferences.launchAtLogin" = "ログイン時に起動";
"preferences.inputMonitoringHint" = "入力切替キーが反応しない場合は、「システム設定 > プライバシーとセキュリティ > 入力監視」の許可を確認してください。";

"hudDisplayDuration.halfSecond" = "0.5 秒";
"hudDisplayDuration.oneSecond" = "1 秒";
"hudDisplayDuration.onePointFiveSeconds" = "1.5 秒";
"hudDisplayDuration.twoSeconds" = "2 秒";
"hudDisplayDuration.threeSeconds" = "3 秒";

"switchTiming.afterAllReleased" = "すべてのキーを離した後";
"switchTiming.onSecondKeyDown" = "2つ目のキーを押したとき";
"switchTiming.whileHoldingOneKey" = "2つ目のキーを押して離したとき";

"diagnostics.title" = "Arasaka LangSwitch 診断とデバッグ";
"diagnostics.instructions" = "入力切替キーを押すと、上部に現在の状態が表示されます:";
"diagnostics.inputMonitoringHint" = "入力切替キーが反応しない場合は、「システム設定 > プライバシーとセキュリティ > 入力監視」の許可を確認してください。";
"diagnostics.currentShortcut" = "現在の入力切替キー: %@";
"diagnostics.currentInputSource" = "現在の入力ソース: %@";
"diagnostics.accessibilityStatus" = "アクセシビリティ権限: %@";
"diagnostics.executablePath" = "現在の実行ファイル: %@";
"diagnostics.permission.granted" = "許可済み";
"diagnostics.permission.denied" = "未許可";
"diagnostics.permission.denied.nonBundle" = "未許可（現在 .app バンドルから起動されていません）";
"diagnostics.comboStatusTitle" = "入力切替の状態：";
"diagnostics.leftShift" = "左 Shift: %@";
"diagnostics.rightShift" = "右 Shift: %@";
"diagnostics.leftControl" = "左 Control: %@";
"diagnostics.rightControl" = "右 Control: %@";
"diagnostics.leftCommand" = "左 Command: %@";
"diagnostics.rightCommand" = "右 Command: %@";
"diagnostics.leftOption" = "左 Option: %@";
"diagnostics.rightOption" = "右 Option: %@";
"diagnostics.comboStatus" = "切り替え状態: %@";
"diagnostics.testButton.api" = "API で入力ソースを手動切り替え";
"diagnostics.testButton.simulation" = "シミュレーションで入力ソースを手動切り替え";
"diagnostics.manualTestHint" = "以下の 2 つのボタンは現在の入力ソース切り替え方式をバイパスし、API 経路とシミュレーション経路を個別に検証します。";
"diagnostics.keepOnTop" = "診断ウインドウを常に手前に表示";
"diagnostics.manualTestStatus.api" = "API 経路をテスト中...";
"diagnostics.manualTestStatus.simulation" = "シミュレーション経路をテスト中...";
"diagnostics.manualTestStatus.simulation.confirming" = "シミュレーション結果を確認中...";
"diagnostics.logTitle" = "診断ログ：";

"common.openSystemSettings" = "システム設定を開く";
"common.close" = "閉じる";

"state.pressed" = "押下中";
"state.notPressed" = "未押下";
"combo.active" = "有効";
"combo.inactive" = "待機中";

"tooltip.launchAtLoginEnabled" = "ログイン後に Arasaka LangSwitch を自動起動";
"tooltip.launchAtLoginRequiresApp" = "ログイン時起動を変更する前に dist/Arasaka LangSwitch.app から実行してください";

"reason.diagnosticsButton.api" = "診断画面の API テストボタン";
"reason.diagnosticsButton.simulation" = "診断画面のシミュレーションテストボタン";
"reason.orderInsensitive" = "%@（キーの押下順序を問わない）";
"reason.order.either" = "%@（順序を問わない）";
"reason.order.key1First" = "%@（Key1 を先に押す）";
"reason.order.key2First" = "%@（Key2 を先に押す）";

"log.launchAtLoginRequiresApp" = "ログイン時起動の設定に失敗しました。.app バンドルから実行してください: dist/Arasaka LangSwitch.app";
"log.launchAtLoginEnabled" = "ログイン時起動を有効にしました。";
"log.launchAtLoginDisabled" = "ログイン時起動を無効にしました。";
"log.launchAtLoginFailed" = "ログイン時起動の設定に失敗しました: %@";
"log.launchAtLoginDefaultRequiresApp" = "ログイン時起動の既定値は有効ですが、現在 .app バンドルから実行されていません。";
"log.inputSourcesUnavailable" = "入力ソース切替に失敗しました: 入力ソース一覧を取得できません。";
"log.noTextInputSources" = "入力ソース切替に失敗しました: 利用可能な文字入力ソースがありません。";
"log.inputSourceSwitched" = "API で入力ソースを切り替えました: %@";
"log.inputSourceSwitchFailed" = "入力ソース切替に失敗しました: TISSelectInputSource のステータス %@";
"log.ignoreDuplicateSwitch" = "重複した切替要求を無視しました: %@ %@";
"log.requestSwitch" = "入力ソース切替を要求: %@ %@";
"log.inputSwitchMode" = "現在の入力ソース切り替え方式: %@";
"log.state" = "状態: %@";
"log.hotkeysDisabledIgnore" = "ショートカットが無効のため組み合わせを無視しました: %@ source=%@";
"log.comboDetectedFlexibleOrder" = "組み合わせを検出（順序を問わない）: %@ source=%@";
"log.comboEndedFlexibleOrder" = "組み合わせ終了（順序を問わない）: %@ source=%@";
"log.comboDetectedOrderInsensitive" = "組み合わせを検出（キーの押下順序を問わない）: %@ source=%@";
"log.comboEndedOrderInsensitive" = "組み合わせ終了（キーの押下順序を問わない）: %@ source=%@";
"log.comboCancelledExtraModifier" = "組み合わせをキャンセル（追加の修飾キーを検出）: %@ source=%@";
"log.comboEntered" = "組み合わせ開始: %@ source=%@";
"log.comboEnteredReverseOrder" = "組み合わせ開始（Key2 を先に押す）: %@ source=%@";
"log.key1TappedReleased" = "Key1 のタップとリリースを検出: %@ source=%@";
"log.key2TappedReleased" = "Key2 のタップとリリースを検出: %@ source=%@";
"log.diagnosticsStarted" = "診断とデバッグを開始しました。現在の組み合わせ: %@";
"log.manualTest" = "手動テスト: 入力ソース切替 API を呼び出します";
"log.simulationSwitchIssued" = "Control+Option+Space によるシミュレーション切り替えを送信: 送信前=%@";
"log.simulationSwitchResult" = "シミュレーション切り替え結果: 送信前=%@ 現在=%@";
"log.simulationSwitchFailedPermission" = "シミュレーション切り替え失敗: Control+Option+Space の送信にはアクセシビリティ権限が必要です。";
"log.simulationSwitchFailedEventCreation" = "シミュレーション切り替え失敗: 疑似キーボードイベントを作成できませんでした。";
"log.simulationControlHoldBegan" = "シミュレーション: Control の押下保持を開始。後端=%@ flags=%@";
"log.simulationControlHoldEnded" = "シミュレーション: Control の押下保持を終了。flags=%@";
"log.simulationSpacePressed" = "シミュレーション: Space の押下を送信。後端=%@ flags=%@";
"log.simulationSpaceReleased" = "シミュレーション: Space の離しを送信。後端=%@ flags=%@";
"log.inputMonitoringHint" = "入力切替キーが反応しない場合は、システム設定でこのアプリ、または起動元のターミナルに「入力監視」を許可してからアプリを再起動してください。";
"log.eventTapReenabled" = "macOS により EventTap が無効化されたため、自動で再有効化しました。";
"log.globalMonitorStarted" = "グローバルモニタを開始しました（GlobalMonitor）。";
"log.globalMonitorFailed" = "グローバルモニタの開始に失敗しました（GlobalMonitor）。";
"log.eventTapCreateFailed" = "EventTap の作成に失敗したため、GlobalMonitor のみを使用します。";
"log.eventTapStarted" = "EventTap を開始しました。";
"log.inputMonitoringPermissionAlert" = "起動時に EventTap を利用できなかったため、グローバル監視が制限される可能性と入力監視権限の確認を案内しました。";
"log.appStarted" = "Arasaka LangSwitch を起動しました。現在の組み合わせ: %@。";
"alert.inputMonitoringRequired.title" = "グローバル監視が制限される可能性があります";
"alert.inputMonitoringRequired.message" = "Arasaka LangSwitch は EventTap を作成できませんでした。アプリはそのまま動作する場合がありますが、環境によってはグローバルな入力切替キーが不安定になる可能性があります。入力切替キーが反応しない場合は、システム設定でこのアプリ、または起動元のターミナルに「入力監視」の許可を与えてから、アプリを再起動してください。必要であれば「システム設定を開く」をクリックして直接移動できます。";
"alert.accessibilityRequired.title" = "シミュレーションモードにはアクセシビリティ権限が必要です";
"alert.accessibilityRequired.message" = "Arasaka LangSwitch がシミュレーションモードで入力ソースを切り替えるには、模擬キーイベントを送信するためのアクセシビリティ権限が必要です。「システム設定 > プライバシーとセキュリティ > アクセシビリティ」でこのアプリを許可し、アプリを再起動してください。";
"error.runLoopSource" = "イベントループソースを作成できません。\n";
"diagnostics.manualTestStatus.api.success" = "API 経路のテストが完了しました。";
"diagnostics.manualTestStatus.api.failed" = "API 経路のテストに失敗しました。";
"diagnostics.manualTestStatus.simulation.success" = "シミュレーション経路のテストが完了しました。";
"diagnostics.manualTestStatus.simulation.noVisibleChange" = "シミュレーションを送信しましたが、入力ソースの見える変化がありません。";
"diagnostics.manualTestStatus.simulation.failedPermission" = "シミュレーションテスト失敗: システム設定 > プライバシーとセキュリティ > アクセシビリティで許可してください。";
"diagnostics.manualTestStatus.failedEventCreation" = "テスト失敗: 合成キーボードイベントを作成できません。";
"diagnostics.lastTestResult.idle" = "前回のテスト結果: まだ実行していません。";
"diagnostics.lastTestResult.api.success" = "前回のテスト結果: API 経路は成功。";
"diagnostics.lastTestResult.api.failed" = "前回のテスト結果: API 経路は失敗。";
"diagnostics.lastTestResult.simulation.success" = "前回のテスト結果: シミュレーション経路は成功。";
"diagnostics.lastTestResult.simulation.failed" = "前回のテスト結果: シミュレーション経路は失敗。";
"diagnostics.lastTestResult.simulation.confirming" = "前回のテスト結果: シミュレーション結果を確認中...";
"diagnostics.lastTestResult.simulation.noVisibleChange" = "前回のテスト結果: シミュレーション送信後も入力ソースに見える変化なし。";
"diagnostics.lastTestResult.simulation.failedPermission" = "前回のテスト結果: アクセシビリティ権限不足でシミュレーション失敗。";
"diagnostics.exportLogButton" = "ログを書き出す";
"diagnostics.exportDialogTitle" = "診断ログを書き出し";
"diagnostics.exportStatus.success" = "診断ログを書き出しました: %@";
"diagnostics.exportStatus.failed" = "診断ログの書き出しに失敗しました。";
"log.diagnosticsSimulationTestPermissionHint" = "シミュレーション診断テストを中止: システム設定 > プライバシーとセキュリティ > アクセシビリティで許可してください。";
"log.diagnosticsLogExportSucceeded" = "診断ログを書き出しました: %@";
"log.diagnosticsLogExportFailed" = "診断ログの書き出し失敗: %@";
