【问题标题】:Rails I18n prepositions localization unpredictable resultsRails I18n 介词本地化不可预知的结果
【发布时间】:2014-12-10 20:35:53
【问题描述】:

我有一个像这样的小型本地化 yaml 文件:

en:
  preposition:
    with: with
    on: on

和类似的德语语言环境。当我尝试使用I18n.translate('preposition.on') 时,它会产生不可预知的结果并返回true 而不是正常的介词。据我在实验过程中了解,Rails 将值on 视为true 并与off 相反,但是如果我真的只需要正常的翻译,我应该如何处理呢?

【问题讨论】:

  • 尝试添加 '': on: 'on'
  • 已经试过了。唯一的变化是,在这种情况下,我得到translation missing en.preposition.on,德语也是如此。
  • 似乎在YAML中on有一些特定的含义。但是,密钥on_the 也不起作用:)
  • 尝试重启服务器可能是(如果添加新的i18n文件可能需要)
  • 重启了很多次,清了缓存,但已经找到解决办法,写在下面。这些确实是保留字 - 值和键。

标签: ruby-on-rails localization internationalization


【解决方案1】:

在此处找到解决方案 - http://juliankniephoff.wordpress.com/2012/09/01/reserved-words-in-yaml-and-translating-booleans-in-rails/

也就是说,像onnoyes 这样的键和值实际上是 YAML 保留字,所以为了完成这项工作,我必须将我的语言环境文件更改为:

en:
  preposition:
    with: with
    "on": 'on'

就是让 key 和 value 看起来都像字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多