{
  "app": {
    "title": "🎛️ ACE-Step V1.5 プレイグラウンド💡",
    "subtitle": "オープンソース音楽生成の限界を押し広げる"
  },
  "common": {
    "language_metadata": {
      "name": "Japanese",
      "native_name": "日本語"
    }
  },
  "dataset": {
    "title": "📊 データセットエクスプローラー",
    "dataset_label": "データセット",
    "dataset_info": "探索するデータセットを選択。",
    "import_btn": "📥 データセットをインポート",
    "search_type_label": "検索タイプ",
    "search_type_info": "アイテムの検索方法。",
    "search_value_label": "検索値",
    "search_value_placeholder": "キーまたはインデックスを入力(空白の場合はランダム)",
    "search_value_info": "キー: 完全一致、インデックス: 0からデータセットサイズ-1。",
    "instruction_label": "📝 指示",
    "instruction_placeholder": "利用可能な指示がありません",
    "metadata_title": "📋 アイテムメタデータ (JSON)",
    "metadata_label": "完全なアイテム情報",
    "source_audio": "ソースオーディオ",
    "target_audio": "ターゲットオーディオ",
    "reference_audio": "リファレンスオーディオ",
    "get_item_btn": "🔍 アイテムを取得",
    "use_src_checkbox": "データセットのソースオーディオを使用",
    "use_src_info": "データセットのソースオーディオを使用する場合はチェック。",
    "data_status_label": "📊 データステータス",
    "data_status_default": "❌ データセットがインポートされていません",
    "autofill_btn": "📋 生成フォームを自動入力"
  },
  "service": {
    "title": "🔧 サービス設定",
    "checkpoint_label": "チェックポイントファイル",
    "checkpoint_info": "訓練済みモデルのチェックポイントファイルを選択(フルパスまたはファイル名)。",
    "refresh_btn": "🔄 更新",
    "model_path_label": "メインモデルパス",
    "model_path_info": "モデル設定ディレクトリを選択(チェックポイントから自動スキャン)。",
    "device_label": "デバイス",
    "device_info": "処理デバイス(自動検出を推奨)。",
    "lm_model_path_label": "5Hz LM モデルパス",
    "lm_model_path_info": "5Hz LMモデルチェックポイントを選択(チェックポイントから自動スキャン)。",
    "backend_label": "5Hz LM バックエンド",
    "backend_info": "5Hz LMのバックエンドを選択: vllm(高速)またはpt(PyTorch、より互換性あり)。",
    "init_llm_label": "5Hz LM を初期化",
    "init_llm_info": "サービス初期化中に5Hz LMを初期化する場合はチェック。",
    "lm_unavailable_vram": "⚠️ このGPUティアではLMを利用できません（VRAM不足）",
    "flash_attention_label": "Flash Attention を使用",
    "flash_attention_info_enabled": "推論を高速化するためにflash attentionを有効にする(flash_attnパッケージが必要)",
    "flash_attention_info_disabled": "Flash attentionは利用できません(flash_attnパッケージがインストールされていません)",
    "offload_cpu_label": "CPUにオフロード",
    "offload_cpu_info": "使用していない時にモデルをCPUにオフロードしてGPUメモリを節約。",
    "offload_dit_cpu_label": "DiTをCPUにオフロード",
    "offload_dit_cpu_info": "DiTをCPUにオフロード(CPUへのオフロードが必要)。",
    "compile_model_label": "モデルをコンパイル",
    "compile_model_info": "torch.compileでモデルを最適化（量子化に必要）。",
    "quantization_label": "INT8 量子化",
    "quantization_info": "INT8重み量子化を有効にしてVRAMを節約（モデルのコンパイルが必要）。",
    "mlx_dit_label": "MLX DiT (Apple Silicon)",
    "mlx_dit_info_enabled": "Apple SiliconでMLXネイティブDiT拡散を使用（MPSより高速）",
    "mlx_dit_info_disabled": "MLXは利用不可（macOS + Apple Silicon + mlxパッケージが必要）",
    "init_btn": "サービスを初期化",
    "status_label": "ステータス",
    "language_label": "UI言語",
    "language_info": "インターフェース言語を選択。",
    "gpu_auto_tier": "自動検出ティア",
    "tier_label": "GPU ティアの手動選択",
    "tier_info": "GPUティアを手動で選択して最適化のデフォルト（オフロード、量子化、バックエンドなど）を調整します。"
  },
  "generation": {
    "tab_title": "🎵 生成",
    "required_inputs": "📝 必須入力",
    "task_type_label": "タスクタイプ *",
    "task_type_info": "生成のタスクタイプを選択。",
    "instruction_label": "指示",
    "instruction_info": "指示はタスクタイプに基づいて自動生成されます。",
    "load_btn": "📂 読込",
    "track_name_label": "トラック名",
    "track_name_info": "lego/extractタスクのトラック名を選択。",
    "track_classes_label": "トラック名",
    "track_classes_info": "completeタスクの複数のトラッククラスを選択。",
    "audio_uploads": "🎵 オーディオアップロード",
    "reference_audio": "リファレンスオーディオ",
    "source_audio": "ソースオーディオ",
    "convert_codes_btn": "コードに変換",
    "analyze_btn": "🔍 分析",
    "sample_btn": "🎲 お試し",
    "lm_codes_hints": "🎼 LM コードヒント",
    "lm_codes_audio_upload_label": "音声 → コード（ユーティリティ）",
    "lm_codes_label": "LM コードヒント",
    "lm_codes_placeholder": "<|audio_code_10695|><|audio_code_54246|>.",
    "lm_codes_info": "text2music生成用のLMコードヒントを貼り付け。",
    "lm_codes_sample": "LM コードヒント(サンプル {n})",
    "lm_codes_sample_info": "サンプル{n}のコード。",
    "transcribe_btn": "転写",
    "repainting_controls": "🎨 再描画コントロール(秒)",
    "repainting_start": "再描画開始",
    "repainting_end": "再描画終了",
    "mode_label": "生成モード *",
    "mode_info": "生成モードを選択して開始します。",
    "mode_info_simple": "自然言語で音楽を説明すると、AIがキャプション、歌詞、メタデータを自動生成します。",
    "mode_info_custom": "キャプション、歌詞、すべてのパラメータを完全にコントロール。",
    "mode_info_remix": "ソースオーディオをアップロードして、キャプションと歌詞でリミックスバージョンを作成。",
    "mode_info_repaint": "ソースオーディオをアップロードして、指定した時間範囲を再描画。",
    "mode_info_extract": "ソースオーディオから特定のトラック（ボーカル、ドラムなど）を抽出。",
    "mode_info_lego": "トラックの再構成：ソースオーディオの特定のトラックを置き換え。",
    "mode_info_complete": "ソースオーディオの欠落したトラックを補完。",
    "mode_simple": "シンプル",
    "mode_custom": "カスタム",
    "simple_query_label": "曲の説明 *",
    "simple_query_placeholder": "作成したい音楽を説明してください。例：'静かな夜のための優しいベンガルのラブソング'。空欄の場合はランダムなサンプルが生成されます。",
    "simple_query_info": "生成したい音楽の自然言語の説明を入力。",
    "simple_vocal_language_label": "ボーカル言語",
    "simple_vocal_language_info": "歌詞の希望言語を選択。任意の言語の場合は'unknown'を使用。",
    "create_sample_btn": "サンプル作成",
    "caption_title": "📝 音楽キャプション",
    "caption_label": "音楽キャプション",
    "caption_placeholder": "柔らかいボーカルを伴う穏やかなアコースティックギターのメロディー.",
    "caption_info": "スタイル、ジャンル、楽器、ムードを説明。",
    "lyrics_title": "📝 歌詞",
    "lyrics_label": "歌詞",
    "lyrics_placeholder": "[バース1]\\n星空の下で\\nとても生きていると感じる.",
    "lyrics_info": "構造を持つ曲の歌詞。",
    "instrumental_label": "インストゥルメンタル",
    "format_btn": "フォーマット",
    "format_caption_btn": "キャプションを強化",
    "format_lyrics_btn": "歌詞を強化",
    "optional_params": "⚙️ オプションパラメータ",
    "optional_music_props": "🎵 音楽プロパティ",
    "optional_gen_settings": "📐 生成設定",
    "advanced_dit_section": "🎛️ DiT 拡散パラメータ",
    "advanced_lm_section": "🤖 LM 生成パラメータ",
    "advanced_output_section": "🔊 オーディオ出力と後処理",
    "advanced_automation_section": "⚡ 自動化とバッチ",
    "vocal_language_label": "ボーカル言語",
    "vocal_language_info": "'unknown' = インスト/自動。",
    "bpm_label": "BPM",
    "bpm_info": "空白の場合は N/A。",
    "keyscale_label": "キー",
    "keyscale_placeholder": "空白の場合はN/A",
    "keyscale_info": "A-G, #/♭, メジャー/マイナー。",
    "timesig_label": "拍子記号",
    "timesig_info": "2/4, 3/4, 4/4。",
    "duration_label": "オーディオ長(秒)",
    "duration_info": "ランダムの場合は-1を使用。",
    "batch_size_label": "バッチサイズ",
    "batch_size_info": "生成するオーディオの数(最大8)。",
    "advanced_settings": "⚙️ 設定",
    "inference_steps_label": "DiT 推論ステップ",
    "inference_steps_info": "Turbo: 最大8、Base: 最大200。",
    "guidance_scale_label": "DiT ガイダンススケール(baseモデルのみサポート)",
    "guidance_scale_info": "値が高いほどテキストに忠実に従う。",
    "seed_label": "シード",
    "seed_info": "バッチにはカンマ区切りの値を使用。",
    "random_seed_label": "ランダムシード",
    "random_seed_info": "有効にすると自動的にシードを生成。",
    "audio_format_label": "オーディオフォーマット",
    "audio_format_info": "保存ファイルのオーディオフォーマット。",
    "use_adg_label": "ADG を使用",
    "use_adg_info": "角度ドメインガイダンスを有効化。",
    "shift_label": "シフト",
    "shift_info": "baseモデル用タイムステップシフト係数 (範囲 1.0~5.0、デフォルト 3.0)。turboモデルには無効。",
    "infer_method_label": "推論方法",
    "infer_method_info": "拡散推論方法。ODE (オイラー) は高速、SDE (確率的) は異なる結果を生成する可能性があります。",
    "sampler_mode_label": "サンプラーモード",
    "sampler_mode_info": "Euler: 標準1次ソルバー（高速、デフォルト）。Heun: 2次予測-修正器 — ステップごとにモデルを2回評価してより高精度に。8ステップturbo推論でよりクリーンなオーディオを生成しますが、拡散時間は約2倍になります。",
    "velocity_norm_threshold_label": "速度ノルム閾値",
    "velocity_norm_threshold_info": "各拡散ステップで速度予測ノルムを制限。異常予測によるオーディオアーティファクトを防止。0 = 無効。1.5-3.0の値でアーティファクトを低減。",
    "velocity_ema_factor_label": "速度EMAファクター",
    "velocity_ema_factor_info": "指数移動平均でデノイズ軌道を平滑化。0 = 無効。0.05-0.2の範囲が効果的。",
    "custom_timesteps_label": "カスタムタイムステップ",
    "custom_timesteps_info": "1.0から0.0へのカンマ区切り値（例：'0.97,0.76,0.615,0.5,0.395,0.28,0.18,0.085,0'）。推論ステップとシフトを上書きします。",
    "cfg_interval_start": "CFG 間隔開始",
    "cfg_interval_end": "CFG 間隔終了",
    "lm_params_title": "🤖 LM 生成パラメータ",
    "lm_temperature_label": "LM 温度",
    "lm_temperature_info": "5Hz LM温度(高いほどランダム)。",
    "lm_cfg_scale_label": "LM CFG スケール",
    "lm_cfg_scale_info": "5Hz LM CFG (1.0 = CFGなし)。",
    "lm_top_k_label": "LM Top-K",
    "lm_top_k_info": "Top-K (0 = 無効)。",
    "lm_top_p_label": "LM Top-P",
    "lm_top_p_info": "Top-P (1.0 = 無効)。",
    "lm_negative_prompt_label": "LM ネガティブプロンプト",
    "lm_negative_prompt_placeholder": "CFGのネガティブプロンプトを入力(デフォルト: NO USER INPUT)",
    "lm_negative_prompt_info": "ネガティブプロンプト(LM CFGスケール > 1.0の場合に使用)。",
    "cot_metas_label": "CoT メタデータ",
    "cot_metas_info": "LMを使用してCoTメタデータを生成(チェックを外すとLM CoT生成をスキップ)。",
    "cot_language_label": "CoT 言語",
    "cot_language_info": "CoTで言語を生成(思考の連鎖)。",
    "constrained_debug_label": "制約付きデコーディングデバッグ",
    "constrained_debug_info": "制約付きデコーディングのデバッグログを有効化(チェックすると詳細ログを表示)。",
    "lm_use_legacy_cfg_prompt_label": "LM CFG: 旧無条件プロンプトを使用",
    "lm_use_legacy_cfg_prompt_info": "デバッグ用A/Bトグル。オフ(既定): CFG無条件のuserは裸の'NO USER INPUT'(学習と整合した、真の無条件)。オン: 無条件でcaption+lyricsを保持(修正前の設計——無条件でも条件を含むため、CFGは主にCoTメタデータ方向のみ増幅)。バイトレベルの構造(assistantターン未クローズ、区切り改行、空reasoningのレンダリング)は両状態で同一なので、トグルはこの1つの設計変数のみを分離します。codes段階のCFGにのみ影響。",
    "auto_score_label": "自動スコアリング",
    "auto_score_info": "生成されたすべてのオーディオの品質スコアを自動計算。",
    "auto_lrc_label": "自動 LRC",
    "auto_lrc_info": "生成されたすべてのオーディオのLRC歌詞タイムスタンプを自動生成。",
    "lm_batch_chunk_label": "LM バッチチャンクサイズ",
    "lm_batch_chunk_info": "LMバッチチャンクあたりの最大アイテム数(デフォルト: 8、GPUメモリによる制限)。",
    "codes_strength_label": "LM コード強度",
    "codes_strength_info": "LM生成コードを使用するデノイジングステップ数を制御。",
    "similarity_denoise_label": "類似度 / ノイズ除去",
    "similarity_denoise_info": "出力が参照オーディオにどれだけ忠実かを制御します。高い値ほど構造を保持します。",
    "cover_strength_label": "オーディオカバー強度",
    "cover_strength_info": "カバーモードを使用するデノイジングステップ数を制御。",
    "remix_strength_label": "リミックス強度",
    "remix_strength_info": "リミックスがソースオーディオにどれだけ忠実かを制御（高い = オリジナルに近い）。",
    "cover_noise_strength_label": "カバー強度",
    "cover_noise_strength_info": "Remixモードでのメロディ復元を制御します。推奨：SFTモデルを使用し、値を0.1〜0.25に設定。わずかに上げるとメロディが復元されますが、スタイル変換には追加のプロンプト調整が必要な場合があります。（0 = 純粋なノイズ/カバーなし、1 = オリジナルに最も近い）。",
    "score_sensitivity_label": "品質スコア感度",
    "score_sensitivity_info": "低い = より敏感(デフォルト: 1.0)。PMIが[0,1]にマッピングする方法を調整。",
    "think_label": "思考",
    "parallel_thinking_label": "並列思考",
    "parallel_thinking_info": "バッチサンプルを並列処理して高速生成。",
    "generate_btn": "🎵 音楽を生成",
    "extract_stem_btn": "🎵 ステム抽出",
    "add_stem_btn": "🎵 ステム追加",
    "stem_area_controls": "🧩 新ステム範囲（秒）",
    "stem_start": "ステム開始",
    "stem_end": "ステム終了",
    "autogen_label": "自動生成",
    "caption_rewrite_label": "キャプション書き換え",
    "caption_rewrite_info": "生成前にLMでキャプションを書き換え。",
    "auto_label": "自動",
    "bpm_auto_label": "BPM 自動",
    "key_auto_label": "キー 自動",
    "timesig_auto_label": "拍子 自動",
    "vocal_lang_auto_label": "言語 自動",
    "duration_auto_label": "長さ 自動",
    "reset_all_auto": "🔄 すべて自動にリセット",
    "advanced_dit_params": "DiT 詳細パラメータ"
  },
  "results": {
    "title": "🎵 結果",
    "generated_music": "🎵 生成された音楽(サンプル {n})",
    "send_to_remix_btn": "🔗 リミックスに送信",
    "send_to_repaint_btn": "🔗 リペイントに送信",
    "save_btn": "💾 保存",
    "score_btn": "📊 スコア取得",
    "lrc_btn": "🎵 LRC 取得",
    "save_lrc_btn": "💾 LRC 保存",
    "convert_to_codes_btn": "🔄 コードに変換",
    "quality_score_label": "品質スコア(サンプル {n})",
    "quality_score_placeholder": "'スコア'をクリックしてパープレキシティベースの品質スコアを計算",
    "codes_label": "LM コード(サンプル {n})",
    "lrc_label": "歌詞タイムスタンプ(サンプル {n})",
    "lrc_placeholder": "'LRC'をクリックしてタイムスタンプを生成",
    "details_accordion": "📊 スコア & LRC & LM コード",
    "generation_status": "生成ステータス",
    "current_batch": "現在のバッチ",
    "batch_indicator": "バッチ {current} / {total}",
    "next_batch_status": "次のバッチステータス",
    "prev_btn": "◀ 前へ",
    "next_btn": "次へ ▶",
    "restore_params_btn": "↙️ これらの設定をUIに適用(バッチパラメータを復元)",
    "batch_results_title": "👇 クリックしてバッチ結果と生成詳細を表示",
    "all_files_label": "📁 すべての生成ファイル(ダウンロード)",
    "generation_details": "生成詳細"
  },
  "messages": {
    "no_audio_to_save": "❌ 保存するオーディオがありません",
    "save_success": "✅ オーディオとメタデータを {filename} に保存しました",
    "save_failed": "❌ 保存に失敗しました: {error}",
    "no_file_selected": "⚠️ ファイルが選択されていません",
    "params_loaded": "✅ {filename} からパラメータを読み込みました",
    "invalid_json": "❌ 無効なJSONファイル: {error}",
    "load_error": "❌ ファイルの読み込みエラー: {error}",
    "example_loaded": "📁 {filename} からサンプルを読み込みました",
    "example_failed": "JSONファイル {filename} の解析に失敗しました: {error}",
    "example_error": "サンプル読み込みエラー: {error}",
    "lm_generated": "🤖 LMを使用してサンプルを生成しました",
    "lm_fallback": "LMを使用したサンプル生成に失敗、サンプルディレクトリにフォールバック",
    "lm_not_initialized": "❌ 5Hz LMが初期化されていません。最初に初期化してください。",
    "think_requires_lm": "⚠️ 「Think」機能には5Hz LMの初期化が必要です。Thinkは無効化されました — LM思考なしで生成を続行します。",
    "autogen_enabled": "🔄 自動生成が有効 - このあと次のバッチを生成します",
    "batch_ready": "✅ バッチ {n} の準備完了！'次へ'をクリックして表示。",
    "batch_generating": "🔄 バッチ {n} のバックグラウンド生成を開始.",
    "batch_failed": "❌ バックグラウンド生成に失敗しました: {error}",
    "viewing_batch": "✅ バッチ {n} を表示中",
    "at_first_batch": "すでに最初のバッチです",
    "at_last_batch": "次のバッチはありません",
    "batch_not_found": "キューにバッチ {n} が見つかりません",
    "no_batch_data": "復元するバッチデータがありません。",
    "params_restored": "✅ バッチ {n} からUIパラメータを復元しました",
    "scoring_failed": "❌ エラー: バッチデータが見つかりません",
    "no_codes": "❌ 利用可能なオーディオコードがありません。最初に音楽を生成してください。",
    "score_failed": "❌ スコアリングに失敗しました: {error}",
    "score_error": "❌ スコア計算エラー: {error}",
    "lrc_save_memory_disabled": "❌ 省メモリモードが有効です (ACESTEP_SAVE_MEMORY=1)。中間テンソルは保存されないため、LRC生成は使用できません。",
    "lrc_no_batch_data": "❌ バッチデータが見つかりません。最初に音楽を生成してください。",
    "lrc_no_extra_outputs": "❌ 追加出力が見つかりません。条件テンソルが利用できません。",
    "lrc_missing_tensors": "❌ LRC生成に必要なテンソルがありません。",
    "lrc_sample_not_exist": "❌ 現在のバッチにサンプルが存在しません。",
    "lrc_empty_result": "⚠️ LRC生成の結果が空です。",
    "empty_query": "⚠️ 音楽の説明を入力してください。",
    "sample_creation_failed": "❌ サンプルの作成に失敗しました。もう一度お試しください。",
    "sample_created": "✅ サンプルが作成されました！キャプションと歌詞を確認して、音楽を生成をクリックしてください。",
    "simple_examples_not_found": "⚠️ シンプルモードサンプルディレクトリが見つかりません。",
    "simple_examples_empty": "⚠️ シンプルモードサンプルにファイルがありません。",
    "simple_example_loaded": "🎲 {filename} からランダムサンプルを読み込みました",
    "format_success": "✅ キャプションと歌詞のフォーマットに成功しました",
    "format_failed": "❌ フォーマットに失敗しました: {error}",
    "skipping_metas_cot": "⚡ Phase 1 メタデータ COT をスキップ（サンプルは既にフォーマット済み）",
    "invalid_timesteps_format": "⚠️ タイムステップ形式が無効です。デフォルトスケジュールを使用します。",
    "timesteps_out_of_range": "⚠️ タイムステップは [0, 1] の範囲内である必要があります。デフォルトスケジュールを使用します。",
    "timesteps_count_mismatch": "⚠️ タイムステップ数 ({actual}) が推論ステップ数 ({expected}) と異なります。タイムステップ数を使用します。"
  },
  "training": {
    "tab_title": "🎓 LoRA トレーニング",
    "tab_dataset_builder": "📁 データセットビルダー",
    "tab_train_lora": "🚀 LoRA をトレーニング",
    "quick_start_title": "🚀 クイックスタート",
    "load_dataset_label": "データセット JSON パス",
    "load_dataset_info": "以前保存したデータセットを読み込む。",
    "load_btn": "📂 読み込み",
    "load_status": "読み込み状態",
    "scan_label": "オーディオディレクトリパス",
    "scan_info": "オーディオファイルをスキャン（wav、mp3、flac、ogg、opus）。",
    "scan_btn": "🔍 スキャン",
    "scan_status": "スキャン状態",
    "found_audio_files": "見つかったオーディオファイル",
    "dataset_name": "データセット名",
    "dataset_name_placeholder": "データセット名を入力",
    "dataset_settings_header": "データセット設定",
    "tag_prepend": "前置（タグ、キャプション）",
    "tag_append": "後置（キャプション、タグ）",
    "tag_replace": "キャプションを置換",
    "step2_title": "ステップ 2: AI で自動ラベル",
    "step2_instruction": "以下のボタンをクリックして、AI を使用してすべてのオーディオファイルのメタデータを自動生成します：\n- **キャプション**：音楽スタイル、ジャンル、ムードの説明\n- **BPM**：1分間あたりのビート数\n- **キー**：音楽キー（例：C Major、Am）\n- **拍子記号**：4/4、3/4 など。",
    "step3_title": "ステップ 3: プレビューと編集",
    "step4_title": "ステップ 4: データセットを保存",
    "step5_title": "ステップ 5: テンソルに前処理",
    "step5_intro": "**前処理により、データセットを高速トレーニング用の事前計算されたテンソルに変換します。**\n\n次のいずれかを選択できます：\n- 上記のステップ 1-4 のデータセットを使用する、**または**\n- 既存のデータセット JSON ファイルを読み込む（既に保存している場合）",
    "step5_details": "このステップ：\n- オーディオを VAE 潜在変数にエンコード\n- キャプションと歌詞をテキスト埋め込みにエンコード\n- 条件エンコーダーを実行\n- すべてのテンソルを `.pt` ファイルに保存\n\n⚠️ **これにはモデルの読み込みが必要で、数分かかる場合があります。**",
    "train_tensor_selection_desc": "前処理されたテンソルファイル（`.pt` ファイル）を含むディレクトリを選択します。\nこれらは「データセットビルダー」タブの「前処理」ボタンを使用して作成されます。",
    "all_instrumental": "すべてインストゥルメンタル",
    "all_instrumental_info": "すべてのトラックがインストゥルメンタル（ボーカルなし）の場合にチェック。",
    "custom_tag": "カスタムアクティベーションタグ",
    "custom_tag_info": "この LoRA のスタイルを有効にする一意のタグ。",
    "tag_position": "タグの位置",
    "tag_position_info": "キャプション内でカスタムタグを配置する位置。",
    "genre_ratio": "ジャンル比率 (%)",
    "genre_ratio_info": "0%=すべてキャプション、100%=すべてジャンル。サンプル単位の上書きが優先。",
    "skip_metas": "BPM/キー/拍子をスキップ",
    "skip_metas_info": "BPM/キー/拍子の生成をスキップ。キャプションとジャンルは LM が生成。",
    "only_unlabeled": "未ラベルのみ",
    "only_unlabeled_info": "キャプションのないサンプルのみラベル付け（失敗したラベル付けの再開に便利）。",
    "auto_label_btn": "🏷️ 一括自動ラベル",
    "label_progress": "ラベル付け進捗",
    "select_sample": "サンプル # を選択",
    "select_sample_info": "プレビューと編集するサンプルを選択。",
    "audio_preview": "オーディオプレビュー",
    "filename": "ファイル名",
    "caption": "キャプション",
    "genre": "ジャンル",
    "prompt_override_label": "プロンプト上書き（このサンプル）",
    "prompt_override_info": "このサンプルのグローバル比率を上書き。",
    "lyrics_editable_label": "歌詞（編集可、トレーニング用）",
    "raw_lyrics_label": "生歌詞（.txt ファイルから）",
    "no_lyrics_placeholder": "（.txt 歌詞ファイルなし）",
    "bpm": "BPM",
    "key_label": "キー",
    "key_placeholder": "C Major",
    "time_sig": "拍子",
    "duration_s": "長さ (秒)",
    "language": "言語",
    "instrumental": "インストゥルメンタル",
    "save_changes_btn": "💾 変更を保存",
    "edit_status": "編集状態",
    "save_path": "保存パス",
    "save_path_info": "データセット JSON の保存先パス。",
    "save_dataset_btn": "💾 データセットを保存",
    "save_status": "保存状態",
    "load_existing_label": "既存データセットを読み込み",
    "load_existing_info": "以前保存したデータセット JSON ファイルのパス。",
    "load_dataset_btn": "📂 データセットを読み込み",
    "tensor_output_dir": "テンソル出力ディレクトリ",
    "tensor_output_info": "前処理済みテンソルファイルの保存先ディレクトリ。",
    "preprocess_btn": "⚡ 前処理",
    "preprocess_progress": "前処理進捗",
    "preprocessed_tensors_dir": "前処理済みテンソルディレクトリ",
    "preprocessed_tensors_info": "前処理済み .pt テンソルファイルを含むディレクトリ。",
    "train_section_tensors": "前処理済みデータセット選択",
    "train_section_lora": "LoRA 設定",
    "train_section_params": "トレーニングパラメータ",
    "dataset_info": "データセット情報。",
    "lora_rank": "LoRA ランク (r)",
    "lora_rank_info": "高いほど容量は増えるがメモリ使用量も増加。",
    "lora_alpha": "LoRA Alpha",
    "lora_alpha_info": "スケーリング係数（通常はランクの2倍）。",
    "lora_dropout": "LoRA Dropout",
    "learning_rate": "学習率",
    "learning_rate_info": "3e-4 から始め、必要に応じて調整。",
    "max_epochs": "最大エポック数",
    "batch_size": "バッチサイズ",
    "batch_size_info": "VRAM に余裕があれば増やせます。",
    "gradient_accumulation": "勾配累積",
    "gradient_accumulation_info": "実効バッチ = batch_size × 累積。",
    "save_every_n_epochs": "N エポックごとに保存",
    "shift": "Shift",
    "shift_info": "ターボモデル用タイムステップシフト。",
    "seed": "シード",
    "output_dir": "出力ディレクトリ",
    "output_dir_info": "トレーニング済み LoRA 重みの保存先ディレクトリ。",
    "start_training_btn": "🚀 トレーニング開始",
    "stop_training_btn": "⏹️ トレーニング停止",
    "training_progress": "トレーニング進捗",
    "training_log": "トレーニングログ",
    "training_loss_title": "トレーニング損失",
    "step": "ステップ",
    "loss": "損失",
    "export_header": "LoRA をエクスポート",
    "export_path": "エクスポートパス",
    "export_lora_btn": "📦 LoRA をエクスポート",
    "export_status": "エクスポート状態",
    "stop_no_training": "ℹ トレーニングは実行されていません",
    "stop_stopping": "⏹️ トレーニングを停止中...",
    "latest_auto": "最新（自動）",
    "export_path_required": "❌ エクスポートパスを入力してください",
    "invalid_lora_output_dir": "❌ 無効なLoRA出力ディレクトリ",
    "no_checkpoints_found": "❌ チェックポイントが見つかりません",
    "no_trained_model_found": "❌ {path} にトレーニング済みモデルが見つかりません",
    "invalid_export_path": "❌ 無効なエクスポートパス",
    "lora_exported": "✅ LoRA を {path} にエクスポートしました",
    "export_failed": "❌ エクスポートに失敗しました: {error}",
    "lokr_output_dir_required": "⚠️ 最初にLoKr出力ディレクトリを入力してください",
    "lokr_no_checkpoints_use_latest": "ℹ チェックポイントが見つかりません。エクスポートには最新の利用可能な重みが使用されます",
    "lokr_no_exportable_checkpoints": "ℹ エクスポート可能なエポックチェックポイントが見つかりません",
    "lokr_found_checkpoints": "✅ {count} 個のLoKrチェックポイントが見つかりました",
    "lokr_selected_epoch_not_found": "❌ 選択したエポックが見つかりません: {chosen}。利用可能: {available}",
    "lokr_no_weights_selected_epoch": "❌ 選択したエポック {epoch} にLoKr重みが見つかりません",
    "lokr_no_weights_latest_checkpoint": "❌ 最新チェックポイント {checkpoint} にLoKr重みが見つかりません",
    "lokr_no_trained_weights_found": "❌ {path} にトレーニング済みLoKr重みが見つかりません",
    "lokr_exported": "✅ LoKr を {path} にエクスポートしました",
    "tab_train_lokr": "🚀 LoKr をトレーニング",
    "lokr_section_tensors": "前処理済みデータセット選択",
    "lokr_section_settings": "LoKr 設定",
    "lokr_tensor_selection_desc": "前処理されたテンソルファイル（`.pt` ファイル）を含むディレクトリを選択します。\nこれらは「データセットビルダー」タブの「前処理」ボタンを使用して作成されます。",
    "lokr_linear_dim": "LoKr Linear Dim",
    "lokr_linear_dim_info": "Rank (dimension) for LoKr adaptation matrices.",
    "lokr_linear_alpha": "LoKr Linear Alpha",
    "lokr_linear_alpha_info": "Scaling factor for LoKr (usually similar to dim).",
    "lokr_factor": "LoKr Factor",
    "lokr_factor_info": "Kronecker factor (-1 for auto).",
    "lokr_decompose_both": "Decompose Both Sides",
    "lokr_decompose_both_info": "When enabled, decomposes both left and right matrices.",
    "lokr_use_tucker": "Use Tucker Decomposition",
    "lokr_use_tucker_info": "Apply Tucker decomposition when applicable.",
    "lokr_use_scalar": "Use Scalar Gate",
    "lokr_use_scalar_info": "Enable scalar gating for LoKr weights.",
    "lokr_weight_decompose": "Weight Decompose (WD)",
    "lokr_weight_decompose_info": "Enable weight decomposition for more stable LoKr training.",
    "lokr_learning_rate_info": "LoKr commonly uses a higher LR than LoRA. Tune per dataset.",
    "lokr_output_dir_info": "トレーニング済み LoKr 重みの保存先ディレクトリ。",
    "start_lokr_training_btn": "🚀 トレーニング開始 LoKr",
    "lokr_training_loss_title": "LoKr トレーニング損失",
    "lokr_export_header": "LoKr をエクスポート",
    "export_lokr_btn": "📦 LoKr をエクスポート",
    "lokr_checkpoint_epoch": "Checkpoint Epoch",
    "lokr_checkpoint_epoch_info": "Select a specific epoch checkpoint to export, or keep Latest (auto).",
    "refresh_epochs_btn": "↻ 更新 Epochs"
  },
  "help": {
    "btn_label": "?",
    "close_label": "✕",
    "getting_started": "## はじめに\n\n1. 設定アコーディオンで**モデルを選択**（例：`acestep-v15-turbo`）\n2. Thinkingモードを使うなら**5Hz LMを選択**（推奨）\n3. **サービスを初期化**をクリックし、緑色のステータスを待つ\n4. **生成モード**を選択（Simpleから始めましょう）\n5. 音楽を説明して**音楽を生成**をクリック\n\n> **ヒント：** Turboモデルが最速です。「Think」を有効にするとよりスマートな生成が可能です。",
    "service_config": "## サービス設定\n\n### クイックセットアップ\n1. **メインモデルパス**を選択（turbo推奨）\n2. **5Hz LMモデルパス**を選択（GPUに応じて自動フィルタ）\n3. **バックエンド**を選択：`vllm`（高速、NVIDIA ≥8GB）または`pt`（汎用）\n4. Thinkingモード用に**5Hz LMを初期化**をチェック\n5. **サービスを初期化**をクリック\n\n### パフォーマンスのヒント\n- **Flash Attention**：高速推論（flash_attn必要）\n- **CPUオフロード**：GPU <20GBで自動有効\n- **INT8量子化**：VRAM削減、<20GBで自動有効\n- **コンパイル**：量子化に必要、デフォルト有効\n\n### LoRA\n- LoRAパスを設定 → 読み込み → 「LoRAを使用」を有効化\n- ⚠️ INT8量子化ではLoRAを使用できません",
    "generation_simple": "## Simpleモードチュートリアル\n\n**最適：** 最小限の操作で素早い音楽制作。\n\n### 手順\n1. 生成モードで**Simple**を選択\n2. 説明を入力、例：*「キャッチーなギターリフのあるアップビートなポップソング」*\n3. （オプション）ボーカル不要なら**インストゥルメンタル**をチェック\n4. （オプション）**ボーカル言語**を選択\n5. **サンプルを作成**をクリック — AIがキャプション、歌詞、メタデータを生成\n6. 生成されたコンテンツを確認・編集\n7. **音楽を生成**をクリック\n\n### ヒント\n- 🎲をクリックしてランダムなインスピレーション\n- 説明が具体的なほど結果が良くなる\n- BPM/キーを空にしてAIに任せる",
    "generation_custom": "## Customモードチュートリアル\n\n**最適：** すべてのパラメータを完全にコントロール。\n\n### 手順\n1. 生成モードで**Custom**を選択\n2. 詳細な**キャプション**を記述（スタイル、ジャンル、楽器、ムード）\n3. 構造タグ付きの**歌詞**を記述：`[Verse]`、`[Chorus]`、`[Bridge]`\n4. （オプション）スタイルガイダンス用に**リファレンスオーディオ**をアップロード\n5. **BPM**、**キー**、**Duration**を設定、または空で自動\n6. **フォーマット**をクリックしてLMで強化（オプション）\n7. **音楽を生成**をクリック\n\n### キャプションのコツ\n- 具体的に：*「リバーブの効いたギターとささやくようなボーカルのドリーミーなシューゲイザー」*\n- 含めるもの：ジャンル、楽器、ムード、テンポ感、ボーカルスタイル",
    "generation_remix": "## Remixモードチュートリアル\n\n**最適：** カバーバージョンやスタイル転送の作成。\n\n### 手順\n1. 生成モードで**Remix**を選択\n2. **ソースオーディオ**をアップロード（リミックスする曲）\n3. ターゲットスタイルを説明する**キャプション**を記述\n4. （オプション）**歌詞**を修正\n5. **Remix強度**（0.0–1.0）を調整：\n   - 高い = 元の構造に近い\n   - 低い = より創造的な自由\n6. **音楽を生成**をクリック\n\n### ヒント\n- 強度0.5から始めて調整\n- メロディ保持にはSFTモデルでカバー強度0.1–0.25を使用",
    "generation_repaint": "## Repaintモードチュートリアル\n\n**最適：** 生成された音楽の特定セクションを修正・再生成し、残りの部分を維持。\n\n### 手順\n1. 生成モードで**Repaint**を選択\n2. **ソースオーディオ**をアップロード\n3. **再描画開始**（秒）と**終了**（-1でファイル終端）を設定\n4. 再描画セクションの内容を説明する**キャプション**を記述\n5. **Repaint Mode**を選択し、必要に応じて**Repaint Strength**を調整\n6. **音楽を生成**をクリック\n\n### Repaint Mode（リペイントモード）\n非リペイント領域のモデルの扱い方を制御：\n\n- **Conservative**（Strength = 0）：ソースを最大限保持。毎ステップでソースlatentを注入し、長い境界クロスフェードを適用。シームレスな接続に最適。\n- **Balanced**（デフォルト）：Repaint Strengthスライダーで制御される一部の拡散ステップでソースlatentを注入。推奨の出発点。\n- **Aggressive**（Strength = 1）：ソース注入なし。純粋な拡散生成。最大の創造的自由度だが境界の一貫性は最低。\n\n### Repaint Strength（リペイント強度）\n**Balanced**モードでのみ有効。保持と再生成のバランスを制御：\n- **0** = 保守的動作（自動的にConservativeモードへ切替）\n- **0.5** = デフォルト — 最初の50%のステップでソースを注入\n- **1** = 積極的動作（自動的にAggressiveモードへ切替）\n\n### ヒント\n- 結果から「リペイントに送信」を使って素早くオーディオを読み込む\n- まずBalanced (0.5)で試し、結果に応じて調整\n- Strengthを下げると境界の接続性が向上、上げると創造的出力が増加",
    "generation_extract": "## Extractモード（Baseモデルのみ）\n\n**最適：** ステム分離 — ミックスから楽器を分離。\n\n### 手順\n1. 生成モードで**Extract**を選択\n2. **ソースオーディオ**をアップロード\n3. 抽出する**トラック名**を選択（例：vocals、drums、bass）\n4. **ステム抽出**をクリック\n\n### 利用可能なトラック\nvocals、backing_vocals、drums、bass、guitar、keyboard、percussion、strings、synth、fx、brass、woodwinds",
    "generation_lego": "## Legoモード（Baseモデルのみ）\n\n**最適：** 既存のオーディオに新しい楽器トラックを追加。\n\n### 手順\n1. 生成モードで**Lego**を選択\n2. **ソースオーディオ**をアップロード\n3. 追加する**トラック名**を選択\n4. トラックを説明する**キャプション**を記述\n5. **ステム追加**をクリック\n\n### ヒント\n- レイヤリングに最適：ギタートラックにドラムを追加、ボーカルにベースを追加\n- キャプションは新しいトラックの特徴のみを説明",
    "generation_complete": "## Completeモード（Baseモデルのみ）\n\n**最適：** 自動アレンジ — 欠落している楽器を補完。\n\n### 手順\n1. 生成モードで**Complete**を選択\n2. **ソースオーディオ**をアップロード（部分的なアレンジ）\n3. 追加する複数の**トラック名**を選択\n4. 希望するスタイルを説明する**キャプション**を記述\n5. **音楽を生成**をクリック",
    "generation_caption": "## 良いキャプションの書き方\n\n### 構造\n良いキャプションに含めるもの：\n- **ジャンル/スタイル**：pop、rock、jazz、electronic、classical…\n- **楽器**：guitar、piano、synth、drums、strings…\n- **ムード**：upbeat、melancholic、energetic、dreamy…\n- **ボーカルスタイル**：whispered、powerful、falsetto、rap…\n- **テンポ感**：fast、slow、moderate、driving…\n\n### 例\n- *「ディストーションギター、速いドラム、叫ぶボーカルのエネルギッシュなポップパンク」*\n- *「ウォーキングベース、ブラシドラム、メロウなピアノのスムースジャズトリオ」*\n- *「レイヤードシンセパッドとボーカルなしのアンビエントエレクトロニカ」*\n\n### ヒント\n- 詳細 = より良い結果\n- **フォーマット**ボタンでAIにキャプションを強化させる\n- 🎲でキャプション例を確認",
    "generation_lyrics": "## 歌詞の書き方\n\n### 構造タグ\nセクションタグで曲を構成：\n```\n[Verse 1]\nバースの歌詞をここに\n\n[Chorus]\nコーラスの歌詞をここに\n\n[Verse 2]\n2番のバース\n\n[Bridge]\nブリッジセクション\n\n[Outro]\nエンディングの歌詞\n```\n\n### ヒント\n- バースは4–8行\n- コーラスは記憶に残りやすく反復的に\n- ボーカルなしセクションには `[Instrumental]` や `[Interlude]` を使用\n- 純粋なインストゥルメンタルには**インストゥルメンタル**チェックボックス\n- 歌詞の言語に合わせて**ボーカル言語**を選択",
    "generation_advanced": "## 高度な設定\n\n### 主要パラメータ\n- **推論ステップ**：Turbo=8（デフォルト）、Base=最大200。turboでは多いステップ≠常に良い\n- **ガイダンススケール**：Baseモデルのみ。高い = プロンプトにより忠実\n- **シフト**：タイムステップシフト（1.0–5.0）。turboには3.0推奨\n- **シード**：特定のシードで再現可能な結果\n\n### LMパラメータ\n- **温度**（0.0–2.0）：高い = より創造的/ランダム\n- **CFGスケール**（1.0–3.0）：高い = プロンプトにより忠実\n- **Top-K / Top-P**：多様性のサンプリング戦略\n\n### Thinkモード\n**Think**を有効にして5Hz LMでスマートな生成：\n- セマンティックコードとメタデータを生成\n- LMの初期化が必要\n- **並列思考**：バッチを並列処理（高速）",
    "generation_retake": "## Retake（バリエーション生成）\n\n**用途：** プロンプトを変えずにシード固定のベースラインから滑らかなバリエーションを作る。\n\n### 原理\nRetakeは分散保存型のsin/cosブレンドで、新しい独立ノイズをシード固定ノイズに混ぜます：\n\n```\nmixed = cos(v · π/2) · base_noise + sin(v · π/2) · retake_noise\n```\n\n`cos² + sin² = 1`なのでノイズ分散は完全に保たれます。`v=0`はノーオペ（ベースラインと同一）、`v=1`はノイズを完全に置き換え。\n\n### 入力\n- **variance**（0–1）：ブレンド係数。\n  - `0` = ベースライン\n  - `0.05–0.15` = 微妙なバリエーション\n  - `0.3–0.5` = 中程度のドリフト\n  - `0.5+` = 強いドリフト\n- **seed**（整数、任意）：retakeノイズの独立シード。空 = 毎回ランダム。\n\n### ⚠️ 一貫性要件\nRetakeはベースラインと**他の全条件が一致**する場合のみ意味があります：\n\n- メイン**シード**を一致させる（random-seedチェックボックスをオフ）。\n- **Thinkはオフ**にするか、ベースラインのLMコードを再利用する。Thinkがオンだと毎回LMが新たにaudio codesを生成し、拡散モデルの入力起点が変わるため、Retakeのノイズ混合が「LMドリフト + ノイズドリフト」の混合になる。\n- 他のすべてのパラメータ（caption、lyrics、BPM、key、duration、guidance_scale、shift、sampler、DCWなど）もベースラインと一致させる。\n\n### Thinkモード結果でRetakeするワークフロー\n1. 対象結果の **📊 Score & LRC & LM Codes** アコーディオンを展開。\n2. **LM Codes** テキストをコピー。\n3. **LM Codes Hints** テキストボックスに貼り付け。\n4. **Thinkのチェックを外す** — 拡散モデルは貼り付けたコードをそのまま使う。\n5. メインシードをロックし、**Retake**を有効化、`retake_seed`を設定、`variance`を調整。\n\n### 参考\n[issue #1155](https://github.com/ace-step/ACE-Step-1.5/issues/1155)を参照。",
    "generation_edit": "## Edit（Flow-Editオーバーレイ）\n\n**用途：** 既存音声を新しい歌詞/スタイルへ滑らかに変形させつつ、元の構造を保つ。拡散scheduleに沿ったペア化速度場積分により実現。\n\n### 原理\nFlow-Editは速度差を積分します：\n\n```\nz_edit_{t-Δt} = z_edit_t + (V_tar(z_tar_t, c_tar) − V_src(z_src_t, c_src)) · Δt\n```\n\n`c_src`と`c_tar`はペアのテキスト/歌詞条件です。両分岐は同じ音声コンテキストを共有するため、V_deltaは**テキストのみ**の差を抽出し、`[n_min, n_max]`で`z_edit`に蓄積します。\n\n### 操作手順\n1. **Custom**（新編集に推奨）または**Remix**（cover の参考骨格を保ちたい場合）モードを選択。\n2. 編集対象音声を上部の **Source Audio** にアップロード。\n3. 上部の **Music Caption / Lyrics** に**元の**説明（source の状態を描写するもの、次のステップで V_src になる）を入力。\n4. **Edit** をチェックしてパネルを展開。\n5. **Copy current → source** ボタンで、上で入力した**元の**条件を下の source 欄にスナップショット（V_src 用）。\n6. 改めて上部の **Music Caption / Lyrics** を**ターゲット**（morph 後に欲しい結果）に書き換える — V_tar。\n7. 初回は `n_min=0`、`n_max=1`、`n_avg=1` のままで OK。\n8. **Optional Parameters** で `shift` を **3.0** に設定（全モデル推奨）。\n9. **Generate Music** をクリック。\n\n> ヒント：**Send to Remix** / **Send to Repaint** から遷移してきた場合、source 欄は前回の実行から自動入力済みなので、ステップ 3 と 5 はスキップして上部をターゲットに編集するだけで OK。\n\n### モード別の挙動\n- **Custom**（text2music）：バックエンドは**Thinkと LM Codes Hintsを自動的に無視**し、アップロードした Source Audio をVAE エンコードしてflow-editの起点とする。V_deltaは純粋にテキスト駆動。v1で最も安定。\n- **Remix**（cover / cover-nofsq）：cover タスク本来のLM-codesコンテキストを両分岐で共有。cover の参考骨格を保ちたい時に。\n- **Repaint / Extract / Lego**：v1では非対応 — バックエンドは警告ログを出して通常タスクとして実行（これらのtask shape向けペアCFGは後続PR）。\n\n### 入力\n- **source caption / lyrics**：**元の**音声を表現（V_src）。\n- 上部の **caption / lyrics**：望む**ターゲット**（V_tar）。\n- **n_min / n_max**：V_deltaを積分する拡散scheduleウィンドウ。`0 / 1` = 全schedule（推奨）。\n- **n_avg**：1ステップあたりのモンテカルロサンプル数（1 = 高速、高い = 安定だが遅い）。\n\n### モデル\n6つのDiTバリアント全てに対応。Turbo / XL-turboはCFG-distilledなのでバックエンドが自動的に`guidance_scale=1.0`に強制。Turboは8推論ステップで十分、`base / sft / xl_base / xl_sft`は≥60ステップ推奨。\n\n### ヒント\n- `Send to Remix` / `Send to Repaint` は前回の実行のプロンプトを source欄に自動入力するため、繰り返し試行しやすい。\n- 推奨の `shift=3.0` はACE-Step 1.0デフォルトのflow-edit scheduleと一致し、経験上6つのバリアント全てで安定。\n\n### 参考\n- Kulikov, V. et al. *FlowEdit: Inversion-Free Text-Based Editing Using Pre-Trained Flow Models.* CVPR 2025. [arXiv:2412.08629](https://arxiv.org/abs/2412.08629)\n- [Issue #1156](https://github.com/ace-step/ACE-Step-1.5/issues/1156)。",
    "results": "## 結果セクション\n\n### サンプルごとのコントロール\n- **オーディオプレーヤー**：再生、一時停止、ダウンロード\n- **リミックス/リペイントに送信**：この結果をソースとして更に編集\n- **保存**：オーディオ + メタデータをJSONでエクスポート\n- **スコア**：品質スコアを計算（パープレキシティベース）\n- **LRC**：歌詞タイムスタンプを生成\n\n### バッチナビゲーション\n- **◀ 前へ** / **次へ ▶** でバッチを閲覧\n- **自動生成**を有効にして次のバッチを自動生成\n- **これらの設定をUIに適用**をクリックして良い結果のパラメータを再利用\n\n### ヒント\n- 2–4個のバリエーション（バッチサイズ）を生成して最良を選択\n- スコアで客観的に結果を比較\n- 良い結果を参考用に保存",
    "training_dataset": "## データセットビルダーチュートリアル\n\n### ステップ1：読み込みまたはスキャン\n- **読み込み**：既存のデータセットJSONパスを入力 → 読み込みをクリック\n- **スキャン**：オーディオフォルダパスを入力 → スキャンをクリック\n  - 対応：wav、mp3、flac、ogg、opus\n\n### ステップ2：設定\n- **データセット名**を設定\n- ボーカルなしなら**すべてインストゥルメンタル**をチェック\n- **カスタムアクティベーションタグ**を設定（LoRAのユニークなトリガーワード）\n- **タグの位置**を選択：前置、後置、または置換\n\n### ステップ3：自動ラベル\n- **一括自動ラベル**をクリックしてキャプション、BPM、キー、拍子を生成\n- **メタをスキップ**でBPM/キー/拍子をスキップ（高速）\n\n### ステップ4：プレビューと編集\n- スライダーでサンプルを閲覧\n- キャプション、歌詞、BPM、キーを手動編集\n- サンプルごとに**変更を保存**をクリック\n\n### ステップ5：保存\n- 保存パスを入力 → **データセットを保存**をクリック\n\n### ステップ6：前処理\n- テンソル出力ディレクトリを設定 → **前処理**をクリック\n- オーディオ/テキストをトレーニング用テンソルにエンコード\n\n### 📖 ドキュメント\n- [LoRA トレーニングチュートリアル](https://github.com/ACE-Step/ACE-Step-1.5/blob/main/docs/ja/LoRA_Training_Tutorial.md) — 完全なステップバイステップガイド\n- [Side-Step 高度なトレーニング](https://github.com/ACE-Step/ACE-Step-1.5/blob/main/docs/sidestep/Getting%20Started.md) — CLIベースのトレーニング、高度な機能付き",
    "training_train": "## LoRAトレーニングチュートリアル\n\n### セットアップ\n1. **前処理済みテンソルディレクトリ**を入力 → **データセットを読み込み**をクリック\n2. LoRAを設定：\n   - **ランク** (r)：デフォルト64。高い = より大きな容量\n   - **Alpha**：通常はランクの2倍（128）\n   - **Dropout**：正則化に0.1\n\n### トレーニング\n3. **学習率**を設定（1e-4から開始）\n4. **最大エポック数**を設定（デフォルト500）\n5. **トレーニング開始**をクリック\n6. 損失曲線を監視 — 時間とともに減少するはず\n7. 満足したら**トレーニング停止**をクリック\n\n### エクスポート\n8. エクスポートパスを入力 → **LoRAをエクスポート**をクリック\n9. 設定で読み込み：LoRAパスを設定 → LoRAを読み込み → LoRAを使用を有効化\n\n### 🚀 LoKr で高速トレーニング\nLoKr はトレーニング効率を大幅に向上させました。以前は1時間かかっていたトレーニングが、わずか5分で完了します——**10倍以上の高速化**。コンシューマーGPUでのトレーニングに最適です。**Train LoKr** タブに切り替えて始めましょう。\n\n### ヒント\n- VRAMが限られている場合は小さいバッチサイズ（1）を使用\n- 勾配累積で実効バッチサイズを増加\n- チェックポイントを頻繁に保存（200エポックごと）\n\n### 📖 ドキュメント\n- [LoRA トレーニングチュートリアル](https://github.com/ACE-Step/ACE-Step-1.5/blob/main/docs/ja/LoRA_Training_Tutorial.md) — 完全なステップバイステップガイド\n- [Side-Step 高度なトレーニング](https://github.com/ACE-Step/ACE-Step-1.5/blob/main/docs/sidestep/Getting%20Started.md) — CLIトレーニング、修正タイムステップ、LoKR、VRAM最適化",
    "training_lokr": "## 🚀 LoKr トレーニングチュートリアル\n\nLoKr（低ランククロネッカー積）はトレーニング効率を大幅に向上させました。LoRAで1時間かかっていたトレーニングが、わずか5分で完了します——**10倍以上の高速化**。コンシューマーGPUでのトレーニングに最適です。\n\n### セットアップ\n1. **前処理済みテンソルディレクトリ**を入力 → **データセットを読み込み**をクリック\n2. LoKrを設定：\n   - **Linear Dim**：デフォルト64（LoRAのランクに相当）\n   - **Linear Alpha**：デフォルト128（スケーリング係数）\n   - **Weight Decompose (DoRA)**：デフォルト有効、品質向上\n\n### トレーニング\n3. **学習率**を設定（LoKrは通常より高いLRを使用、1e-3から開始）\n4. **最大エポック数**を設定（デフォルト500）\n5. **LoKrトレーニング開始**をクリック\n6. 損失曲線を監視 — 時間とともに減少するはず\n7. 満足したら**トレーニング停止**をクリック\n\n### エクスポート\n8. エクスポートパスを入力 → **LoKrをエクスポート**をクリック\n9. 設定で読み込み：LoRAパスを設定 → LoRAを読み込み → LoRAを使用を有効化\n\n### LoKr vs LoRA 比較\n| | LoKr | LoRA |\n|---|---|---|\n| 速度 | ⚡ 約10倍高速 | 遅い |\n| VRAM | 少ない | 多い |\n| 品質 | 同等 | 基準 |\n| 最適 | コンシューマーGPU、高速反復 | 最高忠実度 |\n\n### ヒント\n- LoKrはクロネッカー分解で極限の効率を実現\n- **DoRA**（Weight Decompose）を有効にして品質向上\n- **Tucker分解**でさらなる圧縮が可能\n- 高い学習率（1e-3）がLoRAの典型的な1e-4より効果的",
    "training_export": "## トレーニング済みLoRAの使用\n\n### エクスポート\n1. トレーニング後、エクスポートパスを入力\n2. **LoRAをエクスポート**をクリック\n\n### 読み込みと使用\n1. 設定で**LoRAパス**をエクスポートディレクトリに設定\n2. **LoRAを読み込み**をクリック\n3. **LoRAを使用**チェックボックスを有効化\n4. 音楽を生成 — LoRAスタイルが適用されます\n\n### ヒント\n- キャプションに**カスタムアクティベーションタグ**を使用してスタイルをトリガー\n- ⚠️ LoRAはINT8量子化と互換性がありません\n- 異なるLoRA間でアンロードと切り替えが可能"
  },
  "gen": {
    "enable_normalization": "ノーマライズを有効にする",
    "enable_normalization_info": "クリッピングを防ぎ、ラウドネスを一定にするために、オーディオ音量をターゲットピークレベルに正規化します。",
    "normalization_db": "ターゲットピーク (dB)",
    "normalization_db_info": "デシベル単位のターゲットピークレベル。-1.0 dBが標準的な安全ピークです。-0.1 dBが最大です。",
    "advanced_dit_params": "DiT 詳細パラメータ",
    "latent_shift": "Latent シフト",
    "latent_shift_info": "VAEデコード前にDiT latentに適用するシフト量。デフォルト0（シフトなし）。負の値（例: -0.04）でクリッピングを軽減できます。",
    "latent_rescale": "Latent リスケール",
    "latent_rescale_info": "VAEデコード前にDiT latentに適用するスケール係数。デフォルト1.0（スケーリングなし）。1.0未満の値（例: 0.91）でクリッピングを軽減できます。"
  }
}
