[sysprof/sysprof-3-30] i18n: ensure we setup i18n/l10n during application startup



commit 7e688d00ee1c70912602df9656de1e386f7d278f
Author: Christian Hergert <chergert redhat com>
Date:   Tue Sep 25 14:37:03 2018 -0700

    i18n: ensure we setup i18n/l10n during application startup
    
    Historically, Sysprof never supported translations. When revamping the
    Sysprof implementation we didn't fix that, even though we were able to
    start accepting translations.
    
    This ensures we setup the translation tooling at startup.
    
    Fixes #3

 config.h.meson       | 36 ------------------------------------
 meson.build          |  3 ++-
 src/sp-application.c | 12 +++++++++---
 3 files changed, 11 insertions(+), 40 deletions(-)
---
diff --git a/meson.build b/meson.build
index 1049ade..a60bc3c 100644
--- a/meson.build
+++ b/meson.build
@@ -29,6 +29,8 @@ config_h.set_quoted('DEBUGDIR', debugdir)
 
 config_h.set_quoted('GETTEXT_PACKAGE', 'sysprof')
 config_h.set10('ENABLE_NLS', true)
+config_h.set_quoted('PACKAGE_LOCALE_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'locale'))
+config_h.set('LOCALEDIR', 'PACKAGE_LOCALE_DIR')
 
 has_use_clockid = cc.has_member('struct perf_event_attr', 'use_clockid', prefix: '#include 
<linux/perf_event.h>')
 has_clockid = cc.has_member('struct perf_event_attr', 'clockid', prefix: '#include <linux/perf_event.h>')
@@ -146,7 +148,6 @@ if cc.has_argument('-fPIE')
 endif
 
 configure_file(
-          input: 'config.h.meson',
          output: 'config.h',
   configuration: config_h
 )
diff --git a/src/sp-application.c b/src/sp-application.c
index 0203ac7..a289239 100644
--- a/src/sp-application.c
+++ b/src/sp-application.c
@@ -16,9 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
 
 #include <glib/gi18n.h>
 
@@ -320,6 +318,14 @@ sp_application_init (SpApplication *self)
     { "quit",              sysprof_quit },
   };
 
+  setlocale (LC_ALL, "");
+
+  bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+  textdomain (GETTEXT_PACKAGE);
+
+  g_set_application_name (_("Sysprof"));
+
   g_action_map_add_action_entries (G_ACTION_MAP (self), actions, G_N_ELEMENTS (actions), self);
 
   g_application_set_default (G_APPLICATION (self));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]