[gnome-terminal/gnome-3-8] i18n: Split gettext initialisation into a helper routine (cherry picked from commit 2bb99ba634314c5f



commit 5dddf6c685c6ac8b552748341a9867375c2c438b
Author: Christian Persch <chpe gnome org>
Date:   Mon Apr 15 14:28:14 2013 +0200

    i18n: Split gettext initialisation into a helper routine
    (cherry picked from commit 2bb99ba634314c5f0add1c86a14bfac02a5f5220)

 src/Makefile.am                 | 10 ++++++++--
 src/client.c                    |  7 +++----
 src/profile-editor.c            |  2 +-
 src/server.c                    |  7 +++----
 src/terminal-accels.c           |  6 ++++--
 src/terminal-app.c              |  2 +-
 src/terminal-encoding.c         |  5 +++--
 src/terminal-i18n.c             | 31 +++++++++++++++++++++++++++++++
 src/terminal-i18n.h             | 29 +++++++++++++++++++++++++++++
 src/terminal-intl.h             |  6 +++++-
 src/terminal-nautilus.c         |  5 +++--
 src/terminal-options.c          |  2 +-
 src/terminal-prefs.c            |  3 ++-
 src/terminal-screen-container.c |  3 +--
 src/terminal-screen.c           |  1 +
 src/terminal-tab-label.c        |  4 +++-
 src/terminal-tabs-menu.c        |  3 ++-
 src/terminal-util.c             |  3 ++-
 src/terminal-window.c           |  6 +++++-
 src/terminal.c                  |  7 +++----
 20 files changed, 111 insertions(+), 31 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index cc3420b..3fffa9a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -46,6 +46,8 @@ gnome_terminal_server_SOURCES = \
        terminal-info-bar.c \
        terminal-info-bar.h \
        terminal-intl.h \
+       terminal-i18n.c \
+       terminal-i18n.h \
        terminal-mdi-container.c \
        terminal-mdi-container.h \
        terminal-notebook.c \
@@ -154,7 +156,8 @@ gnome_terminal_client_SOURCES = \
        terminal-debug.c \
        terminal-debug.h \
        terminal-defines.h \
-       terminal-intl.h \
+       terminal-i18n.c \
+       terminal-i18n.h \
        terminal-profiles-list.c \
        terminal-profiles-list.h \
        terminal-schemas.h \
@@ -198,7 +201,8 @@ gnome_terminal_SOURCES = \
        terminal-debug.c \
        terminal-debug.h \
        terminal-defines.h \
-       terminal-intl.h \
+       terminal-i18n.c \
+       terminal-i18n.h \
        terminal-options.c \
        terminal-options.h \
        terminal-profiles-list.c \
@@ -238,6 +242,8 @@ gnome_terminal_LDADD = \
 # Nautilus extension
 
 libterminal_nautilus_la_SOURCES = \
+       terminal-i18n.c \
+       terminal-i18n.h \
        terminal-nautilus.c \
        $(NULL)
 
diff --git a/src/client.c b/src/client.c
index 92be7fd..3c3a8da 100644
--- a/src/client.c
+++ b/src/client.c
@@ -34,17 +34,18 @@
 #include <sys/wait.h>
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <glib/gprintf.h>
 #include <gio/gio.h>
 #include <gio/gunixfdlist.h>
 
 #include <gtk/gtk.h>
 
-#include "terminal-intl.h"
 #include "terminal-gdbus-generated.h"
 #include "terminal-defines.h"
 #include "terminal-client-utils.h"
 #include "terminal-profiles-list.h"
+#include "terminal-i18n.h"
 #include "terminal-debug.h"
 
 static gboolean quiet = FALSE;
@@ -793,9 +794,7 @@ main (gint argc, gchar *argv[])
 
   setlocale (LC_ALL, "");
 
-  bindtextdomain (GETTEXT_PACKAGE, TERM_LOCALEDIR);
-  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-  textdomain (GETTEXT_PACKAGE);
+  terminal_i18n_init (TRUE);
 
 #if !GLIB_CHECK_VERSION (2, 35, 3)
   g_type_init ();
diff --git a/src/profile-editor.c b/src/profile-editor.c
index b64ffd2..787066b 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -23,11 +23,11 @@
 #include <math.h>
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <gio/gio.h>
 
 #include "terminal-app.h"
 #include "terminal-enums.h"
-#include "terminal-intl.h"
 #include "profile-editor.h"
 #include "terminal-schemas.h"
 #include "terminal-type-builtins.h"
diff --git a/src/server.c b/src/server.c
index 8ff10cf..9195c4a 100644
--- a/src/server.c
+++ b/src/server.c
@@ -28,13 +28,14 @@
 #include <unistd.h>
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <glib/gstdio.h>
 #include <gio/gio.h>
 
 #include "terminal-app.h"
 #include "terminal-debug.h"
 #include "terminal-gdbus.h"
-#include "terminal-intl.h"
+#include "terminal-i18n.h"
 #include "terminal-defines.h"
 
 static char *app_id = NULL;
@@ -72,9 +73,7 @@ main (int argc, char **argv)
 
   setlocale (LC_ALL, "");
 
-  bindtextdomain (GETTEXT_PACKAGE, TERM_LOCALEDIR);
-  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-  textdomain (GETTEXT_PACKAGE);
+  terminal_i18n_init (TRUE);
 
   /* Set some env vars to disable ubuntu crap. They'll certainly patch this
    * out in their package, but anyone running from git will get the right
diff --git a/src/terminal-accels.c b/src/terminal-accels.c
index 620a012..120c039 100644
--- a/src/terminal-accels.c
+++ b/src/terminal-accels.c
@@ -16,17 +16,19 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
 #include <string.h>
 
+#include <glib.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
 #include "terminal-accels.h"
 #include "terminal-app.h"
 #include "terminal-debug.h"
-#include "terminal-intl.h"
 #include "terminal-schemas.h"
+#include "terminal-intl.h"
 #include "terminal-util.h"
 
 /* NOTES
diff --git a/src/terminal-app.c b/src/terminal-app.c
index 448e1ae..3b27f16 100644
--- a/src/terminal-app.c
+++ b/src/terminal-app.c
@@ -22,10 +22,10 @@
 #include <config.h>
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <gio/gio.h>
 
 #include "terminal-intl.h"
-
 #include "terminal-debug.h"
 #include "terminal-app.h"
 #include "terminal-accels.h"
diff --git a/src/terminal-encoding.c b/src/terminal-encoding.c
index 37b2c76..19fc20f 100644
--- a/src/terminal-encoding.c
+++ b/src/terminal-encoding.c
@@ -16,16 +16,17 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
 #include <string.h>
 
+#include <glib.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
 #include "terminal-app.h"
 #include "terminal-debug.h"
 #include "terminal-encoding.h"
-#include "terminal-intl.h"
 #include "terminal-schemas.h"
 #include "terminal-util.h"
 
diff --git a/src/terminal-i18n.c b/src/terminal-i18n.c
new file mode 100644
index 0000000..7ae520e
--- /dev/null
+++ b/src/terminal-i18n.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright © 2002 Havoc Pennington
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+#include "terminal-i18n.h"
+
+#include <libintl.h>
+
+void
+terminal_i18n_init (gboolean set_default)
+{
+  bindtextdomain (GETTEXT_PACKAGE, TERM_LOCALEDIR);
+  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+
+  if (set_default)
+    textdomain (GETTEXT_PACKAGE);
+}
diff --git a/src/terminal-i18n.h b/src/terminal-i18n.h
new file mode 100644
index 0000000..689bb82
--- /dev/null
+++ b/src/terminal-i18n.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright © 2002 Havoc Pennington
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef TERMINAL_I18N_H
+#define TERMINAL_I18N_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+void terminal_i18n_init (gboolean set_default);
+
+G_END_DECLS
+
+#endif /* TERMINAL_I18N_H */
diff --git a/src/terminal-intl.h b/src/terminal-intl.h
index 2f6a2dc..daaa963 100644
--- a/src/terminal-intl.h
+++ b/src/terminal-intl.h
@@ -18,8 +18,12 @@
 #ifndef TERMINAL_INTL_H
 #define TERMINAL_INTL_H
 
-#include <glib/gi18n.h>
+#include <glib.h>
+
+G_BEGIN_DECLS
 
 #define I_(string) g_intern_static_string (string)
 
+G_END_DECLS
+
 #endif /* TERMINAL_INTL_H */
diff --git a/src/terminal-nautilus.c b/src/terminal-nautilus.c
index 06b6954..9c63392 100644
--- a/src/terminal-nautilus.c
+++ b/src/terminal-nautilus.c
@@ -32,6 +32,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "terminal-i18n.h"
+
 /* Nautilus extension class */
 
 #define TERMINAL_TYPE_NAUTILUS         (terminal_nautilus_get_type ())
@@ -745,8 +747,7 @@ terminal_nautilus_class_init (TerminalNautilusClass *klass)
 
   gobject_class->dispose = terminal_nautilus_dispose;
 
-  bindtextdomain (GETTEXT_PACKAGE, TERM_LOCALEDIR);
-  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+  terminal_i18n_init (FALSE);
 }
 
 static void
