ローマ字変換
ローマ字で入力したチャットメッセージを自動的に日本語に変換します.この機能を利用するには config.yml で features.japaneseConversion.enabled を true に設定してください.
変換の仕組み
変換は2段階で行われます.
- ローマ字 → ひらがな: プラグイン内蔵の Trie ベースの変換エンジンでローマ字をひらがなに変換します
- ひらがな → 漢字/カナ: 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 より大きくしても実質的な効果はありません.