2013-05-30 5 views
0

Если я простоRails I18n автоматического перевода базы на ключ

= t('.foo') 

в файл представления, и я не имею это перевести в локали, просто заглавной ключ и результат будет Foo

Но почему это не происходит в других местах, таких как входные атрибуты? В этом примере показать перевести недостающую ошибку:

= f.submit t('.foo') 

ответ

1

т представляет собой вид помощник (см документа здесь: http://api.rubyonrails.org/classes/ActionView/Helpers/TranslationHelper.html#method-i-translate)

Если ключ существует, то он будет просто выходной переведенной строки, но возвращаемое значение для отсутствующего ключ перевода будет <span class=“translation_missing” title=“translation missing: .foo”> Foo </span>.

В случае с = t('.foo') вы не видите ничего особенного, потому что диапазон встроен в текст, и у вас нет специального форматирования (но посмотрите, будет ли он в случае отсутствия перевод). Но в футляре = f.submit t('.foo') это становится текстом на кнопке, поэтому вы замечаете это.

+0

Но что я должен сделать для английского перевода? Такие клавиши, как 'foo: foo', выглядят глупо. – Meliborn

+0

Возможно, вы можете создать свой собственный т-хелпер для этих случаев. Но это будет работать только для однословных выражений на английском языке – thibaultP

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