已解决:如何将otherlang.yml设置为我的ROR应用程序的默认值

时间:2010-09-15 06:18:31

标签: ruby-on-rails internationalization

我正致力于国际化。我有所有语言环境的otherlanguagefile.yml文件。默认情况下,我的应用程序采用en.yml。我怎么能将otherlanguagefile.yml设置为默认值。

编辑:我已将environment.rb文件更改为

config.i18n.default_locale =:otherlanguage

它工作得很好..

1 个答案:

答案 0 :(得分:1)

在application_controller.rb中设置默认语言环境。这是我在rails3应用程序中使用的内容:

class ApplicationController < ActionController::Base

  before_filter :set_locale

  protected

  def set_locale
    default_locale = 'en'

    begin
      request_language = request.env['HTTP_ACCEPT_LANGUAGE'].split('-')[0]
      request_language = request_language.nil? ? nil : request_language[/[^,;]+/]
      params_locale = params[:locale] if params[:locale] == 'en' or params[:locale] == 'fr'

      @locale = params_locale || session[:locale] || request_language || default_locale
      I18n.locale = session[:locale] = @locale

    rescue
      I18n.locale = session[:locale] = default_locale
    end
  end
end