Имам това приложение, в което използвам куп локали (които са коригирани, за да бъдат по-подходящи за домейна на приложението, напр.: вместо да използвам 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 и локалът, отпечатан в конзолата, е cl. Но текстът все още е на английски. И в разработката всичко работи добре. Някой има ли представа за това?
Ще оставя няколко изображения
production/us production/cl
development/cl