最近打算用 rails 写东西,发现个问题
<%= f.label :username, class:"col-sm-2" %>
view,就这么个东西,出来的 html 是英文的 username. 想用中文“用户名”怎么办?我查了下,好像有 2 个方法
大家都是怎么做的?直接选 1?还是选 i18n?i18n 好像有点烦啊,假如一般情况下不会做多语言站点。 i18n 的话,locale.yml 里要设置,然后 view 可能也要 2 份: index.html.erb index.zh.html.erb
请教下大家,到底该怎么样?
i18n default 是在 application.rb 设置的,跟模板后缀没关系。你想访问不同的语言站点仅仅是在 url 后面,例如访问中英文日文:www.example.com/posts?locale=en, www.example.com/posts?locale=zh, www.example.com/posts?locale=japan
application.rb 中设置中文 locale config.i18n.default_locale = 'zh-CN'
在 locale 文件夹下创建 xxx.zh-CN.yml, 比如 activerecord.zh-CN.yml
, 内容为
zh-CN:
activerecord:
models:
user: "用户"
attributes:
user:
username: "用户名"
=f.label :username
就行了flash[:success] = "你已经成功下单<span>#{item.name}</span>"
# OR
# OrderController
flash[:success] = t "cn.order.success", name: item.name
# order.yml
cn:
order:
success: "你已经成功下单<span>%{name}</span>"
先不说在代码里写中文是很没有逼格的事情,从代码本身结构来说你感觉哪个更好?