blob: b64d8642594dd7ccfbb43fe146850c86c96f5ea4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
https://bugs.launchpad.net/lightdm/+bug/790186
--- liblightdm-gobject/language.c.orig 2016-12-09 01:04:48 UTC
+++ liblightdm-gobject/language.c
@@ -248,10 +248,16 @@ lightdm_language_get_name (LightDMLangua
if (locale)
{
gchar *current = setlocale (LC_ALL, NULL);
+#ifdef LC_IDENTIFICATION
setlocale (LC_IDENTIFICATION, locale);
+#endif
setlocale (LC_MESSAGES, "");
+#ifdef _NL_IDENTIFICATION_LANGUAGE
gchar *language_en = nl_langinfo (_NL_IDENTIFICATION_LANGUAGE);
+#else
+ gchar *language_en = "Unknown";
+#endif
if (language_en && strlen (language_en) > 0)
priv->name = g_strdup (dgettext ("iso_639_3", language_en));
@@ -291,10 +297,16 @@ lightdm_language_get_territory (LightDML
if (locale)
{
gchar *current = setlocale (LC_ALL, NULL);
+#ifdef LC_IDENTIFICATION
setlocale (LC_IDENTIFICATION, locale);
+#endif
setlocale (LC_MESSAGES, "");
+#ifdef _NL_IDENTIFICATION_TERRITORY
gchar *country_en = nl_langinfo (_NL_IDENTIFICATION_TERRITORY);
+#else
+ gchar *country_en = "Unknown";
+#endif
if (country_en && strlen (country_en) > 0 && g_strcmp0 (country_en, "ISO") != 0)
priv->territory = g_strdup (dgettext ("iso_3166", country_en));
|