升级app增加通过命令行设置语言的功能
This commit is contained in:
parent
72f5b5dee9
commit
b0fb3498bb
|
@ -4,11 +4,14 @@
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QScreen>
|
#include <QScreen>
|
||||||
#include "app_cfg.h"
|
#include "app_cfg.h"
|
||||||
|
#include "lang/app_language.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
|
|
||||||
|
lang_initialize(nullptr);
|
||||||
|
|
||||||
QString appLang = getCfgValue("global", "language", QString("Chinese"));
|
QString appLang = getCfgValue("global", "language", QString("Chinese"));
|
||||||
for (int i = 1; i < argc; i++)
|
for (int i = 1; i < argc; i++)
|
||||||
{
|
{
|
||||||
|
@ -18,19 +21,21 @@ int main(int argc, char *argv[])
|
||||||
appLang = z + strlen("-language=");
|
appLang = z + strlen("-language=");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (appLang != "English")
|
if (appLang != "english")
|
||||||
{
|
{
|
||||||
appLang = "Chinese";
|
appLang = "chinese";
|
||||||
}
|
}
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
QString translator_qt_name = ":translation/qt_zh_CN.qm";
|
QString translator_qt_name = ":translation/qt_zh_CN.qm";
|
||||||
QString translator_scanner_name = ":translation/Scanner_zh_CN.qm";
|
QString translator_scanner_name = ":translation/Scanner_zh_CN.qm";
|
||||||
if (appLang == "English")
|
int cp = 936;
|
||||||
|
if (appLang == "english")
|
||||||
{
|
{
|
||||||
translator_qt_name = ":translation/qt_zh_CN.qm";
|
translator_qt_name = ":translation/qt_zh_CN.qm";
|
||||||
translator_scanner_name = ":translation/Scanner_zh_EN.qm";
|
translator_scanner_name = ":translation/Scanner_zh_EN.qm";
|
||||||
|
cp = 1252;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTranslator translator_qt;
|
QTranslator translator_qt;
|
||||||
|
@ -40,6 +45,8 @@ int main(int argc, char *argv[])
|
||||||
if (translator_scanner.load(translator_scanner_name))
|
if (translator_scanner.load(translator_scanner_name))
|
||||||
a.installTranslator(&translator_scanner);
|
a.installTranslator(&translator_scanner);
|
||||||
|
|
||||||
|
lang_set_code_page(cp);
|
||||||
|
|
||||||
MainWindow w(appLang);
|
MainWindow w(appLang);
|
||||||
QScreen *screen = QGuiApplication::primaryScreen();
|
QScreen *screen = QGuiApplication::primaryScreen();
|
||||||
w.move((screen->size().width() - w.width()) / 2, (screen->size().height() - w.height()) / 2);
|
w.move((screen->size().width() - w.width()) / 2, (screen->size().height() - w.height()) / 2);
|
||||||
|
|
|
@ -171,7 +171,7 @@ MainWindow::MainWindow(QString& appLang, QWidget *parent)
|
||||||
m_menu_language->addAction(m_act_simpCN);
|
m_menu_language->addAction(m_act_simpCN);
|
||||||
m_menu_language->addAction(m_act_English);
|
m_menu_language->addAction(m_act_English);
|
||||||
|
|
||||||
if (m_currLang == "English")
|
if (m_currLang == "english")
|
||||||
{
|
{
|
||||||
m_act_simpCN->setChecked(false);
|
m_act_simpCN->setChecked(false);
|
||||||
m_act_English->setChecked(true);
|
m_act_English->setChecked(true);
|
||||||
|
@ -3714,6 +3714,7 @@ void MainWindow::upgradeApp(QString pkgPath)
|
||||||
argList.push_back(QString("-appName=%1").arg(HGVERSION_APPNAME_SCANNER));
|
argList.push_back(QString("-appName=%1").arg(HGVERSION_APPNAME_SCANNER));
|
||||||
argList.push_back(QString("-pkgpath=%1").arg(pkgPath.toStdString().c_str()));
|
argList.push_back(QString("-pkgpath=%1").arg(pkgPath.toStdString().c_str()));
|
||||||
argList.push_back(QString("-type=%1").arg("upgrade"));
|
argList.push_back(QString("-type=%1").arg("upgrade"));
|
||||||
|
argList.push_back(QString("-language=%1").arg(m_currLang.toStdString().c_str()));
|
||||||
|
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
#if defined(OEM_HANWANG)
|
#if defined(OEM_HANWANG)
|
||||||
|
@ -4226,7 +4227,7 @@ void MainWindow::on_act_device_log_triggered()
|
||||||
|
|
||||||
void MainWindow::on_act_simpCN_triggered()
|
void MainWindow::on_act_simpCN_triggered()
|
||||||
{
|
{
|
||||||
if (m_currLang == "English")
|
if (m_currLang == "english")
|
||||||
{
|
{
|
||||||
m_act_simpCN->setChecked(false);
|
m_act_simpCN->setChecked(false);
|
||||||
m_act_English->setChecked(true);
|
m_act_English->setChecked(true);
|
||||||
|
@ -4237,12 +4238,12 @@ void MainWindow::on_act_simpCN_triggered()
|
||||||
m_act_English->setChecked(false);
|
m_act_English->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_currLang == "Chinese")
|
if (m_currLang == "chinese")
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_appLang = "Chinese";
|
m_appLang = "chinese";
|
||||||
m_closeTip = false;
|
m_closeTip = false;
|
||||||
m_isContinue = true;
|
m_isContinue = true;
|
||||||
close();
|
close();
|
||||||
|
@ -4250,7 +4251,7 @@ void MainWindow::on_act_simpCN_triggered()
|
||||||
|
|
||||||
void MainWindow::on_act_English_triggered()
|
void MainWindow::on_act_English_triggered()
|
||||||
{
|
{
|
||||||
if (m_currLang == "English")
|
if (m_currLang == "english")
|
||||||
{
|
{
|
||||||
m_act_simpCN->setChecked(false);
|
m_act_simpCN->setChecked(false);
|
||||||
m_act_English->setChecked(true);
|
m_act_English->setChecked(true);
|
||||||
|
@ -4261,12 +4262,12 @@ void MainWindow::on_act_English_triggered()
|
||||||
m_act_English->setChecked(false);
|
m_act_English->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_currLang == "English")
|
if (m_currLang == "english")
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_appLang = "English";
|
m_appLang = "english";
|
||||||
m_closeTip = false;
|
m_closeTip = false;
|
||||||
m_isContinue = true;
|
m_isContinue = true;
|
||||||
close();
|
close();
|
||||||
|
|
|
@ -15,6 +15,7 @@ int main(int argc, char *argv[])
|
||||||
std::string appName;
|
std::string appName;
|
||||||
std::string desc;
|
std::string desc;
|
||||||
std::string pkgPath;
|
std::string pkgPath;
|
||||||
|
std::string appLang;
|
||||||
|
|
||||||
for (int i = 1; i < argc; i++)
|
for (int i = 1; i < argc; i++)
|
||||||
{
|
{
|
||||||
|
@ -28,6 +29,13 @@ int main(int argc, char *argv[])
|
||||||
desc = z + strlen("-desc=");
|
desc = z + strlen("-desc=");
|
||||||
else if (z == strstr(z, "-pkgpath="))
|
else if (z == strstr(z, "-pkgpath="))
|
||||||
pkgPath = z + strlen("-pkgpath=");
|
pkgPath = z + strlen("-pkgpath=");
|
||||||
|
else if (z == strstr(z, "-language="))
|
||||||
|
appLang = z + strlen("-language=");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (appLang != "english")
|
||||||
|
{
|
||||||
|
appLang = "chinese";
|
||||||
}
|
}
|
||||||
|
|
||||||
const HGChar *oemName = nullptr;
|
const HGChar *oemName = nullptr;
|
||||||
|
@ -70,9 +78,15 @@ int main(int argc, char *argv[])
|
||||||
while (AppIsRun(appName))
|
while (AppIsRun(appName))
|
||||||
QThread::msleep(20);
|
QThread::msleep(20);
|
||||||
|
|
||||||
QTranslator translator_upgrade_;
|
QString translator_upgrade_name = ":translation/Upgrade_zh_CN.qm";
|
||||||
if (translator_upgrade_.load(":translation/Upgrade_zh_CN.qm"))
|
if (appLang == "english")
|
||||||
a.installTranslator(&translator_upgrade_);
|
{
|
||||||
|
translator_upgrade_name = ":translation/Upgrade_zh_EN.qm";
|
||||||
|
}
|
||||||
|
|
||||||
|
QTranslator translator_upgrade;
|
||||||
|
if (translator_upgrade.load(translator_upgrade_name))
|
||||||
|
a.installTranslator(&translator_upgrade);
|
||||||
|
|
||||||
MainWindow w(appName, pkgPath);
|
MainWindow w(appName, pkgPath);
|
||||||
QScreen *screen = QGuiApplication::primaryScreen();
|
QScreen *screen = QGuiApplication::primaryScreen();
|
||||||
|
|
Loading…
Reference in New Issue