]> git.lyx.org Git - lyx.git/blobdiff - src/support/gettext.cpp
prepare Qt 5.6 builds
[lyx.git] / src / support / gettext.cpp
index 9cd1a3ffbd7795e01275d4bc13bcbe842b91d2ac..44dd5da57a71502c29544d45bcd5cd5725776cc2 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Jean-Marc Lasgouttes
  *
  * Full author contact details are available in file CREDITS.
 
 #include "support/lstrings.h"
 #include "support/Messages.h"
-
-#ifdef HAVE_LOCALE_H
-#  include <locale.h>
-#endif
+#include "support/Package.h"
 
 using namespace std;
 
@@ -30,25 +27,26 @@ docstring const _(string const & str)
 }
 
 
-void locale_init()
+docstring const translateIfPossible(docstring const & name)
 {
-#ifdef ENABLE_NLS
-#  ifdef HAVE_LC_MESSAGES
-       setlocale(LC_MESSAGES, "");
-#  endif
-       setlocale(LC_CTYPE, "");
-       Messages::init();
-#endif
-       setlocale(LC_NUMERIC, "C");
+       if (support::isAscii(name) && !name.empty())
+               // Probably from a standard configuration file, try to
+               // translate
+               return _(to_ascii(name));
+       else
+               // This must be from a user defined configuration file. We
+               // cannot translate this, since gettext accepts only ascii
+               // keys.
+               return name;
 }
 
 
-docstring const translateIfPossible(docstring const & name)
+docstring const translateIfPossible(docstring const & name, std::string const & language)
 {
-       if (support::isAscii(name))
+       if (support::isAscii(name) && !name.empty())
                // Probably from a standard configuration file, try to
                // translate
-               return _(to_ascii(name));
+               return getMessages(language).get(to_ascii(name));
        else
                // This must be from a user defined configuration file. We
                // cannot translate this, since gettext accepts only ascii