summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDidier Roche <didrocks@ubuntu.com>2015-01-29 16:12:58 +0100
committerMartin Pitt <martin.pitt@ubuntu.com>2015-02-18 16:33:46 +0100
commit20f56fddcd58c84fa73597486e905c652667214f (patch)
tree6fb33e0dae5e572e2e5ec6bfcd9d08a892f008ec
parent07f9a21b6d2a8a7cfd8928a329b1ce9c479e3972 (diff)
Add gettext support
-rw-r--r--configure.ac1
-rw-r--r--src/shared/util.c8
-rw-r--r--src/shared/util.h2
3 files changed, 11 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 277addb8c3..9a2235bcf3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,6 +73,7 @@ AS_IF([test -z "$INTLTOOL_POLICY_RULE"], [
GETTEXT_PACKAGE=systemd
AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [systemd])
AC_PROG_MKDIR_P
AC_PROG_LN_S
diff --git a/src/shared/util.c b/src/shared/util.c
index ba035caed0..deb9839633 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -25,6 +25,8 @@
#include <errno.h>
#include <stdlib.h>
#include <signal.h>
+#include <libintl.h>
+#include <locale.h>
#include <stdio.h>
#include <syslog.h>
#include <sched.h>
@@ -74,6 +76,7 @@
#include <sys/auxv.h>
#endif
+#include "config.h"
#include "macro.h"
#include "util.h"
#include "ioprio.h"
@@ -5782,6 +5785,11 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
return NULL;
}
+void init_gettext(void) {
+ setlocale(LC_ALL, "");
+ textdomain(GETTEXT_PACKAGE);
+}
+
bool is_locale_utf8(void) {
const char *set;
static int cached_answer = -1;
diff --git a/src/shared/util.h b/src/shared/util.h
index a83b588221..45cb09443d 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -737,6 +737,8 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
int (*compar) (const void *, const void *, void *),
void *arg);
+#define _(String) gettext (String)
+void init_gettext(void);
bool is_locale_utf8(void);
typedef enum DrawSpecialChar {