当前位置: 技术问答>linux和unix
linux 多国语言 请指点!
来源: 互联网 发布时间:2016-06-09
本文导语: 不同的linux版本,像debian,ubuntu,redhat, 它们在用gettext 和 msgfmt在实现多国语言的时候,有什么差别吗? PS:我的程序在debian上可以用,但是在 ubuntu上和xandros上就用不了。 麻烦指点一下,谢谢!! | 你...
不同的linux版本,像debian,ubuntu,redhat, 它们在用gettext 和 msgfmt在实现多国语言的时候,有什么差别吗?
PS:我的程序在debian上可以用,但是在 ubuntu上和xandros上就用不了。
麻烦指点一下,谢谢!!
PS:我的程序在debian上可以用,但是在 ubuntu上和xandros上就用不了。
麻烦指点一下,谢谢!!
|
你的问题叙述的不清楚啊,追问两句:
在debian上可以用,在ubuntu上和xandros上不可用,你说的可用和不可用是指二进制的可执行程序,还是指源码?
如果是指可执行程序不可用,报的错误是什么?能否贴上来看一下。
再多说一句:虽然linux内核一样,但是这种跨系统的binary移植,不可用其实是相当正常的,可用才值得意外惊
喜呢!
|
说实话,我没看懂你的解释...
|
个人觉得,是因为在ubuntu和xandros上的语言环境和debian上不同,比如,你在debian上可能有en和zh两种语言
环境,而在ubuntu和xandros上只有en,这样就可能会产生问题。
我个人建议,你把OS的基本语言环境都配置成相同的,然后再测试应用程序,毕竟没有一个可对比的基础环境,
上层的测试没有可比性。
环境,而在ubuntu和xandros上只有en,这样就可能会产生问题。
我个人建议,你把OS的基本语言环境都配置成相同的,然后再测试应用程序,毕竟没有一个可对比的基础环境,
上层的测试没有可比性。
|
看看其语言设置是否跟你的程序一致,不行的就修改一下环境变量:
# locale
|
安装 相应的 mo文件吧.
|
[root@RHEL4_U5 ~]# echo $LANG
en_US.UTF-8
en_US.UTF-8
|
假设我编译后的程序名称为: prog1
setlocale ( LC_ALL, "" );
bindtextdomain ( "prog1", "/usr/share/locale" );
textdomain ( "prog1" );
setlocale ( LC_ALL, "" );
bindtextdomain ( "prog1", "/usr/share/locale" );
textdomain ( "prog1" );