From 7facb75c85ddd3f98f664af7a65eaa7344d44c11 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Mon, 14 Dec 1998 17:39:58 +0000 Subject: [PATCH] Added gettext-10.35 Mon Dec 14 12:24:13 1998 Owen Taylor * HACKING: Added gettext-10.35 * autogen.sh: Run gettextize. Wed Dec 9 16:29:06 1998 Owen Taylor 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. --- .cvsignore | 2 + ChangeLog | 21 +++++++++ ChangeLog.pre-2-0 | 21 +++++++++ ChangeLog.pre-2-10 | 21 +++++++++ ChangeLog.pre-2-2 | 21 +++++++++ ChangeLog.pre-2-4 | 21 +++++++++ ChangeLog.pre-2-6 | 21 +++++++++ ChangeLog.pre-2-8 | 21 +++++++++ HACKING | 2 + Makefile.am | 2 +- acconfig.h | 5 +++ autogen.sh | 6 +++ config.h.in | 102 ++++++++++++++++++++++++++++++++++++++++++ configure.in | 6 +++ gtk/Makefile.am | 1 + gtk/gtkfilesel.c | 47 ++++++++++--------- gtk/gtkinputdialog.c | 46 ++++++++++--------- gtk/gtkintl.h | 24 ++++++++++ gtk/gtkmain.c | 5 +++ po/.cvsignore | 9 ++++ po/POTFILES.in | 5 +++ po/de.po | 104 +++++++++++++++++++++++++++++++++++++++++++ 22 files changed, 469 insertions(+), 44 deletions(-) create mode 100644 gtk/gtkintl.h create mode 100644 po/.cvsignore create mode 100644 po/POTFILES.in create mode 100644 po/de.po diff --git a/.cvsignore b/.cvsignore index ee503cce0..554150e41 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 f8b1901ec..d54ac352b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +Mon Dec 14 12:24:13 1998 Owen Taylor + + * HACKING: Added gettext-10.35 + + * autogen.sh: Run gettextize. + +Wed Dec 9 16:29:06 1998 Owen Taylor + + 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 * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index f8b1901ec..d54ac352b 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,24 @@ +Mon Dec 14 12:24:13 1998 Owen Taylor + + * HACKING: Added gettext-10.35 + + * autogen.sh: Run gettextize. + +Wed Dec 9 16:29:06 1998 Owen Taylor + + 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 * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index f8b1901ec..d54ac352b 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,24 @@ +Mon Dec 14 12:24:13 1998 Owen Taylor + + * HACKING: Added gettext-10.35 + + * autogen.sh: Run gettextize. + +Wed Dec 9 16:29:06 1998 Owen Taylor + + 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 * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index f8b1901ec..d54ac352b 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,24 @@ +Mon Dec 14 12:24:13 1998 Owen Taylor + + * HACKING: Added gettext-10.35 + + * autogen.sh: Run gettextize. + +Wed Dec 9 16:29:06 1998 Owen Taylor + + 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 * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index f8b1901ec..d54ac352b 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,24 @@ +Mon Dec 14 12:24:13 1998 Owen Taylor + + * HACKING: Added gettext-10.35 + + * autogen.sh: Run gettextize. + +Wed Dec 9 16:29:06 1998 Owen Taylor + + 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 * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index f8b1901ec..d54ac352b 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,24 @@ +Mon Dec 14 12:24:13 1998 Owen Taylor + + * HACKING: Added gettext-10.35 + + * autogen.sh: Run gettextize. + +Wed Dec 9 16:29:06 1998 Owen Taylor + + 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 * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index f8b1901ec..d54ac352b 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,24 @@ +Mon Dec 14 12:24:13 1998 Owen Taylor + + * HACKING: Added gettext-10.35 + + * autogen.sh: Run gettextize. + +Wed Dec 9 16:29:06 1998 Owen Taylor + + 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 * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and diff --git a/HACKING b/HACKING index 642e4c35c..40830cb48 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 6f31f7ffe..d52903d81 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 aa20a8a18..3785714db 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 76d24de3a..05c98ba85 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 03bb8ec8b..3934b879a 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 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 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 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 header file. */ +#undef HAVE_ARGZ_H + +/* Define if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define if you have the header file. */ +#undef HAVE_NL_TYPES_H + +/* Define if you have the header file. */ +#undef HAVE_STRING_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_PARAM_H + /* Define if you have the header file. */ #undef HAVE_UNISTD_H @@ -59,3 +158,6 @@ /* Define if you have the 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 bf0378956..a10471e40 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 93a902f69..41d0725ac 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 1240f0226..3281f7b0c 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 5eac29bbd..caa159a31 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 000000000..bd2ff54b3 --- /dev/null +++ b/gtk/gtkintl.h @@ -0,0 +1,24 @@ +#ifndef __GTKINTL_H__ +#define __GTKINTL_H__ + +#include "config.h" + +#ifdef ENABLE_NLS +#include +#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 cabdf87e7..eb5949707 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 000000000..26e7fb546 --- /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 000000000..67d4794be --- /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 000000000..3d2357b3f --- /dev/null +++ b/po/de.po @@ -0,0 +1,104 @@ +msgid "" +msgstr "" +"Date: 1998-10-10 18:46:34+0200\n" +"From: Daniel Egger \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 "" -- 2.43.2