export const settings = {
  title: '設定',
  language: '言語',
  languageEn: 'English',
  languageDe: 'Deutsch',
  languageEs: 'Español',
  languageFr: 'Français',
  languageIt: 'Italiano',
  languageNl: 'Nederlands',
  languageNb: 'Norsk',
  languageRu: 'Русский',
  languageZh: '中文',
  languageRo: 'Română',
  languageJa: '日本語',
  languageHu: 'Magyar',
  languagePl: 'Polski',
  languageBg: 'Български',
  font: 'フォント',
  fontHintOpenDyslexic: 'ディスレクシアに配慮 · 中国語非対応',
  theme: 'テーマ',
  appearance: '外観',
  servers: 'サーバー',
  serverName: 'サーバー名',
  serverUrl: 'サーバー URL',
  serverUrlPlaceholder: '192.168.1.100:4533 または https://music.example.com',
  serverAlternateUrl: '2 つ目のアドレス (任意)',
  serverAlternateUrlPlaceholderPublic: 'https://music.example.com',
  serverAlternateUrlPlaceholderLocal: '192.168.1.100:4533',
  serverAlternateUrlHintAddPublic: '自宅ネットワーク外からアクセスするための公開アドレスを追加できます。',
  serverAlternateUrlHintAddLocal: '自宅で高速接続するためのローカルアドレスを追加できます。',
  serverBothLanError: '両方のアドレスがローカルです。片方だけにするか、公開アドレスを追加してください。',
  dualAddressVerifying: '両方のアドレスが同じサーバーを指しているか確認中…',
  dualAddressMismatch: '2 つのアドレスが別々のサーバーを指しています。スペルを確認して再試行してください。',
  dualAddressInsufficient: '両方のアドレスが同じサーバーか確認できませんでした。続行するには片方のアドレスを削除してください。',
  dualAddressUnreachable: '{{host}} に到達できませんでした。アドレスとネットワークを確認してから再試行してください。',
  urlRemigrationTitle: 'ライブラリデータを移動しますか？',
  urlRemigrationMessage: 'アドレスを変更すると、すべてのライブラリ、解析、カバーキャッシュデータが {{oldKey}} から {{newKey}} へ移動されます。これは元に戻せません。',
  urlRemigrationConfirm: 'データを移動',
  urlRemigrationProgress: 'ライブラリデータを移動中…',
  urlRemigrationFailureInspect: '移動対象を確認できませんでした。もう一度試すか、デバッグログを開いてください。',
  urlRemigrationFailureRun: 'ライブラリデータの移動に失敗しました。保存済みデータは変更されていません。もう一度お試しください。',
  urlRemigrationFailureCoverRename: 'ライブラリデータは移動されましたが、カバーファイルをリネームできませんでした。カバーは次回アクセス時に再構築されます。',
  shareUsesLocalUrl: '共有リンクでローカルアドレスを使用',
  shareUsesLocalUrlDesc: 'Orbit 招待とライブラリ共有に影響します。既定: 公開アドレス。',
  serverUsername: 'ユーザー名',
  serverPassword: 'パスワード',
  customHeadersTitle: 'カスタム HTTP ヘッダー',
  customHeadersHelp: 'リバースプロキシゲート用（Pangolin、Cloudflare Access）。サーバーへの送信のみ — 第三者サービスには送信しません。',
  customHeadersNamePlaceholder: 'ヘッダー名',
  customHeadersValuePlaceholder: 'ヘッダー値',
  customHeadersAddRow: 'ヘッダーを追加',
  customHeadersRemoveRow: 'ヘッダーを削除',
  customHeadersApplyTo: 'ヘッダーの適用先',
  customHeadersApplyTo_public: '公開アドレス',
  customHeadersApplyTo_local: 'ローカルアドレス',
  customHeadersApplyTo_both: '両方のアドレス',
  customHeadersNotInShare: 'カスタムヘッダーは招待リンクに含まれません — 各デバイスで再度設定してください。',
  'customHeadersValidation.tooMany': 'カスタムヘッダーが多すぎます（最大 16）。',
  'customHeadersValidation.nameRequired': 'ヘッダー名は必須です。',
  'customHeadersValidation.nameTooLong': 'ヘッダー名が長すぎます。',
  'customHeadersValidation.valueTooLong': 'ヘッダー値が長すぎます。',
  'customHeadersValidation.crlf': 'ヘッダー名と値に改行を含めることはできません。',
  'customHeadersValidation.blocked': 'このヘッダー名は使用できません。',
  'customHeadersValidation.duplicate': 'ヘッダー名が重複しています。',
  addServer: 'サーバーを追加',
  addServerTitle: '新しいサーバーを追加',
  editServer: '編集',
  editServerTitle: 'サーバーを編集',
  useServer: '使用',
  deleteServer: '削除',
  noServers: '保存済みサーバーはありません。',
  serverActive: '有効',
  serverVersionUnknown: 'サーバーバージョン不明',
  confirmDeleteServer: 'サーバー "{{name}}" を削除しますか？',
  confirmDeleteServerLibrary: 'このサーバーのローカルライブラリインデックスも削除しますか？オフライン利用のためキャッシュを残す場合はキャンセルしてください。',
  serverConnecting: '接続中…',
  serverConnected: '接続しました!',
  serverFailed: '接続に失敗しました。',
  serverUrlRequired: 'サーバーアドレスを入力してください。',
  serverUsernameRequired: 'ユーザー名を入力してください。',
  serverConnectFailedReason: '接続できませんでした: {{reason}}',
  testBtn: '接続をテスト',
  testingBtn: 'テスト中…',
  serverCompatible: 'Navidrome 向けに作られています。他の Subsonic 互換サーバー (Gonic, Airsonic, …) でも動作する場合がありますが、Psysonic は多くの Navidrome 固有 API エンドポイントを使うため機能が制限されることがあります。',
  userMgmtTitle: 'ユーザー管理',
  userMgmtDesc: 'このサーバーのユーザーを管理します。管理者権限が必要です。',
  userMgmtNoAdmin: 'このサーバーでユーザーを管理するには管理者権限が必要です。',
  userMgmtLoadError: 'ユーザーの読み込みに失敗しました。',
  userMgmtLoadFriendly: 'サーバーが応答しませんでした。一時的なことが多いです。',
  userMgmtRetry: '再試行',
  userMgmtEmpty: 'ユーザーが見つかりません。',
  userMgmtYouBadge: 'あなた',
  userMgmtAdminBadge: '管理者',
  userMgmtAddUser: 'ユーザーを追加',
  userMgmtAddUserTitle: '新しいユーザーを追加',
  userMgmtEditUserTitle: 'ユーザーを編集',
  userMgmtUsername: 'ユーザー名',
  userMgmtName: '表示名',
  userMgmtEmail: 'メール',
  userMgmtPassword: 'パスワード',
  userMgmtPasswordEditHint: '更新する場合は新しいパスワードを入力してください。',
  userMgmtRoleAdmin: '管理者',
  userMgmtLibraries: 'ライブラリ',
  userMgmtLibrariesAdminHint: '管理者ユーザーは自動的にすべてのライブラリへアクセスできます。',
  userMgmtLibrariesEmpty: 'このサーバーに利用可能なライブラリはありません。',
  userMgmtLibrariesValidation: '少なくとも 1 つのライブラリを選択してください。',
  userMgmtLibrariesUpdateError: 'ユーザーは保存されましたが、ライブラリ割り当てに失敗しました',
  userMgmtNoLibraries: '割り当て済みライブラリなし',
  userMgmtNeverSeen: 'なし',
  userMgmtSave: '保存',
  userMgmtCancel: 'キャンセル',
  userMgmtDelete: '削除',
  userMgmtEdit: '編集',
  userMgmtConfirmDelete: 'ユーザー "{{username}}" を削除しますか？これは元に戻せません。',
  userMgmtCreateError: 'ユーザーを作成できませんでした。',
  userMgmtUpdateError: 'ユーザーを更新できませんでした。',
  userMgmtDeleteError: 'ユーザーを削除できませんでした。',
  userMgmtCreated: 'ユーザーを作成しました。',
  userMgmtUpdated: 'ユーザーを更新しました。',
  userMgmtDeleted: 'ユーザーを削除しました。',
  userMgmtValidationMissing: 'ユーザー名、表示名、パスワードは必須です。',
  userMgmtValidationMissingIdentity: 'ユーザー名と表示名は必須です。',
  userMgmtMagicStringGenerate: 'マジック文字列を生成',
  userMgmtSaveAndMagicString: '保存してマジック文字列を取得',
  userMgmtMagicStringPasswordNavHint:
    'Navidrome はこのユーザーのパスワードを保存します。現在のものと異なる場合、サーバーはログインパスワードを更新します。',
  userMgmtMagicStringPlaintextWarning:
    'マジック文字列は慎重に共有してください。暗号化されていないパスワードが含まれます (エンコードは暗号化ではありません)。完全な文字列を持つ人は誰でもこのユーザーとしてサインインできます。',
  userMgmtMagicStringCopied: 'マジック文字列をクリップボードにコピーしました。',
  userMgmtMagicStringCopyFailed: 'クリップボードにコピーできませんでした。',
  userMgmtMagicStringLoginFailed: 'パスワード確認に失敗しました。認証情報を検証できませんでした。',
  userMgmtMagicStringModalTitle: 'マジック文字列を生成',
  userMgmtMagicStringModalDesc: '"{{username}}" の Subsonic パスワードを入力してください。コピーされるマジック文字列に含まれます。',
  userMgmtMagicStringModalConfirm: '文字列をコピー',
  audiomuseTitle: 'AudioMuse-AI (Navidrome)',
  audiomuseBadge: 'AudioMuse-AI',
  audiomuseDesc:
    'このサーバーに <pluginLink>AudioMuse-AI Navidrome プラグイン</pluginLink> が設定されている場合にオンにしてください。トラックからのインスタントミックスを有効化し、アーティストページでは Last.fm の代わりにサーバー側の類似アーティストを使います。',
  audiomuseStatusActive: '有効',
  audiomuseStatusChecking: '確認中…',
  audiomuseStatusNotDetected: '検出されません',
  audiomuseStatusProbeFailed: '確認に失敗',
  audiomuseIssueHint:
    '最近インスタントミックスに失敗しました。Navidrome プラグインと AudioMuse API を確認してください。サーバーが類似アーティストを返さない場合は Last.fm にフォールバックします。',
  connected: '接続済み',
  failed: '失敗',
  eqTitle: 'イコライザー',
  eqEnabled: 'イコライザーを有効化',
  eqPreset: 'プリセット',
  eqPresetCustom: 'カスタム',
  eqPresetBuiltin: '内蔵プリセット',
  eqPresetCustomGroup: '自分のプリセット',
  eqPresetAutoEqGroup: 'AutoEQ',
  eqSavePreset: 'プリセットとして保存',
  eqPresetName: 'プリセット名…',
  eqDeletePreset: 'プリセットを削除',
  eqResetBands: 'フラットに戻す',
  eqPreGain: 'プリアンプ',
  eqResetPreGain: 'プリアンプをリセット',
  eqAutoEqTitle: 'AutoEQ ヘッドホン検索',
  eqAutoEqPlaceholder: 'ヘッドホン / IEM モデルを検索…',
  eqAutoEqSearching: '検索中…',
  eqAutoEqNoResults: '結果が見つかりません',
  eqAutoEqError: '検索に失敗しました',
  eqAutoEqRateLimit: 'GitHub のレート制限に達しました。1 分後に再試行してください',
  eqAutoEqFetchError: 'EQ プロファイルを取得できませんでした',
  behavior: 'アプリ動作',
  groupTray: 'トレイ',
  groupLinuxRendering: 'Linux レンダリング',
  groupClock: '時計',
  groupDisplay: '表示',
  groupWindow: 'ウィンドウ',
  cacheTitle: '最大ストレージサイズ',
  cacheDesc: 'カバーアートとアーティスト画像のブラウザー内キャッシュ (IndexedDB)。空き容量が少なくなると、古い項目が自動的に削除されます。',
  cacheUsedImages: '画像:',
  cacheUsedOffline: 'オフライントラック:',
  cacheUsedHot: 'ディスク上のサイズ:',
  hotCacheTrackCount: 'キャッシュ内トラック:',
  cacheMaxLabel: '最大サイズ',
  imageCacheScopeLabel: '範囲',
  imageCacheSubTitle: 'ブラウザー内プレビュー',
  coverDiskCacheSubTitle: 'ディスク上カバーキャッシュ',
  coverCacheStrategyTitle: 'カバーアートキャッシュ',
  coverCacheStrategyDesc: 'サーバーごとに戦略を選べます。Lazy は必要時にカバーを読み込みます。Aggressive は必要時読み込みに加えて、追加のバックグラウンドプリロードを行います。',
  coverCacheStrategyLabel: '戦略',
  coverCacheStrategyServerLabel: 'サーバー',
  coverCacheStrategyProgressLabel: 'キャッシュ',
  coverCacheStrategyActionsLabel: '操作',
  coverCacheStrategyLazy: 'Lazy',
  coverCacheStrategyLazyDesc: '必要になったときだけカバーを読み込みます。',
  coverCacheStrategyAggressive: 'Aggressive',
  coverCacheStrategyAggressiveDesc: 'Lazy の動作に加えて、追加のバックグラウンドプリロードを行います。',
  coverCacheStrategyDiskUsage: 'ディスク上: {{size}}',
  coverCacheStrategyProgressValue: '{{percent}}% ({{done}}/{{total}}) · {{size}}',
  coverCacheStrategyClearAction: 'カバーキャッシュをクリア',
  coverCacheStrategyClearTitle: 'カバーキャッシュをクリアしますか？',
  coverCacheStrategyClearDesc: '{{server}} のキャッシュ済みカバー画像をすべて削除します。必要になったとき再ダウンロードされます。',
  coverCacheStrategyClearConfirm: 'クリア',
  coverCacheStrategyClearCancel: 'キャンセル',
  coverCacheStrategyClearSuccess: 'このサーバーのカバーキャッシュをクリアしました。',
  coverCacheStrategyClearError: 'カバーキャッシュをクリアできませんでした。',
  coverCacheStrategyServerRemoved: '削除済みサーバー',
  cacheClearBtn: 'キャッシュをクリア',
  cacheClearWarning: 'ブラウザー内ストレージから、キャッシュ済みのカバー画像とアーティスト画像をすべて削除します。必要になったとき再ダウンロードされます。',
  cacheClearConfirm: '画像キャッシュをクリア',
  cacheClearCancel: 'キャンセル',
  waveformCacheCleared: '波形キャッシュをクリアしました ({{count}} 行)。',
  waveformCacheClearFailed: '波形キャッシュをクリアできませんでした。',
  storageTabTitle: 'オフラインとキャッシュ',
  mediaDirTitle: 'メディアフォルダー',
  mediaDirDesc: 'ローカル再生のルートフォルダー。オフラインライブラリは library/、キュープリフェッチは cache/ を使います。',
  mediaDirDefault: '既定 (アプリデータ)',
  mediaDirChange: 'フォルダーを変更',
  mediaDirClear: '既定に戻す',
  mediaDirHint: '新しいダウンロードはこの場所を使います。既存ファイルは削除されるまで元のパスに残ります。',
  offlineStorageTitle: 'オフラインライブラリストレージ',
  offlineDirTitle: 'オフラインライブラリ (アプリ内)',
  offlineDirDesc: 'Psysonic 内でオフライン利用可能にしたトラックの保存場所です。',
  offlineDirDefault: '既定 (アプリデータ)',
  offlineDirChange: 'ディレクトリを変更',
  offlineDirClear: '既定に戻す',
  offlineDirHint: '新しいダウンロードはこの場所を使います。既存のダウンロードは元のパスに残ります。',
  hotCacheTitle: 'ホット再生キャッシュ',
  hotCacheDisclaimer: '次に来るキュートラックを先読みし、直前のものを保持します。有効にすると、ディスク容量とネットワークを使用します。',
  hotCacheDirDefault: '既定 (アプリデータ)',
  hotCacheDirChange: 'フォルダーを変更',
  hotCacheDirClear: '既定に戻す',
  hotCacheDirHint: 'フォルダーを変更するとアプリ内インデックスはリセットされます。ディスク上の既存ファイルは削除するまで残ります。',
  hotCacheEnabled: 'ホット再生キャッシュを有効化',
  hotCacheMaxMb: '最大キャッシュサイズ',
  hotCacheDebounce: 'キュー変更デバウンス',
  hotCacheDebounceImmediate: '即時',
  hotCacheDebounceSeconds: '{{n}} 秒',
  hotCacheClearBtn: 'ホットキャッシュをクリア',
  audioOutputDevice: '音声出力デバイス',
  audioOutputDeviceDesc: 'Psysonic が再生に使う音声デバイスを選択します。変更は即時反映され、現在のトラックを再起動します。',
  audioOutputDeviceDefault: 'システム既定',
  audioOutputDeviceRefresh: 'デバイス一覧を更新',
  audioOutputDeviceOsDefaultNow: '現在のシステム出力',
  audioOutputDeviceListError: '音声デバイス一覧を読み込めませんでした。',
  audioOutputDeviceNotInCurrentList: '現在の一覧にありません',
  audioOutputDeviceRememberEq: 'デバイスごとにイコライザーを記憶',
  audioOutputDeviceRememberEqDesc: 'オーディオ出力デバイスごとにイコライザー設定を保存し、デバイスを切り替えたときに自動的に復元します。システム既定を選択している場合、Psysonic外で変更された場合も含め、アクティブなシステム出力にプロファイルが追従します。',
  hiResTitle: 'ネイティブ Hi-Res 再生',
  hiResEnabled: 'ネイティブ Hi-Res 再生を有効化',
  hiResDesc: 'すべてを 44.1 kHz にリサンプリングせず、各トラックを元のサンプルレートで再生し、ファイルに合わせて音声デバイスを切り替えます (88.2 kHz 以上)。高サンプルレートをハードウェアとネットワークが安定して扱える場合のみ有効にしてください。',
  hiResCrossfadeResampleTitle: 'クロスフェード / AutoDJ / Gapless ブレンドレート',
  hiResCrossfadeResampleDesc: '隣接トラックのサンプルレートが異なる場合、クロスフェード・AutoDJ・ギャップレス遷移中は両方をこのレートにリサンプリングします。',
  hiResCrossfadeResample44: '44.1 kHz',
  hiResCrossfadeResample88: '88.2 kHz',
  hiResCrossfadeResample96: '96 kHz',
  hiResCrossfadeResampleWarning: 'リサンプリングは CPU とメモリを追加で消費します。低速デバイスでは慎重に選んでください。',
  showArtistImages: 'アーティスト画像を表示',
  showArtistImagesDesc: 'アーティスト一覧でアーティスト画像を読み込んで表示します。大規模ライブラリでサーバーディスク I/O とネットワーク負荷を減らすため、既定では無効です。',
  showOrbitTrigger: 'ヘッダーに "Orbit" を表示',
  showOrbitTriggerDesc: '共有リスニングセッションを開始するか参加するためのトップバー操作です。Orbit を使わない場合は非表示にできます。ここで再度オンにできます。',
  showTrayIcon: 'トレイアイコンを表示',
  showTrayIconDesc: 'システム通知領域 / メニューバーに Psysonic アイコンを表示します。',
  minimizeToTray: 'トレイへ最小化',
  minimizeToTrayDesc: 'ウィンドウを閉じたとき、終了せずにシステムトレイで Psysonic を実行し続けます。',
  startMinimizedToTray: 'トレイで起動',
  startMinimizedToTrayDesc: 'メインウィンドウを非表示のまま起動します。表示するにはトレイアイコンを使います。',
  startMinimizedToTrayRequiresTray: '先に「トレイアイコンを表示」を有効にしてください。非表示起動後はトレイから開けます。',
  clockFormat: '時計形式',
  clockFormatDesc: 'キューの終了予定時刻とスリープタイマーのプレビューに使う時計表示です。',
  clockFormatAuto: '自動 (システムロケール)',
  clockFormatTwentyFour: '24 時間',
  clockFormatTwelve: '12 時間 (AM/PM)',
  preloadMiniPlayer: 'ミニプレイヤーをプリロード',
  preloadMiniPlayerDesc: 'アプリ起動時にバックグラウンドでミニプレイヤーウィンドウを構築し、初回表示時に即座に内容を表示します。少しメモリを追加で使います。',
  discordRichPresence: 'Discord Rich Presence',
  discordRichPresenceDesc: '現在再生中のトラックを Discord プロフィールに表示します。Discord が起動している必要があります。',
  discordRichPresenceNotice: '注意: これは Psysonic 内蔵の Discord Rich Presence です。公式 Navidrome Discord Rich Presence プラグインを使いたい場合は、これをオフのままにして、このページ下部の "Now Playing に表示" を有効にしてください。',
  useCustomTitlebar: 'カスタムタイトルバー',
  useCustomTitlebarDesc: 'システムタイトルバーを、アプリテーマに合う内蔵タイトルバーへ置き換えます。無効にするとネイティブ GNOME/GTK タイトルバーを使います。',
  windowButtonStyle: 'ウィンドウボタン',
  windowButtonStyleDesc: '最小化、最大化、閉じるボタンの見た目を選びます。',
  windowButtonsDots: 'ドット',
  windowButtonsDotsGlyph: 'ドット + アイコン',
  windowButtonsFlat: 'フラット',
  windowButtonsPill: 'ピル',
  windowButtonsOutline: 'アウトライン',
  windowButtonsGlyph: 'ミニマル',
  showMinimizeButton: '最小化ボタンを表示',
  showMinimizeButtonDesc: 'オフにすると、最大化と閉じるボタンだけを表示します。',
  linuxWebkitSmoothScroll: 'スムーズホイール (Linux)',
  linuxWebkitSmoothScrollDesc: 'オン: 慣性スクロール。オフ: GTK 風の行単位スクロール。',
  linuxWebkitInputForceRepaint: 'フォーカス時に入力欄を再描画 (Linux)',
  linuxWebkitInputForceRepaintDesc: 'クリック時にテキストフィールドが固まる WebKitGTK 2.50.x 向けの回避策です。フォーカス時に検索アイコンが一瞬ちらつきます。',
  linuxWaylandTextRender: 'Wayland テキストレンダリング (Linux)',
  linuxWaylandTextRenderDesc:
    'UI のフォントスムージングは即時更新されます。WebKit ハードウェアアクセラレーション (sharp / GPU プリセット) は保存され、次回起動時に適用されます。ライブ変更は一部環境で WebKitGTK を固めることがあります。',
  linuxWaylandTextRenderBalanced: 'バランス',
  linuxWaylandTextRenderSharp: 'シャープ (CPU に優しい)',
  linuxWaylandTextRenderGpu: 'GPU 優先',
  linuxWaylandTextRenderMinimal: '最小 (既定 CSS スムージング)',
  discordCoverTitle: 'カバーアートのソース',
  discordCoverDesc: 'Discord プロフィールに表示するアルバムアートの取得元です。サーバーのカバーは、認証情報を含まない公開画像リンクを使用します — プロフィールを見た人にサーバーの公開アドレスが分かる場合があります。公開到達可能なサーバーが必要です。',
  discordCoverNone: 'なし (アプリアイコンのみ)',
  discordCoverServer: 'サーバー (アルバム情報経由)',
  discordCoverApple: 'Apple Music',
  discordOptions: 'Discord 詳細オプション',
  discordTemplates: 'カスタムテキストテンプレート',
  discordTemplatesDesc: 'Discord プロフィールに表示する情報をカスタマイズします。変数: {title}, {artist}, {album}',
  discordTemplateDetails: '主行 (details)',
  discordTemplateState: '副行 (state)',
  discordTemplateLargeText: 'アルバムツールチップ (largeText)',
  discordTemplateName: 'ユーザー一覧行 (name)',
  nowPlayingEnabled: 'Now Playing に表示',
  nowPlayingEnabledDesc: '現在再生中のトラックをサーバーのライブリスナー表示へ送信します。再生データ送信を止めるには無効にしてください。',
  nowPlayingPluginNote: '公式 Navidrome Discord Rich Presence プラグインを使う場合に必要です。',
  enableBandsintown: 'Bandsintown ツアー日程',
  enableBandsintownDesc: 'Info タブに現在のアーティストの今後の公演を表示します。データは公開 Bandsintown API から取得されます。',
  lyricsServerFirst: 'サーバー歌詞を優先',
  lyricsServerFirstDesc: 'LRCLIB に問い合わせる前に、サーバー提供の歌詞 (埋め込みタグ、サイドカーファイル) を確認します。LRCLIB を先に使うには無効にしてください。',
  enableNeteaselyrics: 'Netease Cloud Music 歌詞',
  enableNeteaselyricsDesc: 'サーバーと LRCLIB の両方が何も返さない場合の最後の歌詞ソースとして Netease Cloud Music を使います。アジア圏と国際音楽に強いです。',
  lyricsSourcesTitle: '歌詞ソース',
  lyricsSourcesDesc: '歌詞を問い合わせるソースと順序を選びます。ドラッグで並べ替えできます。無効なソースは完全にスキップされます。',
  lyricsSourceServer: 'サーバー',
  lyricsSourceLrclib: 'LRCLIB',
  lyricsSourceNetease: 'Netease Cloud Music',
  lyricsYouLyPlus: 'YouLyPlus (カラオケ)',
  lyricsYouLyPlusDesc: 'コミュニティバックエンド (Apple Music, Spotify, Musixmatch, QQ) から単語単位の同期を取得します。最初に試行され、下の有効ソースはフォールバックとして動作します。',
  lyricsSourcesFallbackHint: 'YouLyPlus が見つからない場合のフォールバックとして使用します。ドラッグで並べ替えできます。',
  lyricsSourcesPrimaryHint: 'この順序で試行します。ドラッグで並べ替えできます。すべてオフ = 歌詞無効。',
  lyricsServerWordSyncHint: '単語ごとのハイライトには Navidrome 0.63 以降と、単語単位のタイミングを含む歌詞（TTML や Enhanced LRC ファイルなど）が必要です。それ以外は行単位で表示されます。',
  lyricsStaticOnly: '歌詞を静的テキストのみで表示',
  lyricsStaticOnlyDesc: '同期歌詞を自動スクロールなし、単語ハイライトなしで表示します。',
  downloadsTitle: 'ZIP エクスポートとアーカイブ',
  downloadsFolderDesc: 'アルバムを ZIP ファイルとしてコンピューターへダウンロードする保存先フォルダーです。',
  downloadsDefault: '既定のダウンロードフォルダー',
  pickFolder: '選択',
  pickFolderTitle: 'ダウンロードフォルダーを選択',
  clearFolder: 'ダウンロードフォルダーをクリア',
  logout: 'ログアウト',
  aboutTitle: 'Psysonic について',
  aboutDesc: 'Navidrome 向けに作られた現代的なデスクトップ音楽プレイヤーです。Subsonic API と Navidrome 固有拡張を利用します。Tauri v2 とネイティブ Rust オーディオエンジン上に構築され、軽量で高速ながら、波形シークバー、同期歌詞、Last.fm 連携、10 バンド EQ、クロスフェード、ギャップレス再生、Replay Gain、ジャンルブラウズ、多数のテーマなどを備えています。',
  aboutLicense: 'ライセンス',
  aboutLicenseText: 'GNU GPL v3。同じライセンスのもとで自由に使用、変更、配布できます。',
  aboutRepo: 'GitHub のソースコード',
  aboutVersion: 'バージョン',
  aboutBuiltWith: 'Tauri · React · TypeScript · Rust/rodio で構築',
  aboutMaintainersLabel: 'メンテナー',
  aboutReleaseNotesLabel: 'リリースノート',
  aboutReleaseNotesLink: 'このバージョンの新機能を開く',
  aboutContributorsLabel: 'コントリビューター',
  showChangelogOnUpdate: '更新時に「新機能」を表示',
  showChangelogOnUpdateDesc: '更新後、Now Playing の上に控えめな変更履歴バナーを表示します。クリックでリリースノートを開き、X で閉じます。',
  libraryGridMaxColumnsTitle: 'ライブラリカードグリッド',
  libraryGridMaxColumnsPerfHint: '値を大きくすると 1 行に多くのタイルを詰められますが、非常に大きなライブラリや遅いデバイスではレイアウトと描画負荷が増えます。',
  libraryGridMaxColumnsRangeLabel: '最大列数 ({{min}}-{{max}})',
  libraryGridMaxColumnsDesc: 'アルバム、アーティスト、プレイリスト、ラジオ、オフラインなど、カードベースのライブラリ表示に適用されます。小さい値ではタイルが大きくなり、通常は CPU に優しくなります。',
  libraryIndexTitle: 'ローカルライブラリインデックス (プレビュー)',
  libraryIndexDesc: '各サーバーのトラックデータベースをローカルに保持し、ブラウズと検索を高速化し、オフラインでも動作させます。初回同期は設定済みサーバーごとに実行され、オフラインサーバーは自動で再試行されます。',
  libraryIndexDeltaHint: 'バックグラウンド差分同期はバインド済みサーバーを 30 秒ごとに確認し、期限が来たら実行します。通常はライブラリサイズと負荷により 5-45 分ごとです。',
  libraryIndexEnable: 'ローカルライブラリインデックスを有効化',
  libraryIndexEnableAllDesc: '設定済みサーバーすべてをバックグラウンドでインデックスし同期します。',
  libraryIndexNoServer: '先にサーバーを追加してください。',
  libraryIndexServerListTitle: 'インデックス対象サーバー',
  libraryIndexAllExcluded: 'すべてのサーバーが同期から除外されています。インデックスを再度有効にするか、サーバーを追加してください。',
  libraryIndexServerOffline: 'サーバーはオフラインです。同期を延期',
  libraryIndexServerSyncing: '同期中…',
  libraryIndexFullResync: '完全再同期',
  libraryIndexDeltaSync: '差分同期',
  libraryIndexExcludeServer: '同期から除外',
  libraryIndexExcludingServer: '除外中…',
  libraryIndexExcludedTitle: '同期から除外中',
  libraryIndexIncludeServer: '再度含める',
  libraryIndexIncludingServer: '追加中…',
  libraryIndexStatus: '状態',
  libraryIndexStatusIdle: '待機中',
  libraryIndexStatusProbing: 'サーバー確認中…',
  libraryIndexStatusInitial: '初回同期中…',
  libraryIndexStatusReady: '準備完了 ({{count}} トラック)',
  libraryIndexStatusError: 'エラー。ログを確認',
  libraryIndexProgressIngest: '{{count}} トラックをインデックス中…',
  libraryIndexProgressVerify: '{{checked}} 件を検証 ({{deleted}} 件削除)',
  libraryIndexSyncNow: '今すぐ同期',
  libraryIndexVerify: 'ライブラリ整合性を検証',
  libraryIndexCancel: 'キャンセル',
  libraryIndexAutoReconcile: '件数減少時に自動照合',
  libraryIndexAutoReconcileDesc: 'サーバーが想定より少ない件数を報告したとき、削除済みトラックを自動確認します。',
  libraryIndexSyncError: 'ライブラリ同期に失敗しました: {{error}}',
  libraryIndexBindError: 'インデックスを有効にできませんでした: {{error}}',
  analyticsStrategyTitle: '解析戦略',
  analyticsStrategyDesc: 'ライブラリの解析方式を選びます。',
  analyticsStrategyLabel: '戦略',
  analyticsStrategyLazy: 'Lazy',
  analyticsStrategyLazyDesc: 'トラックを再生するかホット/オフラインキャッシュに入ったときだけ解析します。CPU とネットワーク使用を最小化します。',
  analyticsStrategyAdvanced: 'Aggressive',
  analyticsStrategyAdvancedDesc: 'より積極的なバックグラウンドスキャンです。完了すると全トラックの BPM に加え、ラウドネスと波形が即時読み込みされます。',
  analyticsStrategyPriorityTitle: '解析優先度 (常に適用)',
  analyticsStrategyPriorityHigh: '1. 現在再生中: まずダウンロード + 解析 (再生バイト、ラウドネスバックフィル、必要時 HTTP)。',
  analyticsStrategyPriorityMiddle: '2. 次に再生: キューの次 ~5 トラックとホットキャッシュ近傍。可能ならキャッシュ/ダウンロード済みバイトから解析し、不足時のみ HTTP バックフィル。',
  analyticsStrategyPriorityLow: '3. ライブラリ一括 (Aggressive のみ): 末尾の自動バックグラウンドキュー。空キューを待たずウォーターマーク (~3× workers) で補充。',
  analyticsStrategyServerLabel: 'サーバー',
  analyticsStrategyProgressLabel: '解析進捗:',
  analyticsStrategyProgressValue: '{{percent}}% ({{done}}/{{total}})',
  analyticsStrategyActionsLabel: '操作',
  analyticsStrategyParallelismLabel: '並列ワーカー',
  analyticsStrategyParallelismValue: '{{n}} スレッド',
  analyticsStrategyParallelismDesc: '同時にダウンロードして解析するトラック数 (HTTP + CPU)。値を大きくするとライブラリ追いつきは速くなりますが、ネットワークと CPU を多く使います。',
  analyticsStrategyAdvancedWarning: 'Aggressive はライブラリ一括処理がバックグラウンドで動く間、CPU とネットワーク帯域を多く使います。',
  analyticsStrategyServerRemoved: '削除済みサーバー',
  analyticsStrategyClearAction: '解析をクリア',
  analyticsStrategyClearTitle: '解析をクリアしますか？',
  analyticsStrategyClearDesc: '{{server}} の解析をクリアすると、キャッシュ済み波形とラウドネスが削除されます。後でこのサーバーを再追加すると、長い再インデックスが必要になる場合があります。',
  analyticsStrategyClearCancel: 'キャンセル',
  analyticsStrategyClearConfirm: '解析をクリア',
  analyticsStrategyClearSuccess: '削除済みサーバーの解析をクリアしました。',
  analyticsStrategyClearError: '削除済みサーバーの解析をクリアできませんでした。',
  analyticsStrategyProgressEmptyAfterFailed: '100% (0/0、失敗トラックにより停止)',
  analyticsFailedTracksOpenTitle: '失敗トラック: {{count}}',
  analyticsFailedTracksTitle: '解析失敗トラック: {{server}}',
  analyticsFailedTracksDesc: 'これらのトラックはデコード/補強に繰り返し失敗し、自動バックグラウンド解析から除外されています。',
  analyticsFailedTracksLoading: '失敗トラック一覧を読み込み中…',
  analyticsFailedTracksEmpty: 'このサーバーに失敗トラックはありません。',
  analyticsFailedTracksClose: '閉じる',
  analyticsFailedTracksExport: '一覧をエクスポート',
  analyticsFailedTracksExportSuccess: '失敗トラック一覧をエクスポートしました ({{count}})。',
  analyticsFailedTracksExportError: '失敗トラック一覧をエクスポートできませんでした。',
  analyticsFailedTracksRescan: '失敗トラックを再スキャン',
  analyticsFailedTracksRescanSuccess: '{{count}} 件の失敗トラックの再スキャンを予約しました。',
  analyticsFailedTracksRescanError: '失敗トラックを再スキャンできませんでした。',
  analyticsFailedTracksLoadError: '失敗トラックを読み込めませんでした。',
  randomMixTitle: 'ランダムミックスのブラックリスト',
  luckyMixMenuTitle: 'Lucky Mix をメニューに表示',
  luckyMixMenuDesc: 'Build a Mix 内と、分割ナビゲーションがオンのときの独立メニュー項目として Lucky Mix を有効にします。アクティブサーバーで AudioMuse が有効な場合のみ表示されます。',
  randomMixBlacklistTitle: 'カスタムフィルターキーワード',
  randomMixBlacklistDesc: 'キーワードがジャンル、タイトル、アルバム、アーティストのいずれかに一致すると曲を除外します (上のチェックボックスがオンのとき有効)。',
  randomMixBlacklistPlaceholder: 'キーワードを追加…',
  randomMixBlacklistAdd: '追加',
  randomMixBlacklistEmpty: 'カスタムキーワードはまだ追加されていません。',
  randomMixHardcodedTitle: '内蔵キーワード (チェックボックスがオンのとき有効)',
  tabAudio: 'オーディオ',
  tabStorage: 'オフラインとキャッシュ',
  tabAppearance: '外観',
  tabThemes: 'テーマ',
  themesYourThemesTitle: 'あなたのテーマ',
  themesCvdTooltip: '色覚バリアフリー: 2 型色覚、1 型色覚、3 型色覚',
  themeAnimationWarning: 'このテーマは、環境によって CPU 使用率を上げる可能性のあるアニメーションを使用しています (Nvidia/Linux またはコンポジット無効時)。',
  themeStoreTitle: 'テーマストア',
  themeStoreSubmitText: '自作テーマがありますか？コミュニティと共有しましょう。詳細はテーマリポジトリにあります。',
  themeStoreSubmitLink: 'テーマリポジトリを開く',
  themeStoreNetworkNotice: 'テーマストアはカタログとプレビューを GitHub から読み込みます。個人データは送信されません。',
  themeStoreStatsNotice: '最終変更日は 1 日 1 回更新されます (04:17 UTC 前後)。',
  themeStoreSearchPlaceholder: 'テーマを検索…',
  themeStoreFilterMode: 'モードで絞り込み',
  themeStoreModeAll: 'すべて',
  themeStoreModeDark: 'ダーク',
  themeStoreModeLight: 'ライト',
  themeStoreRefresh: '更新',
  themeStoreLoading: 'テーマを読み込み中…',
  themeStoreError: 'テーマストアを読み込めませんでした。接続を確認してください。',
  themeStoreRetry: '再試行',
  themeStoreOfflineTitle: 'テーマストアはオフラインです',
  themeStoreEmpty: 'フィルターに一致するテーマはありません。',
  themeStoreActive: '有効',
  themeStoreEnlarge: 'プレビューを拡大',
  themeStoreSortNewest: '新しい順',
  themeStoreSortName: 'アルファベット順',
  themeStoreAnimAll: 'すべて',
  themeStoreAnimAnimated: 'アニメーション',
  themeStoreAnimStatic: '静的',
  themeStoreByAuthor: '{{author}} 作',
  themeStoreLastChanged: '最終変更',
  themeStoreWhatsNew: '新着情報',
  themeMigrationNoticeTitle: 'テーマはストアへ移動しました',
  themeMigrationNoticeBody: '{{themes}} はアプリに同梱されなくなりました。テーマストア (設定 → テーマ) から再インストールするか、別のテーマを選んでください。',
  themeMigrationNoticeOpen: 'テーマストアを開く',
  themeStoreOffline: '最後にキャッシュしたカタログを表示しています。オフラインのようです。',
  themeStoreInstall: 'インストール',
  themeStoreInstalling: 'インストール中…',
  themeStoreApply: '適用',
  themeStoreUpdate: '更新',
  themeStoreUpdating: '更新中…',
  themeStoreUninstall: 'アンインストール',
  themeStoreInstallFailed: 'インストールに失敗しました',
  themeStorePagePrev: '前のページ',
  themeStorePageNext: '次のページ',
  themeStorePageStatus: '{{page}} / {{total}} ページ',
  themeImportTitle: 'テーマをインポート',
  themeImportButton: 'テーマをインポート…',
  themeImporting: 'インポート中…',
  themeImportHint: '.zip としてパッケージされたテーマを読み込みます (manifest.json + theme.css)。',
  themeImportSuccess: '"{{name}}" をインポートしました。',
  themeImportErrorTitle: 'このテーマはインポートできませんでした',
  themeImportErrorBody: 'Psysonic のテーマ形式と一致しません。別バージョン向けに作られたか、ファイルが不完全な可能性があります。正しい .zip を選んだか確認するか、テーマ作者に問い合わせてください。',
  themeImportErrorDetails: '技術的詳細',
  themeImportConfirmTitle: 'テーマをインストールしますか？',
  themeImportConfirmBody: '{{author}} 作 "{{name}}" をインストールしますか？',
  themeImportConfirmRisk: 'インポートしたテーマはレビューされていません。信頼できるテーマだけをインストールしてください。',
  tabLibrary: 'ライブラリ',
  tabServers: 'サーバー',
  tabLyrics: '歌詞',
  tabPersonalisation: 'パーソナライズ',
  tabIntegrations: '連携',
  inputKeybindingsTitle: 'キーボードショートカット',
  aboutContributorsCount_one: '{{count}} 件の貢献',
  aboutContributorsCount_other: '{{count}} 件の貢献',
  aboutContributorsApp: 'アプリ',
  aboutContributorsThemes: 'テーマ',
  aboutThemeContributorsCount_one: '{{count}} 件のテーマ',
  aboutThemeContributorsCount_other: '{{count}} 件のテーマ',
  searchPlaceholder: '設定を検索…',
  searchNoResults: '検索に一致する設定はありません。',
  integrationsPrivacyTitle: 'プライバシー通知',
  integrationsPrivacyBody: 'このタブのすべての連携は <strong>オプトイン</strong> であり、有効化すると外部サービスまたは Navidrome サーバーへデータを送信します。Last.fm は再生履歴を受け取り、Discord は現在再生中のトラックをプロフィールに表示し、Bandsintown はツアー日程取得のためアーティストごとに問い合わせ、Now-Playing 共有は現在のトラックを Navidrome サーバー上の他ユーザーへ公開します。不要な場合は、該当セクションを無効のままにしてください。',
  homeCustomizerTitle: 'Mainstage',
  queueSettingsTitle: 'キュー設定',
  queueModeTitle: 'キュー表示モード',
  queueModeQueueSub: '今後のトラックのみ表示します。現在のトラックはヘッダーに残り、再生済みになるとリストから外れます。',
  queueModePlaylistSub: 'キュー全体をリストに残し、現在のトラックを上部で強調表示します。再生済みトラックも残ります。',
  queueModeTimelineSub: '現在のトラックをリスト上部に固定し、上にスクロール可能な再生履歴、下に今後のトラック (シャッフル順) を表示します。',
  queueToolbarTitle: 'キューツールバー',
  queueToolbarReset: '既定に戻す',
  queueToolbarSeparator: '区切り',
  sidebarTitle: 'サイドバー',
  sidebarReset: '既定に戻す',
  artistLayoutTitle: 'アーティストページのセクション',
  artistLayoutDesc: 'ドラッグで並べ替え、切り替えでアーティストページの個別セクションを非表示にできます。データのないセクションは自動的にスキップされます。',
  artistLayoutReset: '既定に戻す',
  artistLayoutBio: 'アーティスト紹介',
  artistLayoutTopTracks: '人気トラック',
  artistLayoutSimilar: '類似アーティスト',
  artistLayoutAlbums: 'アルバム',
  artistLayoutFeatured: '参加作品',
  playlistLayoutTitle: 'プレイリストページのレイアウト',
  playlistLayoutDesc: 'プレイリストページ上の個別要素を表示または非表示にします。',
  playlistLayoutReset: '既定に戻す',
  playerBarTitle: 'プレイヤーバー',
  playerBarReset: '既定に戻す',
  playerBarStarRating: '星評価',
  playerBarFavorite: 'お気に入り (ハート)',
  playerBarLastfmLove: 'Love ボタン',
  playerBarPlaybackRate: '再生速度',
  playerBarEqualizer: 'イコライザー',
  playerBarMiniPlayer: 'ミニプレイヤー',
  playerBarStop: '停止ボタン',
  playerBarShuffle: 'シャッフル',
  playerBarTransportGroup: '再生コントロール',
  playerBarActionsGroup: 'アクション',
  playerBarTrackInfo: '曲情報',
  playerBarTrackInfoTitle: 'タイトルのみ',
  playerBarTrackInfoTitleAlbum: 'タイトル + アルバム',
  playbackRateTitle: '再生速度',
  playbackRateEnabled: '再生速度を有効化',
  playbackRateEnabledDesc: 'すべてのトラックに対してグローバルに速度を変更します。ラジオやプレビューには適用されません。',
  playbackRateStrategy: '戦略',
  playbackRateStrategySpeed: '速度',
  playbackRateStrategyVarispeed: 'バリスピード',
  playbackRateStrategyVarispeedSemitones: '半音',
  playbackRateStrategyPreserve: 'ピッチシフト',
  playbackRateStrategySpeedTip: 'テンポを変更し、ピッチは自動補正されます。',
  playbackRateStrategyVarispeedTip: 'テープのように速度とピッチが一緒に動きます。ピッチは速度に追従します: 12 × log2(speed)。',
  playbackRateStrategyVarispeedSemitonesTip: 'バリスピードを半音単位で直接指定します。速度 = 2^(st/12)。',
  playbackRateStrategyPreserveTip: '調整可能なテンポに手動ピッチオフセット (±12 st) を加えます。',
  playbackRateSpeed: '速度',
  playbackRatePitch: 'ピッチ',
  playbackRateDerivedPitch: '速度からのピッチシフト: {{value}}',
  playbackRateDerivedSpeed: '半音からの速度: {{value}}',
  playbackRateFineStep: '細かい調整',
  playbackRateFineStepDesc: 'スライダーの刻みを小さくします: 速度は 0.01×、ピッチは 0.01 st。',
  playbackRateAutoPitch: 'ピッチは自動補正されます。',
  playbackRateHint: 'Speed はピッチを自然に保ちます。Varispeed は速度に合わせてピッチも変えます。Varispeed (半音) はそのピッチ変化を半音単位で直接指定します。Pitch shift は手動オフセットを追加します。Varispeed より CPU を多く使います。ラジオ、プレビュー、Orbit には使われません。',
  playbackRateNeutral: '1.0× でピッチオフセットなしの場合、通常再生です。',
  playbackRateOrbitPaused: 'Orbit セッション中は適用されません。同期のため再生は 1.0× のままです。',
  playbackRateOrbitPausedShort: 'Orbit: 同期のため 1.0×。',
  advancedMode: '詳細',
  advancedModeTooltip: 'すべての設定タブで詳細オプションを表示します。Psysonic メンテナーの設計思想を必ずしも反映しないコミュニティ貢献も含まれます。',
  advancedBadge: '詳細',
  sidebarDrag: 'ドラッグで並べ替え',
  sidebarFixed: '常に表示',
  nowPlayingTopTitle: 'Now Playing を上部に',
  nowPlayingTopDesc: '"Now Playing" 項目をサイドバー下部ではなく上部に固定します。',
  randomNavSplitTitle: 'ミックスナビゲーションを分割',
  randomNavSplitDesc: '"ミックスを作成" ハブの代わりに、"ランダムミックス"、"ランダムアルバム"、"Lucky Mix" を個別のサイドバー項目として表示します。',
  tabInput: '入力',
  tabUsers: 'ユーザー',
  tabSystem: 'システム',
  loggingTitle: 'ログ',
  loggingModeDesc: 'ターミナル内のバックエンドログ詳細度を制御します。',
  loggingModeOff: 'オフ',
  loggingModeNormal: '通常',
  loggingModeDebug: 'デバッグ',
  loggingExport: 'ログをエクスポート',
  loggingExportSuccess: 'ログをエクスポートしました ({{count}} 行)。',
  loggingExportError: 'ログをエクスポートできませんでした。',
  ratingsSectionTitle: '評価',
  ratingsSkipStarTitle: 'スキップで 1 つ星',
  ratingsSkipStarDesc:
    '連続して何度かスキップした後、トラックを 1★ に設定します。まだ評価されていないトラックのみ対象です。',
  ratingsSkipStarThresholdLabel: 'スキップ',
  ratingsMixFilterTitle: '評価で絞り込み',
  ratingsMixFilterDesc:
    '{{mix}} と {{albums}} で低評価項目を絞り込みます。選択中の星をもう一度クリックするとしきい値をオフにします。',
  ratingsMixMinSong: '曲',
  ratingsMixMinAlbum: 'アルバム',
  ratingsMixMinArtist: 'アーティスト',
  ratingsMixMinThresholdAria: '最小星数: {{label}}',
  backupTitle: 'バックアップと復元',
  backupExport: '設定をエクスポート',
  backupExportDesc: 'すべての設定、サーバープロファイル、Last.fm 設定、テーマ、EQ、キーバインドを .psybkp ファイルへ保存します。パスワードは平文で保存されます。ファイルを安全に保管してください。',
  backupImport: '設定をインポート',
  backupImportDesc: '.psybkp ファイルから設定を復元します。インポート後にアプリはリロードされます。',
  backupImportConfirm: '現在のすべての設定を上書きします。続行しますか？',
  backupImportAny: 'バックアップをインポート',
  backupImportAnyConfirm: '選択したバックアップファイルをインポートし、その内容 (設定、ライブラリデータベース、または完全) を適用します。続行しますか？',
  backupSuccess: 'バックアップを保存しました',
  backupImportSuccess: '設定を復元しました。リロード中…',
  backupImportError: 'バックアップファイルが無効または破損しています。',
  backupModeFull: '完全',
  backupModeLibrary: 'ライブラリデータベース',
  backupModeConfig: '設定',
  backupFullDesc: '設定とライブラリデータベースを 1 つのバックアップファイルにまとめます。',
  backupFullExport: '完全バックアップをエクスポート',
  backupFullImport: '完全バックアップをインポート',
  backupFullImportConfirm: '設定を上書きし、現在のライブラリデータベースを置き換えて .bak へ移動します。続行しますか？',
  backupFullExportSuccess: '完全バックアップをエクスポートしました。',
  backupFullImportSuccess: '完全バックアップをインポートしました。リロード中…',
  backupFullImportError: '完全バックアップをインポートできませんでした。',
  backupLibraryExport: 'データベースをエクスポート',
  backupLibraryExportDesc: 'ライブラリデータベースのクリーンな SQLite スナップショットを含む圧縮アーカイブを作成します。',
  backupLibraryImport: 'データベースをインポート',
  backupLibraryImportDesc: 'アーカイブファイルからライブラリデータベースを復元します。切り替え前に現在のデータベースは .bak へ移動されます。',
  backupLibraryImportConfirm: '現在のライブラリデータベースを置き換え、.bak へ移動します。続行しますか？',
  backupLibraryExportSuccess: 'データベースバックアップをエクスポートしました。',
  backupLibraryImportSuccess: 'データベースバックアップをインポートしました。',
  backupLibraryImportError: 'データベースバックアップをインポートできませんでした。',
  backupOverlayExportTitle: 'バックアップを作成中…',
  backupOverlayImportTitle: 'バックアップを復元中…',
  backupOverlayHint: '処理中もウィンドウを開いたままにできます。入力は一時的にロックされます。',
  shortcutsReset: '既定に戻す',
  shortcutListening: 'キーを押してください…',
  shortcutUnbound: '—',
  globalShortcutsTitle: 'グローバルショートカット',
  globalShortcutsNote: 'Psysonic がバックグラウンドや最小化中でもシステム全体で動作します。修飾キーとして Ctrl、Alt、Super のいずれかが必要です。',
  shortcutClear: 'クリア',
  shortcutPlayPause: '再生 / 一時停止',
  shortcutNext: '次のトラック',
  shortcutPrev: '前のトラック',
  shortcutVolumeUp: '音量を上げる',
  shortcutVolumeDown: '音量を下げる',
  shortcutSeekForward: '10 秒進む',
  shortcutSeekBackward: '10 秒戻る',
  shortcutToggleQueue: 'キューを切り替え',
  shortcutOpenFolderBrowser: '{{folderBrowser}} を開く',
  shortcutFullscreenPlayer: 'フルスクリーンプレイヤー',
  shortcutNativeFullscreen: 'ネイティブフルスクリーン',
  shortcutOpenMiniPlayer: 'ミニプレイヤーを開く',
  shortcutStartSearch: '検索を開始',
  shortcutStartAdvancedSearch: '詳細検索を開始',
  shortcutToggleSidebar: 'サイドバーを切り替え',
  shortcutMuteSound: '音をミュート',
  shortcutToggleEqualizer: 'イコライザーを開く / 切り替え',
  shortcutToggleRepeat: 'リピートを切り替え',
  shortcutOpenNowPlaying: '"Now Playing" を開く',
  shortcutShowLyrics: '歌詞を表示',
  shortcutFavoriteCurrentTrack: '現在のトラックをお気に入りに追加',
  shortcutOpenHelp: 'ヘルプ',
  playbackTitle: '再生',
  replayGain: 'Replay Gain',
  replayGainDesc: 'ReplayGain メタデータを使ってトラック音量を正規化',
  replayGainMode: 'モード',
  replayGainAuto: '自動',
  replayGainAutoDesc: '隣接するキュートラックが同じアルバム由来ならアルバムゲイン、それ以外はトラックゲインを選びます。',
  replayGainTrack: 'トラック',
  replayGainAlbum: 'アルバム',
  replayGainPreGain: 'プリアンプ (タグ付きファイル)',
  replayGainPreGainDesc: 'すべての ReplayGain 計算に追加する共通ブーストです。ライブラリ全体が小さく感じる場合の補正に使います。',
  replayGainFallback: 'フォールバック (未タグ / ラジオ)',
  replayGainFallbackDesc: 'ReplayGain タグがまったくないトラック (およびラジオストリーム) に適用し、未タグ音源が他より大きく飛び出さないようにします。',
  normalization: '正規化',
  normalizationDesc: 'トラック、アルバム、ラジオ間の知覚ラウドネスをそろえます。',
  normalizationOff: 'オフ',
  normalizationReplayGain: 'ReplayGain',
  normalizationLufs: 'LUFS',
  loudnessTargetLufs: 'ターゲット LUFS',
  loudnessTargetLufsDesc: 'すべてのトラックを合わせる基準ラウドネスです。数値が低いほど出力は大きくなります。ストリーミングサービスは通常 -14 LUFS 前後です。',
  loudnessPreAnalysisAttenuation: '解析前の減衰',
  loudnessPreAnalysisAttenuationDesc:
    'このトラックのラウドネスが保存されるまで追加で静かにします。ストリーミングでは完全測定ではなく粗い推定を使います。0 dB = オフ、低いほど静かです。右の数値は現在のターゲットに対する有効 dB です。',
  loudnessPreAnalysisAttenuationRef: 'ターゲット {{tgt}} LUFS で有効 {{eff}} dB。',
  loudnessPreAnalysisAttenuationReset: '既定に戻す',
  loudnessFirstPlayNote:
    '新しいトラックの初回再生では、測定中に音量が短時間ずれる場合があります。次回再生ではキャッシュ済み測定を使うため安定します。次のキュートラックは通常、前の曲の再生中に事前解析されるため、実際にはまれです。',
  crossfade: 'クロスフェード',
  crossfadeSecs: '{{n}} 秒',
  autoDj: 'AutoDJ',
  autoDjDesc: '固定時間ではありません。AutoDJ は実際の音声に追従し、秒数固定ではなく本物のフェードアウトとイントロをブレンドします。安定した結果にはホット再生キャッシュを有効にしてください。',
  autodjSmoothSkip: 'スムーズスキップ',
  autodjSmoothSkipDesc: '再生中に次または前のトラックへスキップすると、突然切り替えず、現在位置から同じ AutoDJ ルール (重なり長、イントロトリム) でブレンドします。次のトラックがすでにバッファ済みだと最も安定します。',
  autodjOverlapCapTitle: '重なり上限',
  autodjOverlapCapDesc: 'AutoDJ の重なり時間の上限です。自動はコンテンツ分析に従います (最大 12 秒)。上限は自分で設定します。',
  autodjOverlapCapAuto: '自動',
  autodjOverlapCapLimit: '上限',
  autodjOverlapCapSecs: '{{n}} 秒',
  gapless: 'ギャップレス再生',
  transitionsTitle: 'トラック遷移',
  transitionsDesc: '連続するトラックのつなぎ方です。一度に有効にできるモードは 1 つだけです。',
  transitionOff: 'オフ',
  transitionsHostControlled: 'セッション中はOrbitホストが制御します',
  queueBehaviourTitle: 'キューの動作',
  preservePlayNextOrder: '"次に再生" の順序を保持',
  preservePlayNextOrderDesc: '新しく追加された "次に再生" 項目を、先に追加されたものの前へ割り込ませず後ろに並べます。',
  queueTrackListCovers: 'キューにアルバムアートを表示',
  queueTrackListCoversSub: 'キューパネル、ミニプレイヤーのキュー、フルスクリーンの「次に再生」で各トラックの横に小さなアルバムカバーを表示します。アグレッシブキャッシュを有効にすることをおすすめします。',
  trackListCoverArtOnPages: 'トラックリストにアルバムアートを表示',
  trackListCoverArtOnPagesSub: 'トラック、検索、プレイリスト、お気に入り、ランダムミックスなどの閲覧リストで、各トラックの横に小さなアルバムカバーを表示します。アグレッシブキャッシュを有効にすることをおすすめします。',
  trackPreviewsTitle: 'トラックプレビュー',
  trackPreviewsToggle: 'トラックプレビューを有効化',
  trackPreviewsDesc: 'トラックリスト内に再生 / プレビューボタンを表示し、曲の途中をすばやく試聴します。',
  trackPreviewStart: '開始位置',
  trackPreviewStartDesc: 'プレビューをトラックのどの位置から開始するか (% of track length)。',
  trackPreviewDuration: '長さ',
  trackPreviewDurationDesc: '各プレビューを停止するまでの再生時間です。',
  trackPreviewDurationSecs: '{{n}} 秒',
  trackPreviewLocationsTitle: 'プレビューを表示する場所',
  trackPreviewLocationsDesc: 'インラインプレビューボタンを表示するリストを選びます。',
  trackPreviewLocation_suggestions: 'プレイリスト候補',
  trackPreviewLocation_albums: 'アルバムのトラックリスト',
  trackPreviewLocation_playlists: 'プレイリスト',
  trackPreviewLocation_favorites: 'お気に入り',
  trackPreviewLocation_artist: 'アーティストの人気トラック',
  trackPreviewLocation_randomMix: 'ランダムミックス',
  nextTrackBufferingTitle: 'バッファリング',
  infiniteQueue: '無限キュー',
  infiniteQueueDesc: 'キューが尽きたときランダムトラックを自動追加します',
  experimental: '実験的',
  sidebarLyricsStyle: '歌詞スクロール形式',
  sidebarLyricsStyleClassic: 'クラシック',
  sidebarLyricsStyleClassicDesc: 'アクティブ行を中央へスクロールします。',
  sidebarLyricsStyleApple: 'Apple Music 風',
  sidebarLyricsStyleAppleDesc: 'アクティブ行を上部付近に固定し、滑らかなスプリング遷移を使います。',
  seekbarStyle: 'シークバー形式',
  fullscreenPlayerStyle: 'フルスクリーンプレーヤーのスタイル',
  fsLyricsStyleRail: 'レール',
  fsLyricsStyleRailDesc: 'クラシックな5行スライドレール。',
  fsLyricsStyleApple: 'スクロール',
  fsLyricsStyleAppleDesc: 'フルスクリーンのスクロールリスト。',
  fullscreenPlayerStyleDesc: 'フルスクリーン再生画面の見た目を選びます。',
  fullscreenPlayerMinimal: 'ミニマル',
  fullscreenPlayerImmersive: '没入型',
  fullscreenPlayerPrism: 'Prism',
  fsShowArtistPortrait: 'アーティスト写真を表示',
  fsShowArtistPortraitDesc: 'フルスクリーンプレーヤーの右側にアーティスト写真（またはアルバムアート）を表示します。',
  fsPortraitDim: '写真の暗さ',
  seekbarStyleDesc: 'プレイヤーシークバーの見た目を選びます',
  buttonSizeTitle: 'コンパクトボタン',
  buttonSizeLabel: 'ボタンサイズ',
  buttonSizeDesc: '詳細ページや一覧ビューで、アクションボタンやツールバーボタンをアイコンのみに縮小します。',
  buttonSize_large: '大',
  buttonSize_small: '小',
  seekbarTruewave: 'Truewave',
  seekbarPseudowave: 'Pseudowave',
  seekbarLinedot: 'Line & Dot',
  seekbarBar: 'Bar',
  seekbarThick: 'Thick Bar',
  seekbarSegmented: 'Segmented',
  seekbarNeon: 'Neon Glow',
  seekbarPulsewave: 'Pulse Wave',
  seekbarParticletrail: 'Particle Trail',
  seekbarLiquidfill: 'Liquid Fill',
  seekbarRetrotape: 'Retro Tape',
  themeSchedulerTitle: 'テーマ自動切り替え',
  themeSchedulerEnable: 'テーマスケジューラーを有効化',
  themeSchedulerEnableSub: '時刻またはシステムテーマに基づいて 2 つのテーマを自動で切り替えます',
  themeSchedulerDayTheme: '昼テーマ',
  themeSchedulerDayStart: '昼の開始時刻',
  themeSchedulerNightTheme: '夜テーマ',
  themeSchedulerNightStart: '夜の開始時刻',
  themeSchedulerActiveHint: 'テーマスケジューラーが有効です。テーマ変更は自動で管理されます。',
  themeSchedulerModeLabel: '切り替え基準',
  themeSchedulerModeTime: '時刻',
  themeSchedulerModeSystem: 'システムテーマ',
  themeSchedulerLightTheme: 'ライトテーマ',
  themeSchedulerDarkTheme: 'ダークテーマ',
  themeSchedulerSystemRestartHint: 'システムのライト/ダーク設定の変更は、アプリの再起動後に反映されます。',
  visualOptionsTitle: '表示オプション',
  coverArtBackground: 'カバーアート背景',
  coverArtBackgroundSub: 'アルバム/プレイリストヘッダーの背景にぼかしたカバーアートを表示',
  backdropSourcesTitle: '背景',
  backdropSourcesSub: '各エリアが背景に使う画像と、試す順番を選びます。ドラッグで並べ替え、ソースをオフにするとスキップします。',
  backdropSurfaceMainstage: 'Mainstage',
  backdropSurfaceArtistDetail: 'アーティストページのヘッダー',
  backdropSurfaceFullscreen: 'フルスクリーンプレーヤー',
  backdropSourceBanner: 'バナー',
  backdropSourceFanart: 'Fanart アーティスト画像',
  backdropSourceNavidrome: 'Navidrome 画像',
  backdropMoveUp: '上へ',
  backdropMoveDown: '下へ',
  playlistCoverPhoto: 'プレイリストカバー写真',
  playlistCoverPhotoSub: 'プレイリスト詳細ビューにカバー写真グリッドを表示',
  showBitrate: 'ビットレートを表示',
  showBitrateSub: 'トラック一覧に音声ビットレートを表示',
  floatingPlayerBar: 'フローティングプレイヤーバー',
  floatingPlayerBarSub: 'コンテンツの上にプレイヤーバーを浮かせて表示',
  squareCorners: '角を四角に',
  squareCornersSub: 'カードの角の丸みをなくして、シャープで角ばった見た目にする',
  uiScaleTitle: 'インターフェース倍率',
  uiScaleLabel: 'ズーム',
};
