locale: support $LANGUAGE too

$LANGUAGE is a GNU extension that is probably worth supporting, since it
allows specifiying an order of languages.

https://bugs.freedesktop.org/show_bug.cgi?id=40510
This commit is contained in:
Lennart Poettering
2011-08-31 14:10:50 +02:00
parent 4dc380d16d
commit 07bceef2a9
4 changed files with 12 additions and 3 deletions
+6 -2
View File
@@ -32,6 +32,7 @@ enum {
* using LANG instead. */
VARIABLE_LANG,
VARIABLE_LANGUAGE,
VARIABLE_LC_CTYPE,
VARIABLE_LC_NUMERIC,
VARIABLE_LC_TIME,
@@ -49,6 +50,7 @@ enum {
static const char * const variable_names[_VARIABLE_MAX] = {
[VARIABLE_LANG] = "LANG",
[VARIABLE_LANGUAGE] = "LANGUAGE",
[VARIABLE_LC_CTYPE] = "LC_CTYPE",
[VARIABLE_LC_NUMERIC] = "LC_NUMERIC",
[VARIABLE_LC_TIME] = "LC_TIME",
@@ -75,6 +77,7 @@ int locale_setup(void) {
"LANG", &variables[VARIABLE_LANG],
#endif
"locale.LANG", &variables[VARIABLE_LANG],
"locale.LANGUAGE", &variables[VARIABLE_LANGUAGE],
"locale.LC_CTYPE", &variables[VARIABLE_LC_CTYPE],
"locale.LC_NUMERIC", &variables[VARIABLE_LC_NUMERIC],
"locale.LC_TIME", &variables[VARIABLE_LC_TIME],
@@ -98,6 +101,7 @@ int locale_setup(void) {
if (r <= 0 &&
(r = parse_env_file("/etc/locale.conf", NEWLINE,
"LANG", &variables[VARIABLE_LANG],
"LANGUAGE", &variables[VARIABLE_LANGUAGE],
"LC_CTYPE", &variables[VARIABLE_LC_CTYPE],
"LC_NUMERIC", &variables[VARIABLE_LC_NUMERIC],
"LC_TIME", &variables[VARIABLE_LC_TIME],
@@ -212,8 +216,8 @@ int locale_setup(void) {
"LC_IDENTIFICATION", &variables[VARIABLE_LC_IDENTIFICATION],
NULL)) < 0) {
if (r != -ENOENT)
log_warning("Failed to read /etc/sysconfig/i18n: %s", strerror(-r));
if (r != -ENOENT)
log_warning("Failed to read /etc/sysconfig/i18n: %s", strerror(-r));
}
#endif
+3
View File
@@ -59,6 +59,7 @@ enum {
* using LANG instead. */
PROP_LANG,
PROP_LANGUAGE,
PROP_LC_CTYPE,
PROP_LC_NUMERIC,
PROP_LC_TIME,
@@ -76,6 +77,7 @@ enum {
static const char * const names[_PROP_MAX] = {
[PROP_LANG] = "LANG",
[PROP_LANGUAGE] = "LANGUAGE",
[PROP_LC_CTYPE] = "LC_CTYPE",
[PROP_LC_NUMERIC] = "LC_NUMERIC",
[PROP_LC_TIME] = "LC_TIME",
@@ -132,6 +134,7 @@ static int read_data(void) {
r = parse_env_file("/etc/locale.conf", NEWLINE,
"LANG", &data[PROP_LANG],
"LANGUAGE", &data[PROP_LANGUAGE],
"LC_CTYPE", &data[PROP_LC_CTYPE],
"LC_NUMERIC", &data[PROP_LC_NUMERIC],
"LC_TIME", &data[PROP_LC_TIME],