X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2FMessages.h;h=dd24e1c5fccc29b8fba98c90d9f43d9bc26ead6f;hb=8d640dc77608bedddb5b00982c23665584f52d21;hp=b7d8a52dc7494091313a5ebb729373605ce83297;hpb=d65020b293ab208b1391f96a731e53e0c7274a02;p=lyx.git diff --git a/src/support/Messages.h b/src/support/Messages.h index b7d8a52dc7..dd24e1c5fc 100644 --- a/src/support/Messages.h +++ b/src/support/Messages.h @@ -21,39 +21,42 @@ namespace lyx { /// class Messages { public: + /// dummy instantiation: no translation is done + Messages() {} /// messages in the language \p l. - /// If \p l is empty, the language will be defined by the environment. - Messages(std::string const & l = std::string()); + Messages(std::string const & l); /// docstring const get(std::string const & msg) const; + /// What is the language associated with this translation? + std::string language() const; + /// Is an (at least partial) translation of language with code \p c available? + static bool available(std::string const & c); /// - static void init(); + static void guiLanguage(std::string const & l) { gui_lang_ = l; } /// - static std::string const & defaultLanguage() { return main_lang_; } + static std::string const & guiLanguage() { return gui_lang_; } private: - /// - static void setDefaultLanguage(); - /// - static std::string main_lang_; + /// Read the strings from the .mo file. Returns true on success. + bool readMoFile(); /// std::string lang_; - /// Did we warn about unavailable locale already? - mutable bool warned_; /// - typedef std::map TranslationCache; - /// Internal cache for gettext translated strings. - /// This is needed for performance reason within \c updateBuffer() - /// under Windows. - mutable TranslationCache cache_; + typedef std::map TranslationMap; + TranslationMap trans_map_; + /// The language used by the Gui + static std::string gui_lang_; }; /// Access to the unique Messages object for the passed \p language. /// Implementation is in LyX.cpp. -extern Messages & getMessages(std::string const & language); +extern Messages const & getMessages(std::string const & language); /// Access to the unique Messages object used for GUI element. /// Implementation is in LyX.cpp. -extern Messages & getGuiMessages(); +extern Messages const & getGuiMessages(); + +/// Remove the context suffix from \p trans +extern void cleanTranslation(docstring & trans); } // namespace lyx