aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/settings/SettingsDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/settings/SettingsDialog.cpp')
-rw-r--r--src/ui/dialog/settings/SettingsDialog.cpp31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/ui/dialog/settings/SettingsDialog.cpp b/src/ui/dialog/settings/SettingsDialog.cpp
index 834f1096..a1ac1885 100644
--- a/src/ui/dialog/settings/SettingsDialog.cpp
+++ b/src/ui/dialog/settings/SettingsDialog.cpp
@@ -51,10 +51,10 @@ SettingsDialog::SettingsDialog(QWidget* parent)
main_layout->addWidget(tab_widget_);
main_layout->stretch(0);
- tab_widget_->addTab(general_tab_, _("General"));
- tab_widget_->addTab(appearance_tab_, _("Appearance"));
- tab_widget_->addTab(key_server_tab_, _("Key Server"));
- tab_widget_->addTab(network_tab_, _("Network"));
+ tab_widget_->addTab(general_tab_, tr("General"));
+ tab_widget_->addTab(appearance_tab_, tr("Appearance"));
+ tab_widget_->addTab(key_server_tab_, tr("Key Server"));
+ tab_widget_->addTab(network_tab_, tr("Network"));
#ifndef MACOS
button_box_ =
@@ -65,11 +65,11 @@ SettingsDialog::SettingsDialog(QWidget* parent)
&SettingsDialog::reject);
mainLayout->addWidget(button_box_);
mainLayout->stretch(0);
- setWindowTitle(_("Settings"));
+ setWindowTitle(tr("Settings"));
#else
connect(this, &QDialog::finished, this, &SettingsDialog::SlotAccept);
connect(this, &QDialog::finished, this, &SettingsDialog::deleteLater);
- setWindowTitle(_("Preference"));
+ setWindowTitle(tr("Preference"));
#endif
setLayout(main_layout);
@@ -125,23 +125,22 @@ void SettingsDialog::SlotAccept() {
auto SettingsDialog::ListLanguages() -> QHash<QString, QString> {
QHash<QString, QString> languages;
- languages.insert(QString(), _("System Default"));
+ languages.insert(QString(), tr("System Default"));
- auto locale_path = GlobalSettingStation::GetInstance().GetLocaleDir();
+ QStringList filenames = QDir(QLatin1String(":/i18n")).entryList();
+ for (const auto& file : filenames) {
+ GF_UI_LOG_DEBUG("get locale from locale directory: {}", file.toStdString());
- auto locale_dir = QDir(locale_path);
- QStringList file_names = locale_dir.entryList(QStringList("*"));
-
- for (const auto& locale : file_names) {
- GF_UI_LOG_DEBUG("get locale from locale directory: {}",
- locale.toStdString());
- if (locale == "." || locale == "..") continue;
+ auto start = file.indexOf('.') + 1;
+ auto end = file.lastIndexOf('.');
+ if (start < 0 || end < 0 || start >= end) continue;
+ auto locale = file.mid(start, end - start);
QLocale const q_locale(locale);
if (q_locale.nativeTerritoryName().isEmpty()) continue;
auto language = q_locale.nativeLanguageName() + " (" + locale + ")";
- languages.insert(locale, language);
+ languages.insert(q_locale.name(), language);
}
return languages;
}