Skip to content

Commit 11a34a5

Browse files
committed
set default locale
1 parent 60d5a71 commit 11a34a5

File tree

11 files changed

+46
-16
lines changed

11 files changed

+46
-16
lines changed

DBLParse.qrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<file>resources\index.js</file>
1111
<file>resources\index.test.js</file>
1212
<file>resources\qwebchannel.js</file>
13-
<file>resources\strings_en-US.js</file>
14-
<file>resources\strings_zh-CN.js</file>
13+
<file>resources\strings_en.js</file>
14+
<file>resources\strings_zh.js</file>
1515
<file>resources\util.js</file>
1616
</qresource></RCC>

configmanager.cpp

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,14 @@
66
ConfigManager::ConfigManager(QObject *parent) : QObject(parent)
77
{
88
m_settings = new QSettings("DBLParse.ini" ,QSettings::IniFormat, this);
9-
m_settings->setValue("version", "2.2");
10-
m_settings->setValue("lastOpenFileName", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation));
11-
m_settings->setValue("language", "System");
9+
init();
10+
}
11+
12+
void ConfigManager::init()
13+
{
14+
setDefault("version", "2.2");
15+
setDefault("lastOpenFileName", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation));
16+
setDefault("language", "System");
1217
}
1318

1419
QString ConfigManager::value(const QString &key) const
@@ -20,3 +25,9 @@ void ConfigManager::setValue(const QString &key, const QString &value)
2025
{
2126
m_settings->setValue(key, value);
2227
}
28+
29+
void ConfigManager::setDefault(const QString &key, const QString &value)
30+
{
31+
if(m_settings->contains(key)) return ;
32+
else setValue(key, value);
33+
}

configmanager.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ class ConfigManager : public QObject
1010
Q_OBJECT
1111
public:
1212
explicit ConfigManager(QObject *parent = nullptr);
13-
13+
void init();
1414
QString value(const QString &key) const;
1515
void setValue(const QString &key, const QString &value);
16+
void setDefault(const QString &key, const QString &value);
1617

1718
private:
1819
QSettings *m_settings;

detailpage.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
#include <QDesktopServices>
44

5+
DetailPage::DetailPage(QObject *parent)
6+
:QWebEnginePage(parent)
7+
{
8+
9+
}
10+
511
bool DetailPage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType, bool)
612
{
713
if(url.scheme() == "data")

detailpage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class DetailPage : public QWebEnginePage
77
{
88
Q_OBJECT
99
public:
10-
explicit DetailPage(QObject *parent = nullptr) : QWebEnginePage(parent) {}
10+
explicit DetailPage(QObject *parent = nullptr);
1111

1212
signals:
1313
void request(QUrl url);

main.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
#include <iostream>
1010
#include <QDebug>
1111
#include <QDateTime>
12+
#include <QTranslator>
13+
#include <QLocale>
1214

1315
ConfigManager *g_config;
1416

@@ -30,19 +32,19 @@ void logger(QtMsgType type, const QMessageLogContext &context, const QString &ms
3032

3133
switch(type){
3234
case QtDebugMsg:
33-
header = QObject::tr("Debug: ");
35+
header = "Debug: ";
3436
break;
3537
case QtInfoMsg:
36-
header = QObject::tr("Info: ");
38+
header = "Info: ";
3739
break;
3840
case QtWarningMsg:
39-
header = QObject::tr("Warning: ");
41+
header = "Warning: ";
4042
break;
4143
case QtCriticalMsg:
42-
header = QObject::tr("Critical: ");
44+
header = "Critical: ";
4345
break;
4446
case QtFatalMsg:
45-
header = QObject::tr("Fatal: ");
47+
header = "Fatal: ";
4648
break;
4749
}
4850

@@ -81,9 +83,10 @@ int main(int argc, char *argv[])
8183
qInfo() << "DBLParse start";
8284

8385
QString locale = Util::getLocale();
84-
// Set default locale.
85-
if (locale == "zh_CN") {
86-
QLocale::setDefault(QLocale(QLocale::Chinese, QLocale::China));
86+
QLocale::setDefault(QLocale(locale));
87+
QTranslator translator;
88+
if(translator.load("DBLParse_" + locale, ":/")) {
89+
a.installTranslator(&translator);
8790
}
8891

8992
MainWindow w;

resources/util.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ var tr = function(s) {
2828
Object.defineProperty(window, 'language', {
2929
get: () => this.m_language,
3030
set: function(v) {
31+
if(v.indexOf('-') != -1) {
32+
v = v.split('-')[0];
33+
}
3134
this.m_language = v;
3235
$.load(`strings_${v}.js`).onload = function() {
3336
for(let node of $('[tr]')) {

webpage.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
#include <QDesktopServices>
44

5+
WebPage::WebPage(QObject *parent)
6+
:QWebEnginePage(parent)
7+
{
8+
9+
}
10+
511
bool WebPage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType, bool)
612
{
713
// qDebug() << url;

0 commit comments

Comments
 (0)