Prevent warnings when English translations can not be load
English translation files are built-in and usually only used for plural forms. Hence the files are often empty and the warnings about them are more misleading than helpful most of the time. TODO: Find a way to distinguish between translations which are supposed to be empty and missing/invalid translations.
This commit is contained in:
parent
260b8217da
commit
cdd84520da
|
@ -89,9 +89,9 @@ QString &additionalTranslationFilePath()
|
||||||
* * QLibraryInfo::location(QLibraryInfo::TranslationsPath) (used in UNIX)
|
* * QLibraryInfo::location(QLibraryInfo::TranslationsPath) (used in UNIX)
|
||||||
* * ../share/qt/translations (used in Windows)
|
* * ../share/qt/translations (used in Windows)
|
||||||
* - Translation files can also be built-in using by setting the CMake variable
|
* - Translation files can also be built-in using by setting the CMake variable
|
||||||
* BUILTIN_TRANSLATIONS.
|
* BUILTIN_TRANSLATIONS.
|
||||||
* In this case it is also necessary to load the translations using this
|
* In this case it is also necessary to load the translations using this
|
||||||
* function.
|
* function.
|
||||||
*/
|
*/
|
||||||
void loadQtTranslationFile(std::initializer_list<QString> repositoryNames)
|
void loadQtTranslationFile(std::initializer_list<QString> repositoryNames)
|
||||||
{
|
{
|
||||||
|
@ -109,9 +109,9 @@ void loadQtTranslationFile(std::initializer_list<QString> repositoryNames)
|
||||||
* * QLibraryInfo::location(QLibraryInfo::TranslationsPath) (used in UNIX)
|
* * QLibraryInfo::location(QLibraryInfo::TranslationsPath) (used in UNIX)
|
||||||
* * ../share/qt/translations (used in Windows)
|
* * ../share/qt/translations (used in Windows)
|
||||||
* - Translation files can also be built-in using by setting the CMake variable
|
* - Translation files can also be built-in using by setting the CMake variable
|
||||||
* BUILTIN_TRANSLATIONS.
|
* BUILTIN_TRANSLATIONS.
|
||||||
* In this case it is also necessary to load the translations using this
|
* In this case it is also necessary to load the translations using this
|
||||||
* function.
|
* function.
|
||||||
*/
|
*/
|
||||||
void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QString &localeName)
|
void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QString &localeName)
|
||||||
{
|
{
|
||||||
|
@ -123,13 +123,16 @@ void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QStr
|
||||||
} else if (qtTranslator->load(fileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) {
|
} else if (qtTranslator->load(fileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) {
|
||||||
QCoreApplication::installTranslator(qtTranslator);
|
QCoreApplication::installTranslator(qtTranslator);
|
||||||
} else if (qtTranslator->load(fileName, QStringLiteral("../share/qt/translations"))) {
|
} else if (qtTranslator->load(fileName, QStringLiteral("../share/qt/translations"))) {
|
||||||
// used in Windows
|
|
||||||
QCoreApplication::installTranslator(qtTranslator);
|
QCoreApplication::installTranslator(qtTranslator);
|
||||||
} else if (qtTranslator->load(fileName, QStringLiteral(":/translations"))) {
|
} else if (qtTranslator->load(fileName, QStringLiteral(":/translations"))) {
|
||||||
QCoreApplication::installTranslator(qtTranslator);
|
QCoreApplication::installTranslator(qtTranslator);
|
||||||
} else {
|
} else {
|
||||||
delete qtTranslator;
|
delete qtTranslator;
|
||||||
cerr << "Unable to load translation file for Qt repository \"" << repoName.toLocal8Bit().data() << "\" and language "
|
if (localeName.startsWith(QLatin1String("en"))) {
|
||||||
|
// the translation file is probably just empty (English is built-in and usually only used for plural forms)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
cerr << "Unable to load translation file for Qt repository \"" << repoName.toLocal8Bit().data() << "\" and locale "
|
||||||
<< localeName.toLocal8Bit().data() << "." << endl;
|
<< localeName.toLocal8Bit().data() << "." << endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -147,9 +150,9 @@ void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QStr
|
||||||
* - Translation files must be named using the following scheme:
|
* - Translation files must be named using the following scheme:
|
||||||
* * $application_$language.qm
|
* * $application_$language.qm
|
||||||
* - Translation files can also be built-in using by setting the CMake variable
|
* - Translation files can also be built-in using by setting the CMake variable
|
||||||
* BUILTIN_TRANSLATIONS.
|
* BUILTIN_TRANSLATIONS.
|
||||||
* In this case it is also necessary to load the translations using this
|
* In this case it is also necessary to load the translations using this
|
||||||
* function.
|
* function.
|
||||||
*/
|
*/
|
||||||
void loadApplicationTranslationFile(const QString &applicationName)
|
void loadApplicationTranslationFile(const QString &applicationName)
|
||||||
{
|
{
|
||||||
|
@ -174,9 +177,9 @@ void loadApplicationTranslationFile(const QString &applicationName)
|
||||||
* - Translation files must be named using the following scheme:
|
* - Translation files must be named using the following scheme:
|
||||||
* * $application_$language.qm
|
* * $application_$language.qm
|
||||||
* - Translation files can also be built-in using by setting the CMake variable
|
* - Translation files can also be built-in using by setting the CMake variable
|
||||||
* BUILTIN_TRANSLATIONS.
|
* BUILTIN_TRANSLATIONS.
|
||||||
* In this case it is also necessary to load the translations using this
|
* In this case it is also necessary to load the translations using this
|
||||||
* function.
|
* function.
|
||||||
*/
|
*/
|
||||||
void loadApplicationTranslationFile(const QString &applicationName, const QString &localeName)
|
void loadApplicationTranslationFile(const QString &applicationName, const QString &localeName)
|
||||||
{
|
{
|
||||||
|
@ -196,7 +199,11 @@ void loadApplicationTranslationFile(const QString &applicationName, const QStrin
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
} else {
|
} else {
|
||||||
delete appTranslator;
|
delete appTranslator;
|
||||||
cerr << "Unable to load translation file for \"" << applicationName.toLocal8Bit().data() << "\" and the language \""
|
if (localeName.startsWith(QLatin1String("en"))) {
|
||||||
|
// the translation file is probably just empty (English is built-in and usually only used for plural forms)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
cerr << "Unable to load translation file for \"" << applicationName.toLocal8Bit().data() << "\" and the locale \""
|
||||||
<< localeName.toLocal8Bit().data() << "\"." << endl;
|
<< localeName.toLocal8Bit().data() << "\"." << endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue