diff --git a/core/qt-init.cpp b/core/qt-init.cpp index 9eebd8421..1e74e9b07 100644 --- a/core/qt-init.cpp +++ b/core/qt-init.cpp @@ -40,32 +40,27 @@ void init_qt_late() QString uiLang = uiLanguage(&loc); QLocale::setDefault(loc); - // we don't have translations for English - if we don't check for this - // Qt will proceed to load the second language in preference order - not what we want - // 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; - QString translationLocation; + qtTranslator = new QTranslator; + QString translationLocation; #if defined(Q_OS_ANDROID) - translationLocation = QLatin1Literal("assets:/translations"); + translationLocation = QLatin1Literal("assets:/translations"); #elif defined(Q_OS_IOS) - translationLocation = QLatin1Literal(":/translations/"); + translationLocation = QLatin1Literal(":/translations/"); #else - translationLocation = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + 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" << 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); - } else { - qDebug() << "can't find Subsurface localization for locale" << uiLang; - } + if (qtTranslator->load(loc, "qt", "_", translationLocation)) { + application->installTranslator(qtTranslator); + } else { + 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); + } else { + qDebug() << "can't find Subsurface localization for locale" << uiLang; } } diff --git a/packaging/ios/Subsurface-mobile/translations.qrc b/packaging/ios/Subsurface-mobile/translations.qrc index 7a6bade70..43f841814 100644 --- a/packaging/ios/Subsurface-mobile/translations.qrc +++ b/packaging/ios/Subsurface-mobile/translations.qrc @@ -6,6 +6,7 @@ translations/subsurface_de_CH.qm translations/subsurface_de_DE.qm translations/subsurface_en_GB.qm + translations/subsurface_en_US.qm translations/subsurface_es_ES.qm translations/subsurface_et_EE.qm translations/subsurface_fi_FI.qm diff --git a/translations/CMakeLists.txt b/translations/CMakeLists.txt index effa9812f..64a1e6bed 100644 --- a/translations/CMakeLists.txt +++ b/translations/CMakeLists.txt @@ -13,6 +13,7 @@ set(TRANSLATION_FILES subsurface_de_DE.ts subsurface_el_GR.ts subsurface_en_GB.ts + subsurface_en_US.ts subsurface_es_ES.ts subsurface_et_EE.ts subsurface_fi_FI.ts diff --git a/translations/subsurface_en_US.ts b/translations/subsurface_en_US.ts new file mode 100644 index 000000000..d859792c3 --- /dev/null +++ b/translations/subsurface_en_US.ts @@ -0,0 +1,18 @@ + + + LocationFilterDelegate + + + , %n dive(s) here) + , %n dive here), %n dives here) + + + + QObject + + + (%n dive(s)) + (%n dive)(%n dives) + + +