diff --git a/src/terminal-options.c b/src/terminal-options.c
index f2a54b6..1393830 100644
--- a/src/terminal-options.c
+++ b/src/terminal-options.c
@@ -26,11 +26,11 @@
 #include <stdlib.h>
 
 #include <glib.h>
+#include <glib/gi18n.h>
 
 #include "terminal-options.h"
 #include "terminal-screen.h"
 #include "terminal-app.h"
-#include "terminal-intl.h"
 #include "terminal-util.h"
 #include "terminal-version.h"
 
diff --git a/src/terminal-prefs.c b/src/terminal-prefs.c
index 12f6d0a..9150ffd 100644
--- a/src/terminal-prefs.c
+++ b/src/terminal-prefs.c
@@ -23,13 +23,14 @@
 #include <uuid.h>
 #include <dconf.h>
 
+#include <glib.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
 #include "terminal-prefs.h"
 #include "terminal-accels.h"
 #include "terminal-app.h"
 #include "terminal-debug.h"
-#include "terminal-intl.h"
 #include "terminal-schemas.h"
 #include "terminal-util.h"
 #include "terminal-profiles-list.h"
diff --git a/src/terminal-screen-container.c b/src/terminal-screen-container.c
index c7ec914..4df3681 100644
--- a/src/terminal-screen-container.c
+++ b/src/terminal-screen-container.c
@@ -15,11 +15,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
 #include "terminal-screen-container.h"
 #include "terminal-debug.h"
