saneui增加多语言支持

This commit is contained in:
luoliangyi 2023-03-31 14:19:54 +08:00
parent 37e95e4eb8
commit 447ca28410
3 changed files with 40 additions and 1 deletions

View File

@ -89,6 +89,7 @@ win32 {
DEF_FILE = HGSaneUI.def
LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -llang
}
unix {
@ -126,6 +127,7 @@ unix {
LIBS += -lpthread -ldl
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -llang
}
INCLUDEPATH += $$PWD/../../../modules

View File

@ -98,7 +98,7 @@ win32 {
LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32 -ladvapi32
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt \
-l$${OEM_PREFIX}ImgProc
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsane
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsane -llang
# sane.dll
LIBS += -L$$PWD/../../../../release/win/$${MY_ARCH}/OEM/$${OEM_NAME}

View File

@ -1,7 +1,9 @@
#include "HGSaneUI.h"
#include "dialog_device_select.hpp"
#include "dialog_device_scan.hpp"
#include "lang/app_language.h"
#include <QMessageBox>
#include <QTranslator>
#ifdef HG_CMP_MSC
#include "qwinwidget.hpp"
@ -25,6 +27,14 @@ int show_devlist_ui(SANEAPI* saneApi, HGWindow parent, SANE_Handle *handle, char
qParent = parent;
#endif
QTranslator translator;
int cp = lang_get_cur_code_page();
if (20127 == cp)
translator.load(":translation/SaneUI_zh_EN.qm");
else
translator.load(":translation/SaneUI_zh_CN.qm");
QCoreApplication::installTranslator(&translator);
*handle = nullptr;
Dialog_Device_Select dlg(saneApi, qParent);
if (dlg.exec())
@ -47,6 +57,25 @@ int show_setting_ui(SANEAPI* saneApi, SANE_Handle handle, HGWindow parent)
if (nullptr == saneApi || nullptr == handle)
return -1;
QWidget *qParent = nullptr;
#ifdef HG_CMP_MSC
if (!g_ownApplication)
g_ownApplication = QMfcApp::pluginInstance(g_hInst);
QWinWidget win(parent);
win.showCentered();
qParent = &win;
#else
qParent = parent;
#endif
QTranslator translator;
int cp = lang_get_cur_code_page();
if (20127 == cp)
translator.load(":translation/SaneUI_zh_EN.qm");
else
translator.load(":translation/SaneUI_zh_CN.qm");
QCoreApplication::installTranslator(&translator);
return 0;
}
@ -66,6 +95,14 @@ int show_scan_ui(SANEAPI* saneApi, SANE_Handle handle, HGWindow parent, show_sca
qParent = parent;
#endif
QTranslator translator;
int cp = lang_get_cur_code_page();
if (20127 == cp)
translator.load(":translation/SaneUI_zh_EN.qm");
else
translator.load(":translation/SaneUI_zh_CN.qm");
QCoreApplication::installTranslator(&translator);
Dialog_Device_Scan dlg(saneApi, handle, callback, callbackParam, qParent);
dlg.exec();
return 0;