1 Description: Adjustments due to handling of languages
3 Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
5 Index: trunk/liblightdm-gobject/language.c
6 ===================================================================
7 --- trunk.orig/liblightdm-gobject/language.c
8 +++ trunk/liblightdm-gobject/language.c
9 @@ -40,7 +40,7 @@ static GList *languages = NULL;
11 update_languages (void)
13 - gchar *command = "locale -a";
14 + gchar *command = "/usr/share/language-tools/language-options";
15 gchar *stdout_text = NULL, *stderr_text = NULL;
18 @@ -161,15 +161,39 @@ lightdm_get_language (void)
22 + static const gchar *short_lang = NULL;
27 lang = g_getenv ("LANG");
31 + /* Convert to a short form language code */
32 + gchar *command = g_strconcat ("/usr/share/language-tools/language-validate ", lang, NULL);
34 + GError *error = NULL;
35 + if (g_spawn_command_line_sync (command, &out, NULL, NULL, &error))
37 + short_lang = g_strdup (g_strchomp (out));
43 + g_warning ("Failed to run '%s': %s", command, error->message);
44 + g_error_free (error);
51 for (link = lightdm_get_languages (); link; link = link->next)
53 LightDMLanguage *language = link->data;
54 - if (lightdm_language_matches (language, lang))
55 + if (lightdm_language_matches (language, short_lang))
59 Index: trunk/tests/scripts/language-env.conf
60 ===================================================================
61 --- trunk.orig/tests/scripts/language-env.conf
62 +++ trunk/tests/scripts/language-env.conf
63 @@ -24,8 +24,8 @@ user-session=default
64 #?SESSION-X-0 CONNECT-XSERVER
66 # Check environment variables
67 -#?*SESSION-X-0 READ-ENV NAME=LANG
68 -#?SESSION-X-0 READ-ENV NAME=LANG VALUE=en_AU
69 +#?*SESSION-X-0 READ-ENV NAME=LANGUAGE
70 +#?SESSION-X-0 READ-ENV NAME=LANGUAGE VALUE=en_AU
71 #?*SESSION-X-0 READ-ENV NAME=GDM_LANG
72 #?SESSION-X-0 READ-ENV NAME=GDM_LANG VALUE=en_AU
74 Index: trunk/src/seat.c
75 ===================================================================
76 --- trunk.orig/src/seat.c
78 @@ -1006,7 +1006,7 @@ configure_session (Session *session, Ses
80 if (language && language[0] != '\0')
82 - session_set_env (session, "LANG", language);
83 + session_set_env (session, "LANGUAGE", language);
84 session_set_env (session, "GDM_LANG", language);