青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

關(guān)于QT 多語(yǔ)言支持

Posted on 2011-05-12 07:21 RTY 閱讀(997) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Qt
1.程序中要國(guó)際化的靜態(tài)字符串用tr()<源代碼是latin1字符串時(shí)>及trUtf8()<源代碼不是latin1字符 時(shí)>

2.動(dòng)態(tài)string用qstring的arg()方法,如tr("host %1 found").arg(hostname),所謂動(dòng)態(tài)是指需要參數(shù)生成字符串

3.在用tr轉(zhuǎn)換變量之前,變量用QT_TR_NOOP,此方法用在靜態(tài)字符串?dāng)?shù)組上
  如: static const char *greeting_strings[] = {
         QT_TR_NOOP("Hello"),
         QT_TR_NOOP("Goodbye")
     };
     tr(greeting_strings[0]);
 
4.宏QT_NO_CAST_FROM_ASCII強(qiáng)制tr檢查

5. QTextCodec及QTextStream提供不同的字符編碼支持。app可能偶爾需要輸入輸出不同于locale編碼的字符編碼。
app運(yùn)行時(shí),系統(tǒng)的locale決定了8-bit 數(shù)據(jù)的8-bit 編碼方式。
當(dāng)app在Cyrillic KOI8-R locale (the de-facto standard locale in Russia)需要輸出Cyrillic in the ISO 8859-5 encoding,可用如下參考代碼:
QString string = ...; // some Unicode text
 QTextCodec *codec = QTextCodec::codecForName("ISO 8859-5");
 QByteArray encodedString = codec->fromUnicode(string);
  從Unicode轉(zhuǎn)化到local 8-bit 編碼,一個(gè)簡(jiǎn)便方法是用QString::toLocal8Bit(),另一個(gè)是用 QString::toUtf8()
  煩方向的轉(zhuǎn)換有 QString::fromUtf8() and QString::fromLocal8Bit(),或更通用的從ISO 8859-5 Cyrillic到Unicode的轉(zhuǎn)換:
    QByteArray encodedString = ...; // some ISO 8859-5 encoded text
 QTextCodec *codec = QTextCodec::codecForName("ISO 8859-5");
 QString string = codec->toUnicode(encodedString);
 
QTextCodec::codecForLocale()返回的編碼方式是最可能需要支持的編碼方式,因?yàn)橛脩糇羁赡苁褂盟c其他人分享交流文檔。

如果tr中不是latin1,在.qro中增加codecfortr = utf-8指明字符編碼,在main中也應(yīng)QTextCodec::setCodecfortr


6.QApplication::setLayoutDirection可以設(shè)置書寫方向

7.可以把qm文件放在exe中,可以用qt的資源系統(tǒng)

8. 在app中用QTranslator::load()及QCoreApplication::installTranslator()根據(jù)用戶語(yǔ)言加載語(yǔ) 言文件.
qt可以安裝多個(gè)QTranslator
int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);

     QTranslator qtTranslator;
     qtTranslator.load("qt_" + QLocale::system().name(),
             QLibraryInfo::location(QLibraryInfo::TranslationsPath));
     app.installTranslator(&qtTranslator);

     QTranslator myappTranslator;
     myappTranslator.load("myapp_" + QLocale::system().name());
     app.installTranslator(&myappTranslator);

     ...
     return app.exec();
 }

9.qlocale可以指定數(shù)字和日期時(shí)間。其他locale信息可用C++標(biāo)準(zhǔn)函數(shù)setlocale或localeconv
10.icon的國(guó)際化,可在qre文件中用lang屬性:
如<qreresource>
 </qreresource>
 <qreresource lang="es">
 </qreresource>
