I18n.default_locale = 'en' LOCALES_DIRECTORY = "#{RAILS_ROOT}/config/locales/" LANGUAGES = { 'English' => 'en', "Espa\xc3\xb1ol" => 'es', "中文" => 'zh' }
2. 在视图页面中添加语言切换下拉框
<% form_tag '', :method => 'GET', :class => 'locale' do %> <%= select_tag 'locale', options_for_select(LANGUAGES, I18n.locale), :onchange => 'this.form.submit()' %> <%= submit_tag 'submit' %> <%= javascript_tag "$$('.locale input').each(Element.hide)" %> <% end %>
显示效果如下
3.新建三个资源文件config\locales\en.yml,config\locales\es.yml,config\locales\zh.yml,添加感兴趣的需要国际化的文本,例如在zh.yml中添加如下文本。
#START:main main: title: "产品目录" button: add: "加入购物车" #END:main
在页面中显示代码
<%= I18n.t 'main.title' %>
<%= I18n.t 'main.botton.add' %>
如此简单。
引用
一个跟国际化无关的乱码问题:有时在页面中输入中文保存到数据库时是乱码,这可能是因为数据库编码不是UTF-8