Railsの国際化(i18n)でyes / noが正しく翻訳されない件
Ruby
公開日 : 2023/5/3
概要
Ruby on RailsでYAMLファイルに日本語化のための記述をしていたが、yes / noの部分を「はい」/「いいえ」に翻訳したかったが、翻訳されないまま出力された。
問題が発生していたYAMLファイル
一部抜粋
ja.yml
ja:
yes: はい
no: いいえという具合にlocaleのファイルを記述していた。yesの部分は「はい」と翻訳されてほしかったのだが、「Yes」と翻訳される。
調べてみるとYAML記法には、キーとして設定するためにエスケープが必要な単語があるようでした。
エスケープが必要なキーは以下のもの
- true
- false
- on
- off
- yes
- no
参考
YAMLファイルの修正
上記を踏まえ、日本語化用のYAMLファイルを修正すると
ja.yml
ja:
"yes": はい
"no": いいえとしてあげると、yesやnoの単語がエスケープされ、正しく翻訳できる。