34 #include <gwenhywfar/debug.h>
35 #include <gwenhywfar/misc.h>
36 #include <gwenhywfar/pathmanager.h>
37 #include <gwenhywfar/gwenhywfar.h>
59 struct gwen_i18n_tabletype {
65 static struct gwen_i18n_tabletype gwen_i18n___localetable[]={
66 {
"German_Germany",
"de_DE" },
67 {
"English_UK",
"en_GB" },
68 {
"English_US",
"en_US" },
69 {
"French_France",
"fr_FR" },
75 static const char *gwen_i18n_transwinlocale(
const char *s) {
78 struct gwen_i18n_tabletype *tt;
83 tt=gwen_i18n___localetable;
85 if (strcasecmp(tt->win_name, cs)==0) {
96 tt=gwen_i18n___localetable;
98 if (strcasecmp(tt->win_name, cs)==0) {
110 tt=gwen_i18n___localetable;
111 while(tt->win_name) {
112 if (strcasecmp(tt->win_name, cs)==0) {
130 const char *localedir;
179 const char *realLocale;
186 realLocale=setlocale(LC_ALL, s);
187 if (realLocale==
NULL) {
195 t=gwen_i18n_transwinlocale(realLocale);
206 cs=strdup(realLocale);
255 s=dgettext(txtdom, text);
256 if (strcmp(s, text)==0)
262 return dgettext(txtdom, text);
277 if (
NULL==bindtextdomain(txtdom, folder)) {
291 if (
NULL==bind_textdomain_codeset(txtdom, cs)) {