• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            Qt lupdate 和 lrealease 命令行使用方式(多語言)

            Posted on 2011-04-05 22:29 RTY 閱讀(5548) 評論(0)  編輯 收藏 引用 所屬分類: Qt

            一、lupdate 的命令行參數說明

             1 Usage:
             2     lupdate [options] [project-file]
             3     lupdate [options] [source-file|path|@lst-file] -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>]
            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>
            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);
            亚洲中文久久精品无码| 亚洲午夜精品久久久久久app| 伊人久久大香线焦AV综合影院| 伊人久久大香线蕉综合Av| 丰满少妇人妻久久久久久| 久久精品视屏| 久久久久久国产精品无码超碰 | 久久久国产精品网站| 国产成人久久精品麻豆一区| 无码人妻久久一区二区三区蜜桃| 丁香五月网久久综合| 中文字幕亚洲综合久久菠萝蜜| 91精品国产色综合久久| 亚洲欧美日韩精品久久亚洲区| 天天爽天天狠久久久综合麻豆| 久久强奷乱码老熟女| 久久99精品久久久久久久不卡| 中文精品久久久久人妻| 久久综合综合久久97色| 性欧美丰满熟妇XXXX性久久久 | 国产精品久久新婚兰兰| 亚洲国产二区三区久久| 久久久久久亚洲Av无码精品专口| 久久人人爽人人澡人人高潮AV | 99久久免费国产精品特黄| 久久久这里有精品中文字幕| 人人狠狠综合久久亚洲88| 国产综合久久久久| 欧美牲交A欧牲交aⅴ久久| 精品久久久久久国产| 久久国产欧美日韩精品免费| 国内精品久久久久久久coent| 久久精品视频网| 免费国产99久久久香蕉| 久久精品国产91久久麻豆自制| 久久国产精品77777| 1000部精品久久久久久久久| 久久91综合国产91久久精品| 久久青青草原国产精品免费| .精品久久久麻豆国产精品| 久久99热国产这有精品|