Qt Linguist 界面语言翻译
2012-08-16 16:57
309 查看
Qt有一个叫做Qt Linguist的工具可以很方便的实现多语言化,具体操作如下:
使用Qt菜单上的Create New Translation File...命令创建一个语言文件,可以选择很多种不同的语言,比如我选择了中文(zh),生成一个helloqtwindows_zh.ts;
找到解决方案中的Translation Files/helloqtwindows_zh.ts,在文件上单击右键,选择Open with Qt Linguist...命令,用Qt Linguist打开这个文件;
在Qt Linguist里面将每一个句子手动翻译,其中,这些单词正是我用QObject::tr标出的所有句子;
保存,然后在main函数中增加下面一段代码:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTranslator translator;
translator.load("helloqtwindows_zh");
app.installTranslator(&translator);
HelloQtWindows w;
w.show();
app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
return app.exec();
}
最后,还是在那个ts文件上单击右键,选择Run lrelease命令,生成qm文件,这样再运行程序整个界面就变成中文的了!
这里要注意一下,如果程序在源码中修改了任何的内容,在发布之前一定在ts文件上面按右键,选择Run lupdate命令重新生成ts文件,Qt会很智能的把所有内容改变的字符串或新增的字符串更新,在Qt Linguist里面的Context视图中显示为问号,让我们一个都不会漏过。真的是方便到家了
使用Qt菜单上的Create New Translation File...命令创建一个语言文件,可以选择很多种不同的语言,比如我选择了中文(zh),生成一个helloqtwindows_zh.ts;
找到解决方案中的Translation Files/helloqtwindows_zh.ts,在文件上单击右键,选择Open with Qt Linguist...命令,用Qt Linguist打开这个文件;
在Qt Linguist里面将每一个句子手动翻译,其中,这些单词正是我用QObject::tr标出的所有句子;
保存,然后在main函数中增加下面一段代码:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTranslator translator;
translator.load("helloqtwindows_zh");
app.installTranslator(&translator);
HelloQtWindows w;
w.show();
app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
return app.exec();
}
最后,还是在那个ts文件上单击右键,选择Run lrelease命令,生成qm文件,这样再运行程序整个界面就变成中文的了!
这里要注意一下,如果程序在源码中修改了任何的内容,在发布之前一定在ts文件上面按右键,选择Run lupdate命令重新生成ts文件,Qt会很智能的把所有内容改变的字符串或新增的字符串更新,在Qt Linguist里面的Context视图中显示为问号,让我们一个都不会漏过。真的是方便到家了
相关文章推荐
- Qt实现多国语言(即界面翻译)可实时进行切换
- SAp 语言翻译大师系列4- 界面文本的翻译
- Qt实现多国语言(即界面翻译)可实时进行切换
- 使用Qt linguist进行多语言界面设计
- 非典型性C语言教程-1.0 翻译单元,标识符,内部连接,外部连接
- Android Studio界面菜单翻译
- 介绍一个全球语言翻译网站
- 翻译《有关编程、重构及其他的终极问题?》——18.你在一个语言上积累的经验和知识不总是适用于另外一门语言
- OSEM Transifex 翻译成其他语言说明
- Qt语言翻译工具的使用
- ZZ:使用.NET语言开发Silverlight应用程序入门(二):界面和对象模型
- js通过google翻译插件实现多语言版本
- Swift语言之View,Button控件实现小方块在界面上的移动(纯代码实现)
- VC++6.0纯C语言动态库加载MFC界面
- 关于Eclipse界面语言问题
- Android 初始化语言(Android init Language翻译)
- Python操作Excel(翻译工具(一种语言))
- 不懂语言代码,超级菜鸟的建站分享(二):界面设置
- QT问题系列(7) - 如何修改Qt Creator的界面语言
- 在ASP.Net 2.0中实现多语言界面的方法