diff options
Diffstat (limited to 'gettext.c')
-rw-r--r-- | gettext.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -18,6 +18,31 @@ # endif #endif +/* + * Guess the user's preferred languages from the value in LANGUAGE environment + * variable and LC_MESSAGES locale category if NO_GETTEXT is not defined. + * + * The result can be a colon-separated list like "ko:ja:en". + */ +const char *get_preferred_languages(void) +{ + const char *retval; + + retval = getenv("LANGUAGE"); + if (retval && *retval) + return retval; + +#ifndef NO_GETTEXT + retval = setlocale(LC_MESSAGES, NULL); + if (retval && *retval && + strcmp(retval, "C") && + strcmp(retval, "POSIX")) + return retval; +#endif + + return NULL; +} + #ifdef GETTEXT_POISON int use_gettext_poison(void) { @@ -137,6 +162,7 @@ void git_setup_gettext(void) podir = GIT_LOCALE_PATH; bindtextdomain("git", podir); setlocale(LC_MESSAGES, ""); + setlocale(LC_TIME, ""); init_gettext_charset("git"); textdomain("git"); } |