如何重新生成PostgreSQL的国际化文件

  1. 首先,必须在编译前指定 --enable-nls="语言名",否则不会产生多语言支持,比如 --enable-nls="zh_CN"

    1. 当然禁用nls会带来一点微不足道的性能提升

    2. 启用之后我们在 Makefile.global 中会看到:

      1. enable_nls	= yes
        ...
        ifeq ($(enable_nls), yes)
        ifneq (,$(wildcard $(srcdir)/nls.mk))
        
        include $(top_srcdir)/src/nls-global.mk
        
        endif # nls.mk
        endif # enable_nls
    3. 可以看出,只有目录下有nls.mk这个文件才会有nls动作,用 find 很容易就知道哪些目录需要生成 .po 文件

  2. 假设我们修改了 initdb 的输出信息

    1. cd src/bin/initdb

    2. make update-po

    3. 从输出文字可以看到,initdb.pot(翻译模板)重新生成,并且只有我们需要的 zh_CN 被 merge,生成一个新文件 zh_CN.po.new

  3. 打开 zh_CN.po.new 编辑,修改完成后改为 zh_CN.po

  4. make all-po 至此,新的 .mo 文件已经重新生成

  5. 图形化 .po 文件编辑工具推荐:http://poedit.net/,万一打不开请翻墙

  6. gnome-terminal 显示中文输出:

    1. export

    2. 菜单 Terminal -> Set Character Encoding 选择 GB18030

  7. 如需引入新的源代码文件,修改 nls.mk,将其相对路径加入 GETTEXT_FILES 即可


神州飞象(北京)数据科技有限公司












转载于:https://my.oschina.net/quanzl/blog/531728

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值