Использование более коротких ключей i18n (например, t '.submit_button'
) в представлениях Rails упрощает их ввод, но действительно ли это хорошо? Когда позже вы решите реорганизовать свои представления и частичные данные, вам необходимо запомнить соответствующие записи локализации. Разве не было бы более надежным назвать их по их деловому значению и всегда указывать полное имя ключа?
Является ли ленивый поиск в Rails I18n плохая практика?
Ответ 1
Хорошо, я использую смесь.; -)
Для таких вещей, как "да", "нет", "отправить", "отменить", я использую пространство имен, называемое "по умолчанию", поэтому я всегда использую его как t 'defaults.cancel'
. Это также может касаться вещи "submit_button", о которых вы говорили выше.
Для моих конкретных взглядов я решил использовать функцию ленивого поиска.
Если вам нужны ключи I18n для определенных просмотров, вам нужно решить, что подходит вам лучше всего:
-
Если вы не против поиска в файле yaml для ключей I18n и измените их, если вы измените представление. Преимущество состоит в том, что вы сохраните несколько символов для каждого вызова
I18n.t
в вашем представлении. -
Но если вы часто меняете имена просмотров (не знаете, почему вы должны должны сделать это:)), тогда вам может быть лучше использовать описанный вами способ.
Как я уже сказал, я предпочитаю первый вариант, поскольку он более удобен для меня.
Ответ 2
в качестве боковой заметки;
если вам нужно проверить, как Rails разрешает эти ленивые ключи поиска I18n, и где Rails ищет их, это может помочь вам отладить:
http://cache.preserve.io/8vupog4s/index.html (оригинал был http://unixgods.org/~tilo/Rails/where_is_Rails_trying_to_lookup_L10N_strings.html)