用gettext对ROR应用国际化

引用:
原帖由 lgn21st 于 2007-9-1 12:47 发表
跑题啦,继续回到gettext吧。
我们的项目用了gettext的办法来作国际化,中间也碰到很多问题
首先,gnu 的gettext是一个基于po文件的国际化方案,目的是可以应用在个个语言版本上,而ruby的gettext是在ruby/ra ...
引用:
原帖由 sishen 于 2007-9-3 17:29 发表


这里说到key的改变. 不知你们是如何来应付这个事情的. 是自动从source文件里面提取key还是人肉来维护文件(add/remove entry)?
另外, key-value系统是否只是key和value的映射关系, 然后自动生成po文件, 还是 ...
引用:
原帖由 lgn21st 于 2007-9-1 12:47 发表
跑题啦,继续回到gettext吧。
我们的项目用了gettext的办法来作国际化,中间也碰到很多问题
首先,gnu 的gettext是一个基于po文件的国际化方案,目的是可以应用在个个语言版本上,而ruby的gettext是在ruby/ra ...
引用:
原帖由 drive2me 于 2007-9-3 19:23 发表



Sishen,你也是Ruby高手,你对这问题的意见呢?你怎么想的?
说来听听,你们的网站已经开发了很不错的Ruby产品,我倒很感兴趣你们的产品,有空我还要去看。呵呵!

参加我们的讨论吧,也给我们支招,技 ...
想要实现这套系统并不复杂,且我们用的办法也还没有完全成熟,还在不断演进。可惜这套系统不是我自己开发,而是我的同事在着手维护这个项目,且他就坐在我的旁边,相隔只有20cm,呵呵不要误会,我不是gay :)

我们现在不改变KEY,自动从source中抽取跟手动维护两种办法一起进行,原则就是维护一张key的大表,关联其他语言表。目前暂时不删除KEY,因为自动从source中抽取key的办法比较麻烦,经常会打乱pot中key的顺序。删除KEY也会造成一些麻烦。所以数据库中只怎加不减少,等key的数量达到一定的级别时,我们会找到比较好的解决办法。目前可以直接从数据库生成po甚至mo,跳过poedit的步骤真的轻松不少。
gettext自带的rake,updatepo不就可以吗?
Rails 本身已经有了 I18n 模块,因此对于简单的应用,不需要第三方的支持了。另外,对于一个有一定规模的项目,gettext 在很多方面开始显现出颓势,比如对内容的管理和维护,并不是一个 rake updatepo 就能解决的,中间设计了翻译人员的物理位置、版本控制、可操作性、任务分配等等不是软件技术本身的问题。

如 Daniel (lgn21st) 所所,我在去年的时候开始着手这个 Gettext Database Storage 的项目,目前还在不断的更新,目前已经能基本满足我们公司的需求。

不过有一点是始终无法改变的,那就是,不要指望用户(这里指使用系统的人)去理解软件设计上的概念,他们关注的,是怎么样让他们的工作更快更好的完成,至于怎么去维护和组织这个系统,是开发部门的事情。