2 #include "efreet_private.h"
18 /* these are ordered such that when we move from LANG to LC_MESSAGES
19 * the LANG env will still be effect. Same with moving from
20 * LC_MESSAGES to LANG */
21 {"LANG=", NULL, NULL, NULL},
22 {"LANG=en", "en", NULL, NULL},
23 {"LANG=en@Latn", "en", NULL, "Latn"},
24 {"LANG=en_US", "en", "US", NULL},
25 {"LANG=en_US@Latn", "en", "US", "Latn"},
26 {"LANG=en_US.blah@Latn", "en", "US", "Latn"},
27 {"LC_MESSAGES=", "en", "US", "Latn"}, /* This will fallback to LANG */
28 {"LC_MESSAGES=fr", "fr", NULL, NULL},
29 {"LC_MESSAGES=fr@Blah", "fr", NULL, "Blah"},
30 {"LC_MESSAGES=fr_FR", "fr", "FR", NULL},
31 {"LC_MESSAGES=fr_FR@Blah", "fr", "FR", "Blah"},
32 {"LC_MESSAGES=fr_FR.Foo@Blah", "fr", "FR", "Blah"},
33 {"LC_ALL=", "fr", "FR", "Blah"}, /* this will fallback to LC_MESSAGES */
34 {"LC_ALL=sr", "sr", NULL, NULL},
35 {"LC_ALL=sr@Ret", "sr", NULL, "Ret"},
36 {"LC_ALL=sr_YU", "sr", "YU", NULL},
37 {"LC_ALL=sr_YU@Ret", "sr", "YU", "Ret"},
38 {"LC_ALL=sr_YU.ssh@Ret", "sr", "YU", "Ret"},
39 {NULL, NULL, NULL, NULL}
42 /* reset everything to blank */
44 putenv("LC_MESSAGES=");
47 for (i = 0; langs[i].lc_message; i++)
51 putenv(langs[i].lc_message);
53 tmp = efreet_lang_get();
54 if ((langs[i].lang && (!tmp || strcmp(tmp, langs[i].lang)))
55 || (!langs[i].lang && tmp))
57 printf("efreet_lang_get() is wrong (%s) with %s\n",
62 tmp = efreet_lang_country_get();
63 if ((langs[i].country && (!tmp || strcmp(tmp, langs[i].country)))
64 || (!langs[i].country && tmp))
66 printf("efreet_lang_country_get() is wrong (%s) with %s\n",
71 tmp = efreet_lang_modifier_get();
72 if ((langs[i].modifier && (!tmp || strcmp(tmp, langs[i].modifier)))
73 || (!langs[i].modifier && tmp))
75 printf("efreet_lang_modifier_get() is wrong with %s with %s\n",