From f29558cc9b85835f8a3d4cbbab52809528a7766e Mon Sep 17 00:00:00 2001 From: lvfei Date: Tue, 27 Sep 2022 15:35:26 +0800 Subject: [PATCH] update desktop file and add sdk translate --- kylin-calculator.desktop | 3 +++ main.cpp | 22 ++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/kylin-calculator.desktop b/kylin-calculator.desktop index 47c91bf..f8b3f5a 100644 --- a/kylin-calculator.desktop +++ b/kylin-calculator.desktop @@ -2,8 +2,11 @@ Name=Calculator Name[zh_CN]=计算器 Name[bo_CN]=རྩིས་ཆས། +Name[zh_HK]=計算器 GenericName[bo_CN]=རྩིས་ཆས། GenericName=Calculator +GenericName[zh_CN]=计算器 +GenericName[zh_HK]=計算器 Keywords=calculator Exec=/usr/bin/kylin-calculator %u Icon=kylin-calculator diff --git a/main.cpp b/main.cpp index 914b56f..5d44560 100644 --- a/main.cpp +++ b/main.cpp @@ -117,22 +117,32 @@ int main(int argc, char *argv[]) /* 加载翻译文件 */ QString tranPath("/usr/share/kylin-calculator/translations/"); QString tranQtPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - QTranslator *tran = new QTranslator; QTranslator *tranQt = new QTranslator; - - if (tran->load(QLocale() , QString("kylin-calculator") , QString("_") , tranPath)) { + if (tran->load(QLocale(), QString("kylin-calculator"), QString("_"), tranPath)) { QApplication::installTranslator(tran); } else { qDebug() << "Waring : load translation file fail"; } - - if (tranQt->load(QLocale() , QString("qt") , QString("_") , tranQtPath)) { + if (tranQt->load(QLocale(), QString("qt"), QString("_"), tranQtPath)) { QApplication::installTranslator(tranQt); } else { - qDebug() << "Load translations file" << QLocale() << "failed!"; + qDebug() << "Waring : load qt translation file fail"; } + // 加载sdk控件翻译 + QTranslator trans; + QString locale = QLocale::system().name(); + if (locale == "zh_CN") { + if (trans.load(":/translations/gui_zh_CN.qm")) { + a.installTranslator(&trans); + } + } else if (locale == "bo_CN") { + if (trans.load(":/translations/gui_bo_CN.qm")) { + a.installTranslator(&trans); + } + } + /* 实例 */ LogicCenter::getInstance(); -- 2.27.0