Rails I18n自动翻译基于密钥

时间:2013-05-30 17:21:45

标签: ruby-on-rails internationalization

如果我这样做

= t('.foo')
在视图文件中

我在语言环境中没有这个翻译,它只是将键大写,结果将是Foo

但是为什么它不会出现在其他地方,比如输入属性?此示例显示转换缺失错误:

= f.submit t('.foo')

1 个答案:

答案 0 :(得分:1)

t是一个视图助手(请参阅此处的文档: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')的情况下,这就成了按钮上的文字,所以你会注意到它。

相关问题