Итак, я хотел предварительно загрузить правила транслитерации для многих локалей, которые у меня есть. Я включил следующий код в одном из моих Инициализаторы файлов (приложение/Config/Инициализаторы/locales.rb):Конфигурация правил транслитерации Rails I18n
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
, то для некоторой причины pescy буква «a» находится в состоянии ommited (Как если бы не было буквы «a» в первую очередь).
ПОЧЕМУ?
Может кто-нибудь помочь?
Мне нужно было отобразить кириллицу «а» на латинский (?) «А». – Dmitri
ОК, так что в основном с тем, что один фиксированный (я думаю), почему я не могу использовать инициализаторы для загрузки правил транслитерации? – Dmitri