#include "mainwindow.h" #include #include #include #include "app_cfg.h" #include "lang/app_language.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); lang_initialize(nullptr); QString appLang = getCfgValue("global", "language", QString("Chinese")); for (int i = 1; i < argc; i++) { char* z = argv[i]; if (z == strstr(z, "-language=")) appLang = z + strlen("-language="); } if (appLang != "english") { appLang = "chinese"; } while (1) { QString translator_qt_name = ":translation/qt_zh_CN.qm"; QString translator_scanner_name = ":translation/Scanner_zh_CN.qm"; int cp = 936; if (appLang == "english") { translator_qt_name = ":translation/qt_zh_CN.qm"; translator_scanner_name = ":translation/Scanner_zh_EN.qm"; cp = 1252; } QTranslator translator_qt; if (translator_qt.load(translator_qt_name)) a.installTranslator(&translator_qt); QTranslator translator_scanner; if (translator_scanner.load(translator_scanner_name)) a.installTranslator(&translator_scanner); lang_set_code_page(cp); MainWindow w(appLang); QScreen *screen = QGuiApplication::primaryScreen(); w.move((screen->size().width() - w.width()) / 2, (screen->size().height() - w.height()) / 2); w.show(); a.exec(); saveCfgValue("global", "language", appLang); if (!w.isContinue()) { break; } } return 0; }