Rails строки i18n с автоматической опусканием? - PullRequest
4 голосов
/ 14 сентября 2010

Я заметил, что в моем новом приложении на Rails 3.0 все немецкие строки i18n преобразованы в строчные (кроме первой буквы).

При наличии такой строки:

de:
  email: "E-Mail"

вывод всегда похож на «E-mail». Та же история со всеми остальными строками - заглавные буквы в предложении автоматически преобразуются в строчные.

Это поведение по умолчанию, которое я должен отключить, или есть какие-то другие проблемы? Я успешно установил языковой стандарт правильно, так как эти строки действительно работают.

Спасибо за вашу помощь

Arne

Ответы [ 2 ]

13 голосов
/ 14 сентября 2010

Не должно быть никаких изменений в контенте, указанном вами в процессе интернационализации. Похоже, что-то вызывает humanize в строке перед выводом. Я полагаю, что некоторые из стандартных вспомогательных методов Rails делают это. Если вы просто выводите перевод, используя t('email'), вы должны правильно видеть «E-Mail».

Обновление: Из ваших комментариев кажется, что это ярлык, который вызывает проблему. Если вы явно указываете текст для метки, а не полагаетесь на поведение по умолчанию, вы получите перевод в точности так, как вы его указали. Таким образом,

<%= f.label(:email, t('email')) %>

должен генерировать правильную метку из переводов.

Однако, это не идеально. Я думаю, что вы также можете столкнуться с проблемами сгенерированных сообщений об ошибках проверки.

2 голосов
/ 03 апреля 2013

Получил ту же проблему. решил ее, добавив суффикс _html к ключу перевода I18n. похоже, что использование этого суффикса подавляет использование humanize.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...