【问题标题】:Show missing I18n translations in views在视图中显示缺失的 I18n 翻译
【发布时间】:2012-06-03 05:22:05
【问题描述】:

in ActionView's documentation 所述,Rails 中的t 视图助手会自动修改丢失的翻译。例如:

irb> helper.t('words.foo_bar')
=> "<span class="translation_missing" title="translation missing: en.words.foo_bar">Foo Bar</span>"

有没有办法全局禁用它?我更愿意看到“translation missing: en.words.asdf”。

我发现的唯一解决方法是在视图中使用 I18n.t "..." 而不是 t "..."

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 actionview actionviewhelper


    【解决方案1】:

    尝试将此代码放入您的development.rb

    # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
    # the I18n.default_locale when a translation can not be found)
    config.i18n.fallbacks = false
    

    【讨论】:

    • 感谢@thesis 的建议。不幸的是,这导致 ActionView 的 #t 的输出相同。
    • @Ashitaka 是的,我在进行更改后重新启动了服务器。此外,“fallbacks”选项控制失败的翻译是否尝试在默认语言环境中使用相应的翻译。所以它不会阻止我试图避免的破坏。
    【解决方案2】:

    我的config/initializers 目录中有这个文件,它显示了所有失败的翻译查找以及它们在日志输出中的来源:https://gist.github.com/1594660

    也许这正是您要寻找的。​​p>

    【讨论】:

    • 有趣。谢谢你的要点,克里斯托夫。我猜你必须经常通过 grep 来查找失败的翻译。
    • 与其 grepping 不如将输出写入数据库并计算出现次数。我在开发时使用我的要点来发现失败的翻译(或在构建语言环境文件时找到正确的键)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2021-04-15
    • 2012-01-24
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多