Allow clearing previously installed translation files
This commit is contained in:
parent
8d8585d00d
commit
8fd1452174
|
@ -68,6 +68,11 @@ void cleanup()
|
||||||
*/
|
*/
|
||||||
namespace TranslationFiles {
|
namespace TranslationFiles {
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief The translators installed via the load-functions in this namespace.
|
||||||
|
*/
|
||||||
|
static QList<QTranslator *> translators;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Allows to set an additional search path for translation files.
|
* \brief Allows to set an additional search path for translation files.
|
||||||
* \remarks This path is considered *before* the default directories.
|
* \remarks This path is considered *before* the default directories.
|
||||||
|
@ -132,6 +137,7 @@ void loadQtTranslationFile(initializer_list<QString> repositoryNames, const QStr
|
||||||
|| qtTranslator->load(fileName, path = QStringLiteral("../share/qt/translations"))
|
|| qtTranslator->load(fileName, path = QStringLiteral("../share/qt/translations"))
|
||||||
|| qtTranslator->load(fileName, path = QStringLiteral(":/translations"))) {
|
|| qtTranslator->load(fileName, path = QStringLiteral(":/translations"))) {
|
||||||
QCoreApplication::installTranslator(qtTranslator);
|
QCoreApplication::installTranslator(qtTranslator);
|
||||||
|
translators.append(qtTranslator);
|
||||||
if (debugTranslations) {
|
if (debugTranslations) {
|
||||||
cerr << "Loading translation file for Qt repository \"" << repoName.toLocal8Bit().data() << "\" and the locale \""
|
cerr << "Loading translation file for Qt repository \"" << repoName.toLocal8Bit().data() << "\" and the locale \""
|
||||||
<< localeName.toLocal8Bit().data() << "\" from \"" << path.toLocal8Bit().data() << "\"." << endl;
|
<< localeName.toLocal8Bit().data() << "\" from \"" << path.toLocal8Bit().data() << "\"." << endl;
|
||||||
|
@ -230,6 +236,7 @@ void loadApplicationTranslationFile(const QString &configName, const QString &ap
|
||||||
|| appTranslator->load(fileName, path = QStringLiteral(APP_INSTALL_PREFIX "/share/") % directoryName % QStringLiteral("/translations"))
|
|| appTranslator->load(fileName, path = QStringLiteral(APP_INSTALL_PREFIX "/share/") % directoryName % QStringLiteral("/translations"))
|
||||||
|| appTranslator->load(fileName, path = QStringLiteral(":/translations"))) {
|
|| appTranslator->load(fileName, path = QStringLiteral(":/translations"))) {
|
||||||
QCoreApplication::installTranslator(appTranslator);
|
QCoreApplication::installTranslator(appTranslator);
|
||||||
|
translators.append(appTranslator);
|
||||||
if (qEnvironmentVariableIsSet("QT_DEBUG_TRANSLATIONS")) {
|
if (qEnvironmentVariableIsSet("QT_DEBUG_TRANSLATIONS")) {
|
||||||
logTranslationEvent("Loading", configName, applicationName, localeName, path);
|
logTranslationEvent("Loading", configName, applicationName, localeName, path);
|
||||||
}
|
}
|
||||||
|
@ -267,6 +274,18 @@ void loadApplicationTranslationFile(const QString &configName, const std::initia
|
||||||
loadApplicationTranslationFile(configName, applicationName, localeName);
|
loadApplicationTranslationFile(configName, applicationName, localeName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Clears all translation files previously loaded via the load-functions in this namespace.
|
||||||
|
*/
|
||||||
|
void clearTranslationFiles()
|
||||||
|
{
|
||||||
|
for (auto *const translator : translators) {
|
||||||
|
QCoreApplication::removeTranslator(translator);
|
||||||
|
}
|
||||||
|
translators.clear();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace TranslationFiles
|
} // namespace TranslationFiles
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -53,6 +53,7 @@ QT_UTILITIES_EXPORT void loadApplicationTranslationFile(const QString &configNam
|
||||||
QT_UTILITIES_EXPORT void loadApplicationTranslationFile(const QString &configName, const std::initializer_list<QString> &applicationNames);
|
QT_UTILITIES_EXPORT void loadApplicationTranslationFile(const QString &configName, const std::initializer_list<QString> &applicationNames);
|
||||||
QT_UTILITIES_EXPORT void loadApplicationTranslationFile(
|
QT_UTILITIES_EXPORT void loadApplicationTranslationFile(
|
||||||
const QString &configName, const std::initializer_list<QString> &applicationNames, const QString &localeName);
|
const QString &configName, const std::initializer_list<QString> &applicationNames, const QString &localeName);
|
||||||
|
QT_UTILITIES_EXPORT void clearTranslationFiles();
|
||||||
} // namespace TranslationFiles
|
} // namespace TranslationFiles
|
||||||
|
|
||||||
namespace ApplicationInstances {
|
namespace ApplicationInstances {
|
||||||
|
|
Loading…
Reference in New Issue