рельсы 3 i18n установить локаль не работает - PullRequest
1 голос
/ 01 августа 2011

Я бы хотел, чтобы переводы были резервными: en, но языковой стандарт по умолчанию: de. Как я могу достичь этого лучше всего? я попробовал в 'config / application.rb'

config.i18n.default_locale = :en
config.i18n.locale = :de

но I18n.locale по-прежнему: en после этого. есть идеи?

Ответы [ 2 ]

3 голосов
/ 23 октября 2013

Если вы установите локаль, как показано в следующей строке

I18n.locale = :de

Затем после запуска строки КАЖДЫЙ посетитель будет использовать de локаль, а не локаль по умолчанию en.

Таким образом, лучший способ -

В вашем application_controller.rb

before_filter: set_locale

private


def set_locale
  I18n.locale = params[:locale] || I18n.default_locale
end

Ответ Джонатану Кларку:

Каждый контроллер, унаследованный от application_controller, установит локаль.

1 голос
/ 19 октября 2011

Вы не можете установить язык в вашей среде.

Вы должны поместить default_locale в файл конфигурации вашей среды, и вы должны установить свой языковой стандарт в самом приложении.

Например, в вашем application_controller.rb

before_filter: set_locale

private

  def set_locale
    I18n.locale = params[:locale] if params[:locale]
  end
...