]> git.lyx.org Git - lyx.git/blobdiff - src/support/Messages.h
Improve quotation mark opening/closing guess
[lyx.git] / src / support / Messages.h
index 35a3bea32083d2c8d6fd49e67190ff4e3e4d9c76..dd24e1c5fccc29b8fba98c90d9f43d9bc26ead6f 100644 (file)
@@ -21,29 +21,31 @@ 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 this language available?
-       bool available() 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 & guiLanguage() { return gui_lang_; }
 
 private:
+       /// 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<std::string, docstring> TranslationCache;
-       /// Internal cache for gettext translated strings.
-       /// This is needed for performance reason within \c updateBuffer()
-       /// under Windows.
-       mutable TranslationCache cache_;
+       typedef std::map<std::string, docstring> 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.