Ruby on rails Rails I18n介词本地化结果不可预测
我有一个小的本地化yaml文件,如下所示:Ruby on rails Rails I18n介词本地化结果不可预测,ruby-on-rails,localization,internationalization,Ruby On Rails,Localization,Internationalization,我有一个小的本地化yaml文件,如下所示: en: preposition: with: with on: on 和类似的德国地区。当我尝试使用I18n.translate('preposition.on')时,它会产生不可预测的结果,并返回true,而不是正常的介词。根据我在实验中所理解的,Rails在上考虑值为真< /代码>,与Obj/相反,但是如果我真的需要正常的翻译,我应该如何处理这个问题?< P>解决方案在这里找到-< /P> 也就是说,像on、no、yes这样的
en:
preposition:
with: with
on: on
和类似的德国地区。当我尝试使用I18n.translate('preposition.on')
时,它会产生不可预测的结果,并返回true
,而不是正常的介词。根据我在实验中所理解的,Rails在上考虑值<代码>为<代码>真< /代码>,与on
、no
、yes
这样的键和值实际上是YAML保留字,因此为了实现这一点,我必须将我的区域设置文件更改为:
en:
preposition:
with: with
"on": 'on'
这将使键和值看起来都像字符串。尝试添加“”:on:“on”已尝试。唯一的变化是,在这种情况下,我得到了
翻译缺失的en.介词.on
,德语也是如此。似乎在YAML中on
有一些特定的含义。但是,该上的键也不起作用:)try restart server可能已多次重新启动(如果添加新的i18n文件,这可能是必需的),已清除缓存,但已找到解决方案并将其写入下面。这些都是真正的保留字——值和键。