繁体   English   中英

Rails i18n:翻译缺失问题,区域设置未定义

[英]Rails i18n: Translation missing problem, locale not defined

我有一个Rails 2.3.8应用程序的问题。 我正在使用rails i18n来制作不同语言的网站。 除了一个地方,一切都在完美,无处不在。

注册成功后,我会:

flash[:notice] = t 'path.to.locale.key'

就像我在其他地方一样。

但这会产生以下结果:

translation missing: 'locale.path.to.locale.key' not found

它似乎没有加载当前的语言环境(否则它会说'en',或'es',或者不是'locale')。

任何可能导致这种情况的想法?

谢谢

也许你在yml文件的某处覆盖它。 也许你做了太多的筑巢。 也许那个键有子键。

从该locale.yml中删除所有内容,并仅放置该消息并查看其是否有效。

你遇到的问题时不时发生在我身上,而且总是我在yml文件中搞砸了。

尝试在ApplicationController中设置默认语言环境,例如使用before_filter:

I18n.locale = params[:locale] || 'en'

好吧,在升级到Rails 4.1之后,我在邮件程序中遇到了这种情况。 它在Rails 3上运行正常,yml文件没有变化。 不知怎的,i18n没有看到默认的语言环境。 所以我在邮件程序类中添加了这一行来修复。

 I18n.locale = I18n.default_locale

class ProviderMailer < ActionMailer::Base
  include Resque::Mailer
  default from: APP_CONFIG.mailer.from

  def registration_email(provider)
    @provider = provider
    I18n.locale = I18n.default_locale
    @provider_url  = "#{APP_CONFIG.base_url}/hizmetsgl/#{provider['_id']}"
    @howto_url  = "#{APP_CONFIG.base_url}/hizmetverenler"
    mail(to: provider["business_email"], subject: t('provider_mailer.registration_email.subject')) 
  end

end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM