@@ -111,31 +111,60 @@ void configureTranslation(QTranslator& translator, QTranslator& qtTranslator)
111111 bool foundTranslation;
112112 // Configure translations
113113 for (const QString& path : PathInfo::translationsPaths ()) {
114- foundTranslation =
115- translator.load (QLocale (),
116- QStringLiteral (" Internationalization" ),
117- QStringLiteral (" _" ),
118- path);
114+ if (ConfigHandler ().uiLanguage () == QStringLiteral (" auto" )) {
115+ // Load language, which was detected from the system
116+ foundTranslation =
117+ translator.load (QLocale (),
118+ QStringLiteral (" Internationalization" ),
119+ QStringLiteral (" _" ),
120+ path);
121+ } else {
122+ // Load language from settings
123+ foundTranslation =
124+ translator.load (QStringLiteral (" Internationalization_" ) +
125+ ConfigHandler ().uiLanguage (),
126+ path);
127+ }
119128 if (foundTranslation) {
120129 break ;
121130 }
122131 }
123132 if (!foundTranslation) {
124- QLocale l;
125- qWarning () << QStringLiteral (" No Flameshot translation found for %1" )
126- .arg (l.uiLanguages ().join (" , " ));
133+ if (ConfigHandler ().uiLanguage () == QStringLiteral (" auto" )) {
134+ QLocale l;
135+ qWarning () << QStringLiteral (
136+ " No Flameshot translation found for %1" )
137+ .arg (l.uiLanguages ().join (" , " ));
138+ } else {
139+ qWarning () << QStringLiteral (
140+ " No Flameshot translation found for %1" )
141+ .arg (ConfigHandler ().uiLanguage ());
142+ }
127143 }
128144
129- foundTranslation =
130- qtTranslator.load (QLocale::system (),
131- " qt" ,
132- " _" ,
133- QLibraryInfo::path (QLibraryInfo::TranslationsPath));
145+ if (ConfigHandler ().uiLanguage () == QStringLiteral (" auto" )) {
146+ foundTranslation =
147+ qtTranslator.load (QLocale::system (),
148+ " qt" ,
149+ " _" ,
150+ QLibraryInfo::path (QLibraryInfo::TranslationsPath));
151+ } else {
152+ foundTranslation = qtTranslator.load (
153+ QStringLiteral (" qt_" ) + ConfigHandler ().uiLanguage (),
154+
155+ QLibraryInfo::path (QLibraryInfo::TranslationsPath));
156+ }
134157 if (!foundTranslation) {
135- qWarning () << QStringLiteral (" No Qt translation found for %1" )
136- .arg (QLocale::languageToString (
137- QLocale::system ().language ()));
158+ if (ConfigHandler ().uiLanguage () == QStringLiteral (" auto" )) {
159+ qWarning () << QStringLiteral (" No Qt translation found for %1" )
160+ .arg (QLocale::languageToString (
161+ QLocale::system ().language ()));
162+ } else {
163+ qWarning () << QStringLiteral (" No Qt translation found for %1" )
164+ .arg (ConfigHandler ().uiLanguage ());
165+ }
138166 }
167+
139168 qApp->installTranslator (&translator);
140169 qApp->installTranslator (&qtTranslator);
141170}
0 commit comments