Skip to content

ローマ字変換

ローマ字で入力したチャットメッセージを自動的に日本語に変換します.この機能を利用するには config.ymlfeatures.japaneseConversion.enabledtrue に設定してください.

変換の仕組み

変換は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.maxEntries500キャッシュの最大エントリ数
cache.saveIntervalSeconds300ディスク保存の間隔 (秒)
cache.filePath"conversion_cache.json"キャッシュファイルのパス

キャッシュが上限に達すると,エントリの10%が削除されます.どのエントリが削除されるかは規定されていません.メモリ上のキャッシュは順序を持たないため,古い順ではなく実質的に任意のエントリが対象になります.

API 設定

Google IME API への接続に関する設定です.

設定キーデフォルト説明
api.timeout3000API リクエスト1回あたりのタイムアウト (ミリ秒)

API がタイムアウトまたは失敗した場合,ひらがなのまま送信されます.

WARNING

api.timeout とは別に,1メッセージの変換処理全体に 1000ミリ秒の上限があります.この上限に達すると変換は中断され,入力したそのままの文字列が (何も併記されずに) 送信されます.

変換全体の上限が api.timeout のデフォルト値より短いため,api.timeout1000 より大きくしても実質的な効果はありません.