From 795d83d064423bfb635ecfb3659d0fb95be5947a Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Wed, 22 Feb 2017 02:28:57 +0900 Subject: [PATCH] Add project for translation --- ocs-url.pro | 4 +++- src/app/main.cpp | 17 ++++++++--------- src/i18n/i18n.pro | 7 +++++++ src/i18n/i18n.qrc | 5 +++++ 4 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 src/i18n/i18n.pro create mode 100644 src/i18n/i18n.qrc diff --git a/ocs-url.pro b/ocs-url.pro index 304f583..4f7a1de 100644 --- a/ocs-url.pro +++ b/ocs-url.pro @@ -6,7 +6,9 @@ CONFIG += c++11 DEFINES += QT_DEPRECATED_WARNINGS -RESOURCES += src/desktop/desktop.qrc +RESOURCES += \ + src/desktop/desktop.qrc \ + src/i18n/i18n.qrc DISTFILES += \ README.md \ diff --git a/src/app/main.cpp b/src/app/main.cpp index 1233f40..1cbaeb3 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -2,15 +2,14 @@ #include <QStringList> #include <QUrl> #include <QJsonObject> +#include <QTranslator> +#include <QLocale> #include <QCommandLineParser> #include <QGuiApplication> #include <QIcon> #include <QQmlApplicationEngine> #include <QQmlContext> -#include <QTranslator> -#include <QLocale> - #include "handlers/confighandler.h" #include "handlers/ocsurlhandler.h" @@ -28,6 +27,12 @@ int main(int argc, char *argv[]) app.setOrganizationDomain(appConfigApplication["domain"].toString()); app.setWindowIcon(QIcon::fromTheme(appConfigApplication["id"].toString(), QIcon(appConfigApplication["icon"].toString()))); + // Setup translator + QTranslator translator; + if (translator.load(QLocale(), "messages", ".", ":/i18n")) { + app.installTranslator(&translator); + } + // Setup CLI QCommandLineParser clParser; clParser.setApplicationDescription(appConfigApplication["description"].toString()); @@ -44,12 +49,6 @@ int main(int argc, char *argv[]) QString ocsUrl = args.at(0); - // Setup translator - QTranslator translator; - if (translator.load(QLocale(), appConfigApplication["id"].toString(), ".", ":/qm")) { - app.installTranslator(&translator); - } - // Setup QML QQmlApplicationEngine qmlAppEngine; QQmlContext *qmlContext = qmlAppEngine.rootContext(); diff --git a/src/i18n/i18n.pro b/src/i18n/i18n.pro new file mode 100644 index 0000000..a2f872d --- /dev/null +++ b/src/i18n/i18n.pro @@ -0,0 +1,7 @@ +SOURCES += $$system(find ../app -type f -name "*.cpp" -or -name "*.qml" -or -name "*.js") + +TRANSLATIONS += \ + messages.ts \ + messages.en_US.ts + +RESOURCES += i18n.qrc diff --git a/src/i18n/i18n.qrc b/src/i18n/i18n.qrc new file mode 100644 index 0000000..52757b9 --- /dev/null +++ b/src/i18n/i18n.qrc @@ -0,0 +1,5 @@ +<RCC> + <qresource prefix="/i18n"> + <file>messages.en_US.qm</file> + </qresource> +</RCC> -- GitLab