加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:删除丢失的翻译错误

发布时间:2020-12-16 19:52:30 所属栏目:百科 来源:网络整理
导读:我正在使用国际化的英语(en)和法语(fr),我使用en.yml有限的使用和大部分的翻译,我在fr.yml写??. 使用locale作为fr一切都很好,但与en它显示我的错误,因为缺少翻译跨度. 例如,如果我有这样的东西 %= text_field_tag( "search",params[:search],:placeholder=t(
我正在使用国际化的英语(en)和法语(fr),我使用en.yml有限的使用和大部分的翻译,我在fr.yml写??.

使用locale作为fr一切都很好,但与en它显示我的错误,因为缺少翻译跨度.

例如,如果我有这样的东西

<%= text_field_tag( "search",params[:search],:placeholder=>t("Search"),:class=>"search_input") %>

我得到的输出为en是:

<input class="search_input" id="search" name="search" placeholder="<span class=" translation_missing"="" title="translation missing: en.Search">

我想要的是,它应该关闭英语的翻译错误,因为英语是我的默认语言,但在某些情况下,我已经使用en.yml.

或者如果这是不可能的,那么整个错误消息应该被删除.

谢谢

解决方法

在Rails 4.1中已经修改了HTML缺少的翻译错误的实现.现在,而不是I18n库,它在视图助手层处理.也就是说,在“翻译”帮助方法(请参阅action_view / helpers / translation_helper.rb).

现在干净的方法是覆盖助手方法并自己处理异常.

# app/helpers/i18n_helper.rb

module I18nHelper
  def translate(key,options={})
    super(key,options.merge(raise: true))
  rescue I18n::MissingTranslationData
    key
  end
  alias :t :translate
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读