论坛首页 编程语言技术论坛

解决gettext的增量开发的问题

浏览 3165 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-11  

前几天,在windows系统上用gettext gem做国际化时必现了一个比较严重的问题:第一次执行rake updatepo时没有问题,但当第二次执行时就会报一个c:/ruby/bin/rake.bat: No such file or directory - msgmerge po/app.pot tmp.pot 错误,即不能做做增量开发.花了我2个小时才解决这个问题.

解决步骤如下:

  1. 安装gettext:gem install gettext ,选择win32版本;
  2. 将安装后的gettext/bin目录加入到path路径中;
  3. 安装gettext二进制版本(见附件),并将它的bin目录也加入到path变量中;(注:问题就是出在这里,当第二次在执行rake updatepo时找不到msgmerge命令)
  4. 拷贝 pot文件至 语言目录中 更名为 .po,并将编码改为utf8
  5. rake makemo
这个里面实际上还有个小问题,即是在执行rake updatepo时并不会自动将pot文件cope到所有的语言目录中,需要手工来copy.待有时间来写个rake解决一下
   发表时间:2008-06-08  
更简单的方法,实际上Ruby里面已经提供了msgmerge程序
所以只要在 InstantRails安装路径下的use_ruby.cmd 的最后加上一句
set MSGMERGE_PATH=D:\InstantRails\ruby\bin\rmsgmerge.cmd

重新启动InstantRails即可

-- 不过我这里一实验,那个错误倒是不出来了,可是merge后,文件里面的东西都消失了。
再试试看。
0 请登录后投票
   发表时间:2008-06-08  
gem的gettext和附件的gettext版本不一致没问题吧?
0 请登录后投票
   发表时间:2008-06-09  
gettext,说实话很邪恶的东西,迟早要被废掉,已经在很多地方让开发人员痛苦不堪
rails应用,试试看globalize,不过貌似已经好久不更新了
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics