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