文档章节

qt lupdate 功能说明

IanSun
 IanSun
发布于 2011/05/15 09:29
字数 758
阅读 704
收藏 1

一、lupdate 的命令行参数说明

 1 Usage:
 2     lupdate [options] [project-file] qt lupdate 功能说明 - modingfa_002 - 出发了不要问路在哪!
 3     lupdate [options] [source-file|path|@lst-file] qt lupdate 功能说明 - modingfa_002 - 出发了不要问路在哪!  -ts ts-files|@lst-file
 4 
 5 lupdate is part of Qt's Linguist tool chain. It extracts translatable
 6 messages from Qt UI files, C++, Java and JavaScript/QtScript source code.
 7 Extracted messages are stored in textual translation source files (typically
 8 Qt TS XML). New and modified messages can be merged into existing TS files.
 9 
10 Options:
11     -help  Display this information and exit.
12     -no-obsolete
13            Drop all obsolete strings.
14     -extensions <ext>[,<ext>] qt lupdate 功能说明 - modingfa_002 - 出发了不要问路在哪!
15            Process files with the given extensions only.
16            The extension list must be separated with commas, not with whitespace
17 .
18            Default: 'java,jui,ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,hxx,js,qs,qml'
19 .
20     -pluralonly
21            Only include plural form messages.
22     -silent
23            Do not explain what is being done.
24     -no-sort
25            Do not sort contexts in TS files.
26     -no-recursive
27            Do not recursively scan the following directories.
28     -recursive
29            Recursively scan the following directories (default).
30     -I <includepath> or -I<includepath>
31            Additional location to look for include files.
32            May be specified multiple times.
33     -locations {absolute|relative|none}
34            Specify/override how source code references are saved in TS files.
35            Default is absolute.
36     -no-ui-lines
37            Do not record line numbers in references to UI files.
38     -disable-heuristic {sametext|similartext|number}
39            Disable the named merge heuristic. Can be specified multiple times.
40     -pro <filename>
41            Name of a .pro file. Useful for files with .pro file syntax but
42            different file suffix. Projects are recursed into and merged.
43     -source-language <language>[_<region>]
44            Specify the language of the source strings for new files.
45            Defaults to POSIX if not specified.
46     -target-language <language>[_<region>]
47            Specify the language of the translations for new files.
48            Guessed from the file name if not specified.
49     -ts <ts-file> qt lupdate 功能说明 - modingfa_002 - 出发了不要问路在哪!
50            Specify the output file(s). This will override the TRANSLATIONS
51            and nullify the CODECFORTR from possibly specified project files.
52     -codecfortr <codec>
53            Specify the codec assumed for tr() calls. Effective only with -ts.
54     -version
55            Display the version of lupdate and exit.
56     @lst-file
57            Read additional file names (one per line) from lst-file.
58 


二、lrealease的命令行参数说明

 1 Usage:
 2     lrelease [options] project-file
 3     lrelease [options] ts-files [-qm qm-file]
 4 
 5 lrelease is part of Qt's Linguist tool chain. It can be used as a
 6 stand-alone tool to convert XML-based translations files in the TS
 7 format into the 'compiled' QM format used by QTranslator objects.
 8 
 9 Options:
10     -help  Display this information and exit
11     -idbased
12            Use IDs instead of source strings for message keying
13     -compress
14            Compress the QM files
15     -nounfinished
16            Do not include unfinished translations
17     -removeidentical
18            If the translated text is the same as
19            the source text, do not include the message
20     -markuntranslated <prefix>
21            If a message has no real translation, use the source text
22            prefixed with the given string instead
23     -silent
24            Do not explain what is being done
25     -version
26            Display the version of lrelease and exit
27 


三、示例说明
1. 提取aboutDialog.cpp欲翻译的内容到ts文件中

lupdate -codecfortr GB2312 aboutdialog.cpp -ts aboutdialog.ts

2.如何在程序中使用ts生成的qm文件,下面用硬代码来解释
 1 #include <QtGui>
 2 #include "mainwindow.h"
 3 
 4 int main(int argc, char *argv[])
 5 {
 6     QApplication app(argc, argv);
 7 
 8     QTranslator translator;
 9     bool b = false;
10     b = translator.load("aboutdialog.qm");
11     app.installTranslator(&translator);
12 
13 
14     MainWindow w;
15     w.show();
16 
17     return app.exec();
18 }
19 

