В конечном счете, я хотел бы использовать Inflector.parameterize для создания слагов для заголовка статьи, в котором есть набор символов в юникоде (например, "ḤellẒ no" => "hellz-no"). Согласно http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-transliterate говорится, что они должны быть помещены в файл locales / en.yml.
# Store the transliterations in locales/en.yml
i18n:
transliterate:
rule:
Ḥ: "h"
Ẓ: "z"
Я пробовал это, но следующее не работает:
"ḤellẒ no".parameterize
# => "ell-no"
Однако, когда я изменяю его в Ruby, как предполагает второй абзац, он работает.
I18n.backend.store_translations(:en, :i18n => {
:transliterate => {
:rule => {
"Ḥ" => "H",
"Ẓ" => "Z"
}
}
})
"ḤellẒ no".parameterize
# => "hellz-no"
Полагаю, мне хотелось бы знать, почему размещение пользовательских транслитераций в locales / en.yml не работает.
И даже если кто-то ответит на это, будучи нубом Rails, я также хотел бы знать, куда обычно помещают код, такой как второй блок, для ручной установки I18n.backend.store_translations?