59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
|
#include "mainwindow.h"
|
|||
|
|
|||
|
#include <QApplication>
|
|||
|
#include <QTranslator>
|
|||
|
#include <QScreen>
|
|||
|
#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";
|
|||
|
}
|
|||
|
|
|||
|
saveCfgValue("global", "language", appLang);
|
|||
|
|
|||
|
QString translator_qt_name = ":translation/qt_zh_CN.qm";
|
|||
|
QString translator_scanner_name = ":translation/Scanner_zh_CN.qm";
|
|||
|
|
|||
|
QTranslator translator_qt;
|
|||
|
int cp = 936;
|
|||
|
if (appLang == "english")
|
|||
|
{
|
|||
|
translator_scanner_name = ":translation/Scanner_zh_EN.qm";
|
|||
|
cp = 20127;
|
|||
|
}
|
|||
|
else if (appLang == "chinese")
|
|||
|
{
|
|||
|
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();
|
|||
|
return a.exec();
|
|||
|
}
|