游客:
注册
|
登录
|
会员
|
搜索
|
帮助
|
网站首页
日本看板
»
Ruby&Rails
»
Rails 插件
» 用gettext 实现rails国际化
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: 用gettext 实现rails国际化
本主题由 admin 于 2008-3-16 16:11 移动
admin
(蕨菜)
一代文豪
UID 1
精华
1
积分 13799
帖子 4848
威望 190
金钱 24375
慈善捐款(日元) 400
阅读权限 200
注册 2007-3-25
#1
大
中
小
发表于 2007-11-11 16:25
资料
个人空间
短消息
加为好友
用gettext 实现rails国际化
rails 项目要实现多语言版本,也就是我们常说的 i18n,有好多种实现方式。不过最普遍使用的,就是 gettext 。虽然网上有许多利用 gettext 实现国际化的例子与示例代码,但是照抄那些代码并不能给自己带来实质性的提高,还是需要总结一下的。
gettext 的工作原理,是将所有需要国际化的字符串,以类似于 Java 的资源的形式引用,例如 _('COMPANY_NAME') 实际上就是把 COMPANY_NAME 作为资源键,通过方法 _() 就能得到所需语言的字符串。
建立这个字符串资源需要使用到 poedit 。这是一个基于 GNU 的开源项目,与 gettext 配合可以达到非常好的效果。
具体的操作流程,随便搜索就有很多,大致的概括如下:
将原项目中需要国际化的内容,替换成对应的键
建立 po 目录,使用 rake updatepo 命令,将项目中所有的键取出,得到一个 .pot 文件
在 po 目录中建立相应的语言目录,比如 en_US,zh_CN 等
使用 poedit,从 .pot 文件导入目录,保存得到一个 .po 文件
将 .po 文件复制到所有语言版本目录下,并使用 poedit 翻译成相应的语言
使用 rake makemo 命令,自动在 locale 下创建对应的语言版本以及 .mo 文件,翻译工作完成
在项目中,使用 set_locale 方法设置需要的语言版本
整个过程并不复杂,需要注意一点就是各国语言文字的表现可能不尽相同,需要多考虑一下页面的布局与美观,不能因为字符问题就把原有的设计破坏掉
人生吧,0岁出场,10岁快乐成长,20岁为情彷徨,30岁基本定方向,40岁拼命打闯,50岁回头望望,
60岁告老还乡,70岁搓搓麻将,80岁晒晒太阳,90岁躺在床上,100岁挂在墙上・・・・・・
投票
交易
悬赏
活动
日本看板
分类信息
> 综合服务
> 求职招聘
> 打工信息
> 跳蚤市场
> 互助信息
> 寻房问屋
> 活动聚会
> 征婚交友
> 在日华人花名册
> 生活常识
> 日本大众点评网
> 日本价格
综合区
> 大水库
> 谈天说地
> 新闻速递
> 美食厨房
> 开心娱乐
> 中文歌曲
> 日文歌曲
> 欧美歌曲
> 影视下载
> 笑话大全
> 美丽时尚
> 情感专区
> 人在旅途
> 摄影爱好者
> 人间美图
> 爱车一族
> 读书小屋
> 中華文化
> 漢板論壇
> 原创基地
> 鬼故事
> 三角地
工作学习区
> 在日就职
> 日语学习
> 楽道
> 英语学习
体育区
> 野战版
> 篮球版
> 足球版
> 其他运动
IT相关区
> 电脑游戏
> 大众软件
> 硬件广场
> 网络纵横
> 电玩专区
> TV GAME
> 手掌机
软件开发区
> 开发综合
> Ruby&Rails
> 在日华人ruby开发团队
> 新手入门
> 环境搭建
> Rails 插件
> JAVA
> 嵌入式开发
> 开源研究
华人团块
> 公団居民
> 北工大
> 家属团
管理服务区
> 公告版
> 站务管理
> 库房
> J系列Q&A
聚焦天下
> 北京奥运
> 512地震专版
当前时区 GMT+9, 现在时间是 2008-10-7 23:42
Powered by
Discuz!
5.5.0
© 2001-2007
Comsenz Inc.
TOP
清除 Cookies
-
联系我们
-
日本看板
-
Archiver