一、多国语言切换
在 app/controllers/application_controller.rb 中加入:
before_action :set_locale
def set_locale
if params[:locale] && I18n.available_locales.include?( params[:locale].to_sym )
session[:locale] = params[:locale]
end
I18n.locale = session[:locale] || I18n.default_locale
end
在app/views/layouts/application.html.erb中添加:
<%= link_to "中文版", :controller => controller_name, :action => action_name, :locale => "zh-CN" %>
<%= link_to "English", :controller => controller_name, :action => action_name, :locale => "en" %>
二、使用i18n翻译
在application.rb中添加
class Application < Rails::Application
config.i18n.default_locale = "zh-CN"
end
在config/locales下新建zh-CN.yml
在其中加入需要翻译的,如果是model翻译就在activerecord\attributes下添加Model名称和字段名称