-#include "terminal-intl.h"
 
 #include <gtk/gtk.h>
 
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index c9044b3..b92471c 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -29,6 +29,7 @@
 #include <fcntl.h>
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <gio/gio.h>
 #include <gio/gunixfdlist.h>
 
diff --git a/src/terminal-tab-label.c b/src/terminal-tab-label.c
index 7b658f7..26a825f 100644
--- a/src/terminal-tab-label.c
+++ b/src/terminal-tab-label.c
@@ -16,8 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
+#include <glib.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
 #include "terminal-intl.h"
diff --git a/src/terminal-tabs-menu.c b/src/terminal-tabs-menu.c
index c2a85fe..ed5fc7b 100644
--- a/src/terminal-tabs-menu.c
+++ b/src/terminal-tabs-menu.c
@@ -24,12 +24,13 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include <glib.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
 #include "terminal-mdi-container.h"
 #include "terminal-screen.h"
 #include "terminal-screen-container.h"
-#include "terminal-intl.h"
 
 #define TERMINAL_ACCELS_N_TABS_SWITCH (35) /* keep in sync with terminal-accels.c */
 
diff --git a/src/terminal-util.c b/src/terminal-util.c
index 327ba0a..8dfa79d 100644
--- a/src/terminal-util.c
+++ b/src/terminal-util.c
@@ -19,7 +19,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
 #include <string.h>
 #include <stdlib.h>
@@ -29,6 +29,7 @@
 #include <errno.h>
 
 #include <glib.h>
+#include <glib/gi18n.h>
 
 #include <gio/gio.h>
 #include <gtk/gtk.h>
diff --git a/src/terminal-window.c b/src/terminal-window.c
index c6f83a9..9f54ec6 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -17,10 +17,14 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
 #include <string.h>
 #include <stdlib.h>
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
 #include <gtk/gtk.h>
 #ifdef GDK_WINDOWING_X11
 #include <gdk/gdkx.h>
diff --git a/src/terminal.c b/src/terminal.c
index 4330fd5..a262e6c 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -31,11 +31,12 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <gio/gio.h>
+#include <glib/gi18n.h>
 
 #include <gtk/gtk.h>
 
 #include "terminal-debug.h"
-#include "terminal-intl.h"
+#include "terminal-i18n.h"
 #include "terminal-options.h"
 #include "terminal-gdbus-generated.h"
 #include "terminal-defines.h"
@@ -209,9 +210,7 @@ main (int argc, char **argv)
 
   setlocale (LC_ALL, "");
 
-  bindtextdomain (GETTEXT_PACKAGE, TERM_LOCALEDIR);
-  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-  textdomain (GETTEXT_PACKAGE);
+  terminal_i18n_init (TRUE);
 
 #if !GLIB_CHECK_VERSION (2, 35, 3)
   g_type_init ();


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