有关Po文件的制作!(它说只有版主才能回复主题,只能在新写个帖子!
谢谢你的回复!!!而且说的也非常详细!!!但目前还有一个问题:
我看了一下解开的源码目录,的确是有一个po的目录,在这个目录中有以下目录和文件:
CVS --| Entries
| Repository
| Root
Makefile
Makefile.am
Makefile.in
我该如何生成你说的name.pot文件呢?不好意思,你能再讲讲吗?谢谢!!!
哇,这个目录等于是空的,一个po文件也没有,那个pot文件一般是源码自带的(如果该软件支持多语言的话),然后根据pot文件做成各种语言的po文件.如果没有po或pot文件,那你就要手动提取源码里要翻译的字符串,如果源码很大,那工作量就太大了.还有你那个软件是否支持多语言???你看看源码里的要显示在软件界面上的字符串,如果字符串是以这种形式存在_("just a test"),那该软件应该是支持多语言的.你就把_( )里的字符串找出来做个po文件就行了.你可以写个程序,提取这些字符串.
现在网上有没有指导性的资料可以使用!
现在网上有没有这方面的资料(指导性)和程序可以使用!setlocale()究竟是什么东西啊?怎么才能设置啊?
我在网上看到于明鉴的一篇文章http://www.opencjk.org/~yumj/i18n.html
在信息的国际化小节中有写道关于制作Po文件,这些对我又用吗?看完之后,我该怎样去使用!
谢谢!!! 如果你那个源码没什么机密可言,你给我,我给你看看.
http://www.opencjk.org/~yumj/i18n.html 里提到用xgettext来提取
要翻译的字符串,我试了一下,不是很好用,他会把源码里的所有字符串
都提取出来.
setlocale()是软件本地化要用到的一个函数.如果你那个软件支持本地化,
应该会用到这个函数.你只管做po就行了,不用管setlocale(),如果软件不
支持本地化,做po也是白做. 论坛有问题 (这只是个回复测试) just a test test
情况是这样的!
Mozilla兄,我给你发信了!请查收![email protected]
这是我的邮箱,你可以和我联系!
谢谢!!! 非常感谢mozilla朋友的回答,公社里关于编程的高手还很少,欢迎你以后常来逛逛,帮有需要的朋友解答一些问题! xgettext用法:
建一个目录,比如potest
把源码里的所有.c,.cpp,.h,.hpp(反正是源码文件)都拷贝到potest目录里
进入potest目录
执行: xgettext -a -o name.po *.*
这样在potest目录里就应该有一个name.po文件,这文件里面提取
了很多字符串,其中可能大部分是不用翻译的.你把你公司的那个软件打开,
看看界面上有哪些字符串汉化,然后到po文件里找相应的字符串,并翻译.
注意:如果界面上有一个字符串是Test,其中T字母下面有下横线(我在这里没法
做下横线),那么在po文件里他对应的字符串应该是"_Test",也就是T字母前面
有一个下横杠.
这是个比较笨的方法.因为我不知道你那个软件的实际情况,所以只能这样.
如果那软件的源码并不多,你可以手动把_("xxxxxxxxxx")或N_("xxxxxxxxxxx')里的
字符串提取出来,写到po文件里(那些xxxxxxxxx就是你要提取的字符串).
谢谢!谢谢!!!
谢谢你的帮助!谢谢你的帮助!!!
mozilla兄,又有新的问题出现了!!!
我用xgettext把程序中的字符串提取出来之后!并翻译完成。我想看看翻译的效果,于是按照网上所说的用msgfmt -o prog.gmo prog.po
系统告诉我说:
msgfmt: prog.po:warning:Charset "CHARSET" is not a portable encoding name. Message conversion to user's charset might not work.
我打开po文件发现:是这样的
----------------------------------
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2002-09-30 15:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
----------------------------------
我将CHARSET改成GB2312,Ok 这次成功!
把.gmo安装到
/usr/share/locale/zh_CN/LC_MESSAGES/
之後,就名改为 prog.mo
运行程序,哇噻,界面上翻译过的地方全是方框!!!我以为是CHARSET的问题,又将它改成iso-8859-1 ,但还是不行!
请你再次帮忙,谢谢!!! 你的其他中文界面的程序显示正常吗?
你用什么linux?
其它的正常啊!
我用的是RH7。3 ,系统内其他的软件正常啊!!!
页:
[1]
2