ts檔案需要自己先生成。
#需要載入翻譯工具
find_package(qt5linguisttools required)
#獲取所有的翻譯ts檔案
set(ts_dir "$/../translations")
file( glob ts_files $/*.ts)
##編譯時更新.ts .qm
foreach(_ts_file $)
execute_process(
command $ -recursive $ -ts $)
execute_process(command lrelease $)
endforeach()
##lupdate end
不要丟失它們(qt internationalization and cmake: how to update *.ts
我有這個 cmakelists.txt 在目錄與翻譯檔案( *。ts ):
set(translations
lang_de.ts
lang_en.ts
) find_package(qt5linguisttools)
qt5_add_translation(qm_files $ )
set(qm_files $ parent_scope)
add_custom_target(all depends $ )
它從構建 *.qm > *.ts 。
但我想改進這個,並得到兩個自定義目標,
乙個用於將原始檔中的新字串附加到 ts 檔案中,乙個用於重新整理 ts 。最後乙個將從源更新 ts ,並從 ts 中刪除過時的字串。
我已嘗試在上面的行之後新增:
add_custom_target()
add_custom_target(
ts_refresh
)
生成第乙個ts檔案
在 .pro檔案中新增
translations目錄需要提前建立
translations += ./translations/專案名稱.ts
lupdate 專案 .pro
就會自動生成 專案.ts檔案
lrealse生成.qm檔案
QT國際化支援
為了是我們的qt程式支援如中文等其他語言,通常的做法是在需要翻譯的地方顯示的用tr標記,所以你在閱讀其他人編寫的源程式時會看到很多字串做了tr標記,這樣做是有原因的。1.在hello.pro檔案中增加 translations hello zh cn.ts 2.進入工程目錄,執行 lupdate h...
QT國際化 小結
qt應用程式的國際化問題,應該總的來說還是比較容易的,如果你原始碼中沒有使用漢字,直接使用英文,這個問題就不大,下面我講的是通過在原始碼中直接使用中文 就是本地化了的 然後把中文翻譯成別的文字而言的 例如加密文字 大致分這麼幾個步驟,基本與對英文進行國際化的步驟差不多 這裡是針對windows平台的...
qt國際化程式設計
下面說一下qt國際化程式設計的操作步驟 1 編寫源 2 在 pro檔案中新增translations ts 有多少中語言就新增多少個ts檔案。3 執行lupdate pro 生成ts檔案。lupdate會根據源 中的內容提取出待翻譯的字段,然後生成ts檔案,ts檔案是xml格式的。4 用qt lin...