#include <stdio.h>
int main()
{
printf("hello world\n")
return 0
}
---------------------------------
现在创建pot文件
xgettext -a hello.c -o hello.pot
---------------------------------
运行该命令后,我们发现,在当前目录下,产生了一个名hello.pot的文件,打开该文件,可以看到:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-01 19:55+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plaincharset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.c:5
#, c-format
msgid "hello world\n"
msgstr ""
---------------------------------
根据pot产生不同语言的po文件,这里我们先产生一个简体中文的po文件:
export LANG=zh_CN.gb2312
msginit -l zh_CN.gb2312 -i hello.pot
---------------------------------
翻译zh_CN.po里对应的字符串为中文,就是 po 中的那个 msgstr"" 改为:msgstr "你好,world"
---------------------------------
根据po文件生成mo文件。
msgfmt zh_CN.po -o zh_CN.mo
---------------------------------
行该命令后,我们发现,在当前目录下,产生了一个名zh_CN.mo的文件。它是二进制的,不能用文本编辑器打开。
安装mo文件到系统中:
cp -f zh_CN.mo /usr/share/locale/zh_CN/LC_MESSAGES/hello.mo
---------------------------------
#include <stdio.h>
#include <locale.h>
#include <libintl.h>
#define _(String) gettext (String)
#define LOCALEDIR "/usr/share/locale/"
#define PACKAGE "hello"
int main(int argc, char* argv[])
{
setlocale (LC_ALL, "")
bindtextdomain (PACKAGE, LOCALEDIR)
textdomain (PACKAGE)
printf(_("Hello, world!\n"))
return 0
}
---------------------------------
编译并运行:
gcc -g hello.c -o hello.exe
./hello.exe
可以看到屏幕上打印出:
你好, world!
现在我们换成英文试一下:
export LANG=es_US
./hello.exe
可以看到屏幕上打印出:
hello, world!
添加其它语言也很容易,不需要修改程序,只需要像对待中文一样,生成一个mo文件,并安装到系统中对应的目录即可。切换不同的语言仅仅是修改当前的locale就行了。
---------------------------------
这下美女有救了,呵呵!
1、先到官方网站下载SLAX的ISO文件,现在的版本是5.1.8.1,192M,是目前最新的内核。当然也可以下载KillBill ,好像可以运行部分windows程序。本人试验的是标准版。下载地址: http://www.slax.org/download.php2、下载一个Flashboot,网上可以随便搜到的。3、运行FlashbootWizard.exe,选择第二项,Create bootable flash disk as a copy of bootable CD-ROM disk,点击 Next,因为用的是镜像文件,就要选择Image file,点Browser,浏览选中下载来的Slax Linux 5.1.8.1 ISO文件,再点击 Next,选定要制作的U盘盘符,NEXT,接下来一般就选USB-HDD模式,确认无误后,点击Finish,然后就是U盘初始化、文件的复制过程。等待片刻,显示“Done” 以后,表明工作结束。这样,一个带Linux *** 作系统的U盘就完工了,整个Linux系统将占用192M左右的空间,找一台支持USB启动的机器测试一下吧。使用相关问题:如果要使用系统中没有带的linux软件或者要安装驱动程序,可以到 http://www.slax.org/modules.php下载相关编译好的模块(后缀为.mo),将相关模块下载后拷贝到U盘的modules目录下(没有这个目录的话可以建一个),以下挑几个常用的说一下:1、中文支持缺省情况下,slax对中文的支持不好,网页、PDF文件中的中文都不能显示,这就需要下一个字符集支持补丁。下一个CJK Display Support模块(在模块搜索里直接输入CJK就可以搜到,这里为了方便,还是直接给出下载地址,CJK Display Support模块下载完成以后将mo文件拷贝到modules目录下,下次启动linux可以支持中文了。2、中文界面已经有成熟的中文界面模块,下载地址:Slax 5.1.6简体中文模块,应用方法一样,下载后拷贝到 modules目录。这样完整的中文版就完成了。当然,如果怕麻烦的话可以直接下载中文版slax,有个单独的名字叫fanx,我已经测试过,也能完美地运行在U盘上!FanX-1.1简体中文版本欢迎分享,转载请注明来源:内存溢出
评论列表(0条)