From d6f2adb6a938b241e9b20641b6f4a902bf59ce6b Mon Sep 17 00:00:00 2001 From: jzxc95 <907297917@qq.com> Date: Wed, 8 Mar 2023 11:06:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E6=96=87=E4=BB=B6=E5=9C=A8?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E6=97=B6=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kylin-nm.pro | 9 +++++++++ nmqrc.qrc | 4 ---- src/main.cpp | 11 ++++++++++- translate_generation.sh | 15 +++++++++++++++ translations/kylin-nm_bo.qm | 1 - translations/kylin-nm_bo_CN.qm | Bin 18013 -> 0 bytes translations/kylin-nm_tr.qm | Bin 2010 -> 0 bytes translations/kylin-nm_zh_CN.qm | Bin 11237 -> 0 bytes 8 files changed, 34 insertions(+), 6 deletions(-) create mode 100755 translate_generation.sh delete mode 100644 translations/kylin-nm_bo.qm delete mode 100644 translations/kylin-nm_bo_CN.qm delete mode 100644 translations/kylin-nm_tr.qm delete mode 100644 translations/kylin-nm_zh_CN.qm diff --git a/kylin-nm.pro b/kylin-nm.pro index 7b52af76..1f13a7c2 100644 --- a/kylin-nm.pro +++ b/kylin-nm.pro @@ -12,3 +12,12 @@ TRANSLATIONS += \ translations/kylin-nm_tr.ts \ translations/kylin-nm_bo.ts \ translations/kylin-nm_bo_CN.ts + +CONFIG(release, debug|release) { + !system($$PWD/translate_generation.sh): error("Failed to generate translation") +} + +qm_files.path = $${PREFIX}/share/kylin-nm/kylin-nm/ +qm_files.files = translations/*.qm + +INSTALLS += qm_files \ diff --git a/nmqrc.qrc b/nmqrc.qrc index c379b198..aea1ec48 100644 --- a/nmqrc.qrc +++ b/nmqrc.qrc @@ -17,9 +17,6 @@ res/h/right-pwd.png res/h/show-pwd.png res/h/no-pwd-wifi.png - translations/kylin-nm_bo.qm - translations/kylin-nm_tr.qm - translations/kylin-nm_zh_CN.qm res/x/fly-mode-off.svg res/x/fly-mode-on.svg res/x/hot-spot-off.svg @@ -128,6 +125,5 @@ res/s/conning-b/10.png res/s/conning-b/11.png res/s/conning-b/12.png - translations/kylin-nm_bo_CN.qm diff --git a/src/main.cpp b/src/main.cpp index 2454937e..e8660476 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -127,7 +127,7 @@ int main(int argc, char *argv[]) QString locale = QLocale::system().name(); QTranslator trans_global; qDebug() << "QLocale " << QLocale(); - if (trans_global.load(QLocale(), "kylin-nm", "_", ":/translations/")) + if (trans_global.load(QLocale(), "kylin-nm", "_", "/usr/share/kylin-nm/kylin-nm/")) { a.installTranslator(&trans_global); qDebug()<<"Translations load success"; @@ -144,6 +144,15 @@ int main(int argc, char *argv[]) qWarning() << "QtBase Translations load fail"; } + QTranslator sdkTranslator; + if (sdkTranslator.load(QLocale(), "gui", "_", ":/translations/")) + { + a.installTranslator(&sdkTranslator); + qDebug()<<"SDK Translations load success"; + } else { + qWarning() << "SDK Translations load fail"; + } + while (!p_networkResource->NetworkManagerIsInited()) { ::usleep(1000); } diff --git a/translate_generation.sh b/translate_generation.sh new file mode 100755 index 00000000..72f748b9 --- /dev/null +++ b/translate_generation.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +ts_list=(`ls translations/*.ts`) +source /etc/os-release +version=(`echo $ID`) + +for ts in "${ts_list[@]}" +do + printf "\nprocess ${ts}\n" + if [ "$version" == "fedora" ] || [ "$version" == "opensuse-leap" ] || [ "$version" == "opensuse-tumbleweed" ];then + lrelease-qt5 "${ts}" + else + lrelease "${ts}" + fi +done diff --git a/translations/kylin-nm_bo.qm b/translations/kylin-nm_bo.qm deleted file mode 100644 index be651eed..00000000 --- a/translations/kylin-nm_bo.qm +++ /dev/null @@ -1 +0,0 @@ -<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/translations/kylin-nm_bo_CN.qm b/translations/kylin-nm_bo_CN.qm deleted file mode 100644 index fa4616056e740ac494a5b6c5bd2b3dbe9af2c91e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18013 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 G_WuI&NxWJB diff --git a/translations/kylin-nm_tr.qm b/translations/kylin-nm_tr.qm deleted file mode 100644 index 67ee71e84e40a9877474ba9e57722ceff1c227d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2010 zcmc&!&ubGw6n@)owrQIFP+IX&aD@sL8fc+Z5e3t1YeUnd&}xu^IwsR}%w{)aCk-k3 zA6W3BsCW^7oCGhTy%c-tK~eCcH=%bGZ}rfkzL^c1wn?Scg9*EDXL#@XzBlvDoL)*F ze*68w?e|B!Utf8+{COAv)&P7n_-ufB^Ep7nS5QAK0yNH5;w|u97{T#bH>y40Te*aJ z_uZ(yg8r@>I9^p2?{onu%Wm`)m3PKH#D_{WEAc}^Xyq}^F1S&1)Tgl@h~KHcJn<9b zlJDfqbu2qmiBH_9H2cPnm5|2>kc~mCA9SPE7g&7}#ky}TkM6DlsEOdmu{YRHXZx2{ z&YV^)z*| z+|KJc>NvRbLWzG{C%q6x0R%xO5!8Ydz6 zlP!9+h;7ZXOr2Z}F5>CQRx#tYC6{OirV1elRkKFzf|S^juqa|%Vl27;kcS3Jd3kMk zUTwL-V)IXV$eLm2a9M@Y;1o?23yhaNkGG*;7#0b~WVaOgqiJe!%&cFwYmc=IeaIlZ zCyxd?FD2dQNJDUBot4b4E32YA&O5ZAr)Yt*S(YMPE?_PAP+f3w1_{iet#QW$opM#pS80<>{}>vknW0Xo`cjgR#osHj*!}d2B*Qruqx|-_C8* zG`Z@zApq0Zintkao_!h;Ss}S2$wry$d4mzt&PZ?m)x8%?n*V(9)nfQz*UP~#2xXJM E0d&EWGynhq diff --git a/translations/kylin-nm_zh_CN.qm b/translations/kylin-nm_zh_CN.qm deleted file mode 100644 index 2241f2ab984730fbb38ec50547a05dedbaeb4a46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11237 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 Nt|BEfR4gj!e*xpkE^z<=