* 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;
}
-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