docs/dicebot_sort_key.md
# ゲームシステム名の読みがなの設定方法
BCDice Ver2.04.00から、各ダイスボットにゲームシステム名の読みがなを設定することが必要となりました。
これは、ダイスボットを自然な順序で並び替えることを目的としています。
この文書では、ゲームシステム名の読みがなの設定方法について説明します。
## 読みがなを定義する場所
ダイスボットのクラスに `SORT_KEY` という定数を作り、読み仮名を定義します。
```ruby
class KariDice < DiceBot
# ...
# ゲームシステム名の読みがな
SORT_KEY = 'かりたいす'
# ...
end
```
## 読みがな設定の指針
以下のルールを参考にして、読みがなを設定してください。
* JIS X 4061(後述)に沿って表記する。
* 副題に類する部分は省略する。
* 例:心衝想機TRPGアルトレイズ → あるとれいす
* 発音する記号は発音に合わせて表記する。
* 例:ダンジョンズ&ドラゴンズ → たんしよんす**あんと**とらこんす
* 空白や発音しない記号(中点 `・` など)は省略する。
* 例:ダイス・オブ・ザ・デッド → たいすおふさてつと
* 例:セブン=フォートレス メビウス → せふんふおおとれすめひうす
* 例外:小数点 `.` は省略しない。
* 例:ソードワールド2.0 → そおとわあると2.0
* 略語として使われているアルファベットは、半角アルファベットで表記する
* 例:艦これRPG → かんこれRPG
* 例:剣の街の異邦人TRPG → つるきのまちのいほうしんTRPG
* 数は半角アラビア数字(`0`、`1`、…、`9`)で表記する。
* 版数はアラビア数字のみで代表し、表記する。
* 例:シャドウラン第4版 → `しやとうらん4`
* 日本語以外のゲームシステムの場合、`国際化:[言語名英語]:[システム名訳]` の形式とする。
* 例:克蘇魯神話(中国語繁体字版クトゥルフ神話TRPG) → 国際化:Chinese Traditional:克蘇魯神話
### JIS X 4061とは
JIS X 4061とは、日本語の文字列の並び替えの順序についての規格です。
ここでは、読みがなの導出においてよく使われるルールのみを簡単に説明します。
詳しくは、Wikipedia「[日本語文字列照合順番](https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E8%AA%9E%E6%96%87%E5%AD%97%E5%88%97%E7%85%A7%E5%90%88%E9%A0%86%E7%95%AA)」を参照してください。
1. 読みがなをひらがなで書く。
2. 清音文字でない文字を清音文字に置き換える。
* 小書き文字:「ぁ」「っ」「ゃ」など → 「あ」「つ」「や」など
* 濁点付き文字:「が」「ば」など → 「か」「は」など
* 半濁点付き文字:「ぱ」「ぴ」など → 「は」「ひ」など
3. 長音符「ー」を、直前の母音で置き換える。
* 前の文字が「あ」「か」「さ」「た」「な」「は」「ま」「や」「ら」「わ」→「あ」
* 前の文字が「い」「き」「し」「ち」「に」「ひ」「み」「り」「ゐ」→「い」
* 前の文字が「う」「く」「す」「つ」「ぬ」「ふ」「む」「ゆ」「る」→「う」
* 前の文字が「え」「け」「せ」「て」「ね」「へ」「め」「れ」「ゑ」→「え」
* 前の文字が「お」「こ」「そ」「と」「の」「ほ」「も」「よ」「ろ」「を」→「お」
* 例外:前の文字が「ん」→「ん」
以下に読みがなの導出例を示します。
* パラサイトブラッド → はらさいとふらつと
* 手順1:ぱらさいとぶらっど
* 手順2:はらさいとふらつと
* エースキラージーン → ええすきらあしいん
* 手順1:えーすきらーじーん
* 手順2:えーすきらーしーん
* 手順3:ええすきらあしいん