From 64e765111dde29e7464ba49ec6185ef0d35077c8 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 13 Dec 2018 15:49:05 +0100 Subject: Add translations meson option to build and install translations --- src/main.cpp | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index d9e1c6a..04ce57a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -65,6 +65,10 @@ int main(int argc, char **argv) // create and load configuration std::unique_ptr config = std::make_unique(argc, argv, cmd->value("config").value()); + QTranslator translator; + if(config->exists("browser.translation")) { + translator.load(config->value("browser.translation").value()); + } QVector plugins; CommandHash_t pluginCommands; @@ -88,13 +92,21 @@ int main(int argc, char **argv) } if(cmd->exists("help")) { - return builtins::help(argv[0], cmd->description(), config->description(), pluginCommands); + return builtins::help(argv[0], cmd->description(), config->description(), pluginCommands, &translator); } // argc, argv, allowSecondary Browser app(argc, argv); // set this, otherwise the webview becomes black when using a stylesheet app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true); + app.installTranslator(&translator); + if(config->exists("browser.locale")) { + auto *locale = new QTranslator(&app); + if(locale->load("qt_" + config->value("browser.locale").value(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + app.installTranslator(locale); + else + delete locale; + } #ifdef CONFIG_USEBREAKPAD const std::string crashpath = config->value("browser.crash.path").value_or("/tmp"); @@ -119,23 +131,6 @@ int main(int argc, char **argv) #endif #endif // CONFIG_USEBREAKPAD - // translator - if(config->exists("browser.locale")) { - auto *translator = new QTranslator(&app); - if(translator->load("qt_" + config->value("browser.locale").value(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) - app.installTranslator(translator); - else - delete translator; - } - - if(config->exists("browser.translation")) { - auto *translator = new QTranslator(&app); - if(translator->load(config->value("browser.translation").value())) - app.installTranslator(translator); - else - delete translator; - } - const bool isStandalone = cmd->exists("no-remote"); const auto profile = config->value("profile.default"); -- cgit v1.2.1