たくさんのロケールを使用するこのアプリがあります (アプリのドメインにより適したものになるように調整されています。例: 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 開発/cl