docs / I18N.ja.md

RAG-Flex 国際化システム

English | 繁體中文

🌍 二層言語メカニズム

RAG-Flex は二層言語メカニズムを採用し、真のマルチリンガル体験を提供します:

1️⃣ 設定 UI 言語(システム自動検出)

システム言語によって決定

  • 🔍 自動検出: プラグイン起動時にシステム言語を自動検出
  • 🎨 UI 表示: すべての設定ラベルは検出された言語を使用
  • 🔄 切り替え方法: OS の言語設定を変更してからプラグインを再起動

例:

  • システム言語が繁体中国語 → 設定 UI が中国語で表示
  • システム言語が英語 → 設定 UI が英語で表示

2️⃣ メッセージ言語(ユーザー選択可能)

設定でユーザーが選択

  • ⚙️ 設定可能: プラグイン設定で「メッセージ言語」を選択
  • 💬 適用範囲: すべてのランタイムステータスメッセージ、エラーメッセージ、LLM システムプロンプト
  • 🔄 即座に反映: 新しい操作に即座に適用

例:

  • システムは英語だが、「繁體中文 (zh-TW)」を選択
    • 設定 UI: 英語 ✅
    • ランタイムメッセージ: 繁体中国語 ✅

📊 言語スコープ比較

コンポーネント使用言語切り替え方法適用タイミング
設定 UI ラベルシステム言語システム言語を変更 + プラグイン再起動プラグイン起動時
メッセージ言語セレクターシステム言語システム言語を変更 + プラグイン再起動プラグイン起動時
その他の設定ラベルシステム言語システム言語を変更 + プラグイン再起動プラグイン起動時
ステータスメッセージメッセージ言語設定で選択即座に
エラーメッセージメッセージ言語設定で選択即座に
LLM システムプロンプトメッセージ言語設定で選択即座に

🎯 ユースケース

シナリオ 1: 完全な単一言語環境

状況: システムが繁体中国語で、完全な中国語体験が必要

設定:

  • ✅ システム言語: 繁体中国語
  • ✅ メッセージ言語: 「繁體中文 (zh-TW)」を選択

結果:

  • 設定 UI: 繁体中国語
  • ランタイムメッセージ: 繁体中国語

シナリオ 2: 混合言語環境

状況: システムは英語だが、中国語メッセージが必要

設定:

  • ✅ システム言語: 英語
  • ✅ メッセージ言語: 「繁體中文 (zh-TW)」を選択

結果:

  • 設定 UI: 英語
  • ランタイムメッセージ: 繁体中国語

シナリオ 3: 学習モード

状況: 技術用語を学ぶために日英併記が必要

設定:

  • ✅ システム言語: 任意
  • ✅ メッセージ言語: 異なる言語表現を観察するために切り替え

結果:

  • いつでもメッセージ言語を切り替えて比較学習可能

🔧 技術詳細

なぜ設定 UI を動的に切り替えられないのか?

これは LM Studio SDK の制限であり、設計上の欠陥ではありません:

// プラグインのライフサイクル
export async function main(context: PluginContext) {
    // 1. システム言語を検出
    const systemLang = detectSystemLanguage();

    // 2. 設定 UI を生成(システム言語を使用)
    const config = createDynamicConfig(models, systemLang);

    // 3. LM Studio に登録(設定 UI はここで固定される)
    context.withConfigSchematics(config);
    //                          ↑
    //                    これ以降変更不可
}

SDK の制限:

  • withConfigSchematics() は一度しか呼び出せない
  • 登録後に設定 UI を動的に更新できない
  • 「設定 UI の再レンダリング」用の API が提供されていない

私たちの解決策:

  • ✅ 設定 UI: システム言語に従う(真のローカライゼーション)
  • ✅ ランタイムメッセージ: ユーザー選択可能(柔軟性)
  • ✅ 組み合わせ: 最適なユーザー体験を実現

🌐 システム言語検出メカニズム

検出順序

  • 環境変数 LANG(最も一般的)
  • 環境変数 LANGUAGE(フォールバック)
  • 環境変数 LC_ALL(ロケールオーバーライド)

検出ロジック

export function detectSystemLanguage(): SupportedLanguage {
    const envLang = process.env.LANG ||
                    process.env.LANGUAGE ||
                    process.env.LC_ALL || "";

    // 繁体中国語(台湾、香港、マカオ)
    if (envLang.includes("zh_TW") ||
        envLang.includes("zh-TW") ||
        envLang.includes("zh_HK")) {
        return "zh-TW";
    }

    // 日本語
    if (envLang.includes("ja") ||
        envLang.includes("jp")) {
        return "ja";
    }

    // 簡体中国語(一時的に繁体中国語にマップ、将来対応予定)
    if (envLang.includes("zh_CN") ||
        envLang.includes("zh-CN")) {
        return "zh-TW";  // TODO: zh-CN 対応を追加
    }

    // デフォルトは英語
    return "en";
}

🔄 システム言語の変更方法

Windows

  • 設定時刻と言語言語
  • 言語を追加またはデフォルトに設定
  • アプリケーションを再起動

環境変数設定(高度):

set LANG=zh_TW.UTF-8
set LANG=en_US.UTF-8
set LANG=ja_JP.UTF-8

macOS

  • システム環境設定言語と地域
  • 優先言語を追加または並べ替え
  • アプリケーションを再起動

ターミナル設定:

export LANG=zh_TW.UTF-8
export LANG=en_US.UTF-8
export LANG=ja_JP.UTF-8

Linux

一時設定(現在のセッション):

export LANG=ja_JP.UTF-8
lms dev

永続設定:

# ~/.bashrc または ~/.zshrc を編集
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc

📝 メッセージ言語設定

LM Studio での設定

  • LM Studio を開く
  • プラグイン設定 に移動
  • RAG-Flex プラグインを探す
  • 最初の設定項目:
    • 英語システム: "Message Language"
    • 中国語システム: "訊息語言"
    • 日本語システム: "メッセージ言語"
  • 希望する言語を選択:
    • English (en)
    • 繁體中文 (zh-TW)
    • 日本語 (ja)

✅ 言語切り替えのテスト

設定 UI 言語のテスト

  • システム言語を切り替え(Windows/macOS/Linux)
  • プラグインを再起動:
    lms dev
    
  • 設定 UI を確認: すべてのラベルがシステム言語を使用しているはず

メッセージ言語のテスト

  • LM Studio で: 異なる「メッセージ言語」を選択
  • テストファイルをアップロード
  • ステータスメッセージを観察:

English (en) を選択:

Loading embedding model: bge-m3...
Retrieving relevant citations...
Retrieved 5 citations (threshold: 0.4)

繁體中文 (zh-TW) を選択:

載入 Embedding 模型: bge-m3...
正在檢索相關片段...
成功檢索到 5 個相關片段 (門檻: 0.4)

日本語 (ja) を選択:

埋め込みモデルを読み込み中: bge-m3...
ユーザーのクエリに関連する引用を取得中...
5 件の関連引用を取得しました (しきい値: 0.4)

🎓 ベストプラクティス

一般ユーザー向け

推奨設定:

  • システム言語 = メッセージ言語
  • 両方を一致させて統一された体験を得る

バイリンガルユーザー向け

推奨設定:

  • システム言語 = 主な作業言語
  • メッセージ言語 = 現在のタスクに応じて柔軟に切り替え

利点:

  • 安定した設定 UI
  • 必要に応じてランタイムメッセージを切り替え可能
  • 日英の技術用語を並べて学習

開発者向け

テストの推奨事項:

  • すべてのシステム言語環境をテスト
  • すべてのメッセージ言語オプションをテスト
  • 設定 UI が正しく表示されることを確認
  • ランタイムメッセージが正しく切り替わることを確認

🆘 よくある質問

Q: 「メッセージ言語」を切り替えても設定 UI が変わらないのはなぜ?

A: これは設計上の動作であり、バグではありません。

  • 設定 UI: システム言語によって決定(プラグイン起動時に固定)
  • ランタイムメッセージ: メッセージ言語によって決定(いつでも切り替え可能)

設定 UI の言語を変更するには、システム言語を変更してプラグインを再起動してください。


Q: 完全な中国語体験を得るには?

A: 2 ステップ設定:

  • システム言語: 繁体中国語に設定
  • メッセージ言語: 「繁體中文 (zh-TW)」を選択

プラグインを再起動後、すべてのコンテンツが中国語になります。


Q: 簡体中国語はサポートされていますか?

A: まだサポートされていませんが、将来のバージョンで計画されています。

  • 現在サポート: 英語、繁体中国語、日本語
  • 計画中のサポート: 簡体中国語、韓国語

簡体中国語の翻訳を貢献するには、src/locales/README.md を参照してください。


Q: 他の言語を追加できますか?

A: はい!以下を参照してください:

  • 詳細ガイド: src/locales/README.md
  • 繁体中国語: src/locales/README.zh-TW.md
  • 日本語: src/locales/README.ja.md

新しい言語の追加は 5 ステップだけです。貢献を歓迎します!


📚 関連ドキュメント


💡 設計哲学

この二層言語メカニズムは、以下の原則に基づいて設計されています:

  • システム設定を尊重: 設定 UI はシステム言語に従う
  • 柔軟性を提供: ランタイムメッセージはユーザー選択可能
  • 真のローカライゼーション: 混合言語インターフェースを避ける
  • ユーザーフレンドリー: 各設定の役割を明確に説明

🙏 謝辞

優れたプラグイン SDK を提供し、このマルチリンガルシステムの構築を可能にしてくれた LM Studio チームに感謝します。


最終更新: 2026-01-03 バージョン: v1.1.0