From e47327c87a1b456852e8594eedc2882a7e1c9bb4 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Tue, 3 May 2016 17:20:53 -0700 Subject: Android build: prepare and copy translations into the APK And then load them at runtime. Signed-off-by: Dirk Hohndel --- core/qt-init.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/qt-init.cpp b/core/qt-init.cpp index 3dffc6f31..3d07899ce 100644 --- a/core/qt-init.cpp +++ b/core/qt-init.cpp @@ -41,13 +41,20 @@ void init_qt_late() // on Linux this tends to be en-US, but on the Mac it's just en if (!uiLang.startsWith("en") || uiLang.startsWith("en-GB")) { qtTranslator = new QTranslator; - if (qtTranslator->load(loc, "qt", "_", QLibraryInfo::location(QLibraryInfo::TranslationsPath))) { + QString translationLocation; +#ifdef Q_OS_ANDROID + translationLocation = QLatin1Literal("assets:/translations"); +#else + translationLocation = QLibraryInfo::location(QLibraryInfo::TranslationsPath); +#endif + if (qtTranslator->load(loc, "qt", "_", translationLocation)) { application->installTranslator(qtTranslator); } else { - qDebug() << "can't find Qt localization for locale" << uiLang << "searching in" << QLibraryInfo::location(QLibraryInfo::TranslationsPath); + qDebug() << "can't find Qt localization for locale" << uiLang << "searching in" << translationLocation; } ssrfTranslator = new QTranslator; if (ssrfTranslator->load(loc, "subsurface", "_") || + ssrfTranslator->load(loc, "subsurface", "_", translationLocation) || ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("translations")) || ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("../translations"))) { application->installTranslator(ssrfTranslator); -- cgit v1.2.3-70-g09d2