普通信息国际化
到 application.rb 中添加
config.i18n.default_locale = 'zh-CN'
修改配置文件之后不忘忘记重启 rails 来加载新的配置。 然后的要来添加 config/locals/zh-CN.yml 文件。
可以参考 这里 来书写 zh-CN.yml 文件,注意缩进关系,使用两个空格做为一个缩进级别,不要用 tab 。基本上就是写成
zh-CN:
hello: 你好
先举个简单的例子,到 application.html.erb 中
<li><%= link_to t("navbar.about"), "/about" %></li>
这样再来查看一下 html 源码,就可以知道该添加什么内容了。
表单报错信息国际化
再来到 signup 页面。点击注册按钮,看到如下的报错信息:
translation missing: zh-CN.activerecord.errors.models.user.attributes.name.blank
这样就知道应该添加点什么内容到 zh-CN.yml 中了,实际操作的时候也可以直接从 rails-i18n gem 中拷贝。
zh-CN:
navbar:
about: 关于
activerecord:
errors:
models:
user:
attributes:
name:
blank: 用户名不能为空
taken: 用户已经存在
email:
blank: 请填写邮箱地址
taken: 邮箱已经被占用
password:
blank: 密码不能为空
password_confirmation:
confirmation: 两次输入密码不相同
更改 local 设置
刚才咱们是用手动修改 application.rb 文件实现的,咱们的网站就是个中文网站,所以这样就够了。 对于一个要同时支持多国语言的网站,就要考虑到和更加灵活的改变 local 设置的方法了。 可以参考 这里 。