aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/e-i18n.h39
-rw-r--r--e-util/e-xml-utils.c1
-rw-r--r--widgets/table/e-cell-date.c1
-rw-r--r--widgets/table/e-table-config.c1
-rw-r--r--widgets/table/e-table-header-item.c1
-rw-r--r--widgets/table/e-table.c7
6 files changed, 47 insertions, 3 deletions
diff --git a/e-util/e-i18n.h b/e-util/e-i18n.h
new file mode 100644
index 0000000000..53e4c17155
--- /dev/null
+++ b/e-util/e-i18n.h
@@ -0,0 +1,39 @@
+/*
+ * Copied from gnome-i18nP.h, because this header is typically not installed
+ *
+ * This file has to be included before any file from the GNOME libraries
+ * to have this override the definitions that are pulled from the gnome-i18n.h
+ *
+ * the difference is that gnome-i18n.h is used for applications, and this is
+ * used by libraries (because libraries have to use dcgettext instead of
+ * gettext and they need to provide the translation domain, unlike apps).
+ *
+ * So you can just put this after you include config.h
+ */
+
+#ifndef __E_I18N_H__
+#define __E_I18N_H__
+
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# undef _
+# define _(String) dgettext (PACKAGE, String)
+# ifdef gettext_noop
+# define N_(String) gettext_noop (String)
+# else
+# define N_(String) (String)
+# endif
+#else
+/* Stubs that do something close enough. */
+# define textdomain(String) (String)
+# define gettext(String) (String)
+# define dgettext(Domain,Message) (Message)
+# define dcgettext(Domain,Message,Type) (Message)
+# define bindtextdomain(Domain,Directory) (Domain)
+# define _(String) (String)
+# define N_(String) (String)
+#endif
+
+#define __GNOME_I18N_H__ 1
+
+#endif /* __E_I18N_H__ */
diff --git a/e-util/e-xml-utils.c b/e-util/e-xml-utils.c
index 0f5d7d7292..4710c8bced 100644
--- a/e-util/e-xml-utils.c
+++ b/e-util/e-xml-utils.c
@@ -21,6 +21,7 @@
*/
#include <locale.h>
+#include "gal/util/e-i18n.h"
#include <math.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
diff --git a/widgets/table/e-cell-date.c b/widgets/table/e-cell-date.c
index e8d9d5a2bd..b59f001d6a 100644
--- a/widgets/table/e-cell-date.c
+++ b/widgets/table/e-cell-date.c
@@ -5,6 +5,7 @@
*/
#include <config.h>
+#include "gal/util/e-i18n.h"
#include "e-cell-date.h"
#include <gnome.h>
#include <sys/time.h>
diff --git a/widgets/table/e-table-config.c b/widgets/table/e-table-config.c
index a8c413dd98..e2d96faa56 100644
--- a/widgets/table/e-table-config.c
+++ b/widgets/table/e-table-config.c
@@ -11,6 +11,7 @@
#include <config.h>
#include <stdlib.h>
+#include "gal/util/e-i18n.h"
#include <libgnomeui/gnome-dialog.h>
#include <glade/glade.h>
#include "e-table-config.h"
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c
index 839cb5bce2..dae8d595b5 100644
--- a/widgets/table/e-table-header-item.c
+++ b/widgets/table/e-table-header-item.c
@@ -10,6 +10,7 @@
#include <config.h>
#include <gtk/gtksignal.h>
#include <gtk/gtkdnd.h>
+#include "gal/util/e-i18n.h"
#include <libgnomeui/gnome-canvas.h>
#include <libgnomeui/gnome-canvas-util.h>
#include <libgnomeui/gnome-canvas-polygon.h>
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c
index 5e597bdd0c..fafdaf177a 100644
--- a/widgets/table/e-table.c
+++ b/widgets/table/e-table.c
@@ -16,6 +16,7 @@
#include <alloca.h>
#endif
#include <stdio.h>
+#include "gal/util/e-i18n.h"
#include <libgnomeui/gnome-canvas.h>
#include <gtk/gtksignal.h>
@@ -666,7 +667,7 @@ et_col_spec_to_col (ETable *e_table,
ete, col_spec->pixbuf);
if (pixbuf) {
col = e_table_col_new_with_pixbuf (
- col_spec->model_col, _(col_spec->title),
+ col_spec->model_col, gettext (col_spec->title),
pixbuf, col_spec->expansion,
col_spec->minimum_width,
cell, compare, col_spec->resizable);
@@ -674,7 +675,7 @@ et_col_spec_to_col (ETable *e_table,
}
if (col == NULL && col_spec->title && *col_spec->title) {
col = e_table_col_new (
- col_spec->model_col, _(col_spec->title),
+ col_spec->model_col, gettext (col_spec->title),
col_spec->expansion, col_spec->minimum_width,
cell, compare, col_spec->resizable);
}
@@ -897,7 +898,7 @@ et_real_construct (ETable *e_table, ETableModel *etm, ETableExtras *ete,
ete = e_table_extras_new();
e_table->use_click_to_add = specification->click_to_add;
- e_table->click_to_add_message = g_strdup (_(specification->click_to_add_message));
+ e_table->click_to_add_message = g_strdup (gettext (specification->click_to_add_message));
e_table->draw_grid = specification->draw_grid;
e_table->cursor_mode = specification->cursor_mode;
e_table->full_header = et_spec_to_full_header(e_table, specification, ete);