• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

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

            一、lupdate 的命令行參數(shù)說明

             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的命令行參數(shù)說明

             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欲翻譯的內(nèi)容到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. 加載多個(gè)獨(dú)立的qm文件。一個(gè)QTranslator對象只有最后load的才算數(shù)!
                QTranslator translator;
                bool b = false;
                b = translator.load("aboutdialog.qm");
                b = translator.load("mainwindow.qm");
                app.installTranslator(&translator);
            說明:只有"mainwindow.qm" 文件被正常使用。

            下面可以通過聲明兩個(gè)Translator對象進(jìn)行l(wèi)oad,然后安裝就可以分模塊使用了!
            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);
            欧美日韩精品久久久免费观看| 国产高清国内精品福利99久久| 亚洲国产精品人久久| 久久久www免费人成精品| 久久www免费人成看国产片| 国产精品欧美久久久天天影视| 久久婷婷国产剧情内射白浆| 亚洲?V乱码久久精品蜜桃| 久久免费视频一区| 久久精品18| 亚洲午夜无码AV毛片久久| 久久精品无码一区二区日韩AV| 久久国产精品免费一区| 久久久久亚洲爆乳少妇无 | 办公室久久精品| 久久精品无码一区二区三区| 国内精品久久九九国产精品| 久久亚洲高清观看| 国内精品免费久久影院| 亚洲乱码日产精品a级毛片久久 | 93精91精品国产综合久久香蕉| 成人久久久观看免费毛片| 9999国产精品欧美久久久久久| 国产精品久久久99| 污污内射久久一区二区欧美日韩 | 狠狠色丁香久久综合五月| 日韩一区二区久久久久久| 久久免费观看视频| 久久综合给合久久国产免费| 国产999精品久久久久久| 久久有码中文字幕| 日韩久久久久久中文人妻| 亚洲成人精品久久| 国产精品久久久久久五月尺| 久久精品国产亚洲精品2020| 国产成人精品久久亚洲| 国产成人精品综合久久久| 中文字幕亚洲综合久久| 久久精品日日躁夜夜躁欧美| 久久国产精品国产自线拍免费 | 久久青青草原综合伊人|