language code support for checking prefix instead of full string

pull/29/head
Paul Shapiro 6 years ago
parent dd28854917
commit 4032bc1dec

@ -120,31 +120,37 @@ namespace monero_wallet_utils
{
optional<WalletDescription> optl__desc = boost::none;
};
inline optional<string> mnemonic_language_from_code(const string &language_code)
inline bool is_prefixed_by(const string &haystack, const string &needle)
{
if (language_code == "en") {
auto res = std::mismatch(needle.begin(), needle.end(), haystack.begin());
//
return res.first == needle.end();
}
inline optional<string> mnemonic_language_from_code(const string &language_code)
{ // using is_prefixed_by so that e.g. en-US would match as en
if (is_prefixed_by(language_code, "en")) {
return string("English");
} else if (language_code == "nl") { // Dutch language
} else if (is_prefixed_by(language_code, "nl")) { // Dutch language
return string("Nederlands");
} else if (language_code == "fr") {
} else if (is_prefixed_by(language_code, "fr")) {
return string("Français");
} else if (language_code == "es") {
} else if (is_prefixed_by(language_code, "es")) {
return string("Español");
} else if (language_code == "pt") {
} else if (is_prefixed_by(language_code, "pt")) {
return string("Português");
} else if (language_code == "ja") {
} else if (is_prefixed_by(language_code, "ja")) {
return string("日本語");
} else if (language_code == "it") {
} else if (is_prefixed_by(language_code, "it")) {
return string("Italiano");
} else if (language_code == "de") {
} else if (is_prefixed_by(language_code, "de")) {
return string("Deutsch");
} else if (language_code == "ru") {
} else if (is_prefixed_by(language_code, "ru")) {
return string("русский язык");
} else if (language_code == "zh") { // Chinese language, simplified
} else if (is_prefixed_by(language_code, "zh")) { // Chinese language, simplified
return string("简体中文 (中国)");
} else if (language_code == "eo" || language_code == "epo") {
} else if (is_prefixed_by(language_code, "eo") || is_prefixed_by(language_code, "epo")) {
return string("Esperanto");
} else if (language_code == "jbo") {
} else if (is_prefixed_by(language_code, "jbo")) {
return string("Lojban");
} else {
return none; // error .. possibly throw?

@ -619,7 +619,7 @@ BOOST_AUTO_TEST_CASE(bridged__new_wallet)
//
boost::property_tree::ptree root;
root.put("nettype_string", string_from_nettype(MAINNET));
root.put("locale_language_code", "en");
root.put("locale_language_code", "en-US");
//
auto ret_string = serial_bridge::newly_created_wallet(args_string_from_root(root));
stringstream ret_stream;

Loading…
Cancel
Save