下面我们就开始rails界面中文化。
下面我们将结合实例介绍jascaffold的使用方法:
1、在mysql数据库中新建mybook数据库,并在数据库中新建books表
2、使用rails mybook生成开发架构
3、从如下地址下载我们需要的源码:
http://rails.wota.jp/pubs/jascaffold-20051228.tar.gz
4、上面下载的源码是日文版,我们需要对相关文件进行中文化
首先需要把jascaffold\generators\jascaffold\templates\localized_messages\UTF-8文件中的日文翻译成中文,我的翻译如下:
# Model 中文
model:
<%= singular_name %> : <%= model_name %>
title:
new : 新建
list : 列表
show : 显示
edit : 编辑
destroy : 删除
confirm_create : 创建确认
confirm_update : 更新确认
confirm_destroy : 删除确认
label:
new : 新建
list : 列表
show : 显示
edit : 编辑
destroy : 删除
update : 更新
confirm : 确认
confirm_destroy : 是否删除?
back : 后退
cancel : 取消
create : 创建
command:
successfully_created : 成功创建
successfully_updated : 成功更新
common:
error_header : "<h2>有错误发生</h2>"
notice_header : ''
error_messages_for:
options_header_tag : "h2"
errors_occurred : "存在一个错误"
there_were_problems : "这里存在着一些问题"
label_class : "label"
label_error_class : "labelWithErrors"
error_messages:
inclusion : "没有包含目录"
exclusion : "已经包含目录"
invalid : "不正确的数值"
confirmation : "是否确认"
accepted : "是否允许"
empty : "请输入"
blank : "请输入"
too_long : "请以%d文字以下输入"
too_short : "请以%d文字以上输入"
wrong_length : "请以%d文字保持一致"
taken : "已经存在"
not_a_number : "请输入数字"
如果大家觉得麻烦的可以直接复制上面的内容存为UTF-8(无后缀名)即可。
5、把修改后的源码放到mybook/vendor/plugins/目录中;
6、设定DB(config/database.yml),具体方法“Agile Web Development with Rails”一书有详细的介绍,略去;
7、在config/environment.rb文件中添加如下信息,如果不添加如下信息,汉化将不会生效:
$KCODE='u'
# Be sure to restart your web server when you modify this file.
8、执行jascaffold,命令如下:
ruby script/generate jascaffold book
9、在浏览器中输入如下地址:
http://127.0.0.1:3000/books/
我们就能够看到汉化后的界面了,如下图所示:
细心的人会发现,现在离我们的预期还存在一些距离,因为虽然按钮的值都变成了中文,但表头仍然是英文,因此我们还得继续如下的工作:
10、在mybook\db\localized\books.yml中,我们需要相关的表头翻译成中文,比如说我的测试文件:
column_names:
id : 编号
title : 标题
description : 描述
buydate : 购买日期
category_id : 类别
文件需要以UTF-8的格式保存,更改后需要重启WEB服务器,做完了这一步,我们的汉化工作又就完成了。
我也是刚接触ruby on rails和ruby语言,希望能给广大rails的爱好者共同交流,引用页作者的email是:
[email protected]。
//mathsfan注:文章最后的第10步起初我没有成功,不知道为什么。后来突然知道原因了,估计是那前面有一些隐藏的字符之类,呵呵,发张最终的效果图片:
看起来不错吧:)
文章引用自:http://dujie118.spaces.live.com/blog/cns!6F78C144BA17E97D!259.entry#comment