Linux下语言程序国际化与本地化实现方法.pdfVIP

Linux下语言程序国际化与本地化实现方法.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Linux下C语言的本地化/实现

中标普华李东东2010

在linux系统下,以c语言程序为例来实现程序的,即让程序根据Linux系统不同的语言环境

的不同来显示出对应该语言的文字,即先让c程序支际化然后再进行本地化翻译。

Linux上实现这个过程需要用到xgettext和msgfmt这两个工具。

Xgettext是的工具,用来提取程序中的字符串,生成*.po或是*.pot的文件,

msgfmt是本地化的工具,用来编译翻译后的.po文件为.mo文件,这样系统在启动时

候会扫描系统环境提取对字的.mo文件中的字符串替代原来的英文,实现本地化。

如我们来做一个简单的rpm包,包文件的目录树如下:

hello.c/*我们用来测试的c语言程序*/

po/zh_CN.po/*放在该包根目录下的po目录。对应于该程序进行的中文翻译*/

第一步、支际化的C程序(hello.c)如下:

一个支持本地化的C程序,需要用setlocale()来设定翻译选择的语言环境,一组或多组textdomain()和

bindtextdomain()函数来指定用到的翻译文件和该文件所在路径,其textdomain()函数用来指定翻译文件的名

字,而bindtextdomain()函数用来指定该名称的翻译文件所在路径(如果存在多组翻译文件和路径,则

textdomain()函数下面的待翻译语句对应查找该函数所指定的路径和名称)

1#includestdio.h

2#includelibintl.h//gettext库支持

3#includelocale.h//本地化locale的翻译支持

4

5#define_(STRING)gettext(STRING)//为了减少代码量和输入量,用别名_(STRING)替换gettext(STRING)

6#definePACKAGEhello//定义软件包的名字为hello

7#defineLOCALEDIR/usr/share/locale///定义系统语言环境的目录,该目录下存放各种的语言,不同系统

可能有差异。

8

9

10intmain(intargv,char*argc[])

11{

12setlocale(LC_ALL,);//设置locale为系统默认语言环境,gtk程序不需要,因为gtk_init()已经帮我们做了

13bindtextdomain(PACKAGE,LOCALEDIR);//关联包名称及其对应的翻译语言所在路径

14textdomain(PACKAGE);//定义.mo文件的名字,省略“.mo”后缀(可以多个路径下的不同mo文件)

15printf(_(Hello,World!\n));//字符串支持,结合上面的替换,实际应是:printf(gettext(Hello,

World!\n));

16printf(_(Thisisaexampleoflocalerpm@NeoshineDesktop5!\n));

17return0;

18}

关于不同路径下面的多个翻译文件

对于一个C语言程序允许对应于系统中不同位置的多个mo文件,用一组

bindtextdomain()和text

文档评论(0)

honglajiao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档