Skip to content

Commit a4c9f03

Browse files
committed
fix: Change the translation language of the application in dock #1100
Configure name retrieval in three levels fix-Bug-translation
1 parent 123fdb4 commit a4c9f03

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

panels/dock/taskmanager/desktopfileamparser.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ void DesktopFileAMParser::updateActions()
240240
auto actionNames = m_applicationInterface->actionName();
241241

242242
for (auto action : actions) {
243-
auto localeName = actionNames.value(action).value(currentLanguageCode);
243+
auto localeName = getLocaleName(currentLanguageCode, actionNames.value(action));
244244
auto fallbackDefaultName = actionNames.value(action).value(DEFAULT_KEY);
245245
m_actions.append({action, localeName.isEmpty() ? fallbackDefaultName : localeName});
246246
}
@@ -250,7 +250,7 @@ void DesktopFileAMParser::updateLocalName()
250250
{
251251
QString currentLanguageCode = QLocale::system().name();
252252
auto names = m_applicationInterface->name();
253-
auto localeName = names.value(currentLanguageCode);
253+
auto localeName = getLocaleName(currentLanguageCode, names);
254254
auto fallbackName = names.value(DEFAULT_KEY);
255255
m_name = localeName.isEmpty() ? fallbackName : localeName;
256256
}
@@ -264,7 +264,7 @@ void DesktopFileAMParser::updateLocalGenericName()
264264
{
265265
QString currentLanguageCode = QLocale::system().name();
266266
auto genericNames = m_applicationInterface->genericName();
267-
auto localeGenericName = genericNames.value(currentLanguageCode);
267+
auto localeGenericName = getLocaleName(currentLanguageCode, genericNames);
268268
auto fallBackGenericName = genericNames.value(DEFAULT_KEY);
269269
m_genericName = localeGenericName.isEmpty() ? fallBackGenericName : localeGenericName;
270270
}

panels/dock/taskmanager/desktopfileamparser.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class DesktopFileAMParser : public DesktopfileAbstractParser
4747
QString id2dbusPath(const QString& id);
4848
void connectToAmDBusSignal(const QString& propertyName, const char* slot);
4949
void launchByAMTool(const QString &action = QString());
50+
QString getLocaleName(const QString& currentLanguageCode, const QStringMap& names);
5051

5152
private Q_SLOTS:
5253
void updateActions();

0 commit comments

Comments
 (0)