diff options
Diffstat (limited to 'src/locales.cpp')
| -rw-r--r-- | src/locales.cpp | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/src/locales.cpp b/src/locales.cpp index 62bf6fb..ef2ff6a 100644 --- a/src/locales.cpp +++ b/src/locales.cpp @@ -19,35 +19,37 @@ #include "locales.hpp" -locale_map locales[] = { - {"en", en_locales, en_locale_count}, - // Add new locales here. -}; - -const int locale_map_count = sizeof(locales) / sizeof(locales[0]); - -locale_map g_locale = locales[0]; // Default to english. - -const char* get_locale() -{ - return g_locale.lang_code; -} +namespace locale { + static locale_map locales[] = { + {"en", locale::en_locales, locale::en_locale_count}, + // Add new locales here. + }; + + static const int locale_map_count = sizeof(locales) / sizeof(locales[0]); + static locale_map g_locale = locales[0]; // Default to english. + + const char* locale::get_locale() + { + return g_locale.lang_code; + } -void set_locale(const char* key) -{ - for (int i = 0; i < locale_map_count; ++i) { - if (strcmp(locales[i].lang_code, key) == 0) { - g_locale = locales[i]; + void locale::set_locale(const char* key) + { + for (int i = 0; i < locale_map_count; ++i) { + if (strcmp(locales[i].lang_code, key) == 0) { + g_locale = locales[i]; + } } } -} -const char* localize(const char* key) -{ - for (int i = 0; i < g_locale.entry_count; ++i) { - if (strcmp(g_locale.entries[i].key, key) == 0) { - return g_locale.entries[i].value; + const char* locale::get(const char* key) + { + for (int i = 0; i < g_locale.entry_count; ++i) { + if (strcmp(g_locale.entries[i].key, key) == 0) { + return g_locale.entries[i].value; + } } + return key; } - return key; + }
\ No newline at end of file |
