diff options
author | Judd Vinet <judd@archlinux.org> | 2006-06-28 05:37:15 +0000 |
---|---|---|
committer | Judd Vinet <judd@archlinux.org> | 2006-06-28 05:37:15 +0000 |
commit | 7236dd32872f0eeed21a97d15807f0ef27f45a20 (patch) | |
tree | 0e0b6e028c502ec6c9beb34ffa7977b5c57c19df /src/pacman/pacman.c | |
parent | 1a30bc554d7d29f68515ab3feb308df7762918b3 (diff) |
i18n stuff
Diffstat (limited to 'src/pacman/pacman.c')
-rw-r--r-- | src/pacman/pacman.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 3678f628..381053a3 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -28,6 +28,7 @@ #include <signal.h> #include <unistd.h> #include <libintl.h> +#include <locale.h> #ifndef CYGWIN #include <mcheck.h> /* debug */ #else @@ -379,7 +380,7 @@ static void cleanup(int signum) int main(int argc, char *argv[]) { int ret = 0; - char *cenv = NULL; + char *cenv = NULL, *lang = NULL; #ifndef CYGWIN uid_t myuid; #endif @@ -399,6 +400,17 @@ int main(int argc, char *argv[]) signal(SIGINT, cleanup); signal(SIGTERM, cleanup); + /* i18n init */ + lang=getenv("LC_ALL"); + if(lang==NULL || lang[0]=='\0') + lang=getenv("LC_MESSAGES"); + if (lang==NULL || lang[0]=='\0') + lang=getenv("LANG"); + + setlocale(LC_ALL, lang); + bindtextdomain("pacman", "/usr/share/locale"); + textdomain("pacman"); + /* init config data */ config = config_new(); config->op = PM_OP_MAIN; |