summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>1998-12-14 17:39:58 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-12-14 17:39:58 +0000
commit7facb75c85ddd3f98f664af7a65eaa7344d44c11 (patch)
tree39d0d0e66c5419606d8e1b1d66637f593c89bb8e
parentedc14768652f365a730d00614e08888604e05f44 (diff)
downloadgtk+-7facb75c85ddd3f98f664af7a65eaa7344d44c11.tar.gz
Added gettext-10.35
Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com> * HACKING: Added gettext-10.35 * autogen.sh: Run gettextize. Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com> Applied gtk-egger-981010-[12] [ Daniel.Egger@t-online.de (Daniel Egger) ] * gtk/gtkintl.h: New file - defines for localization. * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings for internationalization. * gtk/gtkmain.c: call bindtextdomain * po/ - directory for translations. Initially includes German translation.
-rw-r--r--.cvsignore2
-rw-r--r--ChangeLog21
-rw-r--r--ChangeLog.pre-2-021
-rw-r--r--ChangeLog.pre-2-1021
-rw-r--r--ChangeLog.pre-2-221
-rw-r--r--ChangeLog.pre-2-421
-rw-r--r--ChangeLog.pre-2-621
-rw-r--r--ChangeLog.pre-2-821
-rw-r--r--HACKING2
-rw-r--r--Makefile.am2
-rw-r--r--acconfig.h5
-rwxr-xr-xautogen.sh6
-rw-r--r--config.h.in102
-rw-r--r--configure.in6
-rw-r--r--gtk/Makefile.am1
-rw-r--r--gtk/gtkfilesel.c47
-rw-r--r--gtk/gtkinputdialog.c46
-rw-r--r--gtk/gtkintl.h24
-rw-r--r--gtk/gtkmain.c5
-rw-r--r--po/.cvsignore9
-rw-r--r--po/POTFILES.in5
-rw-r--r--po/de.po104
22 files changed, 469 insertions, 44 deletions
diff --git a/.cvsignore b/.cvsignore
index ee503cce01..554150e415 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -10,3 +10,5 @@ aclocal.m4
configure
gtk-config
config.cache
+ABOUT-NLS
+intl \ No newline at end of file
diff --git a/ChangeLog b/ChangeLog
index f8b1901ec4..d54ac352bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
+
+ * HACKING: Added gettext-10.35
+
+ * autogen.sh: Run gettextize.
+
+Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
+
+ Applied gtk-egger-981010-[12]
+ [ Daniel.Egger@t-online.de (Daniel Egger) ]
+
+ * gtk/gtkintl.h: New file - defines for localization.
+
+ * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
+ for internationalization.
+
+ * gtk/gtkmain.c: call bindtextdomain
+
+ * po/ - directory for translations. Initially includes
+ German translation.
+
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index f8b1901ec4..d54ac352bd 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,24 @@
+Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
+
+ * HACKING: Added gettext-10.35
+
+ * autogen.sh: Run gettextize.
+
+Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
+
+ Applied gtk-egger-981010-[12]
+ [ Daniel.Egger@t-online.de (Daniel Egger) ]
+
+ * gtk/gtkintl.h: New file - defines for localization.
+
+ * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
+ for internationalization.
+
+ * gtk/gtkmain.c: call bindtextdomain
+
+ * po/ - directory for translations. Initially includes
+ German translation.
+
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index f8b1901ec4..d54ac352bd 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,24 @@
+Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
+
+ * HACKING: Added gettext-10.35
+
+ * autogen.sh: Run gettextize.
+
+Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
+
+ Applied gtk-egger-981010-[12]
+ [ Daniel.Egger@t-online.de (Daniel Egger) ]
+
+ * gtk/gtkintl.h: New file - defines for localization.
+
+ * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
+ for internationalization.
+
+ * gtk/gtkmain.c: call bindtextdomain
+
+ * po/ - directory for translations. Initially includes
+ German translation.
+
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index f8b1901ec4..d54ac352bd 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,24 @@
+Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
+
+ * HACKING: Added gettext-10.35
+
+ * autogen.sh: Run gettextize.
+
+Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
+
+ Applied gtk-egger-981010-[12]
+ [ Daniel.Egger@t-online.de (Daniel Egger) ]
+
+ * gtk/gtkintl.h: New file - defines for localization.
+
+ * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
+ for internationalization.
+
+ * gtk/gtkmain.c: call bindtextdomain
+
+ * po/ - directory for translations. Initially includes
+ German translation.
+
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index f8b1901ec4..d54ac352bd 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,24 @@
+Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
+
+ * HACKING: Added gettext-10.35
+
+ * autogen.sh: Run gettextize.
+
+Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
+
+ Applied gtk-egger-981010-[12]
+ [ Daniel.Egger@t-online.de (Daniel Egger) ]
+
+ * gtk/gtkintl.h: New file - defines for localization.
+
+ * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
+ for internationalization.
+
+ * gtk/gtkmain.c: call bindtextdomain
+
+ * po/ - directory for translations. Initially includes
+ German translation.
+
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index f8b1901ec4..d54ac352bd 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,24 @@
+Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
+
+ * HACKING: Added gettext-10.35
+
+ * autogen.sh: Run gettextize.
+
+Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
+
+ Applied gtk-egger-981010-[12]
+ [ Daniel.Egger@t-online.de (Daniel Egger) ]
+
+ * gtk/gtkintl.h: New file - defines for localization.
+
+ * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
+ for internationalization.
+
+ * gtk/gtkmain.c: call bindtextdomain
+
+ * po/ - directory for translations. Initially includes
+ German translation.
+
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index f8b1901ec4..d54ac352bd 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,24 @@
+Mon Dec 14 12:24:13 1998 Owen Taylor <otaylor@redhat.com>
+
+ * HACKING: Added gettext-10.35
+
+ * autogen.sh: Run gettextize.
+
+Wed Dec 9 16:29:06 1998 Owen Taylor <otaylor@redhat.com>
+
+ Applied gtk-egger-981010-[12]
+ [ Daniel.Egger@t-online.de (Daniel Egger) ]
+
+ * gtk/gtkintl.h: New file - defines for localization.
+
+ * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
+ for internationalization.
+
+ * gtk/gtkmain.c: call bindtextdomain
+
+ * po/ - directory for translations. Initially includes
+ German translation.
+
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
diff --git a/HACKING b/HACKING
index 642e4c35ce..40830cb48e 100644
--- a/HACKING
+++ b/HACKING
@@ -6,6 +6,8 @@ to have the following packages installed:
(Beta releases are at ftp://ftp.cygnus.com/pub/tromey)
- GNU libtool 1.2b
- indent (GNU indent 1.9.1 is known good)
+ - GNU gettext 10.35
+ Available in ftp://alpha.gnu.org/gnu
These should be available by ftp from ftp.gnu.org or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org.
diff --git a/Makefile.am b/Makefile.am
index 6f31f7ffe2..d52903d81e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
SRC_SUBDIRS = gdk gtk
-SUBDIRS = $(SRC_SUBDIRS) docs
+SUBDIRS = intl po $(SRC_SUBDIRS) docs
bin_SCRIPTS = gtk-config
diff --git a/acconfig.h b/acconfig.h
index aa20a8a18e..3785714db0 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -15,10 +15,15 @@
/* Other stuff */
+#undef ENABLE_NLS
#undef GTK_COMPILED_WITH_DEBUGGING
+#undef HAVE_CATGETS
+#undef HAVE_GETTEXT
#undef HAVE_IPC_H
+#undef HAVE_LC_MESSAGES
#undef HAVE_SHM_H
+#undef HAVE_STPCPY
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SYS_SELECT_H
diff --git a/autogen.sh b/autogen.sh
index 76d24de3a1..05c98ba85e 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -56,6 +56,12 @@ esac
aclocal $ACLOCAL_FLAGS
+echo "Running gettextize... Ignore non-fatal messages."
+# Hmm, we specify --force here, since otherwise things dont'
+# get added reliably, but we don't want to overwrite intl
+# while making dist.
+echo "no" | gettextize --copy --force
+
# optionally feature autoheader
(autoheader --version) < /dev/null > /dev/null 2>&1 && autoheader
diff --git a/config.h.in b/config.h.in
index 03bb8ec8ba..3934b879a2 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,14 +1,48 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
+/* Define if using alloca.c. */
+#undef C_ALLOCA
+
/* Define to empty if the keyword does not work. */
#undef const
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+ This function is required for alloca.c support on those systems. */
+#undef CRAY_STACKSEG_END
+
+/* Define if you have alloca, as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
+#undef HAVE_ALLOCA_H
+
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
+/* Define as __inline if that's what the C compiler calls it. */
+#undef inline
+
+/* Define to `long' if <sys/types.h> doesn't define. */
+#undef off_t
+
+/* Define if you need to in order for stat and other things to work. */
+#undef _POSIX_SOURCE
+
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
+/* Define to `unsigned' if <sys/types.h> doesn't define. */
+#undef size_t
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
+ */
+#undef STACK_DIRECTION
+
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
@@ -16,10 +50,15 @@
#undef X_DISPLAY_MISSING
/* Other stuff */
+#undef ENABLE_NLS
#undef GTK_COMPILED_WITH_DEBUGGING
+#undef HAVE_CATGETS
+#undef HAVE_GETTEXT
#undef HAVE_IPC_H
+#undef HAVE_LC_MESSAGES
#undef HAVE_SHM_H
+#undef HAVE_STPCPY
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SYS_SELECT_H
@@ -45,12 +84,72 @@
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
+/* Define if you have the __argz_count function. */
+#undef HAVE___ARGZ_COUNT
+
+/* Define if you have the __argz_next function. */
+#undef HAVE___ARGZ_NEXT
+
+/* Define if you have the __argz_stringify function. */
+#undef HAVE___ARGZ_STRINGIFY
+
/* Define if you have the broken_wctype function. */
#undef HAVE_BROKEN_WCTYPE
+/* Define if you have the dcgettext function. */
+#undef HAVE_DCGETTEXT
+
+/* Define if you have the getcwd function. */
+#undef HAVE_GETCWD
+
/* Define if you have the getpagesize function. */
#undef HAVE_GETPAGESIZE
+/* Define if you have the munmap function. */
+#undef HAVE_MUNMAP
+
+/* Define if you have the putenv function. */
+#undef HAVE_PUTENV
+
+/* Define if you have the setenv function. */
+#undef HAVE_SETENV
+
+/* Define if you have the setlocale function. */
+#undef HAVE_SETLOCALE
+
+/* Define if you have the stpcpy function. */
+#undef HAVE_STPCPY
+
+/* Define if you have the strcasecmp function. */
+#undef HAVE_STRCASECMP
+
+/* Define if you have the strchr function. */
+#undef HAVE_STRCHR
+
+/* Define if you have the strdup function. */
+#undef HAVE_STRDUP
+
+/* Define if you have the <argz.h> header file. */
+#undef HAVE_ARGZ_H
+
+/* Define if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define if you have the <nl_types.h> header file. */
+#undef HAVE_NL_TYPES_H
+
+/* Define if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
@@ -59,3 +158,6 @@
/* Define if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
+
+/* Define if you have the i library (-li). */
+#undef HAVE_LIBI
diff --git a/configure.in b/configure.in
index bf0378956e..a10471e40c 100644
--- a/configure.in
+++ b/configure.in
@@ -129,6 +129,10 @@ if test -n "$PERL" && perl -v | grep 'version 5.' > /dev/null ; then
fi
AC_SUBST(REBUILD)
+# i18n stuff
+ALL_LINGUAS="de"
+AM_GNU_GETTEXT
+
dnl The DU4 header files don't provide library prototypes unless
dnl -std1 is given to the native cc.
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
@@ -508,6 +512,8 @@ AC_SUBST(GTK_THREAD_FLAGS)
AC_OUTPUT([
Makefile
gtk-config
+intl/Makefile
+po/Makefile.in
docs/Makefile
gdk/Makefile
gtk/Makefile
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 93a902f69a..41d0725ac3 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -344,6 +344,7 @@ INCLUDES = \
-DGTK_EXE_PREFIX=\"$(exec_prefix)\" \
-DGTK_DATA_PREFIX=\"$(prefix)\" \
-DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
+ -DGTK_LOCALEDIR=\"$(datadir)/locale\" \
-I$(top_srcdir) \
@GTK_DEBUG_FLAGS@ \
@GTK_XIM_FLAGS@ \
diff --git a/gtk/gtkfilesel.c b/gtk/gtkfilesel.c
index 1240f02264..3281f7b0c6 100644
--- a/gtk/gtkfilesel.c
+++ b/gtk/gtkfilesel.c
@@ -46,6 +46,7 @@
#include "gtkoptionmenu.h"
#include "gtkclist.h"
#include "gtkdialog.h"
+#include "gtkintl.h"
#define DIR_LIST_WIDTH 180
#define DIR_LIST_HEIGHT 180
@@ -369,8 +370,8 @@ gtk_file_selection_init (GtkFileSelection *filesel)
GtkWidget *pulldown_hbox;
GtkWidget *scrolled_win;
- static const char *dir_title [] = { "Directories", NULL };
- static const char *file_title [] = { "Files", NULL };
+ char *dir_title [2];
+ char *file_title [2];
filesel->cmpl_state = cmpl_init_state ();
@@ -415,6 +416,8 @@ gtk_file_selection_init (GtkFileSelection *filesel)
gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list));
scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+ dir_title[0] = _("Directories");
+ dir_title[1] = NULL;
gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->dir_list);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
@@ -424,6 +427,8 @@ gtk_file_selection_init (GtkFileSelection *filesel)
gtk_widget_show (scrolled_win);
/* The files clist */
+ file_title[0] = _("Files");
+ file_title[1] = NULL;
filesel->file_list = gtk_clist_new_with_titles (1, (gchar**) file_title);
gtk_widget_set_usize (filesel->file_list, FILE_LIST_WIDTH, FILE_LIST_HEIGHT);
gtk_signal_connect (GTK_OBJECT (filesel->file_list), "select_row",
@@ -454,14 +459,14 @@ gtk_file_selection_init (GtkFileSelection *filesel)
gtk_widget_show (confirm_area);
/* The OK button */
- filesel->ok_button = gtk_button_new_with_label ("OK");
+ filesel->ok_button = gtk_button_new_with_label (_("OK"));
GTK_WIDGET_SET_FLAGS (filesel->ok_button, GTK_CAN_DEFAULT);
gtk_box_pack_start (GTK_BOX (confirm_area), filesel->ok_button, TRUE, TRUE, 0);
gtk_widget_grab_default (filesel->ok_button);
gtk_widget_show (filesel->ok_button);
/* The Cancel button */
- filesel->cancel_button = gtk_button_new_with_label ("Cancel");
+ filesel->cancel_button = gtk_button_new_with_label (_("Cancel"));
GTK_WIDGET_SET_FLAGS (filesel->cancel_button, GTK_CAN_DEFAULT);
gtk_box_pack_start (GTK_BOX (confirm_area), filesel->cancel_button, TRUE, TRUE, 0);
gtk_widget_show (filesel->cancel_button);
@@ -492,7 +497,7 @@ gtk_file_selection_init (GtkFileSelection *filesel)
{
gchar err_buf[256];
- sprintf (err_buf, "Directory unreadable: %s", cmpl_strerror (cmpl_errno));
+ sprintf (err_buf, _("Directory unreadable: %s"), cmpl_strerror (cmpl_errno));
gtk_label_set (GTK_LABEL (filesel->selection_text), err_buf);
}
@@ -524,7 +529,7 @@ gtk_file_selection_show_fileop_buttons (GtkFileSelection *filesel)
/* delete, create directory, and rename */
if (!filesel->fileop_c_dir)
{
- filesel->fileop_c_dir = gtk_button_new_with_label ("Create Dir");
+ filesel->fileop_c_dir = gtk_button_new_with_label (_("Create Dir"));
gtk_signal_connect (GTK_OBJECT (filesel->fileop_c_dir), "clicked",
(GtkSignalFunc) gtk_file_selection_create_dir,
(gpointer) filesel);
@@ -535,7 +540,7 @@ gtk_file_selection_show_fileop_buttons (GtkFileSelection *filesel)
if (!filesel->fileop_del_file)
{
- filesel->fileop_del_file = gtk_button_new_with_label ("Delete File");
+ filesel->fileop_del_file = gtk_button_new_with_label (_("Delete File"));
gtk_signal_connect (GTK_OBJECT (filesel->fileop_del_file), "clicked",
(GtkSignalFunc) gtk_file_selection_delete_file,
(gpointer) filesel);
@@ -546,7 +551,7 @@ gtk_file_selection_show_fileop_buttons (GtkFileSelection *filesel)
if (!filesel->fileop_ren_file)
{
- filesel->fileop_ren_file = gtk_button_new_with_label ("Rename File");
+ filesel->fileop_ren_file = gtk_button_new_with_label (_("Rename File"));
gtk_signal_connect (GTK_OBJECT (filesel->fileop_ren_file), "clicked",
(GtkSignalFunc) gtk_file_selection_rename_file,
(gpointer) filesel);
@@ -707,7 +712,7 @@ gtk_file_selection_fileop_error (gchar *error_message)
(GtkSignalFunc) gtk_file_selection_fileop_destroy,
(gpointer) fs);
*/
- gtk_window_set_title (GTK_WINDOW (dialog), "Error");
+ gtk_window_set_title (GTK_WINDOW (dialog), _("Error"));
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
vbox = gtk_vbox_new(FALSE, 0);
@@ -725,7 +730,7 @@ gtk_file_selection_fileop_error (gchar *error_message)
g_free (error_message);
/* close button */
- button = gtk_button_new_with_label ("Close");
+ button = gtk_button_new_with_label (_("Close"));
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_widget_destroy,
(gpointer) dialog);
@@ -800,7 +805,7 @@ gtk_file_selection_create_dir (GtkWidget *widget, gpointer data)
gtk_signal_connect (GTK_OBJECT (dialog), "destroy",
(GtkSignalFunc) gtk_file_selection_fileop_destroy,
(gpointer) fs);
- gtk_window_set_title (GTK_WINDOW (dialog), "Create Directory");
+ gtk_window_set_title (GTK_WINDOW (dialog), _("Create Directory"));
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
/* If file dialog is grabbed, grab option dialog */
@@ -814,7 +819,7 @@ gtk_file_selection_create_dir (GtkWidget *widget, gpointer data)
FALSE, FALSE, 0);
gtk_widget_show(vbox);
- label = gtk_label_new("Directory name:");
+ label = gtk_label_new(_("Directory name:"));
gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0);
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
gtk_widget_show(label);
@@ -827,7 +832,7 @@ gtk_file_selection_create_dir (GtkWidget *widget, gpointer data)
gtk_widget_show (fs->fileop_entry);
/* buttons */
- button = gtk_button_new_with_label ("Create");
+ button = gtk_button_new_with_label (_("Create"));
gtk_signal_connect (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_file_selection_create_dir_confirmed,
(gpointer) fs);
@@ -836,7 +841,7 @@ gtk_file_selection_create_dir (GtkWidget *widget, gpointer data)
GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
gtk_widget_show(button);
- button = gtk_button_new_with_label ("Cancel");
+ button = gtk_button_new_with_label (_("Cancel"));
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_widget_destroy,
(gpointer) dialog);
@@ -905,7 +910,7 @@ gtk_file_selection_delete_file (GtkWidget *widget, gpointer data)
gtk_signal_connect (GTK_OBJECT (dialog), "destroy",
(GtkSignalFunc) gtk_file_selection_fileop_destroy,
(gpointer) fs);
- gtk_window_set_title (GTK_WINDOW (dialog), "Delete File");
+ gtk_window_set_title (GTK_WINDOW (dialog), _("Delete File"));
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
/* If file dialog is grabbed, grab option dialog */
@@ -927,7 +932,7 @@ gtk_file_selection_delete_file (GtkWidget *widget, gpointer data)
g_free(buf);
/* buttons */
- button = gtk_button_new_with_label ("Delete");
+ button = gtk_button_new_with_label (_("Delete"));
gtk_signal_connect (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_file_selection_delete_file_confirmed,
(gpointer) fs);
@@ -936,7 +941,7 @@ gtk_file_selection_delete_file (GtkWidget *widget, gpointer data)
GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
gtk_widget_show(button);
- button = gtk_button_new_with_label ("Cancel");
+ button = gtk_button_new_with_label (_("Cancel"));
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_widget_destroy,
(gpointer) dialog);
@@ -1009,7 +1014,7 @@ gtk_file_selection_rename_file (GtkWidget *widget, gpointer data)
gtk_signal_connect (GTK_OBJECT (dialog), "destroy",
(GtkSignalFunc) gtk_file_selection_fileop_destroy,
(gpointer) fs);
- gtk_window_set_title (GTK_WINDOW (dialog), "Rename File");
+ gtk_window_set_title (GTK_WINDOW (dialog), _("Rename File"));
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
/* If file dialog is grabbed, grab option dialog */
@@ -1042,7 +1047,7 @@ gtk_file_selection_rename_file (GtkWidget *widget, gpointer data)
0, strlen (fs->fileop_file));
/* buttons */
- button = gtk_button_new_with_label ("Rename");
+ button = gtk_button_new_with_label (_("Rename"));
gtk_signal_connect (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_file_selection_rename_file_confirmed,
(gpointer) fs);
@@ -1051,7 +1056,7 @@ gtk_file_selection_rename_file (GtkWidget *widget, gpointer data)
GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
gtk_widget_show(button);
- button = gtk_button_new_with_label ("Cancel");
+ button = gtk_button_new_with_label (_("Cancel"));
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_widget_destroy,
(gpointer) dialog);
@@ -1447,7 +1452,7 @@ gtk_file_selection_abort (GtkFileSelection *fs)
{
gchar err_buf[256];
- sprintf (err_buf, "Directory unreadable: %s", cmpl_strerror (cmpl_errno));
+ sprintf (err_buf, _("Directory unreadable: %s"), cmpl_strerror (cmpl_errno));
/* BEEP gdk_beep(); */
diff --git a/gtk/gtkinputdialog.c b/gtk/gtkinputdialog.c
index 5eac29bbda..caa159a314 100644
--- a/gtk/gtkinputdialog.c
+++ b/gtk/gtkinputdialog.c
@@ -45,6 +45,8 @@
#include "gtktable.h"
#include "gtkvbox.h"
+#include "gtkintl.h"
+
typedef struct {
gint index;
GtkWidget *entry;
@@ -187,7 +189,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
/* shell and main vbox */
- gtk_window_set_title (GTK_WINDOW (inputd), "Input");
+ gtk_window_set_title (GTK_WINDOW (inputd), _("Input"));
vbox = gtk_vbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
@@ -195,7 +197,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
if (g_list_length(device_info) <= 1) /* only core device */
{
- label = gtk_label_new ("No input devices");
+ label = gtk_label_new (_("No input devices"));
gtk_container_add (GTK_CONTAINER (vbox), label);
gtk_widget_show (label);
@@ -224,7 +226,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
util_box = gtk_hbox_new (FALSE, 2);
gtk_box_pack_start (GTK_BOX (vbox), util_box, FALSE, FALSE, 0);
- label = gtk_label_new("Device:");
+ label = gtk_label_new(_("Device:"));
gtk_box_pack_start (GTK_BOX (util_box), label, FALSE, FALSE, 2);
optionmenu = gtk_option_menu_new ();
@@ -240,7 +242,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
mapping_menu = gtk_menu_new ();
- menuitem = gtk_menu_item_new_with_label("Disabled");
+ menuitem = gtk_menu_item_new_with_label(_("Disabled"));
gtk_menu_append(GTK_MENU(mapping_menu),menuitem);
gtk_object_set_user_data (GTK_OBJECT (menuitem), inputd);
gtk_widget_show(menuitem);
@@ -248,7 +250,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
(GtkSignalFunc) gtk_input_dialog_set_mapping_mode,
GINT_TO_POINTER (GDK_MODE_DISABLED));
- menuitem = gtk_menu_item_new_with_label("Screen");
+ menuitem = gtk_menu_item_new_with_label(_("Screen"));
gtk_menu_append(GTK_MENU(mapping_menu),menuitem);
gtk_object_set_user_data (GTK_OBJECT (menuitem), inputd);
gtk_widget_show(menuitem);
@@ -256,7 +258,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
(GtkSignalFunc) gtk_input_dialog_set_mapping_mode,
GINT_TO_POINTER (GDK_MODE_SCREEN));
- menuitem = gtk_menu_item_new_with_label("Window");
+ menuitem = gtk_menu_item_new_with_label(_("Window"));
gtk_menu_append(GTK_MENU(mapping_menu),menuitem);
gtk_object_set_user_data (GTK_OBJECT (menuitem), inputd);
gtk_widget_show(menuitem);
@@ -264,7 +266,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
(GtkSignalFunc) gtk_input_dialog_set_mapping_mode,
GINT_TO_POINTER (GDK_MODE_WINDOW));
- label = gtk_label_new("Mode: ");
+ label = gtk_label_new(_("Mode: "));
gtk_box_pack_start (GTK_BOX (util_box), label, FALSE, FALSE, 2);
inputd->mode_optionmenu = gtk_option_menu_new ();
@@ -294,7 +296,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
/* The axis listbox */
- label = gtk_label_new ("Axes");
+ label = gtk_label_new (_("Axes"));
inputd->axis_listbox = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(inputd->axis_listbox),
@@ -310,7 +312,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
/* Keys listbox */
- label = gtk_label_new ("Keys");
+ label = gtk_label_new (_("Keys"));
inputd->keys_listbox = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_set_usize (inputd->keys_listbox, KEYS_LIST_WIDTH, KEYS_LIST_HEIGHT);
@@ -332,7 +334,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
/* We create the save button in any case, so that clients can
connect to it, without paying attention to whether it exits */
- inputd->save_button = gtk_button_new_with_label ("Save");
+ inputd->save_button = gtk_button_new_with_label (_("Save"));
GTK_WIDGET_SET_FLAGS (inputd->save_button, GTK_CAN_DEFAULT);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG(inputd)->action_area),
inputd->save_button, TRUE, TRUE, 0);
@@ -341,7 +343,7 @@ gtk_input_dialog_init (GtkInputDialog *inputd)
if (g_list_length(device_info) <= 1) /* only core device */
gtk_widget_set_sensitive(inputd->save_button, FALSE);
- inputd->close_button = gtk_button_new_with_label ("Close");
+ inputd->close_button = gtk_button_new_with_label (_("Close"));
GTK_WIDGET_SET_FLAGS (inputd->close_button, GTK_CAN_DEFAULT);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG(inputd)->action_area),
inputd->close_button, TRUE, TRUE, 0);
@@ -487,11 +489,11 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDeviceInfo *info)
static const char *axis_use_strings[GDK_AXIS_LAST] =
{
"",
- "X",
- "Y",
- "Pressure",
- "X Tilt",
- "Y Tilt"
+ N_("X"),
+ N_("Y"),
+ N_("Pressure"),
+ N_("X Tilt"),
+ N_("Y Tilt")
};
int i,j;
@@ -518,7 +520,7 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDeviceInfo *info)
{
/* create the label */
- label = gtk_label_new(axis_use_strings[i]);
+ label = gtk_label_new (_(axis_use_strings[i]));
gtk_table_attach (GTK_TABLE (inputd->axis_list), label, 0, 1, i, i+1,
0, 0, 2, 2);
@@ -531,7 +533,7 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDeviceInfo *info)
GtkWidget *menu_item;
if (j == -1)
- menu_item = gtk_menu_item_new_with_label ("none");
+ menu_item = gtk_menu_item_new_with_label (_("none"));
else
{
sprintf (buffer,"%d",j+1);
@@ -565,7 +567,7 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDeviceInfo *info)
static void
gtk_input_dialog_clear_key (GtkWidget *widget, GtkInputKeyInfo *key)
{
- gtk_entry_set_text (GTK_ENTRY(key->entry), "(disabled)");
+ gtk_entry_set_text (GTK_ENTRY(key->entry), _("(disabled)"));
gdk_input_set_key (key->inputd->current_device, key->index, 0, 0);
}
@@ -594,14 +596,14 @@ gtk_input_dialog_set_key (GtkInputKeyInfo *key,
g_string_append (str, chars);
}
else
- g_string_append (str, "(unknown)");
+ g_string_append (str, _("(unknown)"));
gtk_entry_set_text (GTK_ENTRY(key->entry), str->str);
g_string_free (str, TRUE);
}
else
{
- gtk_entry_set_text (GTK_ENTRY(key->entry), "(disabled)");
+ gtk_entry_set_text (GTK_ENTRY(key->entry), _("(disabled)"));
}
}
@@ -679,7 +681,7 @@ gtk_input_dialog_fill_keys(GtkInputDialog *inputd, GdkDeviceInfo *info)
/* and clear button */
- button = gtk_button_new_with_label ("clear");
+ button = gtk_button_new_with_label (_("clear"));
gtk_table_attach (GTK_TABLE (inputd->keys_list), button, 2, 3, i, i+1,
0, 0, 2, 2);
gtk_widget_show (button);
diff --git a/gtk/gtkintl.h b/gtk/gtkintl.h
new file mode 100644
index 0000000000..bd2ff54b3c
--- /dev/null
+++ b/gtk/gtkintl.h
@@ -0,0 +1,24 @@
+#ifndef __GTKINTL_H__
+#define __GTKINTL_H__
+
+#include "config.h"
+
+#ifdef ENABLE_NLS
+#include<libintl.h>
+#define _(String) dgettext("gtk+",String)
+#ifdef gettext_noop
+#define N_(String) gettext_noop(String)
+#else
+#define N_(String) (String)
+#endif
+#else /* NLS is disabled */
+#define _(String) (String)
+#define N_(String) (String)
+#define textdomain(String) (String)
+#define gettext(String) (String)
+#define dgettext(Domain,String) (String)
+#define dcgettext(Domain,String,Type) (String)
+#define bindtextdomain(Domain,Directory) (Domain)
+#endif
+
+#endif
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index cabdf87e7d..eb5949707e 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -41,6 +41,7 @@
#include "gdk/gdki18n.h"
#include "config.h"
#include "gtkdebug.h"
+#include "gtkintl.h"
/* Private type definitions
@@ -444,6 +445,10 @@ gtk_init (int *argc,
g_free (module_name);
}
+#ifdef ENABLE_NLS
+ bindtextdomain("gtk+",GTK_LOCALEDIR);
+#endif
+
/* Initialize the default visual and colormap to be
* used in creating widgets. (We want to use the system
* defaults so as to be nice to the colormap).
diff --git a/po/.cvsignore b/po/.cvsignore
new file mode 100644
index 0000000000..26e7fb546d
--- /dev/null
+++ b/po/.cvsignore
@@ -0,0 +1,9 @@
+*.gmo
+*.mo
+Makefile
+Makefile.in
+Makefile.in.in
+POTFILES
+cat-id-tbl.c
+gtk+.pot
+stamp-cat-id
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000000..67d4794be4
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,5 @@
+# Files from the Gtk ditribution which have already been
+# marked to allow runtime translation of messages
+
+gtk/gtkfilesel.c
+gtk/gtkcolorsel.c \ No newline at end of file
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000000..3d2357b3f9
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,104 @@
+msgid ""
+msgstr ""
+"Date: 1998-10-10 18:46:34+0200\n"
+"From: Daniel Egger <Daniel.Egger@t-online.de>\n"
+"Content-Type: text/plain; charset=\n"
+"Xgettext-Options: --default-domain=gtk+ --directory=.. --add-comments --keyword=_ --keyword=N_ --files-from=./POTFILES.in\n"
+"Files: gtk/gtkfilesel.c\n"
+
+#: gtk/gtkfilesel.c:371
+msgid "Directories"
+msgstr "Verzeichnisse"
+
+#: gtk/gtkfilesel.c:372
+msgid "Files"
+msgstr "Dateien"
+
+#: gtk/gtkfilesel.c:446
+msgid "OK"
+msgstr "OK"
+
+#. The Cancel button
+#: gtk/gtkfilesel.c:453 gtk/gtkfilesel.c:815 gtk/gtkfilesel.c:915 gtk/gtkfilesel.c:1030
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: gtk/gtkfilesel.c:484 gtk/gtkfilesel.c:1431
+msgid "Directory unreadable: %s"
+msgstr "Verzeichnis nicht lesbar: %s"
+
+#: gtk/gtkfilesel.c:516
+msgid "Create Dir"
+msgstr "Erstelle Verzeichnis"
+
+#: gtk/gtkfilesel.c:527 gtk/gtkfilesel.c:884
+msgid "Delete File"
+msgstr "Datei löschen"
+
+#: gtk/gtkfilesel.c:538 gtk/gtkfilesel.c:988
+msgid "Rename File"
+msgstr "Datei umbenennen"
+
+#.
+#. gtk_signal_connect (GTK_OBJECT (dialog), "destroy",
+#. (GtkSignalFunc) gtk_file_selection_fileop_destroy,
+#. (gpointer) fs);
+#.
+#: gtk/gtkfilesel.c:686
+msgid "Error"
+msgstr "Fehler"
+
+#. close button
+#: gtk/gtkfilesel.c:704
+msgid "Close"
+msgstr "Schließen"
+
+#: gtk/gtkfilesel.c:749
+msgid "Error creating directory \""
+msgstr ""
+
+#: gtk/gtkfilesel.c:779
+msgid "Create Directory"
+msgstr "Erstelle Verzeichnis"
+
+#: gtk/gtkfilesel.c:793
+msgid "Directory name:"
+msgstr "Verzeichnisname:"
+
+#. buttons
+#: gtk/gtkfilesel.c:806
+msgid "Create"
+msgstr "Erstellen"
+
+#: gtk/gtkfilesel.c:846
+msgid "Error deleting file \""
+msgstr ""
+
+#: gtk/gtkfilesel.c:898
+msgid "Really delete file \""
+msgstr ""
+
+#: gtk/gtkfilesel.c:906
+msgid "Delete"
+msgstr "Löschen"
+
+#: gtk/gtkfilesel.c:952
+msgid "Error renaming file \""
+msgstr ""
+
+#: gtk/gtkfilesel.c:1002
+msgid "Rename file \""
+msgstr ""
+
+#. buttons
+#: gtk/gtkfilesel.c:1021
+msgid "Rename"
+msgstr "Umbenennen"
+
+#: gtk/gtkfilesel.c:1410 gtk/gtkfilesel.c:1411
+msgid "Selection: "
+msgstr "Auswahl: "
+
+#: gtk/gtkfilesel.c:2712
+msgid "Name too long"
+msgstr ""