现在,如果我的应用程序中有一些代码,例如
<%= t :test %>
并且没有可用于 :test 的翻译 在我看来,我得到了这样的东西:
<span class="translation_missing" title="translation missing: en.test">Test</span>
我想补充的是,即使对于现有的翻译,也要包含一个类似的跨度,所以如果翻译存在,我想得到类似的东西:
<span class="translation_existing" title="translation existing: en.test">Translated string</span>
请注意跨度中的不同类名。并且字符串应该被真正翻译。
如何通过覆盖 translate 方法来实现此结果?
先感谢您
尼亚尼奥
最佳答案
“t”是一个 View 助手:
http://api.rubyonrails.org/classes/ActionView/Helpers/TranslationHelper.html#method-i-t
查看其源代码并创建自己的源代码很容易,您还可以通过在 ApplicationHelper 中重新定义它来覆盖帮助程序。
但是恕我直言,你不应该重新定义它,而是用不同的名字创建你自己的。在很多情况下,您希望在 View 的某些部分使用“t”帮助器,如果插入额外的 HTML 标记会搞砸(即:我在我的页面部分使用“t”帮助器来翻译标题、元标签等)...
关于ruby-on-rails - 如何在 rails 中扩展 I18n.translate 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6706120/