summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMario Sanchez Prada <mario@endlessm.com>2015-09-28 18:31:51 +0100
committerMario Sanchez Prada <mario@endlessm.com>2015-09-28 18:31:51 +0100
commit442c9e0d599cd349a016c9b81ae4e57818ead780 (patch)
treeecbff068cc3ff9a527aad3c68d65bcad43456d42
parent776b4e4550e730b817eac5a1a829113b81feb1fd (diff)
downloadgnome-initial-setup-442c9e0d599cd349a016c9b81ae4e57818ead780.tar.gz
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
-rw-r--r--gnome-initial-setup/pages/language/gis-language-page.c12
1 files changed, 11 insertions, 1 deletions
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))