/* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */ module; #include #include #include #include #include #include #include #include #include #include #include #include #include "utilities/translation_macros.h" #include #include export module eu07.utilities.translation; export { class locale { public: void init(); std::string label_cab_control(const std::string &Label); const std::string &coupling_name(int c); const char* lookup_c(const char *msg, bool constant = false); const std::string& lookup_s(const std::string &msg, bool constant = false); private: bool parse_translation(std::istream &stream); std::string parse_c_literal(const std::string &str); std::unordered_map lang_mapping; std::unordered_map pointer_cache; }; extern locale Translations; //find . -name "*.cpp" | xargs xgettext --from-code="UTF-8" -k --keyword=STR --keyword=STR_C --keyword=STRN } // export