Rails2.2.2之国际化

1. 新建国际化配置文件config\initializers\i18n.rb
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 %>


显示效果如下
[img]http://dl.iteye.com/upload/attachment/0079/9116/c2a58f5f-4906-3c08-b6e6-9d9d15835970.jpg[/img]

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' %>

如此简单。
[quote]一个跟国际化无关的乱码问题:有时在页面中输入中文保存到数据库时是乱码,这可能是因为数据库编码不是UTF-8[/quote]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值