2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-07-01 22:53:32 +00:00

New code style refactor

This commit is contained in:
Jack Andersen 2018-12-07 19:19:15 -10:00
parent c7c046763a
commit cb32cac2c0
2 changed files with 34 additions and 46 deletions

View File

@ -15,36 +15,28 @@ extern "C" size_t L_en_GB_SZ;
extern "C" const uint8_t L_ja_JP[]; extern "C" const uint8_t L_ja_JP[];
extern "C" size_t L_ja_JP_SZ; extern "C" size_t L_ja_JP_SZ;
namespace urde namespace urde {
{
using namespace std::literals; using namespace std::literals;
static const specter::Locale Locales[] = static const specter::Locale Locales[] = {{"en_US"sv, "US English"sv, L_en_US, L_en_US_SZ},
{
{"en_US"sv, "US English"sv, L_en_US, L_en_US_SZ},
{"en_GB"sv, "British English"sv, L_en_GB, L_en_GB_SZ}, {"en_GB"sv, "British English"sv, L_en_GB, L_en_GB_SZ},
{"ja_JP"sv, "Japanese"sv, L_ja_JP, L_ja_JP_SZ} {"ja_JP"sv, "Japanese"sv, L_ja_JP, L_ja_JP_SZ}};
};
std::vector<std::pair<std::string_view, std::string_view>> ListLocales() std::vector<std::pair<std::string_view, std::string_view>> ListLocales() {
{
constexpr size_t localeCount = std::extent<decltype(Locales)>::value; constexpr size_t localeCount = std::extent<decltype(Locales)>::value;
std::vector<std::pair<std::string_view, std::string_view>> ret; std::vector<std::pair<std::string_view, std::string_view>> ret;
ret.reserve(localeCount); ret.reserve(localeCount);
for (size_t i=0 ; i<localeCount ; ++i) for (size_t i = 0; i < localeCount; ++i) {
{
const specter::Locale& l = Locales[i]; const specter::Locale& l = Locales[i];
ret.emplace_back(l.name(), l.fullName()); ret.emplace_back(l.name(), l.fullName());
} }
return ret; return ret;
} }
const specter::Locale* LookupLocale(std::string_view name) const specter::Locale* LookupLocale(std::string_view name) {
{
constexpr size_t localeCount = std::extent<decltype(Locales)>::value; constexpr size_t localeCount = std::extent<decltype(Locales)>::value;
for (size_t i=0 ; i<localeCount ; ++i) for (size_t i = 0; i < localeCount; ++i) {
{
const specter::Locale& l = Locales[i]; const specter::Locale& l = Locales[i];
if (!name.compare(l.name())) if (!name.compare(l.name()))
return &l; return &l;
@ -52,13 +44,11 @@ const specter::Locale* LookupLocale(std::string_view name)
return nullptr; return nullptr;
} }
const specter::Locale* SystemLocaleOrEnglish() const specter::Locale* SystemLocaleOrEnglish() {
{
const char* sysLocale = std::setlocale(LC_ALL, nullptr); const char* sysLocale = std::setlocale(LC_ALL, nullptr);
size_t sysLocaleLen = std::strlen(sysLocale); size_t sysLocaleLen = std::strlen(sysLocale);
constexpr size_t localeCount = std::extent<decltype(Locales)>::value; constexpr size_t localeCount = std::extent<decltype(Locales)>::value;
for (size_t i=0 ; i<localeCount ; ++i) for (size_t i = 0; i < localeCount; ++i) {
{
const specter::Locale& l = Locales[i]; const specter::Locale& l = Locales[i];
if (!l.name().compare(0, std::min(l.name().size(), sysLocaleLen), sysLocale)) if (!l.name().compare(0, std::min(l.name().size(), sysLocaleLen), sysLocale))
return &l; return &l;
@ -66,4 +56,4 @@ const specter::Locale* SystemLocaleOrEnglish()
return Locales; return Locales;
} }
} } // namespace urde

View File

@ -2,12 +2,10 @@
#include <specter/Translator.hpp> #include <specter/Translator.hpp>
namespace urde namespace urde {
{
std::vector<std::pair<std::string_view, std::string_view>> ListLocales(); std::vector<std::pair<std::string_view, std::string_view>> ListLocales();
const specter::Locale* LookupLocale(std::string_view name); const specter::Locale* LookupLocale(std::string_view name);
const specter::Locale* SystemLocaleOrEnglish(); const specter::Locale* SystemLocaleOrEnglish();
} } // namespace urde