11. 1)在.qro中增加欲支持的語(yǔ)言,
  TRANSLATIONS=app-cn.ts \
  app-fr.ts \
  app-ca.ts

 2)lupdate提取所有的tr中的字符形成qm文件
 3)用qt linguist轉(zhuǎn)換不同語(yǔ)言
 
 4)用lrelease把.ts文件轉(zhuǎn)換成二進(jìn)制的.qm文件

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲最新视频在线| 一本一道久久综合狠狠老精东影业| 欧美精品九九99久久| 久久久久网站| 国产精品美女久久久久aⅴ国产馆| 欧美成人情趣视频| 国模叶桐国产精品一区| 亚洲男人的天堂在线观看| 99精品热6080yy久久| 免费美女久久99| 久久中文字幕一区| 国产在线一区二区三区四区| 9i看片成人免费高清| 9久草视频在线视频精品| 久久综合久久美利坚合众国| 玖玖玖国产精品| 国产一区二区三区四区五区美女 | 亚洲大胆av| 亚洲影视在线播放| 亚洲天堂激情| 欧美日韩亚洲高清| 日韩午夜视频在线观看| 亚洲蜜桃精久久久久久久| 米奇777超碰欧美日韩亚洲| 欧美va亚洲va国产综合| 狠狠爱成人网| 久久久久.com| 欧美成人免费va影院高清| 伊人久久久大香线蕉综合直播 | 狠狠色丁香久久婷婷综合丁香 | 亚洲一区视频在线观看视频| 亚洲一区bb| 国产精品久久久久久久久久久久久久 | 亚洲无线一线二线三线区别av| 亚洲国产成人久久综合| 欧美一区二区三区在线看 | 亚洲美女区一区| 一本大道久久a久久精二百| 欧美连裤袜在线视频| avtt综合网| 午夜视频一区| 国产资源精品在线观看| 久色婷婷小香蕉久久| 亚洲三级电影在线观看| 一区二区三区高清在线观看| 国产精品久久国产三级国电话系列 | 亚洲国产精品视频| 欧美精品在欧美一区二区少妇| 一区二区精品| 久久久久久穴| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲精品网址在线观看| 亚洲男女自偷自拍| 国模一区二区三区| 欧美激情欧美狂野欧美精品| 亚洲免费大片| 久久久久国产精品午夜一区| 亚洲精品一二三| 国产精品免费一区豆花| 久久免费黄色| 一区二区三区国产在线| 久久久久久久久综合| 一本色道久久99精品综合 | 欧美大片91| 亚洲影院色在线观看免费| 国产一区二区久久精品| 欧美国产在线电影| 午夜伦欧美伦电影理论片| 亚洲国产欧美国产综合一区| 亚洲综合视频1区| 亚洲电影免费观看高清完整版在线| 欧美日韩播放| 久久久国产精品亚洲一区| 亚洲视频精选| 亚洲国产婷婷香蕉久久久久久99| 久久se精品一区二区| 一本大道久久a久久精二百| 国内久久婷婷综合| 国产精品久久久一本精品| 欧美成人一区二区三区在线观看| 亚洲欧美日韩一区二区三区在线观看| 欧美激情一区二区三区在线视频观看| 羞羞色国产精品| 亚洲一区二区在线| 亚洲精选91| 亚洲国产精品第一区二区| 国产视频一区欧美| 国产精品亚洲激情| 欧美日韩国产在线看| 欧美mv日韩mv国产网站app| 久久狠狠久久综合桃花| 午夜精品久久久久久久蜜桃app| 亚洲精品一区二区三区婷婷月| 欧美3dxxxxhd| 久久久久久久999| 欧美专区在线| 欧美一区二区三区免费视| 亚洲欧美日本国产有色| 亚洲综合视频在线| 亚洲女性裸体视频| 亚洲香蕉在线观看| 一区二区动漫| 亚洲一二三区在线观看| 99视频日韩| 日韩亚洲精品电影| 日韩一区二区精品葵司在线| 亚洲国产视频一区二区| 亚洲二区三区四区| 亚洲国产欧美精品| 亚洲日本va在线观看| 亚洲国产精品久久久久久女王| 亚洲动漫精品| 亚洲人成人99网站| 亚洲日本乱码在线观看| 亚洲欧洲一区二区三区久久| 亚洲精品中文在线| 亚洲精品视频二区| 亚洲最快最全在线视频| 亚洲免费一级电影| 欧美一进一出视频| 久久久久一区二区三区四区| 久久久亚洲人| 亚洲成人在线视频播放 | 欧美国产成人精品| 91久久久久久久久| 在线亚洲自拍| 欧美在线视频二区| 久久理论片午夜琪琪电影网| 欧美成年人在线观看| 欧美日韩一级黄| 国产日韩欧美三级| 亚洲国产色一区| 亚洲综合清纯丝袜自拍| 久久这里只有| 亚洲精品视频啊美女在线直播| 一本色道久久88综合日韩精品| 午夜精品一区二区三区在线视 | 欧美高清成人| 国产精品久久久久影院亚瑟| 国产又爽又黄的激情精品视频 | 宅男精品视频| 久久久久久9| 亚洲破处大片| 先锋a资源在线看亚洲| 欧美va亚洲va国产综合| 国产精品久久久久久久久免费樱桃 | 伊人婷婷欧美激情| 亚洲视频免费观看| 久久亚洲影音av资源网| 亚洲精品一二三| 欧美一区二区三区四区在线 | 99一区二区| 久久久久国产精品一区| 欧美日韩免费一区二区三区| 国产专区综合网| 亚洲天堂网在线观看| 欧美 日韩 国产 一区| 亚洲午夜未删减在线观看| 免费不卡亚洲欧美| 国产午夜精品理论片a级大结局| 日韩午夜免费| 女主播福利一区| 午夜一区二区三区在线观看| 欧美日韩精品免费| 亚洲国产精品激情在线观看| 欧美在线观看一二区| 日韩视频在线一区二区| 久久女同互慰一区二区三区| 国产精品一区二区黑丝| 日韩一级免费| 亚洲国产高清在线| 久久成人一区| 国产欧美日韩视频一区二区三区| 亚洲最新色图| 亚洲激情六月丁香| 久久综合99re88久久爱| 国内视频一区| 久久久久久久精| 亚洲免费在线| 国产精品热久久久久夜色精品三区| 亚洲精品三级| 亚洲丰满少妇videoshd| 久久综合网色—综合色88| 狠狠久久综合婷婷不卡| 久久精品国产一区二区三区免费看 | 亚洲欧美激情一区| 亚洲最新中文字幕| 欧美日韩精品免费观看| 日韩视频中午一区| 亚洲国产精品123| 媚黑女一区二区| 亚洲激情女人| 亚洲盗摄视频| 欧美激情一区二区三区成人| 亚洲人成在线播放网站岛国| 欧美激情综合| 欧美大色视频| av成人毛片| 在线综合欧美| 国产精品一区二区三区四区|