ruby-on-rails - Rails I18n 哈希回退

标签 ruby-on-rails rails-i18n

我有以下 locale/*.yml 文件:

en:
  hello:
    world: World
    time:
      am: "AM"
      pm: "PM"

ja:
  hello:
    world:
    time:
      am: "午前"
      pm: "午後"

当我尝试调用缺少的语言环境时,后备工作正常:

I18n.locale = :ja
I18n.t('hello.world') => 'World'

但是当我调用父键时,它在某些值上返回“nil”(hello):

I18n.locale = :ja
I18n.t('hello') => { world: nil, time: { am: "午前", pm: "午後" } }

如何获得带有后备的翻译:{ world: 'World', time: { am: "午前", pm: "午后"} }

最佳答案

您是否尝试使用 :default => '' 选项调用翻译方法?

关于ruby-on-rails - Rails I18n 哈希回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076356/

相关文章:

ruby-on-rails - Rails 虚拟模型中的属性本地化

ruby-on-rails - 另一个模型的属性上的 Rails 自定义验证错误消息

ruby-on-rails - 从数据库中获取所有 user.name rails

ruby-on-rails - 如何向 Rails 范围添加多个条件?

ruby-on-rails - JRuby Rails 使用哪些 gem?

ruby-on-rails - 修改 en.yml 文件以验证错误消息 rails 3

ruby-on-rails - Rails 翻译自定义基本错误

ruby-on-rails - Rails I18n 和 SEO - HTTP 重定向有必要吗?

ruby-on-rails - 如何订购字母列表 ("a","b","c",... ,"z","aa","ab")? String#succ 和 <=> 在这种情况下似乎不能很好地协同工作

ruby-on-rails - 使用where条件获取关联记录时Rails N + 1查询问题