3. 加载多个独立的qm文件。一个QTranslator对象只有最后load的才算数!
    QTranslator translator;
    bool b = false;
    b = translator.load("aboutdialog.qm");
    b = translator.load("mainwindow.qm");
    app.installTranslator(&translator);
说明:只有"mainwindow.qm" 文件被正常使用。

下面可以通过声明两个Translator对象进行load,然后安装就可以分模块使用了!
1      QTranslator translator1, translator2;
2       bool  b  =   false ;
3      b  =  translator1.load( " aboutdialog.qm " );
4      b  =  translator2.load( " mainwindow.qm " );
5      app.installTranslator( & translator1);
6      app.installTranslator( & translator2);

本文转载自:http://blog.163.com/modingfa_002/blog/static/11092546620114105622401/?latestBlog

IanSun
粉丝 9
博文 20
码字总数 227
作品 0
昆山
CTO(技术副总裁)
私信 提问
嵌入式Qt方案中文显示系列:国际化支持实现

上文提到了Qt的国际化支持方案,这里对这一方案进行简要的说明。 使用Qt的国际化支持和翻译机制功能来实现中文的显示,中文字库的支持还是必需的,然后就是使用的Qte库必须包含了翻译特性,不...

水海云
2013/04/07
0
2
QCreator2.5.0 Based on Qt4.8.1 使用lupdate出现 premature end of document 错误

今天在按照例子使用lupdate myapp.pro生成国际化资源文件,ts文件的时候,出现以下错误。 D:\QProject\CloudNote>lupdate CloudNote.pro C:/Qt/4.8.1/src/corelib/tools/qbytearray.h:618: ...

jemygraw
2013/01/09
959
1
qt 常用工具命令

qt 翻译文件命令 lupdate xxx.pro -ts xxx.ts qml的本地化翻译文件生成的pro 需要这样写: lupdate_only{ SOURCES = main.qml xxx.qml } 这样写执行命令才能做翻译。 qt 命令行打包命令 wind...

牛牛张
2016/04/09
45
0
Qt国际化(源码含中文时)的点滴分析

注意:本文不介绍如何使用Qt的国际化、本地化支持。本文针对的是偏底层的、Manual和其他资料中很少涉及的东西。所以,继续之前,请先确保:你已经对如何使用Qt的国际化比较熟悉了。 本文针对...

晨曦之光
2012/05/08
437
0
Qt Visual Studio Add-in 1.1.9 发布

Qt Visual Studio Add-in 是一个 Visual Studio 的扩展,使得可以直接在 Visual Studio 环境中开发 Qt 应用程序。 今天该插件发布了 1.1.9 版本,该版本修改完善内容如下: 纠正了一个1.1.8...

YehMatthew
2011/03/31
9.6K
2

没有更多内容

加载失败,请刷新页面

加载更多

uniapp + bootstrapvue 移动/PC 一套搞定 (一)配置bootstrapvue

1.准备文件 自己到DCloud官网: http://dcloud.io/ 去下载官方的IDE Hbuilder,新建一个空的uniapp项目即可。 uniapp框架自带优化的vue,我们仅仅需要准备以下三个文件: bootstrap.min.css ...

panyunxing
今天
5
0
Android Camera原理之camera service类与接口关系

camera service主要是指 frameworks/av/services/camera/下面的代码,最近在看这一块的代码,为了更好地理清这一块的代码,也为了后续学习camera方便一些,我觉得很有必要理一下这一块的整体...

天王盖地虎626
今天
2
0
Golang学习笔记

[TOC] Golang学习笔记 这个学习笔记是最早在1.初,版本左右的时候写的,和当前最新的版本可能会有较大的差异. 因为成文比较早,文章里面又有很多自己的见解,有些东西当时理解的不太透彻可能写错...

我爱吃炒鸡
今天
8
0
科技赋能成效显著!金融壹账通两大赋能项目荣获IDC大奖

7月19日,2019IDC中国未来金融论坛曁颁奖典礼于北京举办。由金融壹账通赋能的长春农商银行多人视频面审智能风控系统、包头农商银行互联网银行SaaS服务两大项目因在项目的创新性、技术领先性、...

IFTNews
昨天
1
0
HTTP协议

HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据...

Eappo_Geng
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部