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; }