• <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 閱讀(5568) 評論(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. 加載多個獨立的qm文件。一個QTranslator對象只有最后load的才算數(shù)!
                QTranslator translator;
                bool b = false;
                b = translator.load("aboutdialog.qm");
                b = translator.load("mainwindow.qm");
                app.installTranslator(&translator);
            說明:只有"mainwindow.qm" 文件被正常使用。

            下面可以通過聲明兩個Translator對象進行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);
            一本久久a久久精品综合夜夜| 久久久精品久久久久久| 国产成人精品久久| 无码伊人66久久大杳蕉网站谷歌 | 国产精品永久久久久久久久久| 久久不射电影网| 亚洲国产成人精品91久久久 | 伊人久久大香线蕉综合网站| 久久精品一区二区三区AV| 成人综合伊人五月婷久久| 岛国搬运www久久| 99精品国产99久久久久久97| 国产精品成人99久久久久91gav| 亚洲欧洲中文日韩久久AV乱码| 97热久久免费频精品99| 久久久久亚洲AV无码观看| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 久久99精品国产一区二区三区 | 嫩草影院久久99| 狠狠色综合网站久久久久久久高清| AV狠狠色丁香婷婷综合久久| 日韩亚洲国产综合久久久| 久久午夜电影网| 久久精品蜜芽亚洲国产AV| 亚洲va久久久久| 久久国产V一级毛多内射| 99国产欧美久久久精品蜜芽| 99久久国产精品免费一区二区| 久久狠狠一本精品综合网| 伊人热人久久中文字幕| 国内精品人妻无码久久久影院| 99精品国产99久久久久久97| 伊人久久大香线蕉综合影院首页| 亚洲一级Av无码毛片久久精品| 精品久久久久久国产三级| 99久久免费国产精精品| 久久精品无码午夜福利理论片| 久久久久人妻一区精品色| 久久综合给合久久狠狠狠97色69| 亚洲中文久久精品无码| 久久综合给合久久狠狠狠97色69 |