我注意到在我的新 Rails 3.0 应用程序中,所有德语 i18n 字符串都转换为小写(第一个字母除外)。
当有这样的字符串时:
de:
email: "E-Mail"
输出总是像“电子邮件”。与所有其他字符串相同的故事 - 句子中的大写字母会自动转换为小写字母。
这是我必须禁用的默认行为,还是有任何其他问题?我已经成功地正确设置了语言环境,因为这些字符串可以实际工作。
谢谢你的帮助
阿恩
最佳答案
作为国际化过程的一部分,不应修改您指定的内容。听起来好像有什么在呼唤 humanize
在输出之前的字符串上。我相信一些标准的 Rails 表单辅助方法可以做到这一点。如果您只是使用 t('email')
输出翻译您应该正确地看到“电子邮件”。
更新:
从您的评论看来,它似乎是导致问题的标签。如果您明确指定标签的文本而不是依赖默认行为,您将完全按照您指定的方式获得翻译。所以,
<%= f.label(:email, t('email')) %>
应该从翻译中生成正确的标签。
然而,这并不理想。我认为您也可能会遇到生成的验证错误消息的问题。
关于ruby-on-rails - Rails i18n 字符串自动小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710260/