我有这个应用程序,其中我使用了一堆语言环境(调整为更适合应用程序的域,例如:而不是使用es-MX,我只使用mx作为语言环境)
我已在application.rb中配置了回退
config.i18n.default_locale = :en
config.i18n.fallbacks = {
# sites
'cl' => 'es',
'mx' => 'es',
'lat' => 'es',
'br' => 'en',
'us' => 'en',
# lang
'es' => 'en',
'pt' => 'br',
}
我通过url ex设置语言环境:localhost:3001 / cl(用于智利语言环境)
这是我在app_controller中的代码
before_filter :set_locale
private
def set_locale
if supported_locale?(params[:locale])
I18n.locale = params[:locale]
end
end
我的路线
# public urls for sites
scope '/:locale' do
# index
match '/' => 'main#index', via: :get, as: :site
end
所以,问题是我在制作时我有localhost:3001 / cl 并调用_logo.cl.html.erb partial和控制台中打印的区域设置 cl 。 但文本仍然是英文。在开发过程中一切正常。有人对此有任何想法吗?
我会留下一些图片
生产/我们 生产/ CL 开发/ CL
答案 0 :(得分:3)
事情是production.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 = true
覆盖我在application.rb
中定义的自定义备用规则,我只删除了那些行,问题就解决了