您的位置 首页 电源

Qt 国际化及 Qt Linguist 的运用

1action->setText(tr(开始));并且在main函数中还有这种一段代码:01intmain(intargc,char*argv[])02{03QApplication a(arg

1 action->setText(tr(开端));

并且在main函数中还有这种一段代码:

01 intmain(intargc,char*argv[])
02 {
03 QApplication a(argc, argv);
04
05 QTextCodec *codec = QTextCodec::codecForName(GB2312);
06 QTextCodec::setCodecForLocale(codec);
07 QTextCodec::setCodecForCStrings(codec);
08 QTextCodec::setCodecForTr(codec);
09
10 MainWindow w;
11 w.show();
12 returna.exec();
13 }

devbean大神和dbzhang800大神都曾激烈批评过这种写法,原因有三:

1、假如运用GB2312格局保存这篇代码,其他人运用UTF-8翻开,那么无疑将会看见乱码。

其时我就呈现了这种状况,光哥把代码给我发过来今后,我发现我看到代码中有乱码,由于ubuntu 10.10的默许编码格局是UTF-8,不管我用Qt creator仍是gedit翻开源代码,都会看见乱码。

2、假如将程序发布到一些非简体中文的国家或区域,或许呈现对方的机器上底子没有装置任何中文的编码格局,那么就会呈现对方不管如何都无法正确显现源代码乃至无法正确运转程序的状况。

3、Qt供给了强壮的多国言语东西Qt Linguist,不用白不用。

devbean大神和dbzhang800大神的主张做法是:

1、在代码中一切需求运用中文的当地都用一段英文暂时替代,并用tr()函数做符号。

2、运用Qt Linguist对一切被tr()函数符号的字符串进行翻译,并发布翻译包。

3、在程序中加载翻译包。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/298200.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部