aboutsummaryrefslogtreecommitdiffstats
path: root/src/init.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2022-05-09 16:33:50 +0000
committerSaturneric <[email protected]>2022-05-09 16:33:50 +0000
commit47abca2607c8ec0ee50a67001707cabdf2b6608e (patch)
tree46a0235ea8bc33794d248e1916060321fb2c3750 /src/init.cpp
parentfix: modified init order (diff)
downloadGpgFrontend-47abca2607c8ec0ee50a67001707cabdf2b6608e.tar.gz
GpgFrontend-47abca2607c8ec0ee50a67001707cabdf2b6608e.zip
feat: improve UI library's encapsulation
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp84
1 files changed, 1 insertions, 83 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 7aefc00f..2f4955f5 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -47,86 +47,4 @@ std::vector<std::filesystem::path> get_files_of_directory(
}
}
return path_list;
-}
-
-/**
- * @brief setup the locale and load the translations
- *
- */
-void init_locale() {
- // get the instance of the GlobalSettingStation
- auto& settings =
- GpgFrontend::GlobalSettingStation::GetInstance().GetUISettings();
-
- // create general settings if not exist
- if (!settings.exists("general") ||
- settings.lookup("general").getType() != libconfig::Setting::TypeGroup)
- settings.add("general", libconfig::Setting::TypeGroup);
-
- // set system default at first
- auto& general = settings["general"];
- if (!general.exists("lang"))
- general.add("lang", libconfig::Setting::TypeString) = "";
-
- // sync the settings to the file
- GpgFrontend::GlobalSettingStation::GetInstance().SyncSettings();
-
- LOG(INFO) << "current system locale" << setlocale(LC_ALL, nullptr);
-
- // read from settings file
- std::string lang;
- if (!general.lookupValue("lang", lang)) {
- LOG(ERROR) << _("could not read properly from configure file");
- };
-
- LOG(INFO) << "lang from settings" << lang;
- LOG(INFO) << "project name" << PROJECT_NAME;
- LOG(INFO) << "locales path"
- << GpgFrontend::GlobalSettingStation::GetInstance()
- .GetLocaleDir()
- .c_str();
-
-#ifndef WINDOWS
- if (!lang.empty()) {
- std::string lc = lang.empty() ? "" : lang + ".UTF-8";
-
- // set LC_ALL
- auto* locale_name = setlocale(LC_ALL, lc.c_str());
- if (locale_name == nullptr) LOG(WARNING) << "set LC_ALL failed" << lc;
- auto language = getenv("LANGUAGE");
- // set LANGUAGE
- std::string language_env = language == nullptr ? "en" : language;
- language_env.insert(0, lang + ":");
- LOG(INFO) << "language env" << language_env;
- if (setenv("LANGUAGE", language_env.c_str(), 1)) {
- LOG(WARNING) << "set LANGUAGE failed" << language_env;
- };
- }
-#else
- if (!lang.empty()) {
- std::string lc = lang.empty() ? "" : lang;
-
- // set LC_ALL
- auto* locale_name = setlocale(LC_ALL, lc.c_str());
- if (locale_name == nullptr) LOG(WARNING) << "set LC_ALL failed" << lc;
-
- auto language = getenv("LANGUAGE");
- // set LANGUAGE
- std::string language_env = language == nullptr ? "en" : language;
- language_env.insert(0, lang + ":");
- language_env.insert(0, "LANGUAGE=");
- LOG(INFO) << "language env" << language_env;
- if (putenv(language_env.c_str())) {
- LOG(WARNING) << "set LANGUAGE failed" << language_env;
- };
- }
-#endif
-
- bindtextdomain(PROJECT_NAME,
- GpgFrontend::GlobalSettingStation::GetInstance()
- .GetLocaleDir()
- .u8string()
- .c_str());
- bind_textdomain_codeset(PROJECT_NAME, "utf-8");
- textdomain(PROJECT_NAME);
-}
+} \ No newline at end of file