鉴于我有一个带有此翻译密钥的密钥
t('my.key', :url => @url)
用多种语言翻译:
key: "Click %{url}"
我做了以下更改:
t('my.key', :link => @link)
key: "Click %{url}"
密钥由社区翻译,我有很多。我们只保留英语语言环境。
现在,我的测试变红了,因为如果这个视图用英语以外的任何语言呈现而不更新所有其他键,它将返回:
missing interpolation argument in "Click %{url}" ({:link=>"..."} given)
(ActionView::TemplateError)
什么是懒惰的程序员解决方法?耙任务删除键?猴子补丁I18n救援到:恩?
答案 0 :(得分:0)
字符串的可本地化部分没有任何变化。
%{...}永远不会被翻译,它只是一个变量名。
因此,在所有语言中将%{url}更改为%{link}是安全的 (确保不要使用编辑器破坏编码来破坏字符串)。
这有点像更改html标签:
<p>Click <b>Print</b> to whatever</p>
更改为:
<p>Click <i>Print</i> to whatever</p>