Restructure Language System
This commit is contained in:
parent
a72ea0beb4
commit
e78ac834db
@ -8,13 +8,17 @@ namespace RenderD7 {
|
|||||||
namespace Lang {
|
namespace Lang {
|
||||||
/// @brief Get 3ds System lang! [en] by default
|
/// @brief Get 3ds System lang! [en] by default
|
||||||
/// @return Sytemlang as string
|
/// @return Sytemlang as string
|
||||||
std::string getSys();
|
std::string GetSys();
|
||||||
/// @brief Get The Translation String
|
/// @brief Get The Translation String
|
||||||
/// @param key Key of Translation
|
/// @param key Key of Translation
|
||||||
/// @return The Translated String
|
/// @return The Translated String
|
||||||
std::string get(const std::string &key);
|
std::string Get(const std::string &key);
|
||||||
/// @brief Load A Language json
|
/// @brief Load A Language json
|
||||||
/// @param lang The Language Key [en], [de], etc, or getSys()
|
/// @param lang The Language Key [en], [de], etc, or getSys()
|
||||||
void load(const std::string &lang);
|
void Load(const std::string &lang);
|
||||||
|
// New funcs
|
||||||
|
std::string GetName();
|
||||||
|
std::string GetAuthor();
|
||||||
|
std::string GetShortcut();
|
||||||
} // namespace Lang
|
} // namespace Lang
|
||||||
} // namespace RenderD7
|
} // namespace RenderD7
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
static nlohmann::json appJson;
|
static nlohmann::json appJson;
|
||||||
|
|
||||||
std::string RenderD7::Lang::getSys() {
|
std::string RenderD7::Lang::GetSys() {
|
||||||
u8 language = 1;
|
u8 language = 1;
|
||||||
CFGU_GetSystemLanguage(&language);
|
CFGU_GetSystemLanguage(&language);
|
||||||
|
|
||||||
@ -39,13 +39,13 @@ std::string RenderD7::Lang::getSys() {
|
|||||||
return "zh-CN"; // Chinese (Simplified)
|
return "zh-CN"; // Chinese (Simplified)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// case 7:
|
case 7:
|
||||||
// return "ko"; // Korean
|
return "ko"; // Korean
|
||||||
// break;
|
break;
|
||||||
|
|
||||||
// case 8:
|
case 8:
|
||||||
// return "nl"; // Dutch
|
return "nl"; // Dutch
|
||||||
// break;
|
break;
|
||||||
|
|
||||||
case 9:
|
case 9:
|
||||||
return "pt"; // Portuguese
|
return "pt"; // Portuguese
|
||||||
@ -64,14 +64,16 @@ std::string RenderD7::Lang::getSys() {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::string RenderD7::Lang::get(const std::string &key) {
|
std::string RenderD7::Lang::Get(const std::string &key) {
|
||||||
if (!appJson.contains(key)) return key;
|
if(!appJson.contains("keys")) return "ERR-01";
|
||||||
return appJson.at(key).get<std::string>();
|
nlohmann::json js = appJson["keys"];
|
||||||
|
if (!js.contains(key)) return key;
|
||||||
|
return js.at(key).get<std::string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderD7::Lang::load(const std::string &lang) {
|
void RenderD7::Lang::Load(const std::string &lang) {
|
||||||
std::fstream values;
|
std::fstream values;
|
||||||
if (std::filesystem::is_character_file("romfs:/lang/" + lang + "/app.json")) {
|
if (std::filesystem::exists("romfs:/lang/" + lang + "/app.json")) {
|
||||||
values.open("romfs:/lang/" + lang + "/app.json", std::ios::in);
|
values.open("romfs:/lang/" + lang + "/app.json", std::ios::in);
|
||||||
if (values.is_open()) {
|
if (values.is_open()) {
|
||||||
appJson = nlohmann::json::parse(values);
|
appJson = nlohmann::json::parse(values);
|
||||||
@ -92,4 +94,25 @@ void RenderD7::Lang::load(const std::string &lang) {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string RenderD7::Lang::GetName() {
|
||||||
|
if (!appJson.contains("info")) return "";
|
||||||
|
nlohmann::json js = appJson["info"];
|
||||||
|
if (!js.contains("name")) return "Unknown";
|
||||||
|
return js.at("name").get<std::string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string RenderD7::Lang::GetAuthor() {
|
||||||
|
if (!appJson.contains("info")) return "";
|
||||||
|
nlohmann::json js = appJson["info"];
|
||||||
|
if (!js.contains("author")) return "Unknown";
|
||||||
|
return js.at("author").get<std::string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string RenderD7::Lang::GetShortcut() {
|
||||||
|
if (!appJson.contains("info")) return "";
|
||||||
|
nlohmann::json js = appJson["info"];
|
||||||
|
if (!js.contains("shortcut")) return "Unknown";
|
||||||
|
return js.at("shortcut").get<std::string>();
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user