From 8ea3c4d54429976e9001b8cc4868b721e6747e3c Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sat, 17 Mar 2018 22:46:41 +0000 Subject: simplewallet: new --use-english-language-names flag On some Windows systems, displaying language names in their own languages freezes the display. --- src/mnemonics/electrum-words.cpp | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'src/mnemonics/electrum-words.cpp') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index f1fef2426..6a2a3e0c4 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -445,13 +445,9 @@ namespace crypto return bytes_to_words(src.data, sizeof(src), words, language_name); } - /*! - * \brief Gets a list of seed languages that are supported. - * \param languages The vector is set to the list of languages. - */ - void get_language_list(std::vector &languages) + std::vector get_language_list() { - std::vector language_instances({ + static const std::vector language_instances({ Language::Singleton::instance(), Language::Singleton::instance(), Language::Singleton::instance(), @@ -465,10 +461,20 @@ namespace crypto Language::Singleton::instance(), Language::Singleton::instance() }); - for (std::vector::iterator it = language_instances.begin(); + return language_instances; + } + + /*! + * \brief Gets a list of seed languages that are supported. + * \param languages The vector is set to the list of languages. + */ + void get_language_list(std::vector &languages, bool english) + { + const std::vector language_instances = get_language_list(); + for (std::vector::const_iterator it = language_instances.begin(); it != language_instances.end(); it++) { - languages.push_back((*it)->get_language_name()); + languages.push_back(english ? (*it)->get_english_language_name() : (*it)->get_language_name()); } } @@ -485,6 +491,18 @@ namespace crypto return word_list.size() != (seed_length + 1); } + std::string get_english_name_for(const std::string &name) + { + const std::vector language_instances = get_language_list(); + for (std::vector::const_iterator it = language_instances.begin(); + it != language_instances.end(); it++) + { + if ((*it)->get_language_name() == name) + return (*it)->get_english_language_name(); + } + return ""; + } + } } -- cgit v1.2.3