From 442c9e0d599cd349a016c9b81ae4e57818ead780 Mon Sep 17 00:00:00 2001 From: Mario Sanchez Prada Date: Mon, 28 Sep 2015 18:31:51 +0100 Subject: language: Ensure that the locale region matches user's selected language Always reset the org.gnome.system.locale.region GSetting property when running g-i-s, to ensure that the language used for region-dependant format strings is consistent with the language selected by the user. https://bugzilla.gnome.org/show_bug.cgi?id=754522 --- gnome-initial-setup/pages/language/gis-language-page.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnome-initial-setup/pages/language/gis-language-page.c b/gnome-initial-setup/pages/language/gis-language-page.c index 9bf3250..3c807f8 100644 --- a/gnome-initial-setup/pages/language/gis-language-page.c +++ b/gnome-initial-setup/pages/language/gis-language-page.c @@ -26,6 +26,9 @@ #define PAGE_ID "language" +#define GNOME_SYSTEM_LOCALE_DIR "org.gnome.system.locale" +#define REGION_KEY "region" + #include "config.h" #include "language-resources.h" #include "gis-welcome-widget.h" @@ -113,8 +116,9 @@ language_changed (CcLanguageChooser *chooser, GisLanguagePage *page) { GisLanguagePagePrivate *priv = gis_language_page_get_instance_private (page); - ActUser *user; GisDriver *driver; + GSettings *region_settings; + ActUser *user; priv->new_locale_id = cc_language_chooser_get_language (chooser); driver = GIS_PAGE (page)->driver; @@ -133,6 +137,12 @@ language_changed (CcLanguageChooser *chooser, page); } } + + /* Ensure we won't override the selected language for format strings */ + region_settings = g_settings_new (GNOME_SYSTEM_LOCALE_DIR); + g_settings_reset (region_settings, REGION_KEY); + g_object_unref (region_settings); + user = act_user_manager_get_user (act_user_manager_get_default (), g_get_user_name ()); if (act_user_is_loaded (user)) -- cgit v1.2.1