亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? i18n.html

?? Linux下Qt編程的電子書(shū)
?? HTML
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/doc/i18n.doc:36 --><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="Translator" content="farfareast"><meta name="Qt zh_CN Documents Website" content="http://www.qiliang.net/qt"><title>以Qt國(guó)際化</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: #ffffff; color: black; font-family: "Times New Roman" }--></style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr bgcolor="#E5E5E5"><td valign=center> <a href="index.html"><font color="#004faf">主頁(yè)</font></a> | <a href="classes.html"><font color="#004faf">所有的類(lèi)</font></a> | <a href="mainclasses.html"><font color="#004faf">主要的類(lèi)</font></a> | <a href="annotated.html"><font color="#004faf">注釋的類(lèi)</font></a> | <a href="groups.html"><font color="#004faf">分組的類(lèi)</font></a> | <a href="functions.html"><font color="#004faf">函數(shù)</font></a></td><td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt國(guó)際化</h1> <p> <!-- index internationalization --><a name="internationalization"></a><p>應(yīng)用的國(guó)際化就是使應(yīng)用成為能被非本國(guó)的人使用的過(guò)程。<p>有的情況下,國(guó)際化很簡(jiǎn)單,例如,使一個(gè)US應(yīng)用可被Australian或者British用戶(hù)理解,工作可能少于幾個(gè)拼寫(xiě)修正。但是使一個(gè)US應(yīng)用可以被Japanese用戶(hù)使用,或者一個(gè)Korean應(yīng)用可被German用戶(hù)使用,就會(huì)需要軟件不僅工作于不同語(yǔ)言下,還要使用不同的輸入技術(shù)、字符編碼和表達(dá)習(xí)慣。<p>也參見(jiàn)<a href="linguist-manual.html">Qt語(yǔ)言學(xué)家</a>手冊(cè)。<p> <h2>Step by Step</h2><a name="1"></a><p>以Qt來(lái)編寫(xiě)多平臺(tái)國(guó)際化的軟件是一個(gè)和緩的、逐步增加的過(guò)程。你的軟件可以按下面的幾個(gè)階段實(shí)現(xiàn)國(guó)際化:<p> <h3>對(duì)所有用戶(hù)可見(jiàn)的文本使用<a href="qstring.html">QString</a></h3><a name="1-1"></a><p>既然QString內(nèi)部就使用Unicode編碼,那么使用常見(jiàn)的文本處理手段,就可以透徹地處理世界上的每種語(yǔ)言。同時(shí),既然所有向用戶(hù)呈現(xiàn)文本的Qt函數(shù)都把QString作為參數(shù),也就沒(méi)有了char*到QString的轉(zhuǎn)換的時(shí)間開(kāi)銷(xiāo)。<p>在“程序員空間”(例如<a href="qobject.html">QObject</a>的名稱(chēng)和文件格式文本)的字符串不需要使用QString;傳統(tǒng)的char*或者<a href="qcstring.html">QCString</a>類(lèi)就夠用了。<p>你不大可能注意到你在使用Unicode;QString和<a href="qchar.html">QChar</a>就如同早期版本的傳統(tǒng)C中的粗糙的const char*和char。<p> <h3>對(duì)所有文字形式的文本使用<a href="qobject.html#tr">tr()</a></h3><a name="1-2"></a><p>無(wú)論你的程序在哪里對(duì)將會(huì)呈現(xiàn)給用戶(hù)的文本使用了<tt>"quoted text"</tt>,要確保它被<a href="qapplication.html#translate">QApplication::translate</a>()函數(shù)處理過(guò)。其實(shí)做到這一點(diǎn)只需要使用<a href="qobject.html#tr">QObject::tr</a>()。例如,假設(shè)<tt>LoginWidget</tt>是QWidget的一個(gè)子類(lèi):<p> <pre>    LoginWidget::LoginWidget()    {        <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>( tr("Password:"), this );        ...    }</pre> <p>這就解決了你可能要寫(xiě)的用戶(hù)可見(jiàn)的字符串的99%。<p>如果這些quoted text不是在<a href="qobject.html">QObject</a>子類(lèi)的成員函數(shù)中,可以使用一個(gè)適當(dāng)?shù)念?lèi)的tr()函數(shù),或者直接使用<a href="qapplication.html#translate">QApplication::translate</a>()函數(shù):<p> <pre>    void some_global_function( LoginWidget *logwid )    {        <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>(                LoginWidget::tr("Password:"), logwid );    }    void same_global_function( LoginWidget *logwid )    {        <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>(                qApp-&gt;<a href="qapplication.html#translate">translate</a>("LoginWidget", "Password:"),                logwid );    }</pre><p>如果你需要不在函數(shù)里的可翻譯文本,有兩個(gè)宏可以幫忙:QT_TR_NOOP()和QT_TRANSLATE_NOOP()。它們僅僅標(biāo)示出文本,以便于被下面描述的<em>lupdate</em>工具提取。宏擴(kuò)展為只是文本(沒(méi)有上下文)。<p>QT_TR_NOOP()的例子:<pre>    QString FriendlyConversation::greeting( int greet_type )    {        static const char* greeting_strings[] = {            QT_TR_NOOP( "Hello" ),            QT_TR_NOOP( "Goodbye" )        };        return tr( greeting_strings[greet_type] );    }</pre> <p>QT_TRANSLATE_NOOP()的例子:<pre>    static const char* greeting_strings[] = {        QT_TRANSLATE_NOOP( "FriendlyConversation", "Hello" ),        QT_TRANSLATE_NOOP( "FriendlyConversation", "Goodbye" )    };    QString FriendlyConversation::greeting( int greet_type )    {        return tr( greeting_strings[greet_type] );    }    <a href="qstring.html">QString</a> global_greeting( int greet_type )    {        return qApp-&gt;<a href="qapplication.html#translate">translate</a>( "FriendlyConversation",                                greeting_strings[greet_type] );    }</pre><p>如果你使用定義的宏QT_NO_CAST_ASCII編譯你的軟件,從而關(guān)閉了從const char*到<a href="qstring.html">QString</a>的自動(dòng)轉(zhuǎn)換,你很可能會(huì)捕捉到你錯(cuò)過(guò)的字符串。更多信息參見(jiàn)<a href="qstring.html#fromLatin1">QString::fromLatin1</a>()。關(guān)閉這個(gè)轉(zhuǎn)換會(huì)使編程有點(diǎn)兒麻煩。<p>如果你的源碼語(yǔ)言使用Latin-1之外的字符集,你會(huì)發(fā)現(xiàn)<a href="qobject.html#trUtf8">QObject::trUtf8</a>()比<a href="qobject.html#tr">QObject::tr</a>()更好用,因?yàn)閠r()依賴(lài)于<a href="qapplication.html#defaultCodec">QApplication::defaultCodec</a>(),這使它比QObject::trUtf8()更脆弱。<p> <h3>對(duì)于加速鍵值(Accelerator value)使用<a href="qkeysequence.html">QKeySequence</a>()</h3><a name="1-3"></a><p>加速鍵值,例如Ctrl+Q或者Alt+F,也需要翻譯。如果你的應(yīng)用給“Quit”直接編碼(hardcode)為<tt>CTRL+Key_Q</tt>,翻譯者就不能重載它了。正確的習(xí)慣用法是<p> <pre>    <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( tr("&amp;Quit"), this, SLOT(quit()),                      QKeySequence(tr("Ctrl+Q", "File|Quit")) );</pre><p> <h3>對(duì)簡(jiǎn)單參數(shù)使用<a href="qstring.html#arg">QString::arg</a>()</h3><a name="1-4"></a><p>對(duì)于國(guó)際化的文本,在字符串中類(lèi)似printf()風(fēng)格的插入?yún)?shù)一般是不好的選擇,因?yàn)橛袝r(shí)候有必要在翻譯時(shí)改變參數(shù)的順序。不管怎樣,QString::arg()函數(shù)為參數(shù)替換提供了一種簡(jiǎn)單的途徑:<pre>    void FileCopier::showProgress( int done, int total,                                   const <a href="qstring.html">QString</a>&amp; current_file )    {        label.setText( tr("%1 of %2 files copied.\nCopying: %3")                        .arg(done)                        .arg(total)                        .arg(current_file) );    }</pre><p> <h3>創(chuàng)作譯本</h3><a name="1-5"></a><p>在應(yīng)用中通篇使用tr()之后,你就可以開(kāi)始創(chuàng)作程序中用戶(hù)可見(jiàn)的文本的譯本了。<p> <a href="linguist-manual.html">Qt語(yǔ)言學(xué)家</a>手冊(cè)提供了關(guān)于Qt翻譯工具、<em>Qt語(yǔ)言學(xué)家</em>、<em>lupdate</em>和<em>lrelease</em>的進(jìn)一步信息。<p>Qt應(yīng)用的翻譯過(guò)程分為三步:<p> <ol type=1><li>運(yùn)行<em>lupdate</em>,以提取出Qt應(yīng)用的C++源代碼中的可翻譯文本,會(huì)產(chǎn)生一個(gè)給翻譯者的信息文件(.ts文件)。該工具識(shí)別出tr()結(jié)構(gòu)和上面描述的QT_*_NOOP宏,產(chǎn)生.ts文件(通常每種語(yǔ)言一個(gè))。<li>使用Qt語(yǔ)言學(xué)家提供.ts文件中源文本的譯文。既然.ts文件是XML格式,你也可以手工編輯它們。<li>運(yùn)行<em>lrelease</em>,以從.ts文件中得到只適用于最后使用的輕量級(jí)的信息文件(.qm文件)。你可以把.ts文件看成“源文件”,把.qm文件看成“目標(biāo)文件”。翻譯者編輯的是.ts文件,可是你的應(yīng)用的用戶(hù)只需要.qm文件。這兩種文件都是平臺(tái)和地區(qū)(locale)無(wú)關(guān)的。</ol><p>典型地,你將對(duì)應(yīng)用地每個(gè)發(fā)表版本重復(fù)這幾步。<em>lupdate</em>工具會(huì)盡力重用以前的發(fā)表版本的譯文。<p>在你運(yùn)行<em>lupdate</em>之前,你應(yīng)該準(zhǔn)備一個(gè)項(xiàng)目文件。這是一個(gè)項(xiàng)目文件(.pro文件)的例子:<p> <pre>    HEADERS         = funnydialog.h \                      wackywidget.h    SOURCES         = funnydialog.cpp \                      main.cpp \                      wackywidget.cpp    FORMS           = fancybox.ui    TRANSLATIONS    = superapp_dk.ts \                      superapp_fi.ts \                      superapp_no.ts \                      superapp_se.ts</pre><p>當(dāng)你運(yùn)行<em>lupdate</em>或者<em>lrelease</em>時(shí),你必須以命令行參數(shù)給出項(xiàng)目文件的名稱(chēng)。<p>在本例中,支持四種語(yǔ)言:Danish、Finnish、Norwegian和Swedish。如果你使用qmake(或者tmake),你一般不需要給<em>lupdate</em>的附加項(xiàng)目文件;只要你加上TRANSLATIONS條目,你的qmake項(xiàng)目文件就會(huì)正常工作。<p>在應(yīng)用中,你必須使用<a href="qtranslator.html#load">QTranslator::load</a>()來(lái)裝載對(duì)應(yīng)用戶(hù)語(yǔ)言的譯文文件,再使用<a href="qapplication.html#installTranslator">QApplication::installTranslator</a>()來(lái)安裝它們。<p>如果你一直使用以前的Qt工具(findtr、msg2qm和mergetr),可以使用<em>qm2ts</em>來(lái)轉(zhuǎn)換你以前的.qm文件。<p> <em>語(yǔ)言學(xué)家</em>、<em>lupdate</em>和<em>lrelease</em>安裝在<tt>$QTDIR/bin</tt>。在Qt語(yǔ)言學(xué)家中點(diǎn)擊Help|Manual,就可訪(fǎng)問(wèn)用戶(hù)手冊(cè),它包含了讓你起步的演示教程。

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美自拍偷拍一区| 国产日韩欧美麻豆| 国产亚洲欧美一区在线观看| 国产精品福利一区二区| 日韩av午夜在线观看| eeuss影院一区二区三区| 精品日韩在线观看| 五月婷婷激情综合| 一本色道**综合亚洲精品蜜桃冫 | 精品亚洲成a人在线观看| 91玉足脚交白嫩脚丫在线播放| 91精品国产日韩91久久久久久| 亚洲柠檬福利资源导航| 高清国产一区二区三区| 精品国产三级a在线观看| 日韩激情在线观看| 欧美日韩国产高清一区二区| 中文字幕中文乱码欧美一区二区| 久99久精品视频免费观看| 欧美精品v国产精品v日韩精品| 亚洲人吸女人奶水| 91一区二区在线观看| 中文字幕精品三区| 国产高清不卡一区| 国产亚洲一二三区| 国内精品在线播放| 久久久影院官网| 国产精品综合一区二区三区| 久久这里只精品最新地址| 精品一区二区在线免费观看| 日韩久久久久久| 麻豆精品蜜桃视频网站| 日韩欧美二区三区| 精品一区二区三区免费观看| 精品日本一线二线三线不卡| 久久 天天综合| 久久久精品综合| 成人性色生活片| 亚洲欧洲精品一区二区精品久久久| 成人午夜av影视| 亚洲欧洲精品天堂一级| 91视频在线观看| 五月激情综合网| 日韩三级电影网址| 国产精品99久久久久久有的能看| 国产欧美日韩三区| 色诱亚洲精品久久久久久| 午夜精品福利一区二区三区蜜桃| 在线播放视频一区| 国产精品一区三区| 亚洲免费观看高清完整版在线观看 | 亚洲chinese男男1069| 欧美精品久久一区二区三区| 麻豆91小视频| 久久精品亚洲乱码伦伦中文 | 国产精品素人一区二区| 色悠悠亚洲一区二区| 日本va欧美va瓶| 国产欧美一区二区三区在线看蜜臀 | 天天做天天摸天天爽国产一区| 欧美一区二区三区色| 国产福利91精品一区二区三区| 综合网在线视频| 日韩一区二区精品葵司在线| 国产一区二区三区四区五区美女| 中文字幕av一区二区三区高| 欧美视频精品在线观看| 久久91精品久久久久久秒播| 1000部国产精品成人观看| 91精品国产综合久久婷婷香蕉 | 国产日产欧美精品一区二区三区| 一本色道亚洲精品aⅴ| 美女看a上一区| 亚洲免费在线视频一区 二区| 91麻豆精品国产91久久久久| 懂色av中文字幕一区二区三区| 亚洲大片免费看| 国产精品久久二区二区| 日韩欧美一区二区久久婷婷| 91污在线观看| 国产精品一级黄| 日韩成人免费电影| 亚洲美女一区二区三区| 久久精品视频一区二区三区| 欧美视频完全免费看| 成人免费视频视频| 精品夜夜嗨av一区二区三区| 亚洲综合久久久| 久久久精品tv| 欧美tickle裸体挠脚心vk| 欧美日韩精品系列| 色av一区二区| www.综合网.com| 国产一区二区h| 久久99精品国产麻豆不卡| 亚洲国产综合91精品麻豆| **性色生活片久久毛片| 久久色在线观看| 日韩精品一区二区三区四区| 91精品欧美一区二区三区综合在| 日韩久久久精品| 欧美日韩成人综合| 欧洲亚洲精品在线| 色综合久久久久综合体桃花网| 成人国产精品免费网站| 风间由美一区二区三区在线观看 | 欧美精品日韩一本| 欧美色综合天天久久综合精品| 成人av网在线| 成人晚上爱看视频| 国产精品一区二区久久不卡| 久久www免费人成看片高清| 视频一区在线播放| 日韩精品福利网| 免费观看久久久4p| 蜜桃一区二区三区在线| 久久99精品久久久久久国产越南| 韩日欧美一区二区三区| 国产精品中文欧美| 成人美女在线视频| av午夜精品一区二区三区| 成人久久视频在线观看| 成人综合在线网站| 99v久久综合狠狠综合久久| 一本大道久久精品懂色aⅴ| 色综合色综合色综合| 91成人免费电影| 欧美肥妇bbw| 欧美一级欧美三级在线观看| 日韩免费观看2025年上映的电影| 欧美精品一区二区三区高清aⅴ | 91精品国产麻豆国产自产在线| 欧美一区二区三区在线观看| 日韩精品一区二区三区视频在线观看| 精品蜜桃在线看| 国产欧美一区二区三区在线看蜜臀| 日本一区二区三区久久久久久久久不| 国产精品不卡视频| 亚洲成人av在线电影| 麻豆久久一区二区| 成人av在线网| 欧美日韩成人在线| 久久综合久久综合九色| 国产精品麻豆久久久| 亚洲一区二区三区四区在线观看| 人人爽香蕉精品| 成人黄色在线看| 91精品国产高清一区二区三区蜜臀| 精品裸体舞一区二区三区| 国产精品丝袜一区| 亚洲一卡二卡三卡四卡无卡久久 | 在线观看亚洲一区| 精品免费国产一区二区三区四区| 国产精品久久精品日日| 亚洲另类春色国产| 精品在线你懂的| 欧美性猛交xxxx乱大交退制版| 欧美大肚乱孕交hd孕妇| 亚洲同性同志一二三专区| 视频一区中文字幕国产| 97精品电影院| 久久亚洲欧美国产精品乐播| 一区二区三区丝袜| 丁香激情综合五月| 日韩欧美二区三区| 亚洲成人精品一区二区| 成人免费av在线| 亚洲精品国产精品乱码不99| 麻豆精品在线视频| 91论坛在线播放| 久久久久国产一区二区三区四区| 视频一区二区三区在线| 99国产麻豆精品| 国产精品私人影院| 国产乱国产乱300精品| 欧美一区二区三区免费观看视频| 中文字幕一区二区三区在线不卡| 麻豆精品在线视频| 91精品久久久久久蜜臀| 亚洲欧美日韩国产综合在线| 国产成人免费9x9x人网站视频| 91精品国产免费久久综合| 亚洲午夜久久久久久久久电影院| 成人精品国产免费网站| 久久久精品tv| 国产精品伊人色| 国产亚洲精品7777| 国产又黄又大久久| 精品国产伦一区二区三区观看体验| 亚洲福利视频导航| 欧美午夜在线一二页| 亚洲欧美日韩国产综合| 91蜜桃婷婷狠狠久久综合9色| 国产精品久久久久7777按摩 | 精品无码三级在线观看视频| 欧美男男青年gay1069videost | 日韩欧美一二区| 久久精品国产网站| 欧美不卡一区二区三区| 国内精品嫩模私拍在线|