diff -up gdm-2.22.0/gui/simple-greeter/gdm-language-chooser-widget.c.lang-tag gdm-2.22.0/gui/simple-greeter/gdm-language-chooser-widget.c
--- gdm-2.22.0/gui/simple-greeter/gdm-language-chooser-widget.c.lang-tag 2008-07-10 01:10:23.000000000 -0400
+++ gdm-2.22.0/gui/simple-greeter/gdm-language-chooser-widget.c 2008-07-10 01:10:28.000000000 -0400
@@ -103,24 +103,30 @@ gdm_language_chooser_widget_add_language
char *language;
char *normalized_name;
char *readable_language;
+ char *lang_tag;
+ char *tagged;
normalized_name = gdm_normalize_language_name (name);
+ gdm_parse_language_name (name, &lang_tag, NULL, NULL, NULL);
language = gdm_get_language_from_name (normalized_name, normalized_name);
readable_language = gdm_get_language_from_name (normalized_name, NULL);
+ tagged = g_strdup_printf ("%s", lang_tag, language);
+
if (language != NULL) {
gdm_chooser_widget_add_item (GDM_CHOOSER_WIDGET (widget),
normalized_name,
NULL,
- language,
- readable_language,
+ tagged,
+ readable_language,
0,
FALSE,
FALSE);
g_free (language);
}
g_free (readable_language);
-
+ g_free (tagged);
+ g_free (lang_tag);
g_free (normalized_name);
}
diff -up gdm-2.22.0/gui/simple-greeter/gdm-language-option-widget.c.lang-tag gdm-2.22.0/gui/simple-greeter/gdm-language-option-widget.c
--- gdm-2.22.0/gui/simple-greeter/gdm-language-option-widget.c.lang-tag 2008-07-10 11:42:07.000000000 -0400
+++ gdm-2.22.0/gui/simple-greeter/gdm-language-option-widget.c 2008-07-10 11:42:24.000000000 -0400
@@ -146,6 +146,7 @@ gdm_language_option_widget_lookup_item (
{
char *language;
char *readable_language;
+ char *lang_tag;
language = gdm_get_language_from_name (locale, locale);
@@ -154,10 +155,13 @@ gdm_language_option_widget_lookup_item (
}
readable_language = gdm_get_language_from_name (locale, NULL);
-
- *name = language;
+ gdm_parse_language_name (locale, &lang_tag, NULL, NULL, NULL);
+ *name = g_strdup_printf ("%s", lang_tag, language);
*comment = readable_language;
+ g_free (language);
+ g_free (lang_tag);
+
return TRUE;
}