--- layout: doc --- # ローマ字変換 ローマ字で入力したチャットメッセージを自動的に日本語に変換します.この機能を利用するには `config.yml` で `features.japaneseConversion.enabled` を `true` に設定してください. ## 変換の仕組み 変換は2段階で行われます. 1. **ローマ字 → ひらがな**: プラグイン内蔵の Trie ベースの変換エンジンでローマ字をひらがなに変換します 2. **ひらがな → 漢字/カナ**: Google IME API を使用してひらがなを自然な日本語に変換します ### 変換例 ``` 入力: konnichiha sekai 変換1: こんにちは せかい 変換2: こんにちは 世界 送信: konnichiha sekai §e(こんにちは 世界) ``` 入力した文字列は**置き換えられません**.入力したそのままの文字列を残し,その後ろに変換結果を括弧付きで併記するため,受信側には両方が表示されます. ## 変換対象 - 通常チャット - ダイレクトメッセージ (`/tell`, `/reply`) - チャンネルチャット 入力が有効なローマ字でない場合 (英単語などが含まれる場合),変換は行われずそのまま送信されます. ## プレイヤー設定 プレイヤーは個別に変換のオン/オフを切り替えられます. ``` /lc settings japanese on # 変換を有効化 /lc settings japanese off # 変換を無効化 ``` ## キャッシュ 変換結果は単語単位でキャッシュされ,同じ単語の再変換時には API を呼び出さずにキャッシュから取得します.キャッシュは JSON ファイルとしてディスクに定期保存されます. | 設定キー | デフォルト | 説明 | |----------|-----------|------| | `cache.maxEntries` | `500` | キャッシュの最大エントリ数 | | `cache.saveIntervalSeconds` | `300` | ディスク保存の間隔 (秒) | | `cache.filePath` | `"conversion_cache.json"` | キャッシュファイルのパス | キャッシュが上限に達すると,エントリの10%が削除されます.どのエントリが削除されるかは規定されていません.メモリ上のキャッシュは順序を持たないため,古い順ではなく実質的に任意のエントリが対象になります. ## API 設定 Google IME API への接続に関する設定です. | 設定キー | デフォルト | 説明 | |----------|-----------|------| | `api.timeout` | `3000` | API リクエスト1回あたりのタイムアウト (ミリ秒) | API がタイムアウトまたは失敗した場合,ひらがなのまま送信されます. > [!WARNING] > `api.timeout` とは別に,1メッセージの変換処理全体に **1000ミリ秒**の上限があります.この上限に達すると変換は中断され,入力したそのままの文字列が (何も併記されずに) 送信されます. > > 変換全体の上限が `api.timeout` のデフォルト値より短いため,`api.timeout` を `1000` より大きくしても実質的な効果はありません.