-# 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);
+