+ if (!str.empty()) {
+ int const s = str.length();
+ char * tmp = new char[s + 1];
+ str.copy(tmp, s);
+ tmp[s] = '\0';
+ string ret(gettext(tmp));
+ delete [] tmp;
+ return ret;
+ }
+ else
+ return string();
+}
+
+void locale_init()
+{
+# ifdef HAVE_LC_MESSAGES
+ setlocale(LC_MESSAGES, "");
+ setlocale(LC_CTYPE, "");
+ setlocale(LC_NUMERIC, "C");
+# endif