diff options
author | Mario Sanchez Prada <mario@endlessm.com> | 2015-09-28 18:31:51 +0100 |
---|---|---|
committer | Mario Sanchez Prada <mario@endlessm.com> | 2015-09-28 18:31:51 +0100 |
commit | 442c9e0d599cd349a016c9b81ae4e57818ead780 (patch) | |
tree | ecbff068cc3ff9a527aad3c68d65bcad43456d42 | |
parent | 776b4e4550e730b817eac5a1a829113b81feb1fd (diff) | |
download | gnome-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.c | 12 |
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)) |