Qt程序汉化的问题

Qt程序汉化的问题,第1张

Qt Linguist 的使用方式

lupdate可以把.h, .cpp, .ui中需要翻译的字符串抽出来形成.ts文件,然后用linguist翻译,用lerealse生成.qm。

*** 作步骤如下:

1. 修改*.pro,在其中添加 TRANSLATIONS = XXX. ts或是TRANSLATIONS += XXX. ts

如果要生成多个可以用:

TRANSLATIONS =lang_en.ts \

lang_zh.ts \

lang_la.ts

2. 执行 lupdate *.pro,生成XXX. ts

3. 使用linguist打开XXX. ts,进行翻译,翻译结束后,保存成为qm格式的。File->Release As

或者是翻译结束后,使用命令,lrelease XXX. ts,生成qm文件。

4. 在程序中加入。

QTranslator translator

translator.load("browser")

app.installTranslator(&translator)

其中load的是XXX.qm中的不包含后缀名的文件名(即XXX)。

注:我之前编写时在Main.cpp中加入的东东:

QApplication a(argc, argv)

QTranslator translator

translator.load("admain_zh")

a.setFont(QFont("wenquanyi")) //设置字体库

a.installTranslator(&translator)

直接在VS2010中用release模式编译程序,然后到工程目录中找到release文件夹,那里面就是可以执行的程序了,要是要保证在其他没有QT的机器上能够运行,要把相应的dll文件拷贝道release中,一般需要包含: QtCore4.dll QtGui4.dll mingwm10.dll li.

1、QTranslator类提供了对文本输出的国际化(internationalization)的支持。创建的Qtranslator对象translator包含了一组从源语言到目标语言的翻译(translations),这些翻译是通过QTranslator对象参照Qt翻译文件来实现的。

2、函数Qtranslator::load(const QString&filename, const QString&directory=QString(), const QString&search_delimiters=QString(), const QString&suffix=QString())加载Qt的翻译文件(translation file)

3、函数QApplication::installTranslator()为应用程序添加翻译文件(通过翻译器指定的文件)

ps:不知道对你是不是有用,我是刚刚学Qt,建议你有什么问题可以查Assistant啊,那里面有好多东西呢,呵呵。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11087012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存