そこで、私が持っている多くのロケールの音訳規則をプリロードしたいと思いました。初期化ファイル (app/config/initializers/locales.rb) の 1 つに次のコードを含めました。
I18n.backend.store_translations(:en, :i18n => {
:transliterate => {
:rule => {
"а" => "a",
"б" => "b"
}
}
})
しかし、音訳をしようとするとI18n.transliterate("Some Russian text")
、「?」の束が表示されます。つまり、音訳者にはルールがないため、音訳の作成方法がわかりません。
しかし!
次のようにロケールファイル (en.yml) で定義されたそれら (ルール) がある場合:
en:
i18n:
transliterate:
rule:
а: "а"
б: "b"
その後、動作します- 質問がありますが、どのように動作するかについてです。私が指定I18n.transliterate("абвгд")
した場合 - はうまくいきますが、私が指定した場合"абвгд".parameterize
、何らかの厄介な理由で、文字「a」が省略されています (最初に「a」文字がなかった場合のように)。
なぜ ?
誰かが助けることができますか?