Rails i18n字符串自动小写?

arn*_*lja 5 ruby-on-rails internationalization ruby-on-rails-3

我注意到在我的新Rails 3.0应用程序中,所有德语i18n字符串都转换为小写字母(第一个字母除外).

有这样的字符串时:

de:
  email: "E-Mail"
Run Code Online (Sandbox Code Playgroud)

输出总是像"电子邮件".与所有其他字符串相同的故事 - 句子中的大写字母自动转换为小写.

这是我必须禁用的默认行为,还是有任何其他问题?我已成功正确设置了语言环境,因为这些字符串实际上可以正常工作.

谢谢你的帮助

阿恩

Sha*_*ell 14

作为国际化过程的一部分,您不应对指定的内容进行任何修改.听起来有些事情是humanize在输出之前调用字符串.我相信一些标准的Rails表单辅助方法可以做到这一点.如果您只是输出翻译,t('email')您应该正确看到'电子邮件'.

更新:从您的评论看起来它似乎是导致问题的标签.如果您明确指定标签的文本而不是依赖于默认行为,则将完全按照您的指定获得翻译.所以,

<%= f.label(:email, t('email')) %>
Run Code Online (Sandbox Code Playgroud)

应该从翻译中生成正确的标签.

但是,它并不理想.我认为您可能还会遇到生成的验证错误消息的问题.