* @brief Updates the localized names of available themes based on current UI language. */
| 389 | * @brief Updates the localized names of available themes based on current UI language. |
| 390 | */ |
| 391 | void Misc::ThemeManager::updateLocalizedThemeNames() |
| 392 | { |
| 393 | m_availableThemeNames.clear(); |
| 394 | const auto lang = Translator::instance().language(); |
| 395 | |
| 396 | for (const auto& themeName : std::as_const(m_availableThemes)) { |
| 397 | if (themeName == QStringLiteral("System")) { |
| 398 | m_availableThemeNames.append(tr("System")); |
| 399 | continue; |
| 400 | } |
| 401 | |
| 402 | const auto themeObj = m_themes.value(themeName); |
| 403 | const auto translations = themeObj.value("translations").toObject(); |
| 404 | |
| 405 | QString localized; |
| 406 | switch (lang) { |
| 407 | case Translator::Spanish: |
| 408 | localized = translations.value("es_MX").toString(); |
| 409 | break; |
| 410 | case Translator::Chinese: |
| 411 | localized = translations.value("zh_CN").toString(); |
| 412 | break; |
| 413 | case Translator::German: |
| 414 | localized = translations.value("de_DE").toString(); |
| 415 | break; |
| 416 | case Translator::Russian: |
| 417 | localized = translations.value("ru_RU").toString(); |
| 418 | break; |
| 419 | case Translator::French: |
| 420 | localized = translations.value("fr_FR").toString(); |
| 421 | break; |
| 422 | case Translator::Japanese: |
| 423 | localized = translations.value("ja_JP").toString(); |
| 424 | break; |
| 425 | case Translator::Korean: |
| 426 | localized = translations.value("ko_KR").toString(); |
| 427 | break; |
| 428 | case Translator::Portuguese: |
| 429 | localized = translations.value("pt_BR").toString(); |
| 430 | break; |
| 431 | case Translator::Italian: |
| 432 | localized = translations.value("it_IT").toString(); |
| 433 | break; |
| 434 | case Translator::Polish: |
| 435 | localized = translations.value("pl_PL").toString(); |
| 436 | break; |
| 437 | case Translator::Turkish: |
| 438 | localized = translations.value("tr_TR").toString(); |
| 439 | break; |
| 440 | case Translator::Ukrainian: |
| 441 | localized = translations.value("uk_UA").toString(); |
| 442 | break; |
| 443 | case Translator::Czech: |
| 444 | localized = translations.value("cs_CZ").toString(); |
| 445 | break; |
| 446 | case Translator::Hindi: |
| 447 | localized = translations.value("hi_IN").toString(); |
| 448 | break; |