From fd2f45cf93bfbf10863011fb1a61fc08041c2f51 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Fri, 10 Jun 2011 18:17:12 +0000 Subject: Add localization infrastructure Adds build system logic, translation macros in k5-platform.h, and bindtextdomain calls in libkrb5 initialization. ticket: 6918 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24959 dc483132-0cff-0310-8789-dd5450dbe970 --- src/include/k5-err.h | 4 ---- src/include/k5-platform.h | 21 ++++++++++++++++++--- 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'src/include') diff --git a/src/include/k5-err.h b/src/include/k5-err.h index 483c5cd37d..f9d5b0ce74 100644 --- a/src/include/k5-err.h +++ b/src/include/k5-err.h @@ -32,10 +32,6 @@ #ifndef K5_ERR_H #define K5_ERR_H -#ifndef _ -#define _(X) (X) -#endif - #if defined(_MSDOS) || defined(_WIN32) #include #endif diff --git a/src/include/k5-platform.h b/src/include/k5-platform.h index dd776e7ecc..d8324839b7 100644 --- a/src/include/k5-platform.h +++ b/src/include/k5-platform.h @@ -36,6 +36,7 @@ * + consistent getpwnam/getpwuid interfaces * + va_copy fudged if not provided * + [v]asprintf + * + _, N_, dgettext, bindtextdomain, setlocale (for localization) */ #ifndef K5_PLATFORM_H @@ -1010,9 +1011,23 @@ extern int krb5int_mkstemp(char *); extern void krb5int_zap(void *ptr, size_t len); -/* Fudge for future adoption of gettext or the like. */ -#ifndef _ -#define _(X) (X) +/* + * Localization macros. If we have gettext, define _ appropriately for + * translating a string. If we do not have gettext, define _, bindtextdomain, + * and setlocale as no-ops. N_ is always a no-op; it marks a string for + * extraction to pot files but does not translate it. + */ +#ifdef ENABLE_NLS +#include +#include +#define KRB5_TEXTDOMAIN "mit-krb5" +#define _(s) dgettext(KRB5_TEXTDOMAIN, s) +#else +#define _(s) s +#define dgettext(d, m) m +#define bindtextdomain(p, d) +#define setlocale(c, l) #endif +#define N_(s) s #endif /* K5_PLATFORM_H */ -- cgit