refactor: I18N make sure m_currentLang is set to the 639 name on initial load

This commit is contained in:
sithlord48
2025-12-10 21:36:58 -05:00
committed by Nick Bolton
parent 97b11bf2da
commit dfe6c82a5c
2 changed files with 5 additions and 2 deletions

View File

@ -89,9 +89,9 @@ I18N::I18N(QObject *parent) : QObject{parent}
QCoreApplication::installTranslator(appTranslator);
}
m_currentLang = appTranslator->translate("i18n", "LocalizedName");
m_currentLang = m_nameMap.key(appTranslator->translate("i18n", "LocalizedName"));
if (m_currentLang.isEmpty())
m_currentLang = QStringLiteral("English");
m_currentLang = QStringLiteral("en");
auto qtTranslator = new QTranslator(this);
if (qtTranslator->load(QLocale(), QStringLiteral("qt"), s_prefix, m_qtTrPath)) {

View File

@ -62,6 +62,9 @@ void I18NTests::toNativeNameTest()
void I18NTests::setLangTest()
{
// make sure we are not staring with our language set to the maps first value
// ensures a languageChanged signal will be emited for each itteration of the testing loop
I18N::setLanguage(m_langMap.value(m_langMap.lastKey()));
QSignalSpy spy(I18N::instance(), &I18N::languageChanged);
for (const auto &lang : m_langMap.values()) {
I18N::setLanguage(lang);