// -*- C++ -*-
-#ifndef _GETTEXT_H_
-#define _GETTEXT_H_
+/**
+ * \file src/gettext.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef GETTEXT_H
+#define GETTEXT_H
+
+#include "support/docstring.h"
+
+
+namespace lyx {
/*
* Native Language Support
* Panic/fatal (that should not happen) messages need not be translated
*/
-#ifdef ENABLE_NLS
-#include "LString.h"
+//#ifdef ENABLE_NLS
+
+///
+docstring const _(std::string const &);
-# if HAVE_GETTEXT
-# include <libintl.h> // use the header already in the system *EK*
-# ifdef HAVE_LOCALE_H
-# include <locale.h> // for LC_MESSAGES
-# endif
-# else
-# include "../intl/libintl.h"
-# endif
+//#else // ENABLE_NLS
-char const * _(char const *);
+///
+//# define _(str) (str)
-string const _(string const &);
+//#endif
-//# define _(str) gettext(str)
# define N_(str) (str) // for detecting static strings
-# ifdef HAVE_LC_MESSAGES
- // LC_TIME, LC_CTYPE, even LC_ALL
-# define locale_init() { setlocale (LC_MESSAGES, ""); setlocale (LC_CTYPE, ""); setlocale(LC_NUMERIC, "C"); }
-# else
-# define locale_init()
-# endif
-# define gettext_init() { bindtextdomain (PACKAGE, lyx_localedir.c_str()); \
- textdomain (PACKAGE); }
-#else
-///
-# define _(str) (str)
-///
-# define S_(str) (str)
-///
-# define N_(str) (str)
-///
-# define locale_init()
+/**
+ * Translate \p name if it is possible.
+ * This should be used to translate strings that come from configuration
+ * files like .ui files. These strings could already be in the native
+ * language if they come from a file in the personal directory. */
+docstring const translateIfPossible(docstring const & name);
+
///
-# define gettext_init()
-#endif
+void locale_init();
+
+
+} // namespace lyx
#endif