Qt学习笔记之国际化
國際化的英文表述為Internationalization,通常簡寫為I18N(首尾字母加中間的字符數),一個應用程序的國際化就是使該應用程序可以讓其他國家的用戶使用的過程。
1. 相關的Qt類和API
這些類支持Qt應用程序的國際化。
| QCollat??or | 根據本地整理算法比較字符串 |
| QCollat??orSortKey | 可用于加速字符串整理 |
| QLocale | 在數字及其各種語言的字符串表示形式之間轉換 |
| QTextCodec | 文本編碼之間的轉換,詳見《Qt學習筆記之QTextCodec》 |
| QTextDecoder | 基于狀態的解碼器 |
| QTextEncoder | 基于狀態的編碼器 |
| QTranslator | 國際化支持文本輸出,詳見《Qt學習筆記之QTranslator》 |
2. 語言和寫作系統
在某些情況下,國際化很簡單,例如,使澳大利亞或英國用戶可以訪問美國應用程序,則可能需要進行一些拼寫更正。但是,要使日本用戶可以使用美國應用程序,或者德國用戶可以使用韓國應用程序,則不僅需要軟件以不同的語言運行,而且還需要使用不同的輸入技術,字符編碼和表示約定。
Qt試圖使國際化對開發人員來說盡可能的輕松。Qt中的所有輸入控件和文本繪制方法都為所有受支持的語言提供內置支持。內置的字體引擎能夠正確,吸引人地同時渲染包含來自各種不同書寫系統的字符的文本。
Qt支持當今使用的大多數語言,尤其是:
- 所有東亞語言(中文,日文和韓文)
- 所有西方語言(使用拉丁文字)
- 阿拉伯
- 西里爾語言(俄語,烏克蘭語等)
- 希臘語
- 希伯來語
- 泰語和老撾語
- Unicode 6.2中所有不需要特殊處理的腳本
- 孟加拉
- 緬甸語(緬甸)
- 梵文
- 古吉拉特語
- 古爾穆基
- 卡納達語
- 高棉語
- 馬拉雅拉姆語
- 泰米爾語
- 泰盧固語
- 藏
支持上面的列表,只要系統具有用于渲染這些書寫系統的字體,該列表就可以在所有平臺上工作。
在具有FontConfig(客戶端字體支持)的Windows,Linux和Unix上,還支持以下語言:
- 迪維(塔納)
- 敘利亞語
- 恩科
在macOS上,還支持以下語言:
- 奧里亞
- 僧伽羅語
3. 使用Qt Linguist翻譯應用程序
3.1? 新建一個項目,myGui
3.2? 添加翻譯源
在myGui.pro,添加在工程的pro文件中,添加一行
TRANSLATIONS = zh.ts?
3.3 添加源文件
- 增加globallanguage類
- ?在mainwindow中增加控件
- main中安裝translate
?
3.4 使用lupdate生成.ts文件
3.5 翻譯及發布翻譯文件
?
參考資料:
1.?http://blog.csdn.net/liang19890820/article/details/50276673
2.?Qt國際化及Qt Linguist的使用
總結
以上是生活随笔為你收集整理的Qt学习笔记之国际化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt学习笔记之QTranslator
- 下一篇: Qt学习笔记之文件处理