mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Add en_US translation for plurals
This way in the en_US locale we no longer get shown the odd "dive(s)" and instead get correct singular and plural forms. Most of the patch is just a reindentation as it removes the if clause that used to do the special case of NOT loading a translation for the en_US case. Right now we start with a trivial en_US translation file. My guess is that this will be overwritten once we do the next round of "new strings, new translations". Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6e785a7bfc
commit
ba2b5d8505
4 changed files with 38 additions and 23 deletions
|
@ -40,32 +40,27 @@ void init_qt_late()
|
||||||
QString uiLang = uiLanguage(&loc);
|
QString uiLang = uiLanguage(&loc);
|
||||||
QLocale::setDefault(loc);
|
QLocale::setDefault(loc);
|
||||||
|
|
||||||
// we don't have translations for English - if we don't check for this
|
qtTranslator = new QTranslator;
|
||||||
// Qt will proceed to load the second language in preference order - not what we want
|
QString translationLocation;
|
||||||
// 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;
|
|
||||||
#if defined(Q_OS_ANDROID)
|
#if defined(Q_OS_ANDROID)
|
||||||
translationLocation = QLatin1Literal("assets:/translations");
|
translationLocation = QLatin1Literal("assets:/translations");
|
||||||
#elif defined(Q_OS_IOS)
|
#elif defined(Q_OS_IOS)
|
||||||
translationLocation = QLatin1Literal(":/translations/");
|
translationLocation = QLatin1Literal(":/translations/");
|
||||||
#else
|
#else
|
||||||
translationLocation = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
|
translationLocation = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
|
||||||
#endif
|
#endif
|
||||||
if (qtTranslator->load(loc, "qt", "_", translationLocation)) {
|
if (qtTranslator->load(loc, "qt", "_", translationLocation)) {
|
||||||
application->installTranslator(qtTranslator);
|
application->installTranslator(qtTranslator);
|
||||||
} else {
|
} else {
|
||||||
qDebug() << "can't find Qt localization for locale" << uiLang << "searching in" << translationLocation;
|
qDebug() << "can't find Qt localization for locale" << uiLang << "searching in" << translationLocation;
|
||||||
}
|
}
|
||||||
ssrfTranslator = new QTranslator;
|
ssrfTranslator = new QTranslator;
|
||||||
if (ssrfTranslator->load(loc, "subsurface", "_") ||
|
if (ssrfTranslator->load(loc, "subsurface", "_") ||
|
||||||
ssrfTranslator->load(loc, "subsurface", "_", translationLocation) ||
|
ssrfTranslator->load(loc, "subsurface", "_", translationLocation) ||
|
||||||
ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("translations")) ||
|
ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("translations")) ||
|
||||||
ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("../translations"))) {
|
ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("../translations"))) {
|
||||||
application->installTranslator(ssrfTranslator);
|
application->installTranslator(ssrfTranslator);
|
||||||
} else {
|
} else {
|
||||||
qDebug() << "can't find Subsurface localization for locale" << uiLang;
|
qDebug() << "can't find Subsurface localization for locale" << uiLang;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
<file>translations/subsurface_de_CH.qm</file>
|
<file>translations/subsurface_de_CH.qm</file>
|
||||||
<file>translations/subsurface_de_DE.qm</file>
|
<file>translations/subsurface_de_DE.qm</file>
|
||||||
<file>translations/subsurface_en_GB.qm</file>
|
<file>translations/subsurface_en_GB.qm</file>
|
||||||
|
<file>translations/subsurface_en_US.qm</file>
|
||||||
<file>translations/subsurface_es_ES.qm</file>
|
<file>translations/subsurface_es_ES.qm</file>
|
||||||
<file>translations/subsurface_et_EE.qm</file>
|
<file>translations/subsurface_et_EE.qm</file>
|
||||||
<file>translations/subsurface_fi_FI.qm</file>
|
<file>translations/subsurface_fi_FI.qm</file>
|
||||||
|
|
|
@ -13,6 +13,7 @@ set(TRANSLATION_FILES
|
||||||
subsurface_de_DE.ts
|
subsurface_de_DE.ts
|
||||||
subsurface_el_GR.ts
|
subsurface_el_GR.ts
|
||||||
subsurface_en_GB.ts
|
subsurface_en_GB.ts
|
||||||
|
subsurface_en_US.ts
|
||||||
subsurface_es_ES.ts
|
subsurface_es_ES.ts
|
||||||
subsurface_et_EE.ts
|
subsurface_et_EE.ts
|
||||||
subsurface_fi_FI.ts
|
subsurface_fi_FI.ts
|
||||||
|
|
18
translations/subsurface_en_US.ts
Normal file
18
translations/subsurface_en_US.ts
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="en_US" version="2.1">
|
||||||
|
<context>
|
||||||
|
<name>LocationFilterDelegate</name>
|
||||||
|
<message numerus="yes">
|
||||||
|
<location filename="../desktop-widgets/modeldelegates.cpp" line="504"/>
|
||||||
|
<source>, %n dive(s) here)</source>
|
||||||
|
<translation><numerusform>, %n dive here)</numerusform><numerusform>, %n dives here)</numerusform></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QObject</name>
|
||||||
|
<message numerus="yes">
|
||||||
|
<location filename="../core/qthelper.cpp" line="997"/>
|
||||||
|
<source>(%n dive(s))</source>
|
||||||
|
<translation><numerusform>(%n dive)</numerusform><numerusform>(%n dives)</numerusform></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
Loading…
Reference in a new issue