59 auto *trans =
new QTranslator(
nullptr);
61 +
"_" + lang +
".qm",
"."))
63 LOG(VB_GENERAL, LOG_INFO,
64 QString(
"Loading %1 translation for module %2")
65 .arg(lang, module_name));
66 QCoreApplication::installTranslator(trans);
71 LOG(VB_GENERAL, LOG_ERR, QString(
"Error Loading %1 translation for "
72 "module %2").arg(lang, module_name));
82 QCoreApplication::removeTranslator(*it);
92 if (!currentLanguage.isEmpty() && currentLanguage.compare(
d.
m_language))
109 keys.append(it.key());
111 for (
const auto& key : std::as_const(keys))
118 QMap<QString, QString> langs;
121 translationDir.setNameFilters(QStringList(
"mythfrontend_*.qm"));
122 translationDir.setFilter(QDir::Files);
123 QFileInfoList translationFiles = translationDir.entryInfoList();
124 QFileInfoList::const_iterator it;
125 for (it = translationFiles.constBegin(); it != translationFiles.constEnd();
130 QString languageCode = (*it).baseName().section(
'_', 1, 1);
131 QString countryCode = (*it).baseName().section(
'_', 2, 2);
132 if (!countryCode.isEmpty())
133 languageCode = QString(
"%1_%2")
134 .arg(languageCode, countryCode.toUpper());
138 if (language.isEmpty())
141 if (!countryCode.isEmpty())
144 if (country.isEmpty())
147 language.append(QString(
" (%1)").arg(country));
150 langs[languageCode] = language;
QString GetSetting(const QString &key, const QString &defaultval="")
void OverrideSettingForSession(const QString &key, const QString &value)
QString GetNativeLanguage() const
Name of language in English.
QString GetCountry() const
ISO3166 2-letter.
QString GetNativeCountry() const
Name of country in English.
QString GetLanguage() const
ISO639 2-letter.
MythTranslationPrivate()=default
static bool LanguageChanged(void)
static class MythTranslationPrivate d
static void load_real(const QString &module_name)
static void reload()
Reload all active translators based on the current language setting.
static void unload(const QString &module_name)
Remove a QTranslator previously installed using load().
static void load(const QString &module_name)
Load a QTranslator for the user's preferred language.
static QMap< QString, QString > getLanguages(void)
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
QString GetTranslationsDir(void)
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
QMap< QString, QTranslator * > TransMap