Skip to content

Commit

Permalink
feat: enable new languages
Browse files Browse the repository at this point in the history
  • Loading branch information
Bionus committed Sep 12, 2024
1 parent edea0ba commit fb98ea3
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 4 deletions.
4 changes: 4 additions & 0 deletions scripts/windows-setup/setup.iss
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ Source: "{#BuildDir}\crash-reporter\languages\Polish.qm"; DestDir: "{app}\cras
Source: "{#BuildDir}\crash-reporter\languages\PortugueseBrazilian.qm"; DestDir: "{app}\crashreporter"; Flags: ignoreversion
Source: "{#BuildDir}\crash-reporter\languages\Russian.qm"; DestDir: "{app}\crashreporter"; Flags: ignoreversion
Source: "{#BuildDir}\crash-reporter\languages\Spanish.qm"; DestDir: "{app}\crashreporter"; Flags: ignoreversion
Source: "{#BuildDir}\crash-reporter\languages\Turkish.qm"; DestDir: "{app}\crashreporter"; Flags: ignoreversion
Source: "{#BuildDir}\crash-reporter\languages\Ukrainian.qm";DestDir: "{app}\crashreporter"; Flags: ignoreversion
Source: "{#QtPlugins}\imageformats\qgif.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
Source: "{#QtPlugins}\imageformats\qicns.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
Source: "{#QtPlugins}\imageformats\qico.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
Expand All @@ -149,6 +151,8 @@ Source: "{#BuildDir}\languages\Polish.qm"; DestDir: "{app}\languages"; Flag
Source: "{#BuildDir}\languages\PortugueseBrazilian.qm"; DestDir: "{app}\languages"; Flags: ignoreversion
Source: "{#BuildDir}\languages\Russian.qm"; DestDir: "{app}\languages"; Flags: ignoreversion
Source: "{#BuildDir}\languages\Spanish.qm"; DestDir: "{app}\languages"; Flags: ignoreversion
Source: "{#BuildDir}\languages\Turkish.qm"; DestDir: "{app}\languages"; Flags: ignoreversion
Source: "{#BuildDir}\languages\Ukrainian.qm"; DestDir: "{app}\languages"; Flags: ignoreversion
Source: "{#SrcDir}\dist\common\languages\languages.ini"; DestDir: "{app}\languages"; Flags: ignoreversion
Source: "{#QtDir}\..\translations\qtbase_en.qm"; DestDir: "{app}\languages\qt"; DestName: "English.qm"; Flags: ignoreversion
Source: "{#QtDir}\..\translations\qtbase_fr.qm"; DestDir: "{app}\languages\qt"; DestName: "French.qm"; Flags: ignoreversion
Expand Down
1 change: 1 addition & 0 deletions src/dist/common/languages/languages.ini
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Korean=Korean - 한국어
Portuguese=Portuguese - Português
PortugueseBrazilian="Portuguese, Brazilian - Português, Brasil"
Turkish=Turkish - Türkçe
Ukrainian=Ukrainian - Українська
Vietnamese=Vietnamese - tiếng Việt

[innosetup]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ ColumnLayout {
}
ComboSetting {
name: qsTr("Language")
options: ["English", "French - Français", "Russian - русский", "Chinese (Simplified) - 中文(简体)", "Polish - Polskie", "Japanese - 日本語"]
values: ["English", "French", "Russian", "ChineseSimplified", "Polish", "Japanese"]
options: ["English", "French - Français", "German - Deutsche", "Korean - 한국어", "Portuguese, Brazilian - Português, Brasil", "Russian - русский", "Chinese (Simplified) - 中文(简体)", "Polish - Polskie", "Japanese - 日本語", "Turkish - Türkçe", "Ukrainian - Українська"]
values: ["English", "French", "German", "Korean", "PortugueseBrazilian", "Russian", "ChineseSimplified", "Polish", "Japanese", "Turkish", "Ukrainian"]
setting: gSettings.language
Layout.fillWidth: true
}
Expand Down
16 changes: 14 additions & 2 deletions src/lib/src/language-loader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,23 @@ bool LanguageLoader::setLanguage(const QString &lang, bool useSystemLocale)

QLocale LanguageLoader::localeFromString(const QString &lang)
{
// Special case for simplified Chinese because we need to set the "script" parameter
// Special case for Chinese because we need to set the "script" parameter
if (lang == QStringLiteral("ChineseSimplified")) {
return QLocale(QLocale::Chinese, QLocale::SimplifiedChineseScript, QLocale::AnyCountry);
}
if (lang == QStringLiteral("ChineseTraditional")) {
return QLocale(QLocale::Chinese, QLocale::TraditionalChineseScript, QLocale::AnyCountry);
}

// Special case for country language variants
if (lang == QStringLiteral("PortugueseBrazilian")) {
return QLocale(QLocale::Portuguese, QLocale::Brazil);
}

static const QMap<QString, QLocale::Language> languages
{
{ "Arabic", QLocale::Arabic },
{ "Dutch", QLocale::Dutch },
{ "English", QLocale::English },
{ "French", QLocale::French },
{ "German", QLocale::German },
Expand All @@ -78,8 +88,10 @@ QLocale LanguageLoader::localeFromString(const QString &lang)
{ "Polish", QLocale::Polish },
{ "Portuguese", QLocale::Portuguese },
{ "Russian", QLocale::Russian },
{ "Spanish", QLocale::Spanish },
{ "Turkish", QLocale::Turkish },
{ "Ukrainian", QLocale::Ukrainian },
{ "Vietnamese", QLocale::Vietnamese },
{ "Spanish", QLocale::Spanish }
};
if (languages.contains(lang)) {
// If using the same language as the system, directly use the system's locale
Expand Down

0 comments on commit fb98ea3

Please sign in to comment.