diff options
| author | garder500 <jeremy27.clara22@gmail.com> | 2025-05-01 17:34:02 +0200 |
|---|---|---|
| committer | garder500 <jeremy27.clara22@gmail.com> | 2025-05-01 17:34:02 +0200 |
| commit | 43e9b83e1f812300fa5d0d7d4e38ec175652ea9c (patch) | |
| tree | 8dd08d641e9c763cca5e41001d5d5e83d2949a2b /bot/src/utils.cpp | |
| parent | 1aa7ec4539170739986bcbb4d542f5432f98bea5 (diff) | |
Refactor la gestion des locales : mise à jour de la fonction get_available_locale pour retourner un enum Lang et simplification de la logique de vérification des locales.
Diffstat (limited to 'bot/src/utils.cpp')
| -rw-r--r-- | bot/src/utils.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/bot/src/utils.cpp b/bot/src/utils.cpp index 18c43b5..3ad1bad 100644 --- a/bot/src/utils.cpp +++ b/bot/src/utils.cpp @@ -207,25 +207,21 @@ namespace app return str; } - std::string get_available_locale(std::string locale) + Lang get_available_locale(std::string locale) { - std::vector<std::string> available_locales = {"en", "fr"}; - std::string lang = locale.substr(0, 2); - std::transform(lang.begin(), lang.end(), lang.begin(), ::tolower); - if (std::find(available_locales.begin(), available_locales.end(), lang) != available_locales.end()) - { - return lang; - } + std::transform(locale.begin(), locale.end(), locale.begin(), ::tolower); + if (locale == "fr" || locale == "fr-fr") + return Lang::fr; + else if (locale == "en" || locale == "en-us") + return Lang::en; else - { - return "en"; // Default to English if not found - } + return Lang::en; // Default to English if no match is found } std::string translate(const std::string &str, const std::string &locale, const std::map<Lang, std::map<std::string, std::string>> &array_translations, const std::unordered_map<std::string, std::string> &args) { - std::string lang = get_available_locale(locale); - auto it = array_translations.find(Lang::en); + Lang lang = get_available_locale(locale); + auto it = array_translations.find(lang); if (it != array_translations.end()) { auto it2 = it->second.find(str); |
