Ruby on rails Rails i18n:翻译缺失问题,未定义区域设置
我对Rails 2.3.8应用程序有问题。我正在使用rails i18n以不同的语言创建站点。除了一个地方外,任何地方的一切都很完美 成功注册后,我会:Ruby on rails Rails i18n:翻译缺失问题,未定义区域设置,ruby-on-rails,internationalization,locale,Ruby On Rails,Internationalization,Locale,我对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”) 你
flash[:notice] = t 'path.to.locale.key'
就像我在其他地方做的一样
但这会导致以下情况:
translation missing: 'locale.path.to.locale.key' not found
它似乎没有加载当前的语言环境(或者它会说“en”或“es”或其他什么而不是“locale”)
你知道是什么原因造成的吗
谢谢尝试在应用程序控制器中设置默认区域设置,例如使用before\u过滤器:
I18n.locale = params[:locale] || 'en'
也许你在yml文件的某个地方覆盖了它。也许你筑巢太多了。也许那个键有子键 删除该locale.yml中的所有内容并仅放置该消息,然后查看它是否有效
你遇到的问题时不时地发生在我身上,我总是在yml文件中把它弄糟。好吧,这发生在我升级到Rails 4.1后的mailer类中。它在Rails3上工作正常,yml文件没有任何更改。不知何故,i18n没有看到默认的语言环境。 所以我在mailer类中添加了这一行来解决这个问题
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
I18n.locale=I18n.default\u locale
类ProviderMailer