# ローマ字変換 LunaticChat では、日本語のテキストをローマ字に変換する機能が提供されています. ## 設定を有効化する ローマ字変換機能を有効にするには `features.japaneseConversion.enabled` の値を `true` にする必要があります. ```yaml{4} features: # ... japaneseConversion: enabled: true ``` ## 変換の仕組み LunaticChat はプレイヤーからのテキストを以下の手順で変換を行います. 1. プレイヤーからのテキストがローマ字で構成されているかを検証する 2. メモリキャッシュから該当のフレーズがあるかどうかを調べる 1. ここで該当フレーズがヒットした場合はそれをサーバーに返す 3. メモリキャッシュに存在していない場合は,ローマ字からひらがなに変換する 4. 変換した文字列を Google IME API へ送り,人が読める形に変換する 5. メモリキャッシュに保存し,それをサーバーに返す ``` ┌───────────────────────────────────────────────────┐ │ User Input │ │ (Romanji Text) │ └─────────────────────┬─────────────────────────────┘ │ ▼ ┌───────────────────────────────────────────────────┐ │ RomanjiConverter │ │ ┌───────────────────────────────────────────┐ │ │ │ 1. Check Memory Cache │ │ │ │ └─→ Hit: Return immediately │ │ │ │ │ │ │ │ 2. Call Google IME API │ │ │ │ │ │ │ │ 3. Store in Memory Cache │ │ │ │ │ │ │ │ 4. Queue for Disk Save (async) │ │ │ └───────────────────────────────────────────┘ │ └─────────────────────┬─────────────────────────────┘ │ ▼ ┌───────────────────────────────────────────────────┐ │ Converted Text │ │ (Japanese Text) │ └───────────────────────────────────────────────────┘ ``` ::: tip ファイルへの保存 メモリキャッシュの内容は負荷にならないよう,設定した秒毎にファイルキャッシュへ自動でセーブします. ::: ##