[Gpg4win-commits] r419 - in trunk: . m4 po src
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Wed Jun 20 03:38:19 CEST 2007
Author: marcus
Date: 2007-06-20 03:38:06 +0200 (Wed, 20 Jun 2007)
New Revision: 419
Added:
trunk/m4/nls.m4
trunk/m4/po.m4
trunk/m4/progtest.m4
trunk/po/
trunk/po/ChangeLog
trunk/po/LINGUAS
trunk/po/Makefile.in.in
trunk/po/Makevars
trunk/po/POTFILES.in
trunk/po/README.nsis
trunk/po/Rules-nsis
trunk/po/de.po
trunk/po/nsis-msgfmt.c
trunk/po/nsis-xgettext.awk
trunk/po/nsis-xgettext.sh
trunk/po/remove-potcdate.sin
Modified:
trunk/ChangeLog
trunk/Makefile.am
trunk/TODO
trunk/configure.ac
trunk/src/g4wihelp.nsi
trunk/src/gpg4win-src.nsi
trunk/src/gpg4win.nsi
trunk/src/inst-eudoragpg.nsi
trunk/src/inst-gnupg.nsi
trunk/src/inst-gpa.nsi
trunk/src/inst-gpg4win.nsi
trunk/src/inst-gpgee.nsi
trunk/src/inst-gpgol.nsi
trunk/src/inst-man_advanced_de.nsi
trunk/src/inst-man_advanced_en.nsi
trunk/src/inst-man_novice_de.nsi
trunk/src/inst-man_novice_en.nsi
trunk/src/inst-sylpheed-claws.nsi
trunk/src/inst-winpt.nsi
trunk/src/installer.nsi
Log:
2007-06-20 Marcus Brinkmann <marcus at g10code.de>
* po: New directory.
* m4/po.m4: New file, from gettext-0.16.1.
* m4/progtest.m4: New file, from gettext-0.16.1.
* m4/nls.m4: New file, from gettext-0.16.1.
* Makefile.am (SUBDIRS): Add po.
* configure.ac: Invoke AM_PO_SUBDIRS.
(AC_CONFIG_FILES): Add po/Makefile.in.
* src/installer.nsi: Do not insert MUI_LANGUAGE "German".
* src/gpg4win.nsi, src/gpg4win-src.nsi: Add include dir
${TOP_SRCDIR}/po. Include "../po/catalogs.nsi".
* src/inst-gnupg.nsi: Move translation string DESC_Menu_gnupg_faq
from here ...
* src/inst-gpg4win.nsi: ... to here.
* src/g4wihelp.nsi, src/installer.nsi, src/inst-eudoragpg.nsi,
src/inst-gnupg.nsi, src/inst-gpa.nsi, src/inst-gpg4win.nsi,
src/inst-gpgee.nsi, src/inst-gpgol.nsi,
src/inst-man_advanced_de.nsi, src/inst-man_advanced_en.nsi,
src/inst-man_novice_de.nsi, src/inst-man_novice_en.nsi,
src/inst-sylpheed-claws.nsi, src/inst-winpt.nsi: Remove German
translation.
po/
2007-06-20 Marcus Brinkmann <marcus at g10code.de>
* Makevars, LINGUAS, nsis-xgettext.sh, nsis-xgettext.awk,
nsis-msgfmt.c, Rules-nsis, de.po, README.nsis: New files.
2007-06-20 gettextize <bug-gnu-gettext at gnu.org>
* Makefile.in.in: New file, from gettext-0.16.1.
* remove-potcdate.sin: New file, from gettext-0.16.1.
* POTFILES.in: New file.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/ChangeLog 2007-06-20 01:38:06 UTC (rev 419)
@@ -1,3 +1,28 @@
+2007-06-20 Marcus Brinkmann <marcus at g10code.de>
+
+ * po: New directory.
+ * m4/po.m4: New file, from gettext-0.16.1.
+ * m4/progtest.m4: New file, from gettext-0.16.1.
+ * m4/nls.m4: New file, from gettext-0.16.1.
+ * Makefile.am (SUBDIRS): Add po.
+ * configure.ac: Invoke AM_PO_SUBDIRS.
+ (AC_CONFIG_FILES): Add po/Makefile.in.
+
+ * src/installer.nsi: Do not insert MUI_LANGUAGE "German".
+ * src/gpg4win.nsi, src/gpg4win-src.nsi: Add include dir
+ ${TOP_SRCDIR}/po. Include "../po/catalogs.nsi".
+ * src/inst-gnupg.nsi: Move translation string DESC_Menu_gnupg_faq
+ from here ...
+ * src/inst-gpg4win.nsi: ... to here.
+
+ * src/g4wihelp.nsi, src/installer.nsi, src/inst-eudoragpg.nsi,
+ src/inst-gnupg.nsi, src/inst-gpa.nsi, src/inst-gpg4win.nsi,
+ src/inst-gpgee.nsi, src/inst-gpgol.nsi,
+ src/inst-man_advanced_de.nsi, src/inst-man_advanced_en.nsi,
+ src/inst-man_novice_de.nsi, src/inst-man_novice_en.nsi,
+ src/inst-sylpheed-claws.nsi, src/inst-winpt.nsi: Remove German
+ translation.
+
2007-06-18 Marcus Brinkmann <marcus at g10code.de>
* src/inst-w32pth.nsi: Install shared library.
Modified: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/Makefile.am 2007-06-20 01:38:06 UTC (rev 419)
@@ -21,7 +21,7 @@
AUTOMAKE_OPTIONS = dist-bzip2
DISTCHECK_CONFIGURE_FLAGS = --host=i586-mingw32msvc --disable-pkg-man_advanced_en
-SUBDIRS = packages include doc src
+SUBDIRS = po packages include doc src
EXTRA_DIST = autogen.sh README.SVN \
patches/pthreads-w32-2-7-0-release/01-make.patch \
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/TODO 2007-06-20 01:38:06 UTC (rev 419)
@@ -9,7 +9,22 @@
(04-* is not required).
+* I18n:
+** There is no advantage to conditionally define translation strings,
+ as the tables are purged of unnecessary strings by makensis. Thus
+ we should probably define strings where they are used, rather in the
+ inst-*.nsi files of the package to which they belong. This would
+ also simplify management of po/POFILES.in.
+** /bin/bash is used unconditionally in po/Makevars.
+** nsis-msgfmt could check if a language file (nlf/nsh) exists for the
+ installed version of makensis/Modern UI.
+** po/Rules-nsis requires a compiler for the build platform, and an installed
+ libgettextpo. None of this is configurable at this point.
+** nsis-xgettext.awk could be made more robust, although there is no
+ strong need.
+** Test what happens with --disable-nls.
+
* Build system
** Some versions of strip don't work.
Werner's GNU strip 2.15.91 20040904 is fine but
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/configure.ac 2007-06-20 01:38:06 UTC (rev 419)
@@ -60,6 +60,10 @@
AC_CANONICAL_HOST
AM_CONFIG_HEADER(config.h)
+# Language support
+AM_PO_SUBDIRS
+
+
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(MANUALVERSION_EINSTEIGER)
@@ -218,7 +222,8 @@
# Finalize.
-AC_CONFIG_FILES(Makefile packages/Makefile include/Makefile src/Makefile)
+AC_CONFIG_FILES(Makefile)
+AC_CONFIG_FILES(packages/Makefile include/Makefile src/Makefile po/Makefile.in)
AC_CONFIG_FILES(include/config.nsi src/gpg4win.mk)
AC_CONFIG_FILES(doc/Makefile)
AC_CONFIG_FILES(doc/logo/Makefile)
Added: trunk/m4/nls.m4
===================================================================
--- trunk/m4/nls.m4 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/m4/nls.m4 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,31 @@
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible at clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+])
Added: trunk/m4/po.m4
===================================================================
--- trunk/m4/po.m4 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/m4/po.m4 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,428 @@
+# po.m4 serial 13 (gettext-0.15)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible at clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+ AC_REQUIRE([AM_NLS])dnl
+
+ dnl Perform the following tests also if --disable-nls has been given,
+ dnl because they are needed for "make dist" to work.
+
+ dnl Search for GNU msgfmt in the PATH.
+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+ dnl The second test excludes FreeBSD msgfmt.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([GMSGFMT_015])
+
+ dnl Search for GNU xgettext 0.12 or newer in the PATH.
+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+ dnl The second test excludes FreeBSD xgettext.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+
+ dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([XGETTEXT_015])
+
+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+ dnl Installation directories.
+ dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+ dnl have to define it here, so that it can be used in po/Makefile.
+ test -n "$localedir" || localedir='${datadir}/locale'
+ AC_SUBST([localedir])
+
+ AC_CONFIG_COMMANDS([po-directories], [[
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done]],
+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake < 1.5.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+ ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+ # When this code is run, in config.status, two variables have already been
+ # set:
+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+ # - LINGUAS is the value of the environment variable LINGUAS at configure
+ # time.
+
+changequote(,)dnl
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ # Find a way to echo strings without interpreting backslash.
+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='echo'
+ else
+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='printf %s\n'
+ else
+ echo_func () {
+ cat <<EOT
+$*
+EOT
+ }
+ gt_echo='echo_func'
+ fi
+ fi
+
+ # A sed script that extracts the value of VARIABLE from a Makefile.
+ sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[ ]*VARIABLE[ ]*=/{
+ # Seen the first line of the variable definition.
+ s/^[ ]*VARIABLE[ ]*=//
+ ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+ # Set POTFILES to the value of the Makefile variable POTFILES.
+ sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+ # Compute POTFILES_DEPS as
+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+ POTFILES_DEPS=
+ for file in $POTFILES; do
+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+ done
+ POMAKEFILEDEPS=""
+
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+ sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+ fi
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ # Compute PROPERTIESFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+ # Compute CLASSFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+ # Compute QMFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+ # Compute MSGFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+ # Compute RESOURCESDLLFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ PROPERTIESFILES=
+ CLASSFILES=
+ QMFILES=
+ MSGFILES=
+ RESOURCESDLLFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+ QMFILES="$QMFILES $srcdirpre$lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ JAVACATALOGS=
+ QTCATALOGS=
+ TCLCATALOGS=
+ CSHARPCATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+ QTCATALOGS="$QTCATALOGS $lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ fi
+
+ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if test -n "$POMAKEFILEDEPS"; then
+ cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+ fi
+ mv "$ac_file.tmp" "$ac_file"
+])
Added: trunk/m4/progtest.m4
===================================================================
--- trunk/m4/progtest.m4 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/m4/progtest.m4 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,92 @@
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper at cygnus.com>, 1996.
+
+AC_PREREQ(2.50)
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ [[\\/]]* | ?:[[\\/]]*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
Added: trunk/po/ChangeLog
===================================================================
--- trunk/po/ChangeLog 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/ChangeLog 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,11 @@
+2007-06-20 Marcus Brinkmann <marcus at g10code.de>
+
+ * Makevars, LINGUAS, nsis-xgettext.sh, nsis-xgettext.awk,
+ nsis-msgfmt.c, Rules-nsis, de.po, README.nsis: New files.
+
+2007-06-20 gettextize <bug-gnu-gettext at gnu.org>
+
+ * Makefile.in.in: New file, from gettext-0.16.1.
+ * remove-potcdate.sin: New file, from gettext-0.16.1.
+ * POTFILES.in: New file.
+
Added: trunk/po/LINGUAS
===================================================================
--- trunk/po/LINGUAS 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/LINGUAS 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,2 @@
+# Set of available languages.
+de
Added: trunk/po/Makefile.in.in
===================================================================
--- trunk/po/Makefile.in.in 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/Makefile.in.in 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,403 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper at gnu.ai.mit.edu>
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU General Public
+# License but which still want to provide support for the GNU gettext
+# functionality.
+# Please note that the actual code of GNU gettext is covered by the GNU
+# General Public License and is *not* in the public domain.
+#
+# Origin: gettext-0.16
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SHELL = /bin/sh
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+ @echo "$(MSGFMT) -c -o $@ $<"; \
+ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all: all- at USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address"
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(srcdir)/$(DOMAIN).pot
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data- at USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ $(mkdir_p) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data- at USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ $(mkdir_p) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data- at USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ $(MAKE) update-po
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir) || exit 1; \
+ else \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && $(SHELL) ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: trunk/po/Makevars
===================================================================
--- trunk/po/Makevars 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/Makevars 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,47 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = -L c
+
+# We wrap XGETTEXT with a small script.
+
+# FIXME: We need to find BASH or fix the script. Pass $(srcdir)!
+# The script can't stay in po/, as we don't have an EXTRA_DIST in the Makefile!
+XGETTEXT := /bin/bash $(srcdir)/nsis-xgettext.sh --srcdir=$(srcdir) $(XGETTEXT)
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = g10 Code GmbH
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS =
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
Added: trunk/po/POTFILES.in
===================================================================
--- trunk/po/POTFILES.in 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/POTFILES.in 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,15 @@
+# List of source files which contain translatable strings.
+src/g4wihelp.nsi
+src/installer.nsi
+src/inst-eudoragpg.nsi
+src/inst-gnupg.nsi
+src/inst-gpa.nsi
+src/inst-gpg4win.nsi
+src/inst-gpgee.nsi
+src/inst-gpgol.nsi
+src/inst-man_advanced_de.nsi
+src/inst-man_advanced_en.nsi
+src/inst-man_novice_de.nsi
+src/inst-man_novice_en.nsi
+src/inst-sylpheed-claws.nsi
+src/inst-winpt.nsi
Added: trunk/po/README.nsis
===================================================================
--- trunk/po/README.nsis 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/README.nsis 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,104 @@
+gettext integration in NSIS
+===========================
+
+This document describes briefly how the integration of gettext and
+NSIS works.
+
+
+1. Preparation of sources
+
+You can use gettextize, although it is overkill. The following
+modifications to the standard gettextize procedure should be done:
+
+Remove the following files in m4/ unless needed otherwise:
+gettext.m4, iconv.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4
+
+Use AM_PO_SUBDIRS in configure.ac instead of AM_GNU_GETTEXT([external]).
+
+You don't need gettext.h.
+
+Makevars needs to be modified as thus:
+
+XGETTEXT_OPTIONS = -L c
+
+XGETTEXT := /bin/bash $(srcdir)/nsis-xgettext.sh --srcdir=$(srcdir) $(XGETTEXT)
+
+You also need the following files in po/:
+nsis-msgfmt.c
+nsis-xgettext.awk
+nsis-xgettext.sh
+Rules-nsis
+
+
+2. xgettext wrapper
+
+The script nsis-xgettext.sh is a wrapper for xgettext which extracts
+all lines from the POFILES that start with "LangString" (with no
+whitespace at the beginning of the line). Language strings stretching
+multiple lines via trailing backslashes are supported. The AWK script
+nsis-xgettext.awk transforms these into C function calls which are
+then parsed by xgettext. Because we use #line directives, positional
+indicators (filename/line number) are preserved in the .po file.
+
+The wrapper (currently) only supports input via --from-files, not via
+standard input or file names as arguments.
+
+
+3. msgfmt replacement
+
+We let the standard Makefile produce LANG.gmo files, but we do not use
+them (as gpg4win is never "make install"-ed). Instead, the LANG.nsi
+files are generated as a side effect of LANG.gmo generation. The
+LANG.nsi files replace the LANG.gmo files for all purposes of NSIS.
+
+The LANG.nsi files are created from the respective LANG.po files with
+the nsis-msgfmt.c program, which needs to be compiled on the build
+platform and uses the libgettextpo library to parse the LANG.po files
+and produces output suitable for NSIS. The program can generate files
+usable for vanilla NSIS and Modern UI (hard coded in a global variable
+in the source code).
+
+LANG.nsi files are included in the distribution, just as LANG.gmo files.
+
+
+4. catalogs.nsi
+
+As a side-effect of "make all" (that is, at normal compile time), the
+Rules-nsis Makefile extension also creates a file catalogs.nsi, which
+contains one !include directive for every language from the catalogs
+the user selected at compile time.
+
+
+5. Preparation of NSIS project
+
+The NSIS project should only include the code for the English
+language. All .nsi files which contain LangString directives should
+be added to POFILES.in. The NSIS project should have a directive:
+
+!addincludedir "${TOP_SRCDIR}/po"
+
+so that inclusion of catalogs.nsi will find the LANG.nsi files. Near
+the end of the project's master NSI file you should include all
+translation strings:
+
+!include "catalogs.nsi"
+
+That's it. Enjoy!
+
+Marcus Brinkmann
+mb at g10code.com
+
+
+This file
+=========
+
+Copyright 2007 g10 Code GmbH
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This file is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
Added: trunk/po/Rules-nsis
===================================================================
--- trunk/po/Rules-nsis 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/Rules-nsis 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,54 @@
+# Rules-nsis - Special Makefile rules for NSIS message catalogs.
+# Copyright (C) 2007 g10 Code GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win 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 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+NSIFILES = $(GMOFILES:.gmo=.nsi)
+DISTFILES.extra1 = nsis-xgettext.sh nsis-xgettext.awk nsis-msgfmt.c $(NSIFILES) \
+ Rules-nsis README.nsis
+
+.SUFFIXES: .nsi
+
+# We build this little utility on the BUILD architecture! FIXME: It
+# would not be unreasonable to use $(BUILD_CC) and corresponding tests
+# in configure.
+nsis-msgfmt: nsis-msgfmt.c
+ $(CC) -o nsis-msgfmt -lgettextpo $(srcdir)/nsis-msgfmt.c
+
+# We extend the GMO file mechanism to also handle NSIS files.
+$(GMOFILES): %.gmo: %.nsi
+
+%.nsi : %.po nsis-msgfmt
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && dir="" || dir="$(srcdir)/"; \
+ echo "rm -f $${dir}$${lang}.nsi && ./nsis-msgfmt $${dir}$${lang}.po > $${dir}$${lang}.nsi"; \
+ rm -f $${dir}$${lang}.nsi && ./nsis-msgfmt $${dir}$${lang}.po > $${dir}t-$${lang}.nsi && mv $${dir}t-$${lang}.nsi $${dir}$${lang}.nsi
+
+# Collect all NSI files we need to include.
+catalogs.nsi:
+ echo -n $(CATALOGS) \
+ | sed -e 's/\([^ ]*\).gmo */!include "\1.nsi"\n/g' > catalogs.nsi
+
+all: catalogs.nsi
+
+mostlyclean: mostlyclean-nsis
+mostlyclean-nsis:
+ rm -f nsis-msgfmt catalogs.nsi
+
+maintainer-clean: maintainer-clean-nsis
+maintainer-clean-nsis:
+ rm -f *.nsi
Added: trunk/po/de.po
===================================================================
--- trunk/po/de.po 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/de.po 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,416 @@
+# German translations for gpg4win package.
+# Copyright (C) 2007 g10 Code GmbH
+# This file is distributed under the same license as the gpg4win package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gpg4win 1.1.1-svn417\n"
+"Report-Msgid-Bugs-To: gpg4win-devel at wald.intevation.org\n"
+"POT-Creation-Date: 2007-06-20 03:04+0200\n"
+"PO-Revision-Date: 2007-06-19 05:21+0200\n"
+"Last-Translator: Marcus Brinkmann <mb at g10code.com>\n"
+"Language-Team: German <translation-team-de at lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/g4wihelp.nsi:21
+msgctxt "T_AlreadyRunning"
+msgid "An instance of this installer is already running."
+msgstr "Ein Exemplar dieses Installers läuft bereits."
+
+#: src/installer.nsi:201
+msgctxt "T_LangCode"
+msgid "en"
+msgstr "de"
+
+#: src/installer.nsi:204
+msgctxt "T_WelcomeTitle"
+msgid "${WELCOME_TITLE_ENGLISH}"
+msgstr "${WELCOME_TITLE_GERMAN}"
+
+#: src/installer.nsi:207
+msgctxt "T_About"
+msgid "${ABOUT_ENGLISH}"
+msgstr "${ABOUT_GERMAN}"
+
+#: src/installer.nsi:210
+msgctxt "T_GPLHeader"
+msgid ""
+"This software is licensed under the terms of the GNU General Public License "
+"(GPL) which guarantees your freedom to share and change Free Software."
+msgstr ""
+"Diese Software ist unter der GNU General Public License (GPL) lizensiert; "
+"dies gibt Ihnen die Freiheit, sie zu ändern und weiterzugeben."
+
+#: src/installer.nsi:215
+msgctxt "T_GPLShort"
+msgid ""
+"In short: You are allowed to run this software for any purpose. You may "
+"distribute it as long as you give the recipients the same rights you have "
+"received."
+msgstr ""
+"In aller Kürze: Sie haben das Recht, die Software zu jedem Zweck "
+"einzusetzen. Sie können die Software weitergeben, sofern Sie dem EmpfÃ"
+"¤nger dieselben Rechte einräumen, die auch Sie erhalten haben."
+
+#: src/installer.nsi:220
+msgctxt "T_RunKeyManager"
+msgid "Run the key manager"
+msgstr "Die Schlüsselverwaltung aufrufen"
+
+#: src/installer.nsi:223
+msgctxt "T_MoreInfo"
+msgid "Click here for the project's homepage"
+msgstr "Hier klicken um zur Homepage des Projekts zu gelangen"
+
+#: src/installer.nsi:225
+msgctxt "T_MoreInfoURL"
+msgid "http://www.gpg4win.org"
+msgstr "http://www.gpg4win.de"
+
+#: src/installer.nsi:227
+msgctxt "T_ShowReadme"
+msgid "Show the README file"
+msgstr "Die README Datei anzeigen"
+
+#: src/installer.nsi:230
+msgctxt "T_NoKeyManager"
+msgid "No key manager has been installed, thus we can't run one now."
+msgstr ""
+"Es wurde keine Schlüsselverwaltung installiert. Deswegen kann sie jetzt "
+"auch nicht ausgeführt werden."
+
+#: src/installer.nsi:415
+msgctxt "T_InstallOptions"
+msgid "Install Options"
+msgstr "Installationsoptionen"
+
+#: src/installer.nsi:418
+msgctxt "T_InstallOptLinks"
+msgid "Start links"
+msgstr "Startlinks"
+
+#: src/installer.nsi:420
+msgctxt "T_InstOptLabelA"
+msgid "Please select where Gpg4win shall install links:"
+msgstr "Bitte wählen Sie, welche Verknüpfungen angelegt werden sollen:"
+
+#: src/installer.nsi:423
+msgctxt "T_InstOptLabelB"
+msgid "(Only programs will be linked into the quick launch bar.)"
+msgstr ""
+"(In die Schnellstartleiste werden nur Verknüpfungen für Programme "
+"angelegt.)"
+
+#: src/installer.nsi:426
+msgctxt "T_InstOptFieldA"
+msgid "Start Menu"
+msgstr "Startmenü"
+
+#: src/installer.nsi:429
+msgctxt "T_InstOptFieldB"
+msgid "Desktop"
+msgstr "Arbeitsfläche"
+
+#: src/installer.nsi:432
+msgctxt "T_InstOptFieldC"
+msgid "Quick Launch Bar"
+msgstr "Schnellstartleiste"
+
+#: src/installer.nsi:438
+msgctxt "T_FoundExistingVersion"
+msgid ""
+"Version $R1 has already been installed. $\\r$\\nDo you want to overwrite it "
+"with version ${VERSION}?"
+msgstr ""
+"Version $R1 ist hier bereits installiert. $\\r$\\n Möchten Sie diese mit "
+"Version ${VERSION} überschreiben? $\\r$\\n $\\r$\\n (Sie können in jedem "
+"Fall mit JA antworten, falls es sich um eine neuere oder dieselbe Version "
+"handelt.)"
+
+#: src/installer.nsi:441
+msgctxt "T_FoundExistingVersionB"
+msgid ""
+"A version of Gpg4Win has already been installed on the system. There will be "
+"no problem installing and thus overwriting this Version. $\\r$\\n$\\r$\\nDo "
+"you want to continue installing Gpg4win?"
+msgstr ""
+"Eine Version von Gpg4Win ist hier bereits installiert. Es ist problemlos "
+"möglich, die Installation fortzuführen. $\\r$\\n $\\r$\\n Möchten die "
+"die Installation von Gpg4Win fortführen?"
+
+#: src/installer.nsi:452
+msgctxt "T_FoundOldSeeManual"
+msgid ""
+"Please see the Gpg4win user manual to learn how to migrate existing keys "
+"from other GnuPG based installations to Gpg4win."
+msgstr ""
+"Bitte sehen Sie im Gpg4win für Einsteiger Handbuch nach, wie Sie Ihre "
+"Schlüssel aus anderen - GnuPG basierten - Installationen in Gpg4win "
+"überführen. Es wird dringend geraten Gpg4Win nicht zusammen mit diesen "
+"anderen Installation zu betreiben."
+
+#: src/installer.nsi:457
+msgctxt "T_FoundOldGnuPP"
+msgid ""
+"An old installation of GnuPP (GNU Privacy Project) has been been detected. "
+"That software is not maintained anymore and thus should be removed. $\\r$\\n$"
+"\\r$\\nDo you want to continue installing Gpg4win and take care of the old "
+"installation later?"
+msgstr ""
+"Eine alte Installation von GnuPP (GNU Privacy Project) wurde gefunden. "
+"Diese Software wird nicht mehr gepflegt und sollte deshalb vom System "
+"entfernt werden. $\\r$\\n $\\r$\\n Sie können die Installation von Gpg4win "
+"jetzt weiterdurchführen und danach entscheiden, ob Sie das alte GnuPP dann "
+"entfernen. Sie finden hierzu Hinweise im Gpg4Win Handbuch für Einsteiger. "
+"Falls Sie die alte Installation schon jetzt entfernen möchten, so "
+"exportieren Sie dort alle vorhandenen Schlüssel in eine Datei um sie so spÃ"
+"¤ter in Gpg4Win wieder importieren zu können. $\\r$\\n $\\r$\\n Möchten "
+"Sie die Installation von Gpg4win weiter durchführen und sich dann später "
+"um die Entfernung von GnuPP kümmern?"
+
+#: src/installer.nsi:466
+msgctxt "T_FoundOldGnuPT"
+msgid ""
+"An installation of GnuPT has been been detected. This may cause problems "
+"when used along with Gpg4win. $\\r$\\n$\\r$\\nDo you want to continue "
+"installing Gpg4win?"
+msgstr ""
+"Eine Installation von GnuPT wurde gefunden. Dies kann zu Problemen führen, "
+"falls GnuPT zusammem mit Gpg4win benutzt wird. Falls Sie GnuPT "
+"zwischenzeitlich bereits entfernt haben, so ignorieren Sie diese Warnung "
+"bitte. Die Deinstallation von GnuPT erfolgt nicht immer spurlos und Gpg4win "
+"kann deshalb nicht sicher erkennen, ob es vollständig entfernt wurde. $\\r$"
+"\\n $\\r$\\n Sie können die Installation von Gpg4win jetzt weiterdurchführen "
+"und danach entscheiden, ob Sie das alte GnuPT dann entfernen. Sie finden "
+"hierzu Hinweise im Gpg4Win Handbuch für Einsteiger. Falls Sie die alte "
+"Installation schon jetzt entfernen möchten, so exportieren Sie dort alle "
+"vorhandenen Schlüssel in eine Datei um sie so später in Gpg4Win wieder "
+"importieren zu können. $\\r$\\n $\\r$\\n Möchten Sie die Installation von "
+"Gpg4win fortführen?"
+
+#: src/installer.nsi:473
+msgctxt "T_FoundOldWinPTSF"
+msgid ""
+"An old installation of the Sourceforge hosted WinPT has been been detected. "
+"That software is not maintained anymore and should be removed. $\\r$\\n$\\r$"
+"\\nDo you want to continue installing Gpg4win and take care of the old "
+"installation later?"
+msgstr ""
+"Eine alte Installation der Windows Privacy Tools von Sourceforge wurde "
+"gefunden. Diese Software wird nicht mehr gepflegt und verträgt sich "
+"vermutlich nicht mit Gpg4win. Sie sollte deshalb vom System entfernt "
+"werden. $\\r$\\n $\\r$\\n Sie können versuchen, die Installation von "
+"Gpg4win jetzt weiterdurchführen und danach entscheiden, ob Sie die alte "
+"Installation entfernen. Sie finden hierzu Hinweise im Gpg4Win Handbuch für "
+"Einsteiger. $\\r$\\n $\\r$\\n Wir empfehlen alerdings, diese alte "
+"Installation vorher zu entfernen. Brechen Sie hierzu die Installation von "
+"Gpg4win ab und exportieren Sie mittles dieser alten Version alle vorhandenen "
+"Schlüssel in eine Datei um sie so später in Gpg4Win wieder importieren zu "
+"können. $\\r$\\n $\\r$\\n Möchten Sie die Installation von Gpg4win trotzdem "
+"jetzt weiter durchführen?"
+
+#: src/installer.nsi:483
+msgctxt "T_FoundOldGnuPack"
+msgid ""
+"An installation of GnuPG-Pack has been been detected. You need to uninstall "
+"it before you can continue with Gpg4win installation. $\\r$\\n$\\r$\\nThe "
+"installation will be aborted now!"
+msgstr ""
+"Eine Installation von GnuPG-Pack wurde gefunden. Sie müssen diese zuerst "
+"deinstallieren bevor Sie mit der Installation von Gpg4win fortfahren können. "
+"$\\r$\\n $\\r$\\n Die Installation von Gpg4win wird nun abgebrochen!"
+
+#: src/installer.nsi:492
+msgctxt "T_AdminNeeded"
+msgid ""
+"Warning: Administrator permissions required for a successful installation"
+msgstr ""
+"Achtung: Für eine erfolgreiche Installation werden Administratorrechte "
+"benötigt."
+
+#: src/installer.nsi:496
+msgctxt "T_CloseOtherApps"
+msgid ""
+"Please make sure that other applications are not running. In particular you "
+"should close Outlook and all Explorer windows. Gpg4Win will try to install "
+"anyway but a reboot will be required then."
+msgstr ""
+"Bitte stellen Sie sicher, daß alle anderen Anwendugen geschlossen sind. "
+"Insbesondere sollten Sie Outlook und alle Explorer Fenster schliessen bevor "
+"Sie die Installation fortsetzen. Gpg4Win wird auf jeden Fall versuchen, "
+"eine Installation durchzuführen; es ist dann aber u.U. notwendig, das System "
+"neu zu starten."
+
+#: src/installer.nsi:501
+msgctxt "T_ShuttingDownWinPT"
+msgid "Trying to shutdown a possible running instance of WinPT."
+msgstr "Ein möglicherweise laufendes WinPT wird jetzt automatisch beendet."
+
+#: src/inst-eudoragpg.nsi:40
+msgctxt "DESC_SEC_eudoragpg"
+msgid "EudoraGPG is a plugin for the Eudora mail program"
+msgstr ""
+"EudoraGPG ist ein Plugin zur Verschlüsselung für das Eudora Mailprogramm"
+
+#: src/inst-gnupg.nsi:76
+msgctxt "DESC_SEC_gnupg"
+msgid "GNU Privacy Guard"
+msgstr ""
+"Der GNU Privacy Guard (GnuPG) ist der Kernbestandteil dieser Software. "
+"GnuPG stellt die eigentliche Verschlüsselung sowie die Verwaltung der "
+"Schlüssel bereit."
+
+#: src/inst-gpa.nsi:50
+msgctxt "DESC_SEC_gpa"
+msgid "GNU Privacy Assistant"
+msgstr ""
+"GNU Privacy Assistent (GPA) ist ein Programm zum Verwalten von Schlüsseln "
+"welches für mehrere Plattformen verfügbar ist. Es kann zusammen oder "
+"anstatt von WinPT benutzt werden."
+
+#: src/inst-gpa.nsi:53
+msgctxt "DESC_Menu_gpa"
+msgid ""
+"Run the GNU Privacy Assistant key management tool. This is an alternative to "
+"the WinPT key management tool."
+msgstr ""
+"Das Schlüsselverwaltungsprogramm GNU Privacy Assistent aufrufen. Dies ist "
+"eine Alternative zu dem WinPT Programm."
+
+#: src/inst-gpg4win.nsi:43
+msgctxt "DESC_Menu_gpg4win_readme"
+msgid "General information on Gpg4Win"
+msgstr "Allgemeine Informationen zu Gpg4Win"
+
+#: src/inst-gpg4win.nsi:46
+msgctxt "DESC_Menu_gnupg_faq"
+msgid "Show the Frequently Asked Questions Document for GnuPG"
+msgstr "Das Dokument mit den häufig gestellten Fragen (FAQ) zu GnuPG anzeigen"
+
+#: src/inst-gpgee.nsi:65
+msgctxt "T_GPGee_RegFailed"
+msgid "Warning: Registration of the GPGee explorer extension failed."
+msgstr "Warnung: Registration der GPGee Explorer Extension ist fehlgeschlagen."
+
+#: src/inst-gpgee.nsi:68
+msgctxt "DESC_SEC_gpgee"
+msgid "GPG Explorer Extensions"
+msgstr ""
+"GPG Explorer Erweiterungen (GPGee) ist eine Erweiterung für den Explorer, "
+"die es ermöglicht, Dateien über das Kontextmenü zu verschlüsseln."
+
+#: src/inst-gpgee.nsi:71
+msgctxt "DESC_Menu_gpgee_hlp"
+msgid "Show the online manual of GPGee"
+msgstr "Das englische Handbuch zu GPGee anzeigen"
+
+#: src/inst-gpgol.nsi:54
+msgctxt "T_GPGol_RegFailed"
+msgid "Warning: Registration of the GPGol Outlook pluginfailed."
+msgstr "Warnung: Registration des GPGol Outlook Plugin ist fehlgeschlagen."
+
+#: src/inst-gpgol.nsi:57
+msgctxt "DESC_SEC_gpgol"
+msgid "GnuPG for Outlook"
+msgstr ""
+"GnuPG für Outlook (GPGol) is eine Erweiterung für Outlook 2003, die "
+"verwendet wird um Nachrichten mit OpenPGP zu verschlüsseln."
+
+#: src/inst-man_advanced_de.nsi:39
+msgctxt "DESC_Name_man_advanced_de"
+msgid "Advanced Manual (German)"
+msgstr "Durchblickerhandbuch"
+
+#: src/inst-man_advanced_de.nsi:42
+msgctxt "DESC_SEC_man_advanced_de"
+msgid "Gpg4Win Manual for the Advanced User (German)"
+msgstr "Gpg4Win Handbuch für den Durchblicker"
+
+#: src/inst-man_advanced_de.nsi:45
+msgctxt "DESC_Menu_man_advanced_de"
+msgid "Show the German online manual of Gpg4Win for advanced users"
+msgstr "Das Online-Handbuch von Gpg4Win für den Durchblicker anzeigen"
+
+#: src/inst-man_advanced_en.nsi:39
+msgctxt "DESC_Name_man_advanced_en"
+msgid "Advanced Manual"
+msgstr "Durchblickerhandbuch (Englisch)"
+
+#: src/inst-man_advanced_en.nsi:42
+msgctxt "DESC_SEC_man_advanced_en"
+msgid "Gpg4Win Manual for the Advanced User"
+msgstr "Gpg4Win Handbuch für den Durchblicker (Englisch)"
+
+#: src/inst-man_advanced_en.nsi:45
+msgctxt "DESC_Menu_man_advanced_en"
+msgid "Show the online manual of Gpg4Win for advanced users"
+msgstr ""
+"Das englische Online-Handbuch von Gpg4Win für den Durchblicker anzeigen"
+
+#: src/inst-man_novice_de.nsi:39
+msgctxt "DESC_Name_man_novice_de"
+msgid "Novice Manual (German)"
+msgstr "Einsteigerhandbuch"
+
+#: src/inst-man_novice_de.nsi:42
+msgctxt "DESC_SEC_man_novice_de"
+msgid "Gpg4Win Manual for the Novice User (German)"
+msgstr "Gpg4Win Handbuch für den Einsteiger"
+
+#: src/inst-man_novice_de.nsi:45
+msgctxt "DESC_Menu_man_novice_de"
+msgid "Show the German online manual of Gpg4Win for novice users"
+msgstr "Das Online-Handbuch von Gpg4Win für den Einsteiger anzeigen"
+
+#: src/inst-man_novice_en.nsi:39
+msgctxt "DESC_Name_man_novice_en"
+msgid "Novice Manual"
+msgstr "Einsteigerhandbuch (Englisch)"
+
+#: src/inst-man_novice_en.nsi:42
+msgctxt "DESC_SEC_man_novice_en"
+msgid "Gpg4Win Manual for the Novice User"
+msgstr "Gpg4Win Handbuch für den Einsteiger (Englisch)"
+
+#: src/inst-man_novice_en.nsi:45
+msgctxt "DESC_Menu_man_novice_en"
+msgid "Show the online manual of Gpg4Win for novice users"
+msgstr "Das englische Online-Handbuch von Gpg4Win für den Einsteiger anzeigen"
+
+#: src/inst-sylpheed-claws.nsi:51
+msgctxt "DESC_SEC_sylpheed"
+msgid "Sylpheed-Claws Mail-User-Agent"
+msgstr ""
+"Sylpheed-Claws ist ein vollständiges Mail- und News-Programm mit sehr guter "
+"Unterstützung für GnuPG."
+
+#: src/inst-sylpheed-claws.nsi:54
+msgctxt "DESC_Menu_sylpheed"
+msgid "Run the Sylpheed-Claws mailprogram."
+msgstr "Das Mailprogramm Sylpheed-Claws aufrufen."
+
+#: src/inst-sylpheed-claws.nsi:57
+msgctxt "DESC_Menu_sylpheed_pdf"
+msgid "Show the online manual of Sylpheed Claws"
+msgstr "Das englische Handbuch zu Sylpheed Claws anzeigen"
+
+#: src/inst-winpt.nsi:46
+msgctxt "DESC_SEC_winpt"
+msgid "Windows Privacy Tray"
+msgstr ""
+"Windows Privacy Tray (WinPT) ist ein vielseitiges Programm zur "
+"Schlüsselverwaltung sowie aller anderen Funktionen von GnuPG. Es "
+"installiert sich in die Startleiste."
+
+#: src/inst-winpt.nsi:49
+msgctxt "DESC_Menu_winpt"
+msgid ""
+"Run the Windows Privacy Tray key management tool. This is a versatile key "
+"management and encryption tool."
+msgstr ""
+"Das Schlüsselverwaltungsprogramm Windows Privacy Tray aufrufen. Dies ist "
+"ein vielseitiges Programm zur Schlüsselverwaltung und Verschlüsselung. Es "
+"installiert sich in die Startleiste."
Added: trunk/po/nsis-msgfmt.c
===================================================================
--- trunk/po/nsis-msgfmt.c 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/nsis-msgfmt.c 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,411 @@
+/* nsis-msgfmt.c - Replacement for msgfmt for NSIS projects.
+ Copyright (C) 2007 g10 Code GmbH
+
+ This file is part of Gpg4win.
+
+ Gpg4win 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 2 of the License, or
+ (at your option) any later version.
+
+ Gpg4win 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, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#include <stdio.h>
+#include <string.h>
+#include <error.h>
+#include <errno.h>
+
+/* This file does NOT include config.h, as that one is for the host
+ target and not the build target. But this file is run on the build
+ architecture at (cross-) compile time. */
+#include <gettext-po.h>
+
+char *program_name;
+
+/* Set to TRUE if Modern UI is used. */
+int modern_ui = 1;
+
+
+/* Map an ISO 639 two letter language code to an NSIS language
+ name. */
+void
+iso639_to_nsis (const char *ll, char **lang, char **nlf)
+{
+ static struct
+ {
+ /* The ISO639 extended language code. */
+ char *ll;
+ /* The LANG_* NSIS identifier. */
+ char *lang;
+ /* The NSIS language file, if exists. */
+ char *nlf;
+ } codes[] =
+ { { "af", "LANG_AFRIKAANS", NULL },
+ { "sq", "LANG_ALBANIAN", "Albanian" },
+ { "ar", "LANG_ARABIC", "Arabic" },
+ { "ar_SA", "SUBLANG_ARABIC_SAUDI_ARABIA", NULL },
+ { "ar_IQ", "SUBLANG_ARABIC_IRAQ", NULL },
+ { "ar_EG", "SUBLANG_ARABIC_EGYPT", NULL },
+ { "ar_LY", "SUBLANG_ARABIC_LIBYA", NULL },
+ { "ar_DZ", "SUBLANG_ARABIC_ALGERIA", NULL },
+ { "ar_MA", "SUBLANG_ARABIC_MOROCCO", NULL },
+ { "ar_TN", "SUBLANG_ARABIC_TUNISIA", NULL },
+ { "ar_OM", "SUBLANG_ARABIC_OMAN", NULL },
+ { "ar_YE", "SUBLANG_ARABIC_YEMEN", NULL },
+ { "ar_SY", "SUBLANG_ARABIC_SYRIA", NULL },
+ { "ar_JO", "SUBLANG_ARABIC_JORDAN", NULL },
+ { "ar_LB", "SUBLANG_ARABIC_LEBANON", NULL },
+ { "ar_KW", "SUBLANG_ARABIC_KUWAIT", NULL },
+ { "ar_AE", "SUBLANG_ARABIC_UAE", NULL },
+ { "ar_BH", "SUBLANG_ARABIC_BAHRAIN", NULL },
+ { "ar_QA", "SUBLANG_ARABIC_QATAR", NULL },
+ { "hy", "LANG_ARMENIAN", NULL },
+ { "as", "LANG_ASSAMESE", NULL },
+ { "az", "LANG_AZERI", NULL },
+ { "az_AZ", "SUBLANG_AZERI_LATIN", NULL },
+ { "az_??", "SUBLANG_AZERI_CYRILLIC", NULL },
+ { "eu", "LANG_BASQUE", "Basque" },
+ { "be", "LANG_BELARUSIEN", "Belarusian" },
+ { "bn", "LANG_BENGALI", NULL },
+ { "bs", "LANG_BOSNIAN", "Bosnian" },
+ { "br", "LANG_BRETON", "Breton" },
+ { "bg", "LANG_BULGARIAN", "Bulgarian" },
+ { "ca", "LANG_CATALAN", "Catalan" },
+ { "zh", "LANG_CHINESE", NULL },
+ { "zh_??", "SUBLANG_CHINESE_SIMPLIFIED", "SimpChinese" },
+ { "zh_??", "SUBLANG_CHINESE_TRADITIONAL", "TradChinese" },
+ { "zh_HK", "SUBLANG_CHINESE_HONGKONG", NULL },
+ { "zh_SG", "SUBLANG_CHINESE_SINGAPORE", NULL },
+ { "zh_MO", "SUBLANG_CHINESE_MACAU", NULL },
+ { "hr", "LANG_CROATIAN", "Croatian" },
+ { "cs", "LANG_CZECH", "Czech" },
+ { "da", "LANG_DANISH", "Danish" },
+ { "dv", "LANG_DIVEHI", NULL },
+ { "nl", "LANG_DUTCH", "Dutch" },
+ { "nl_NL", "SUBLANG_DUTCH", NULL },
+ { "nl_BE", "SUBLANG_DUTCH_BELGIAN", NULL },
+ { "en", "LANG_ENGLISH", "English" },
+ { "en_US", "SUBLANG_ENGLISH_US", NULL },
+ { "en_UK", "SUBLANG_ENGLISH_UK", NULL },
+ { "en_AU", "SUBLANG_ENGLISH_AUS", NULL },
+ { "en_CA", "SUBLANG_ENGLISH_CAN", NULL },
+ { "en_NZ", "SUBLANG_ENGLISH_NZ", NULL },
+ { "en_IE", "SUBLANG_ENGLISH_EIRE", NULL },
+ { "en_ZA", "SUBLANG_ENGLISH_SOUTH_AFRICA", NULL },
+ { "en_JM", "SUBLANG_ENGLISH_JAMAICA", NULL },
+ { "en_??", "SUBLANG_ENGLISH_CARIBBEAN", NULL },
+ { "en_BZ", "SUBLANG_ENGLISH_BELIZE", NULL },
+ { "en_TT", "SUBLANG_ENGLISH_TRINIDAD", NULL },
+ { "en_ZW", "SUBLANG_ENGLISH_ZIMBABWE", NULL },
+ { "en_PH", "SUBLANG_ENGLISH_PHILIPPINES", NULL },
+ { "et", "LANG_ESTONIAN", "Estonian" },
+ { NULL, "LANG_FARSI", "Farsi" },
+ { "fi", "LANG_FINNISH", "Finnisch" },
+ { "fr", "LANG_FRENCH", "French" },
+ { "fr_FR", "SUBLANG_FRENCH", "French" },
+ { "fr_BE", "SUBLANG_FRENCH_BELGIAN", NULL },
+ { "fr_CA", "SUBLANG_FRENCH_CANADAN", NULL },
+ { "fr_CH", "SUBLANG_FRENCH_SWISS", NULL },
+ { "fr_LU", "SUBLANG_FRENCH_LUXEMBOURG", NULL },
+ { "fr_MC", "SUBLANG_FRENCH_MONACO", NULL },
+ { "gl", "LANG_GALICIAN", NULL },
+ { "ka", "LANG_GEORGIAN", NULL },
+ { "de", "LANG_GERMAN", "German" },
+ { "de_DE", "SUBLANG_GERMAN", NULL },
+ { "de_CH", "SUBLANG_GERMAN_SWISS", NULL },
+ { "de_AT", "SUBLANG_GERMAN_AUSTRIAN", NULL },
+ { "de_LU", "SUBLANG_GERMAN_LUXEMBOURG", NULL },
+ { "de_LI", "SUBLANG_GERMAN_LIECHTENSTEIN", NULL },
+ { "el", "LANG_GREEK", "Greek" },
+ { "gu", "LANG_GUJARATI", NULL },
+ { "he", "LANG_HEBREW", "Hebrew" },
+ { "hi", "LANG_HINDI", NULL },
+ { "hu", "LANG_HUNGARIAN", "Hungarian" },
+ { "is", "LANG_ICELANDIC", "Icelandic" },
+ { "id", "LANG_INDONESIAN", "Indonesian" },
+ { "ga", NULL, "Irish" },
+ { "it", "LANG_ITALIAN", "Italian" },
+ { "it_IT", "SUBLANG_ITALIAN", NULL },
+ { "it_CH", "SUBLANG_ITALIAN_SWISS", NULL },
+ { "ja", "LANG_JAPANESE", "Japanese" },
+ { "kn", "LANG_KANNADA", NULL },
+ { "ks", "LANG_KASHMIRI", NULL },
+ { "ks_IN", "SUBLANG_KASHMIRI_INDIA", NULL },
+ { "kk", "LANG_KAZAK", NULL },
+ { "ko", "LANG_KOREAN", "Korean" },
+ { NULL, "SUBLANG_KOREAN", NULL },
+ { "kok", "LANG_KONKANI", NULL },
+ { "ku", NULL, "Kurdish" },
+ { NULL, "LANG_KYRGYZ", NULL },
+ { "lv", "LANG_LATVIAN", "Latvian" },
+ { "lt", "LANG_LITHUANIAN", "Lithuanian" },
+ { "lt_LT", "SUBLANG_LITHUANIAN", NULL },
+ { "lb", NULL, "Luxembourgish" },
+ { "mk", "LANG_MACEDONIAN", "Macedonian" },
+ { "ms", "LANG_MALAY", "Malay" },
+ { "ms_MY", "SUBLANG_MALAY_MALAYSIA", NULL },
+ { "ms_??", "SUBLANG_MALAY_BRUNEI_DARUSSALAM", NULL },
+ { "ml", "LANG_MALAYALAM", NULL },
+ { "mni", "LANG_MANIPURI", NULL },
+ { "mr", "LANG_MARATHI", NULL },
+ { "mn", "LANG_MONGOLIAN", "Mongolian" },
+ { "ne", "LANG_NEPALI", NULL },
+ { "ne_IN", "SUBLANG_NEPALI_INDIA", NULL },
+ { "no", "LANG_NORWEGIAN", "Norwegian" },
+ { "nb", "SUBLANG_NORWEGIAN_BOKMAL", NULL },
+ { "nn", "SUBLANG_NORWEGIAN_NYNORSK", "NorwegianNynorsk" },
+ { "or", "LANG_ORIYA", NULL },
+ { "pa", "LANG_PUNJABI", NULL },
+ { "pl", "LANG_POLISH", "Polish" },
+ { "pt", "LANG_PORTUGUESE", "Portuguese" },
+ { "pt_PT", "SUBLANG_PORTUGUESE", NULL },
+ { "pt_BR", "SUBLANG_PORTUGUESE_BRAZILIAN", "PortugueseBR" },
+ { "ro", "LANG_ROMANIAN", "Romanian" },
+ { "ru", "LANG_RUSSIAN", "Russian" },
+ { "sa", "LANG_SANSKRIT", NULL },
+ { "sr_??", "SUBLANG_SERBIAN_LATIN", "SerbianLatin" },
+ { "sr", "LANG_SERBIAN", "Serbian" },
+ { "sr_??", "SUBLANG_SERBIAN_LATIN", NULL },
+ { "sr_??", "SUBLANG_SERBIAN_CYRILLIC", NULL },
+ { "sd", "LANG_SINDHI", NULL },
+ { "sk", "LANG_SLOVAK", "Slovak" },
+ { "sl", "LANG_SLOVENIAN", "Slovenian" },
+ { "es", "LANG_SPANISH", "Spanish" },
+ { "es_??", "SUBLANG_SPANISH", NULL },
+ { "es_MX", "SUBLANG_SPANISH_MEXICAN", NULL },
+ { "es_??", "SUBLANG_SPANISH_MODERN", NULL },
+ { "es_GT", "SUBLANG_SPANISH_GUATEMALA", NULL },
+ { "es_??", "SUBLANG_SPANISH_COSTA_RICA", NULL },
+ { "es_PA", "SUBLANG_SPANISH_PANAMA", NULL },
+ { "es_DO", "SUBLANG_SPANISH_DOMINICAN_REPUBLIC", NULL },
+ { "es_VE", "SUBLANG_SPANISH_VENEZUELA", NULL },
+ { "es_CO", "SUBLANG_SPANISH_COLOMBIA", NULL },
+ { "es_PE", "SUBLANG_SPANISH_PERU", NULL },
+ { "es_AR", "SUBLANG_SPANISH_ARGENTINA", NULL },
+ { "es_EC", "SUBLANG_SPANISH_ECUADOR", NULL },
+ { "es_CL", "SUBLANG_SPANISH_CHILE", NULL },
+ { "es_UY", "SUBLANG_SPANISH_URUGAY", NULL },
+ { "es_PY", "SUBLANG_SPANISH_PARAGUAY", NULL },
+ { "es_BO", "SUBLANG_SPANISH_BOLIVIA", NULL },
+ { "es_SV", "SUBLANG_SPANISH_EL_SALVADOR", NULL },
+ { "es_HN", "SUBLANG_SPANISH_HONDURAS", NULL },
+ { "es_NI", "SUBLANG_SPANISH_NICARAGUA", NULL },
+ { "es_PR", "SUBLANG_SPANISH_PUERTO_RICO", NULL },
+ { "sw", "LANG_SWAHILI", NULL },
+ { NULL, "LANG_SYRIAC", NULL },
+ { "sv", "LANG_SWEDISH", "Swedish" },
+ { "sv_SE", "SUBLANG_SWEDISH", NULL },
+ { "sv_FI", "SUBLANG_SWEDISH_FINLAND", NULL },
+ { "ta", "LANG_TAMIL", NULL },
+ { "tt", "LANG_TATAR", NULL },
+ { "te", "LANG_TELUGU", NULL },
+ { "th", "LANG_THAI", "Thai" },
+ { "tr", "LANG_TURKISH", "Turkish" },
+ { "uk", "LANG_UKRAINIAN", "Ukrainian" },
+ { "ur", "LANG_URDU", NULL },
+ { "ur_PK", "SUBLANG_URDU_PAKISTAN", NULL },
+ { "ur_IN", "SUBLANG_URDU_INDIA", NULL },
+ { "uz", "LANG_UZBEK", NULL },
+ { "uz_UZ", "LANG_UZBEK_LATIN", NULL },
+ { "uz_??", "LANG_UZBEK_CYRILLIC", NULL },
+ { "vi", "LANG_VIETNAMESE", NULL },
+ { NULL, NULL, "Welsh" },
+ { NULL, NULL, NULL } };
+
+ int i = 0;
+ *lang = NULL;
+ *nlf = NULL;
+ while (codes[i].ll || codes[i].lang || codes[i].nlf)
+ {
+ if (codes[i].ll && codes[i].lang
+ && !strcmp (ll, codes[i].ll))
+ {
+ *lang = codes[i].lang;
+ *nlf = codes[i].nlf;
+ return;
+ }
+ i++;
+ }
+}
+
+
+void
+xerror (int severity, po_message_t message,
+ const char *filename, size_t lineno, size_t column,
+ int multiline_p, const char *message_text)
+{
+ fflush (stdout);
+ if (filename != NULL)
+ {
+ if (lineno != (size_t)(-1))
+ {
+ if (column != (size_t)(-1))
+ fprintf (stderr, "%s:%ld:%ld: %s\n", filename,
+ (long) lineno, (long) column, message_text);
+ else
+ fprintf (stderr, "%s:%ld: %s\n", filename, (long) lineno,
+ message_text);
+ }
+ else
+ fprintf (stderr, "%s: %s\n", filename, message_text);
+ }
+ else
+ fprintf (stderr, "%s: %s\n", program_name, message_text);
+
+ if (severity >= PO_SEVERITY_ERROR)
+ exit (EXIT_FAILURE);
+}
+
+
+void
+xerror2 (int severity, po_message_t message1,
+ const char *filename1, size_t lineno1, size_t column1,
+ int multiline_p1, const char *message_text1,
+ po_message_t message2,
+ const char *filename2, size_t lineno2, size_t column2,
+ int multiline_p2, const char *message_text2)
+{
+ fflush (stdout);
+ if (filename1 != NULL)
+ {
+ if (lineno1 != (size_t)(-1))
+ {
+ if (column1 != (size_t)(-1))
+ fprintf (stderr, "%s:%ld:%ld: %s...\n", filename1,
+ (long) lineno1, (long) column1, message_text1);
+ else
+ fprintf (stderr, "%s:%ld: %s...", filename1, (long) lineno1,
+ message_text1);
+ }
+ else
+ fprintf (stderr, "%s: %s...", filename1, message_text1);
+ }
+ else
+ fprintf (stderr, "%s: %s...", program_name, message_text1);
+
+ if (filename2 != NULL)
+ {
+ if (lineno2 != (size_t)(-1))
+ {
+ if (column2 != (size_t)(-1))
+ fprintf (stderr, "%s:%ld:%ld: ...%s\n", filename2,
+ (long) lineno2, (long) column2, message_text2);
+ else
+ fprintf (stderr, "%s:%ld: ...%s", filename2, (long) lineno2,
+ message_text2);
+ }
+ else
+ fprintf (stderr, "%s: ...%s", filename2, message_text2);
+ }
+ else
+ fprintf (stderr, "%s: ...%s", program_name, message_text2);
+
+ if (severity >= PO_SEVERITY_ERROR)
+ exit (EXIT_FAILURE);
+}
+
+struct po_xerror_handler err_handler = { xerror, xerror2 };
+
+
+void
+fmt_one (char *filename)
+{
+ po_file_t file;
+ const char * const *domains;
+ const char * const *domainp;
+ char *ll;
+ char *llp;
+ char *lang;
+ char *nlf;
+
+ /* Grok the language code from the filename. */
+ ll = strrchr (filename, '/');
+ if (ll)
+ ll++;
+ else
+ ll = filename;
+ ll = strdup (ll);
+ if (!ll)
+ error (EXIT_FAILURE, errno, "could not allocate memory");
+ llp = strchr (ll, '.');
+ if (llp)
+ *llp = '\0';
+ iso639_to_nsis (ll, &lang, &nlf);
+ if (!lang)
+ error (EXIT_FAILURE, errno, "%s: could not determine language %s of %s\n",
+ program_name, ll, filename);
+ if (!nlf)
+ {
+ fflush (stdout);
+ fprintf (stderr, "%s: warning: no NSIS Language File (.nlf) for %s\n",
+ program_name, lang);
+ }
+ else
+ {
+ if (modern_ui)
+ /* FIXME: Should test if file exists. NSISDIR is available
+ via makensis -HDRINFO. Files are in
+ "NSISDIR/Contrib/Modern UI/Language files". */
+ printf ("!insertmacro MUI_LANGUAGE \"%s\"\n", nlf);
+ else
+ /* FIXME: Should test if file exists. NSISDIR is available via
+ makensis -HDRINFO. */
+ printf ("LoadLanguageFile "
+ "\"${NSISDIR}\\Contrib\\Language files\\%s.nlf\"\n", nlf);
+ }
+
+ file = po_file_read (filename, &err_handler);
+ if (file == NULL)
+ error (EXIT_FAILURE, errno, "couldn't open the PO file %s", filename);
+
+ domains = po_file_domains (file);
+ for (domainp = domains; *domainp; domainp++)
+ {
+ const char *domain = *domainp;
+ po_message_iterator_t iterator = po_message_iterator (file, domain);
+
+ for (;;)
+ {
+ po_message_t message = po_next_message (iterator);
+ const char *msgid;
+ const char *msgstr;
+ const char *msgctx;
+
+ if (message == NULL)
+ break;
+
+ msgid = po_message_msgid (message);
+ msgstr = po_message_msgstr (message);
+ msgctx = po_message_msgctxt (message);
+
+ if (msgctx != NULL)
+ /* FIXME: Replace newlines. */
+ printf ("LangString %s ${%s} \"%s\"\n", msgctx, lang,
+ (*msgstr == '\0') ? msgid : msgstr);
+ }
+ po_message_iterator_free (iterator);
+ }
+ po_file_free (file);
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ int i;
+
+ program_name = argv[0];
+
+ for (i = 1; i < argc; i++)
+ fmt_one (argv[i]);
+
+ return 0;
+}
Added: trunk/po/nsis-xgettext.awk
===================================================================
--- trunk/po/nsis-xgettext.awk 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/nsis-xgettext.awk 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,54 @@
+#! /usr/bin/awk
+# Copyright (C) 2007 g10 Code GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win 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 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+# Process an NSIS script and output something that xgettext can grok.
+# Requires variable "file" to be set at command line.
+
+BEGIN {
+ collect = 0;
+ context = "";
+ line = "";
+}
+
+# FIXME: Strictly we should check if we are still collecting or not.
+/^LangString/ {
+ collect = 1;
+ print "# " FNR " \"" file "\"";
+ context = $2;
+ line = "";
+}
+
+collect {
+ next_line = $0;
+ sub (/\\$/, "", next_line);
+ sub (/^ */, "", next_line);
+ line = (line next_line);
+}
+
+collect && !/\\$/ {
+ collect = 0;
+
+ # Snip everything up to the first double-quote.
+ sub (/^[^"]*/, "", line);
+ # Convert the \r characters that gettext doesn't like.
+ gsub (/\\r/, "\\\\r", line);
+ # Convert the \n characters as well.
+ gsub (/\\n/, "\\\\n", line);
+ print "pgettext (\"" context "\", " line ");";
+}
Added: trunk/po/nsis-xgettext.sh
===================================================================
--- trunk/po/nsis-xgettext.sh 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/nsis-xgettext.sh 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,74 @@
+#! /bin/bash
+# Copyright (C) 2007 g10 Code GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win 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 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+# FIXME!
+AWK=awk
+
+# We have to wrap xgettext for use with NSIS.
+
+# Limitations: Only supports --files-from for now, no files on the
+# command line or STDIN.
+
+srcdir=.
+argv=
+files_from=
+directory=.
+
+i=0
+prev=
+
+for opt in "$@"; do
+ case "${prev}" in
+ -D)
+ directory="${opt}"
+ prev=
+ continue
+ ;;
+ -f)
+ files_from="${opt}"
+ prev=
+ continue
+ ;;
+ esac
+
+ case "$opt" in
+ --directory=*)
+ directory=`echo "${opt}" | sed 's/^--directory=//'`
+ continue
+ ;;
+ --files-from=*)
+ files_from=`echo "${opt}" | sed 's/^--files-from=//'`
+ continue
+ ;;
+ -D|-f)
+ prev="${opt}"
+ continue
+ ;;
+ --srcdir=*)
+ srcdir=`echo "${opt}" | sed 's/^--srcdir=//'`
+ continue
+ ;;
+ esac
+
+ argv[i]="$opt"
+ i=$((${i} + 1))
+done
+
+# Now we can create the required input for xgettext.
+(for f in `sed -n -e '/^[^#]/p' "${files_from}"`; do ${AWK} -f ${srcdir}/nsis-xgettext.awk -v "file=${f}" "${directory}/${f}"; done) | "${argv[@]}" -
Added: trunk/po/remove-potcdate.sin
===================================================================
--- trunk/po/remove-potcdate.sin 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/po/remove-potcdate.sin 2007-06-20 01:38:06 UTC (rev 419)
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
Modified: trunk/src/g4wihelp.nsi
===================================================================
--- trunk/src/g4wihelp.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/g4wihelp.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -20,10 +20,7 @@
LangString T_AlreadyRunning ${LANG_ENGLISH} \
"An instance of this installer is already running."
-LangString T_AlreadyRunning ${LANG_GERMAN} \
- "Ein Exemplar dieses Installers läuft bereits."
-
#Function G4wTest
# Push $R0
# Push $R1
Modified: trunk/src/gpg4win-src.nsi
===================================================================
--- trunk/src/gpg4win-src.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/gpg4win-src.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -19,6 +19,7 @@
!cd "${BUILD_DIR}"
!addincludedir "${TOP_SRCDIR}"
+!addincludedir "${TOP_SRCDIR}/po"
!addincludedir "${SRCDIR}"
!addplugindir "${BUILD_DIR}"
!include "../include/config.nsi"
@@ -83,6 +84,8 @@
!define SOURCES
!include "inst-sections.nsi"
+# At long last, include all the translations.
+!include "../po/catalogs.nsi"
# Now include the generic parts to end the installation.
!include "installer-finish.nsi"
Modified: trunk/src/gpg4win.nsi
===================================================================
--- trunk/src/gpg4win.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/gpg4win.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -19,6 +19,7 @@
!cd "${BUILD_DIR}"
!addincludedir "${TOP_SRCDIR}"
+!addincludedir "${TOP_SRCDIR}/po"
!addincludedir "${SRCDIR}"
!addplugindir "${BUILD_DIR}"
!include "../include/config.nsi"
@@ -106,6 +107,8 @@
!define BINARIES
!include "inst-sections.nsi"
+# At long last, include all the translations.
+!include "../po/catalogs.nsi"
# Now include the generic parts to end the installation.
!include "installer-finish.nsi"
Modified: trunk/src/inst-eudoragpg.nsi
===================================================================
--- trunk/src/inst-eudoragpg.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-eudoragpg.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -39,7 +39,3 @@
LangString DESC_SEC_eudoragpg ${LANG_ENGLISH} \
"EudoraGPG is a plugin for the Eudora mail program"
-LangString DESC_SEC_eudoragpg ${LANG_GERMAN} \
- "EudoraGPG ist ein Plugin zur Verschlüsselung für das Eudora Mailprogramm"
-
-
Modified: trunk/src/inst-gnupg.nsi
===================================================================
--- trunk/src/inst-gnupg.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-gnupg.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -75,13 +75,4 @@
LangString DESC_SEC_gnupg ${LANG_ENGLISH} \
"GNU Privacy Guard"
-LangString DESC_SEC_gnupg ${LANG_GERMAN} \
- "Der GNU Privacy Guard (GnuPG) ist der Kernbestandteil \
- dieser Software. GnuPG stellt die eigentliche \
- Verschlüsselung sowie die Verwaltung der Schlüssel bereit."
-LangString DESC_Menu_gnupg_faq ${LANG_ENGLISH} \
- "Show the Frequently Asked Questions Document for GnuPG"
-LangString DESC_Menu_gnupg_faq ${LANG_GERMAN} \
- "Das Dokument mit den häufig gestellten Fragen (FAQ) zu GnuPG anzeigen"
-
Modified: trunk/src/inst-gpa.nsi
===================================================================
--- trunk/src/inst-gpa.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-gpa.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -49,15 +49,7 @@
LangString DESC_SEC_gpa ${LANG_ENGLISH} \
"GNU Privacy Assistant"
-LangString DESC_SEC_gpa ${LANG_GERMAN} \
- "GNU Privacy Assistent (GPA) ist ein Programm zum Verwalten von Schlüsseln \
- welches für mehrere Plattformen verfügbar ist. Es kann zusammen \
- oder anstatt von WinPT benutzt werden."
-
LangString DESC_Menu_gpa ${LANG_ENGLISH} \
"Run the GNU Privacy Assistant key management tool. \
This is an alternative to the WinPT key management tool."
-LangString DESC_Menu_gpa ${LANG_GERMAN} \
- "Das Schlüsselverwaltungsprogramm GNU Privacy Assistent aufrufen. \
- Dies ist eine Alternative zu dem WinPT Programm."
Modified: trunk/src/inst-gpg4win.nsi
===================================================================
--- trunk/src/inst-gpg4win.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-gpg4win.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -42,8 +42,6 @@
LangString DESC_Menu_gpg4win_readme ${LANG_ENGLISH} \
"General information on Gpg4Win"
-LangString DESC_Menu_gpg4win_readme ${LANG_GERMAN} \
- "Allgemeine Informationen zu Gpg4Win"
-
-
+LangString DESC_Menu_gnupg_faq ${LANG_ENGLISH} \
+ "Show the Frequently Asked Questions Document for GnuPG"
Modified: trunk/src/inst-gpgee.nsi
===================================================================
--- trunk/src/inst-gpgee.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-gpgee.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -64,19 +64,9 @@
LangString T_GPGee_RegFailed ${LANG_ENGLISH} \
"Warning: Registration of the GPGee explorer extension failed."
-LangString T_GPGee_RegFailed ${LANG_GERMAN} \
- "Warnung: Registration der GPGee Explorer Extension ist fehlgeschlagen. "
LangString DESC_SEC_gpgee ${LANG_ENGLISH} \
"GPG Explorer Extensions"
-LangString DESC_SEC_gpgee ${LANG_GERMAN} \
- "GPG Explorer Erweiterungen (GPGee) ist eine Erweiterung für \
- den Explorer, die es ermöglicht, Dateien über das Kontextmenü zu \
- verschlüsseln."
LangString DESC_Menu_gpgee_hlp ${LANG_ENGLISH} \
"Show the online manual of GPGee"
-LangString DESC_Menu_gpgee_hlp ${LANG_GERMAN} \
- "Das englische Handbuch zu GPGee anzeigen"
-
-
Modified: trunk/src/inst-gpgol.nsi
===================================================================
--- trunk/src/inst-gpgol.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-gpgol.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -53,12 +53,6 @@
LangString T_GPGol_RegFailed ${LANG_ENGLISH} \
"Warning: Registration of the GPGol Outlook pluginfailed."
-LangString T_GPGol_RegFailed ${LANG_GERMAN} \
- "Warnung: Registration des GPGol Outlook Plugin ist fehlgeschlagen. "
-
LangString DESC_SEC_gpgol ${LANG_ENGLISH} \
"GnuPG for Outlook"
-LangString DESC_SEC_gpgol ${LANG_GERMAN} \
- "GnuPG für Outlook (GPGol) is eine Erweiterung für Outlook 2003, die \
- verwendet wird um Nachrichten mit OpenPGP zu verschlüsseln."
Modified: trunk/src/inst-man_advanced_de.nsi
===================================================================
--- trunk/src/inst-man_advanced_de.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-man_advanced_de.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -38,16 +38,9 @@
LangString DESC_Name_man_advanced_de ${LANG_ENGLISH} \
"Advanced Manual (German)"
-LangString DESC_Name_man_advanced_de ${LANG_GERMAN} \
- "Durchblickerhandbuch"
LangString DESC_SEC_man_advanced_de ${LANG_ENGLISH} \
"Gpg4Win Manual for the Advanced User (German)"
-LangString DESC_SEC_man_advanced_de ${LANG_GERMAN} \
- "Gpg4Win Handbuch für den Durchblicker"
-
LangString DESC_Menu_man_advanced_de ${LANG_ENGLISH} \
"Show the German online manual of Gpg4Win for advanced users"
-LangString DESC_Menu_man_advanced_de ${LANG_GERMAN} \
- "Das Online-Handbuch von Gpg4Win für den Durchblicker anzeigen"
Modified: trunk/src/inst-man_advanced_en.nsi
===================================================================
--- trunk/src/inst-man_advanced_en.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-man_advanced_en.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -38,16 +38,9 @@
LangString DESC_Name_man_advanced_en ${LANG_ENGLISH} \
"Advanced Manual"
-LangString DESC_Name_man_advanced_en ${LANG_GERMAN} \
- "Durchblickerhandbuch (Englisch)"
LangString DESC_SEC_man_advanced_en ${LANG_ENGLISH} \
"Gpg4Win Manual for the Advanced User"
-LangString DESC_SEC_man_advanced_en ${LANG_GERMAN} \
- "Gpg4Win Handbuch für den Durchblicker (Englisch)"
-
LangString DESC_Menu_man_advanced_en ${LANG_ENGLISH} \
"Show the online manual of Gpg4Win for advanced users"
-LangString DESC_Menu_man_advanced_en ${LANG_GERMAN} \
- "Das englische Online-Handbuch von Gpg4Win für den Durchblicker anzeigen"
Modified: trunk/src/inst-man_novice_de.nsi
===================================================================
--- trunk/src/inst-man_novice_de.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-man_novice_de.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -38,15 +38,9 @@
LangString DESC_Name_man_novice_de ${LANG_ENGLISH} \
"Novice Manual (German)"
-LangString DESC_Name_man_novice_de ${LANG_GERMAN} \
- "Einsteigerhandbuch"
LangString DESC_SEC_man_novice_de ${LANG_ENGLISH} \
"Gpg4Win Manual for the Novice User (German)"
-LangString DESC_SEC_man_novice_de ${LANG_GERMAN} \
- "Gpg4Win Handbuch für den Einsteiger"
LangString DESC_Menu_man_novice_de ${LANG_ENGLISH} \
"Show the German online manual of Gpg4Win for novice users"
-LangString DESC_Menu_man_novice_de ${LANG_GERMAN} \
- "Das Online-Handbuch von Gpg4Win für den Einsteiger anzeigen"
Modified: trunk/src/inst-man_novice_en.nsi
===================================================================
--- trunk/src/inst-man_novice_en.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-man_novice_en.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -38,15 +38,9 @@
LangString DESC_Name_man_novice_en ${LANG_ENGLISH} \
"Novice Manual"
-LangString DESC_Name_man_novice_en ${LANG_GERMAN} \
- "Einsteigerhandbuch (Englisch)"
LangString DESC_SEC_man_novice_en ${LANG_ENGLISH} \
"Gpg4Win Manual for the Novice User"
-LangString DESC_SEC_man_novice_en ${LANG_GERMAN} \
- "Gpg4Win Handbuch für den Einsteiger (Englisch)"
LangString DESC_Menu_man_novice_en ${LANG_ENGLISH} \
"Show the online manual of Gpg4Win for novice users"
-LangString DESC_Menu_man_novice_en ${LANG_GERMAN} \
- "Das englische Online-Handbuch von Gpg4Win für den Einsteiger anzeigen"
Modified: trunk/src/inst-sylpheed-claws.nsi
===================================================================
--- trunk/src/inst-sylpheed-claws.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-sylpheed-claws.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -50,16 +50,9 @@
LangString DESC_SEC_sylpheed ${LANG_ENGLISH} \
"Sylpheed-Claws Mail-User-Agent"
-LangString DESC_SEC_sylpheed ${LANG_GERMAN} \
- "Sylpheed-Claws ist ein vollständiges Mail- und News-Programm mit sehr \
- guter Unterstützung für GnuPG."
LangString DESC_Menu_sylpheed ${LANG_ENGLISH} \
"Run the Sylpheed-Claws mailprogram."
-LangString DESC_Menu_sylpheed ${LANG_GERMAN} \
- "Das Mailprogramm Sylpheed-Claws aufrufen."
LangString DESC_Menu_sylpheed_pdf ${LANG_ENGLISH} \
"Show the online manual of Sylpheed Claws"
-LangString DESC_Menu_sylpheed_pdf ${LANG_GERMAN} \
- "Das englische Handbuch zu Sylpheed Claws anzeigen"
Modified: trunk/src/inst-winpt.nsi
===================================================================
--- trunk/src/inst-winpt.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/inst-winpt.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -45,15 +45,7 @@
LangString DESC_SEC_winpt ${LANG_ENGLISH} \
"Windows Privacy Tray"
-LangString DESC_SEC_winpt ${LANG_GERMAN} \
- "Windows Privacy Tray (WinPT) ist ein vielseitiges Programm zur \
- Schlüsselverwaltung sowie aller anderen Funktionen von GnuPG. Es \
- installiert sich in die Startleiste."
LangString DESC_Menu_winpt ${LANG_ENGLISH} \
"Run the Windows Privacy Tray key management tool. \
This is a versatile key management and encryption tool."
-LangString DESC_Menu_winpt ${LANG_GERMAN} \
- "Das Schlüsselverwaltungsprogramm Windows Privacy Tray aufrufen. \
- Dies ist ein vielseitiges Programm zur Schlüsselverwaltung und \
- Verschlüsselung. Es installiert sich in die Startleiste."
Modified: trunk/src/installer.nsi
===================================================================
--- trunk/src/installer.nsi 2007-06-19 20:32:49 UTC (rev 418)
+++ trunk/src/installer.nsi 2007-06-20 01:38:06 UTC (rev 419)
@@ -184,7 +184,6 @@
# before defining the translation strings. Confusing.
!insertmacro MUI_LANGUAGE "English"
-!insertmacro MUI_LANGUAGE "German"
#!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
@@ -200,58 +199,36 @@
# Language support
LangString T_LangCode ${LANG_ENGLISH} "en"
-LangString T_LangCode ${LANG_GERMAN} "de"
-
# The WelcomeTitle is displayed on the first page.
LangString T_WelcomeTitle ${LANG_ENGLISH} "${WELCOME_TITLE_ENGLISH}"
-LangString T_WelcomeTitle ${LANG_GERMAN} "${WELCOME_TITLE_GERMAN}"
# The About string as displayed on the first page.
LangString T_About ${LANG_ENGLISH} "${ABOUT_ENGLISH}"
-LangString T_About ${LANG_GERMAN} "${ABOUT_GERMAN}"
# Startup page
LangString T_GPLHeader ${LANG_ENGLISH} \
"This software is licensed under the terms of the GNU General Public \
License (GPL) which guarantees your freedom to share and change Free \
Software."
-LangString T_GPLHeader ${LANG_GERMAN}} \
- "Diese Software ist unter der GNU General Public License \
- (GPL) lizensiert; dies gibt Ihnen die Freiheit, sie \
- zu ändern und weiterzugeben."
LangString T_GPLShort ${LANG_ENGLISH} \
"In short: You are allowed to run this software for any purpose. \
You may distribute it as long as you give the recipients the same \
rights you have received."
-LangString T_GPLShort ${LANG_GERMAN} \
- "In aller Kürze: Sie haben das Recht, die Software zu jedem Zweck \
- einzusetzen. Sie können die Software weitergeben, sofern Sie dem \
- Empfänger dieselben Rechte einräumen, die auch Sie erhalten haben."
LangString T_RunKeyManager ${LANG_ENGLISH} \
"Run the key manager"
-LangString T_RunKeyManager ${LANG_GERMAN} \
- "Die Schlüsselverwaltung aufrufen"
LangString T_MoreInfo ${LANG_ENGLISH} \
"Click here for the project's homepage"
-LangString T_MoreInfo ${LANG_GERMAN} \
- "Hier klicken um zur Homepage des Projekts zu gelangen"
LangString T_MoreInfoURL ${LANG_ENGLISH} "http://www.gpg4win.org"
-LangString T_MoreInfoURL ${LANG_GERMAN} "http://www.gpg4win.de"
LangString T_ShowReadme ${LANG_ENGLISH} \
"Show the README file"
-LangString T_ShowReadme ${LANG_GERMAN} \
- "Die README Datei anzeigen"
LangString T_NoKeyManager ${LANG_ENGLISH} \
"No key manager has been installed, thus we can't run one now."
-LangString T_NoKeyManager ${LANG_GERMAN} \
- "Es wurde keine Schlüsselverwaltung installiert. \
- Deswegen kann sie jetzt auch nicht ausgeführt werden."
# Functions
@@ -436,37 +413,24 @@
# Installation options title
LangString T_InstallOptions ${LANG_ENGLISH} "Install Options"
-LangString T_InstallOptions ${LANG_GERMAN} "Installationsoptionen"
# Installation options subtitle 1
LangString T_InstallOptLinks ${LANG_ENGLISH} "Start links"
-LangString T_InstallOptLinks ${LANG_GERMAN} "Startlinks"
LangString T_InstOptLabelA ${LANG_ENGLISH} \
"Please select where Gpg4win shall install links:"
-LangString T_InstOptLabelA ${LANG_GERMAN} \
- "Bitte wählen Sie, welche Verknüpfungen angelegt werden sollen:"
LangString T_InstOptLabelB ${LANG_ENGLISH} \
"(Only programs will be linked into the quick launch bar.)"
-LangString T_InstOptLabelB ${LANG_GERMAN} \
- "(In die Schnellstartleiste werden nur Verknüpfungen für \
- Programme angelegt.) "
LangString T_InstOptFieldA ${LANG_ENGLISH} \
"Start Menu"
-LangString T_InstOptFieldA ${LANG_GERMAN} \
- "Startmenü"
LangString T_InstOptFieldB ${LANG_ENGLISH} \
"Desktop"
-LangString T_InstOptFieldB ${LANG_GERMAN} \
- "Arbeitsfläche"
LangString T_InstOptFieldC ${LANG_ENGLISH} \
"Quick Launch Bar"
-LangString T_InstOptFieldC ${LANG_GERMAN} \
- "Schnellstartleiste"
#------------------------------------------------
# String pertaining to the existing version check
@@ -474,23 +438,12 @@
LangString T_FoundExistingVersion ${LANG_ENGLISH} \
"Version $R1 has already been installed. $\r$\n\
Do you want to overwrite it with version ${VERSION}?"
-LangString T_FoundExistingVersion ${LANG_GERMAN} \
- "Version $R1 ist hier bereits installiert. $\r$\n\
- Möchten Sie diese mit Version ${VERSION} überschreiben? $\r$\n\
- $\r$\n\
- (Sie können in jedem Fall mit JA antworten, falls es sich um \
- eine neuere oder dieselbe Version handelt.)"
LangString T_FoundExistingVersionB ${LANG_ENGLISH} \
"A version of Gpg4Win has already been installed on the system. \
There will be no problem installing and thus overwriting this \
Version. $\r$\n\
$\r$\n\
Do you want to continue installing Gpg4win?"
-LangString T_FoundExistingVersionB ${LANG_GERMAN} \
- "Eine Version von Gpg4Win ist hier bereits installiert. \
- Es ist problemlos möglich, die Installation fortzuführen. $\r$\n\
- $\r$\n\
- Möchten die die Installation von Gpg4Win fortführen?"
#---------------------------------------------
@@ -499,11 +452,6 @@
LangString T_FoundOldSeeManual ${LANG_ENGLISH} \
"Please see the Gpg4win user manual to learn how to migrate existing \
keys from other GnuPG based installations to Gpg4win."
-LangString T_FoundOldSeeManual ${LANG_GERMAN} \
- "Bitte sehen Sie im Gpg4win für Einsteiger Handbuch nach, wie Sie Ihre \
- Schlüssel aus anderen - GnuPG basierten - Installationen in Gpg4win \
- überführen. Es wird dringend geraten Gpg4Win nicht zusammen mit \
- diesen anderen Installation zu betreiben."
#---------
LangString T_FoundOldGnuPP ${LANG_ENGLISH} \
@@ -513,20 +461,6 @@
$\r$\n\
Do you want to continue installing Gpg4win and take care of the old \
installation later?"
-LangString T_FoundOldGnuPP ${LANG_GERMAN} \
- "Eine alte Installation von GnuPP (GNU Privacy Project) wurde gefunden. \
- Diese Software wird nicht mehr gepflegt und sollte deshalb vom \
- System entfernt werden. $\r$\n\
- $\r$\n\
- Sie können die Installation von Gpg4win jetzt weiterdurchführen und \
- danach entscheiden, ob Sie das alte GnuPP dann entfernen. Sie finden \
- hierzu Hinweise im Gpg4Win Handbuch für Einsteiger. Falls Sie die alte \
- Installation schon jetzt entfernen möchten, so exportieren Sie dort \
- alle vorhandenen Schlüssel in eine Datei um sie so später in Gpg4Win \
- wieder importieren zu können. $\r$\n\
- $\r$\n\
- Möchten Sie die Installation von Gpg4win weiter durchführen und sich \
- dann später um die Entfernung von GnuPP kümmern?"
#---------
LangString T_FoundOldGnuPT ${LANG_ENGLISH} \
@@ -534,22 +468,6 @@
problems when used along with Gpg4win. $\r$\n\
$\r$\n\
Do you want to continue installing Gpg4win?"
-LangString T_FoundOldGnuPT ${LANG_GERMAN} \
- "Eine Installation von GnuPT wurde gefunden. Dies kann zu Problemen \
- führen, falls GnuPT zusammem mit Gpg4win benutzt wird. Falls Sie GnuPT \
- zwischenzeitlich bereits entfernt haben, so ignorieren Sie diese \
- Warnung bitte. Die Deinstallation von GnuPT erfolgt nicht immer \
- spurlos und Gpg4win kann deshalb nicht sicher erkennen, ob es \
- vollständig entfernt wurde. $\r$\n\
- $\r$\n\
- Sie können die Installation von Gpg4win jetzt weiterdurchführen und \
- danach entscheiden, ob Sie das alte GnuPT dann entfernen. Sie finden \
- hierzu Hinweise im Gpg4Win Handbuch für Einsteiger. Falls Sie die alte \
- Installation schon jetzt entfernen möchten, so exportieren Sie dort \
- alle vorhandenen Schlüssel in eine Datei um sie so später in Gpg4Win \
- wieder importieren zu können. $\r$\n\
- $\r$\n\
- Möchten Sie die Installation von Gpg4win fortführen?"
#---------
LangString T_FoundOldWinPTSF ${LANG_ENGLISH} \
@@ -559,24 +477,6 @@
$\r$\n\
Do you want to continue installing Gpg4win and take care of the old \
installation later?"
-LangString T_FoundOldWinPTSF ${LANG_GERMAN} \
- "Eine alte Installation der Windows Privacy Tools von Sourceforge \
- wurde gefunden. Diese Software wird nicht mehr gepflegt und verträgt \
- sich vermutlich nicht mit Gpg4win. Sie sollte deshalb vom System \
- entfernt werden. $\r$\n\
- $\r$\n\
- Sie können versuchen, die Installation von Gpg4win jetzt \
- weiterdurchführen und danach entscheiden, ob Sie die alte Installation \
- entfernen. Sie finden hierzu Hinweise im Gpg4Win Handbuch für \
- Einsteiger. $\r$\n\
- $\r$\n\
- Wir empfehlen alerdings, diese alte Installation vorher zu entfernen. \
- Brechen Sie hierzu die Installation von Gpg4win ab und exportieren Sie \
- mittles dieser alten Version alle vorhandenen Schlüssel in eine Datei \
- um sie so später in Gpg4Win wieder importieren zu können. $\r$\n\
- $\r$\n\
- Möchten Sie die Installation von Gpg4win trotzdem jetzt weiter \
- durchführen?"
#--------
@@ -585,21 +485,12 @@
uninstall it before you can continue with Gpg4win installation. $\r$\n\
$\r$\n\
The installation will be aborted now!"
-LangString T_FoundOldGnuPack ${LANG_GERMAN} \
- "Eine Installation von GnuPG-Pack wurde gefunden. Sie müssen diese \
- zuerst deinstallieren bevor Sie mit der Installation von Gpg4win \
- fortfahren können. $\r$\n\
- $\r$\n\
- Die Installation von Gpg4win wird nun abgebrochen!"
# From Function PrintNonAdminWarning
LangString T_AdminNeeded ${LANG_ENGLISH} \
"Warning: Administrator permissions required for a successful installation"
-LangString T_AdminNeeded ${LANG_GERMAN} \
- "Achtung: Für eine erfolgreiche Installation werden \
- Administratorrechte benötigt."
# From Function PrintCloseOtherApps
LangString T_CloseOtherApps ${LANG_ENGLISH} \
@@ -607,16 +498,8 @@
In particular you should close Outlook and all Explorer \
windows. Gpg4Win will try to install anyway but a reboot \
will be required then."
-LangString T_CloseOtherApps ${LANG_GERMAN} \
- "Bitte stellen Sie sicher, daß alle anderen Anwendugen geschlossen \
- sind. Insbesondere sollten Sie Outlook und alle Explorer Fenster \
- schliessen bevor Sie die Installation fortsetzen. Gpg4Win wird auf \
- jeden Fall versuchen, eine Installation durchzuführen; es ist dann aber \
- u.U. notwendig, das System neu zu starten."
LangString T_ShuttingDownWinPT ${LANG_ENGLISH} \
"Trying to shutdown a possible running instance of WinPT."
-LangString T_ShuttingDownWinPT ${LANG_GERMAN} \
- "Ein möglicherweise laufendes WinPT wird jetzt automatisch beendet."
# FIXME: The GetAfterChar function comes from the NSIS wiki.
More information about the Gpg4win-commits
mailing list