2012-01-05 2 views
0

В просмотра файла:Какое наилучшее использование ярлыка перевода в Rails 3?

t("example") 

или

t(:example) 
+0

Как вы определяете 'best'? строки хороши, потому что они могут содержать периоды, в отличие от символов. Какой символ вы будете часто использовать с помощником перевода, например: 't ('foo.bar.baz')' –

ответ

0

Передача строки может быть более лаконичным. Учитывая перевода файлов, таких как:

en: 
    settings: 
    title: 'Settings' 
    flash_messages: 
     not_saved: 'Setting not saved successfully' 

Вы можете получить доступ к флэш-сообщения, используя строку или символы:

# String 
t('settings.flash_messages.not_saved') 
# Symbol 
t(:not_saved, :scope => [:settings, :flash_messages]) 

Если значение :scope представляет собой массив, содержащий символы размещаются сверху нижней части " дерево пространств имен ", если хотите.

Оба метода приводят к одному и тому же результату, но один, используя строку, возможно, проще в использовании и более читабельным.

Интуитивно я бы сказал, что метод символов может быть быстрее (так как может быть какое-то регулярное выражение с строкой, что обычно дорого), но я не мог сказать вам наверняка.

Смежные вопросы