]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Sample demonstrating the use of GNU.Gettext in a C# GUI application.
authorBruno Haible <bruno@clisp.org>
Thu, 8 Jan 2004 11:44:51 +0000 (11:44 +0000)
committerBruno Haible <bruno@clisp.org>
Tue, 23 Jun 2009 10:11:34 +0000 (12:11 +0200)
19 files changed:
gettext-tools/examples/hello-csharp-forms/BUGS [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/INSTALL [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/Makefile.am [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/autoclean.sh [new file with mode: 0755]
gettext-tools/examples/hello-csharp-forms/autogen.sh [new file with mode: 0755]
gettext-tools/examples/hello-csharp-forms/configure.ac [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/hello.cs [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/m4/Makefile.am [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/LINGUAS [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/Makefile.am [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/ca.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/de.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/es.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/fr.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/ja.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/pl.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/ro.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/sr.po [new file with mode: 0644]
gettext-tools/examples/hello-csharp-forms/po/zh_CN.po [new file with mode: 0644]

diff --git a/gettext-tools/examples/hello-csharp-forms/BUGS b/gettext-tools/examples/hello-csharp-forms/BUGS
new file mode 100644 (file)
index 0000000..af7009a
--- /dev/null
@@ -0,0 +1,2 @@
+Correct display of characters depends on the C# execution engine. For example,
+in pnet 0.6.0.1, Western fonts display fine but East Asian fonts don't work.
diff --git a/gettext-tools/examples/hello-csharp-forms/INSTALL b/gettext-tools/examples/hello-csharp-forms/INSTALL
new file mode 100644 (file)
index 0000000..011cc81
--- /dev/null
@@ -0,0 +1,11 @@
+This example relies on:
+  - a C# implementation with System.Windows.Forms library, e.g. pnet+pnetlib
+
+Installation:
+  ./autogen.sh
+  ./configure --prefix=/some/prefix
+  make
+  make install
+Cleanup:
+  make distclean
+  ./autoclean.sh
diff --git a/gettext-tools/examples/hello-csharp-forms/Makefile.am b/gettext-tools/examples/hello-csharp-forms/Makefile.am
new file mode 100644 (file)
index 0000000..5d5ae97
--- /dev/null
@@ -0,0 +1,75 @@
+# Example for use of GNU gettext.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is in the public domain.
+#
+# Makefile configuration - processed by automake.
+
+# General automake options.
+AUTOMAKE_OPTIONS = foreign
+ACLOCAL_AMFLAGS = -I m4
+
+# The list of subdirectories containing Makefiles.
+SUBDIRS = m4 po
+
+# The list of programs that are built.
+bin_CSHARPPROGRAMS = hello
+
+# The source files of the 'hello' program.
+hello_SOURCES = hello.cs
+
+# The link dependencies of the 'hello' program.
+hello_CSHARPLIBS = @GNU_GETTEXT_LDADD@ @GNU_GETTEXT_LIBS@ -l System -l System.Drawing -l System.Windows.Forms
+
+# Resources that are generated from PO files.
+MAINTAINERCLEANFILES = */*.resources.dll
+
+# Additional files to be distributed.
+EXTRA_DIST = autogen.sh autoclean.sh
+
+
+# ----------------- General rules for compiling C# programs -----------------
+
+pkgdatadir = $(datadir)/$(PACKAGE)
+pkglibdir = $(libdir)/$(PACKAGE)
+
+CSHARPCOMP = $(SHELL) csharpcomp.sh
+CSHARPCOMPFLAGS = -O -g
+
+EXTRA_DIST += $(hello_SOURCES)
+CLEANFILES =
+DISTCLEANFILES = csharpcomp.sh csharpexec.sh
+
+
+# Rules for compiling C# programs.
+
+all-local: hello.net.exe hello.sh
+
+hello.net.exe: $(hello_SOURCES)
+       $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ $(hello_CSHARPLIBS) $(srcdir)/hello.cs
+
+hello.sh:
+       { echo '#!/bin/sh'; \
+         echo "exec /bin/sh '$(pkgdatadir)/csharpexec.sh' @GNU_GETTEXT_LDADD@ '$(pkglibdir)/hello.net.exe' \"\$$@\""; \
+       } > $@
+
+install-exec-local: all-local
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+       $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello
+       $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
+       $(INSTALL_DATA) hello.net.exe $(DESTDIR)$(pkglibdir)/hello.net.exe
+
+install-data-local: all-local
+       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+       $(INSTALL_DATA) csharpexec.sh $(DESTDIR)$(pkgdatadir)/csharpexec.sh
+
+installdirs-local:
+       $(mkinstalldirs) $(DESTDIR)$(bindir)
+       $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
+       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+
+uninstall-local:
+       rm -f $(DESTDIR)$(bindir)/hello
+       rm -f $(DESTDIR)$(pkglibdir)/hello.net.exe
+       rm -f $(DESTDIR)$(pkgdatadir)/csharpexec.sh
+
+CLEANFILES += hello.net.exe hello.sh
diff --git a/gettext-tools/examples/hello-csharp-forms/autoclean.sh b/gettext-tools/examples/hello-csharp-forms/autoclean.sh
new file mode 100755 (executable)
index 0000000..73f33cf
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+# Example for use of GNU gettext.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is in the public domain.
+#
+# Script for cleaning all autogenerated files.
+
+test ! -f Makefile || make distclean
+
+# Brought in by explicit copy.
+rm -f m4/nls.m4
+rm -f m4/po.m4
+rm -f po/remove-potcdate.sin
+
+# Brought in by explicit copy.
+rm -f m4/csharpcomp.m4
+rm -f m4/csharpexec.m4
+rm -f csharpcomp.sh.in
+rm -f csharpexec.sh.in
+
+# Generated by aclocal.
+rm -f aclocal.m4
+
+# Generated by autoconf.
+rm -f configure
+
+# Generated or brought in by automake.
+rm -f Makefile.in
+rm -f m4/Makefile.in
+rm -f po/Makefile.in
+rm -f install-sh
+rm -f mkinstalldirs
+rm -f missing
+rm -f po/*.pot
+rm -f po/stamp-po
+for f in po/*/*.resources.dll; do
+  rm -f $f
+  rmdir `echo $f | sed -e 's,/[^/]*$,,'`
+done
diff --git a/gettext-tools/examples/hello-csharp-forms/autogen.sh b/gettext-tools/examples/hello-csharp-forms/autogen.sh
new file mode 100755 (executable)
index 0000000..497731a
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+# Example for use of GNU gettext.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is in the public domain.
+#
+# Script for regenerating all autogenerated files.
+
+test -r ../Makefile.am || . ../installpaths
+
+cp -p ${ACLOCALDIR-../../../gettext-runtime/m4}/nls.m4 m4/nls.m4
+cp -p ${ACLOCALDIR-../../../gettext-runtime/m4}/po.m4 m4/po.m4
+cp -p ${GETTEXTSRCPODIR-../../../gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin
+
+cp -p ${EXAMPLESCONFIGDIR-../../../gettext-tools/m4}/csharpcomp.m4 m4/csharpcomp.m4
+cp -p ${EXAMPLESCONFIGDIR-../../../gettext-tools/m4}/csharpexec.m4 m4/csharpexec.m4
+cp -p ${EXAMPLESCONFIGDIR-../../../gettext-tools/lib}/csharpcomp.sh.in csharpcomp.sh.in
+cp -p ${EXAMPLESCONFIGDIR-../../../gettext-tools/lib}/csharpexec.sh.in csharpexec.sh.in
+
+aclocal -I m4
+
+autoconf
+
+automake -a -c
+
+./configure
+cd po
+make update-po
+cd ..
+make distclean
diff --git a/gettext-tools/examples/hello-csharp-forms/configure.ac b/gettext-tools/examples/hello-csharp-forms/configure.ac
new file mode 100644 (file)
index 0000000..5ab88af
--- /dev/null
@@ -0,0 +1,53 @@
+dnl Example for use of GNU gettext.
+dnl Copyright (C) 2003 Free Software Foundation, Inc.
+dnl This file is in the public domain.
+dnl
+dnl Configuration file - processed by autoconf.
+
+AC_INIT
+AC_CONFIG_SRCDIR(hello.cs)
+AM_INIT_AUTOMAKE(hello-csharp-forms, 0)
+
+dnl Check whether we can build C# programs at all.
+gt_CSHARPCOMP
+if test -n "$HAVE_CSHARPCOMP"; then
+  BUILDCSHARP=yes
+else
+  BUILDCSHARP=no
+fi
+AC_SUBST(BUILDCSHARP)
+
+dnl Check whether we can execute C# programs.
+gt_CSHARPEXEC
+if test -n "$HAVE_CSHARPEXEC" && test $BUILDCSHARP = yes; then
+  TESTCSHARP=yes
+else
+  TESTCSHARP=no
+fi
+AC_SUBST(TESTCSHARP)
+
+dnl Checks for needed libraries.
+AM_PATH_PROG_WITH_TEST([GETTEXT_WITH_GNU_GETTEXT_DLL], [gettext],
+  [{ basedir=`echo "$ac_dir" | sed -e 's,/bin$,,'`; test -r "$basedir"/lib/GNU.Gettext.dll; }])
+if test -z "$GETTEXT_WITH_GNU_GETTEXT_DLL"; then
+  echo "Required library GNU.Gettext.dll not found." 1>&2
+  exit 1
+fi
+changequote(,)dnl
+basedir=`echo "$GETTEXT_WITH_GNU_GETTEXT_DLL" | sed -e 's,/[^/]*$,,' | sed -e 's,/bin$,,'`
+changequote([, ])dnl
+GNU_GETTEXT_DLL="$basedir"/lib/GNU.Gettext.dll
+GNU_GETTEXT_LDADD="-L $basedir/lib"
+GNU_GETTEXT_LIBS="-l GNU.Gettext"
+AC_SUBST([GNU_GETTEXT_LDADD])
+AC_SUBST([GNU_GETTEXT_LIBS])
+
+dnl Support for the po directory.
+AM_PO_SUBDIRS
+
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([csharpcomp.sh])
+AC_CONFIG_FILES([csharpexec.sh])
+AC_CONFIG_FILES([m4/Makefile])
+AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE])
+AC_OUTPUT
diff --git a/gettext-tools/examples/hello-csharp-forms/hello.cs b/gettext-tools/examples/hello-csharp-forms/hello.cs
new file mode 100644 (file)
index 0000000..ed8568c
--- /dev/null
@@ -0,0 +1,82 @@
+// Example for use of GNU gettext.
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// This file is in the public domain.
+//
+// Source code of the C#/Forms program.
+
+using System; /* String, EventHandler */
+using GNU.Gettext; /* GettextResourceManager */
+using System.Diagnostics; /* Process */
+using System.Threading; /* Thread */
+using System.Drawing; /* Point, Size */
+using System.Windows.Forms; /* Application, Form, Label, Button */
+
+public class Hello {
+
+  private static GettextResourceManager catalog =
+    new GettextResourceManager("hello-csharp-forms");
+
+  class HelloWindow : Form {
+
+    private int border;
+    private Label label1;
+    private Label label2;
+    private Button ok;
+
+    public HelloWindow () {
+      border = 2;
+
+      label1 = new Label();
+      label1.Text = catalog.GetString("Hello, world!");
+      label1.ClientSize = new Size(label1.PreferredWidth, label1.PreferredHeight);
+      Controls.Add(label1);
+
+      label2 = new Label();
+      label2.Text =
+        String.Format(
+            catalog.GetString("This program is running as process number {0}."),
+            Process.GetCurrentProcess().Id);
+      label2.ClientSize = new Size(label2.PreferredWidth, label2.PreferredHeight);
+      Controls.Add(label2);
+
+      ok = new Button();
+      Label okLabel = new Label();
+      ok.Text = okLabel.Text = "OK";
+      ok.ClientSize = new Size(okLabel.PreferredWidth + 12, okLabel.PreferredHeight + 4);
+      ok.Click += new EventHandler(Quit);
+      Controls.Add(ok);
+
+      Size total = ComputePreferredSizeWithoutBorder();
+      LayoutControls(total.Width, total.Height);
+      ClientSize = new Size(border + total.Width + border, border + total.Height + border);
+    }
+
+    protected override void OnResize(EventArgs ev) {
+      LayoutControls(ClientSize.Width - border - border, ClientSize.Height - border - border);
+      base.OnResize(ev);
+    }
+
+    // Layout computation, part 1: The preferred size of this panel.
+    private Size ComputePreferredSizeWithoutBorder () {
+      int totalWidth = Math.Max(Math.Max(label1.PreferredWidth, label2.PreferredWidth),
+                                ok.Width);
+      int totalHeight = label1.PreferredHeight + label2.PreferredHeight + 6 + ok.Height;
+      return new Size(totalWidth, totalHeight);
+    }
+
+    // Layout computation, part 2: Determine where to put the sub-controls.
+    private void LayoutControls (int totalWidth, int totalHeight) {
+      label1.Location = new Point(border, border);
+      label2.Location = new Point(border, border + label1.PreferredHeight);
+      ok.Location = new Point(border + totalWidth - ok.Width, border + totalHeight - ok.Height);
+    }
+
+    private void Quit (Object sender, EventArgs ev) {
+      Application.Exit();
+    }
+  }
+
+  public static void Main () {
+    Application.Run(new HelloWindow());
+  }
+}
diff --git a/gettext-tools/examples/hello-csharp-forms/m4/Makefile.am b/gettext-tools/examples/hello-csharp-forms/m4/Makefile.am
new file mode 100644 (file)
index 0000000..54e423d
--- /dev/null
@@ -0,0 +1,3 @@
+EXTRA_DIST = \
+  nls.m4 po.m4 \
+  csharpcomp.m4 csharpexec.m4
diff --git a/gettext-tools/examples/hello-csharp-forms/po/LINGUAS b/gettext-tools/examples/hello-csharp-forms/po/LINGUAS
new file mode 100644 (file)
index 0000000..48654c2
--- /dev/null
@@ -0,0 +1,6 @@
+# Example for use of GNU gettext.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is in the public domain.
+#
+# Set of available languages.
+ca de es fr ja pl ro sr zh_CN
diff --git a/gettext-tools/examples/hello-csharp-forms/po/Makefile.am b/gettext-tools/examples/hello-csharp-forms/po/Makefile.am
new file mode 100644 (file)
index 0000000..23ebae6
--- /dev/null
@@ -0,0 +1,213 @@
+# Example for use of GNU gettext.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is in the public domain.
+#
+# Makefile configuration - processed by automake.
+
+# List of files which contain translatable strings.
+POTFILES = \
+  hello.cs
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS =
+
+# 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 = Yoyodyne, Inc.
+
+# 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 = bug-gnu-gettext@gnu.org
+
+pkglibdir = $(libdir)/$(PACKAGE)
+
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+POTFILES_DEPS = @POTFILES_DEPS@
+
+# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po)
+POFILES = @POFILES@
+# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update)
+UPDATEPOFILES = @UPDATEPOFILES@
+# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop)
+DUMMYPOFILES = @DUMMYPOFILES@
+# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+RESOURCESDLLFILES = @RESOURCESDLLFILES@
+
+# This is computed as
+# $(foreach lang, user-specified subset of $(LINGUAS), $(frob $(lang))/$(DOMAIN).resources.dll)
+CATALOGS = @CSHARPCATALOGS@
+
+SUFFIXES = .sed .sin .nop .po-update
+
+.sin.sed:
+       sed -e '/^#/d' $< > t-$@
+       mv t-$@ $@
+
+
+all-local: all-local-@USE_NLS@
+
+all-local-yes: stamp-po
+all-local-no:
+
+# 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 -z "$(RESOURCESDLLFILES)" || $(MAKE) $(RESOURCESDLLFILES)
+       @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_DEPS) remove-potcdate.sed
+       $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+         --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
+         --copyright-holder='$(COPYRIGHT_HOLDER)' \
+         --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)' \
+         $(POTFILES)
+       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$$//'`; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+       cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
+
+
+install-data-local: install-data-local-@USE_NLS@
+install-data-local-no: all-local
+install-data-local-yes: all-local
+       $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         $(mkinstalldirs) $(DESTDIR)$(pkglibdir)/`echo $$cat | sed -e 's,/[^/]*$$,,'`; \
+         if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+         $(INSTALL_DATA) $$realcat $(DESTDIR)$(pkglibdir)/$$cat; \
+         echo "installing $$realcat as $(DESTDIR)$(pkglibdir)/$$cat"; \
+       done
+
+installdirs-local: installdirs-local-@USE_NLS@
+installdirs-local-no:
+installdirs-local-yes:
+       $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         $(mkinstalldirs) $(DESTDIR)$(pkglibdir)/`echo $$cat | sed -e 's,/[^/]*$$,,'`; \
+       done
+
+uninstall-local: uninstall-local-@USE_NLS@
+uninstall-local-no:
+uninstall-local-yes:
+       catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         rm -f $(DESTDIR)$(pkglibdir)/$$cat; \
+       done
+
+html ID:
+
+MOSTLYCLEANFILES =
+MOSTLYCLEANFILES += remove-potcdate.sed
+MOSTLYCLEANFILES += stamp-poT
+MOSTLYCLEANFILES += core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+
+MAINTAINERCLEANFILES = stamp-po $(RESOURCESDLLFILES)
+
+EXTRA_DIST = remove-potcdate.sin LINGUAS $(DOMAIN).pot stamp-po $(POFILES) $(RESOURCESDLLFILES)
+
+# Hidden from automake, but really activated. Works around an automake-1.5 bug.
+#distdir: distdir1
+distdir1:
+       $(MAKE) update-po
+
+update-po: Makefile
+       $(MAKE) $(DOMAIN).pot-update
+       test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+       $(MAKE) update-resourcesdll
+
+# General rule for updating PO files.
+
+.nop.po-update:
+       @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+       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-resourcesdll: Makefile $(RESOURCESDLLFILES)
+       @:
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ca.po b/gettext-tools/examples/hello-csharp-forms/po/ca.po
new file mode 100644 (file)
index 0000000..ec323cb
--- /dev/null
@@ -0,0 +1,26 @@
+# Catalan messages for GNU hello-java.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the hello-java package.
+# Ivan Vilata i Balaguer <ivan@selidor.net>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hello-java 0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-22 17:41+0100\n"
+"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
+"Language-Team: Catalan <ca@dodds.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "Hola, món!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "Aquest programa està corrent amb el número de procés {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/de.po b/gettext-tools/examples/hello-csharp-forms/po/de.po
new file mode 100644 (file)
index 0000000..518892a
--- /dev/null
@@ -0,0 +1,27 @@
+# German messages for hello-java.
+# Copyright © 2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the hello-java package.
+# Bruno Haible <bruno@clisp.org>, 2003.
+# Karl Eichwalder <ke@gnu.franken.de>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hello-java 0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-19 05:44+0100\n"
+"Last-Translator: Karl Eichwalder <ke@gnu.franken.de>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "Hallo Welt!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "Dieses Programm läuft mit der Prozess-Nummer {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/es.po b/gettext-tools/examples/hello-csharp-forms/po/es.po
new file mode 100644 (file)
index 0000000..ddddbaa
--- /dev/null
@@ -0,0 +1,25 @@
+# Mensajes en español para GNU gettext.
+# Copyright (C) 1996, 1997, 1998, 2001 Free Software Foundation, Inc.
+# Max de Mendizábal <max@upn.mx>, 1996, 1997, 1998, 1999, 2000, 
+# 2001, 2002, 2003.
+msgid ""
+msgstr ""
+"Project-Id-Version: hello-java-0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-24 19:19-0600\n"
+"Last-Translator: Max de Mendizábal <max@upn.mx>\n"
+"Language-Team: Spanish <es@li.org>\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"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "¡Hola, mundo!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "Este programa está corriendo como el proceso número {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/fr.po b/gettext-tools/examples/hello-csharp-forms/po/fr.po
new file mode 100644 (file)
index 0000000..abca40e
--- /dev/null
@@ -0,0 +1,25 @@
+# Messages français pour GNU gettext.
+# Copyright © 2003 Free Software Foundation, Inc.
+# Michel Robitaille <robitail@iro.umontreal.ca>, traducteur depuis/since 1996.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU hello-java 0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-19 08:00-0500\n"
+"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
+"Language-Team: French <traduc@traduc.org>\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"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "Bonjour, le monde!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "Ce programme est exécuté en tant que processus numéro {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ja.po b/gettext-tools/examples/hello-csharp-forms/po/ja.po
new file mode 100644 (file)
index 0000000..50beb49
--- /dev/null
@@ -0,0 +1,24 @@
+# Translation of `hello-java' messages to Japanese.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Masahito Yamaga <ma@yama-ga.com>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU hello-java 0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-21 23:15+0900\n"
+"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
+"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤Çư¤¤¤Æ¤¤¤Þ¤¹."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/pl.po b/gettext-tools/examples/hello-csharp-forms/po/pl.po
new file mode 100644 (file)
index 0000000..d50483e
--- /dev/null
@@ -0,0 +1,25 @@
+# Polish translations for the GNU gettext messages, hello-java domain
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gettext package.
+# Rafa³ Maszkowski <rzm@icm.edu.pl>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hello-java-0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-19 13:00+0100\n"
+"Last-Translator: Rafa³ Maszkowski <rzm@icm.edu.pl>\n"
+"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "Witaj ¶wiecie!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "Ten program dzia³a jako proces o numerze {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/ro.po b/gettext-tools/examples/hello-csharp-forms/po/ro.po
new file mode 100644 (file)
index 0000000..33b8853
--- /dev/null
@@ -0,0 +1,25 @@
+# Mesajele în limba românã pentru pachetul hello-java-0.13-pre1.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java.
+# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hello-java 0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-22 11:15+0200\n"
+"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "Salut, lume! (Hello, world!)"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "Acest program este rulat ca procesul numãrul {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/sr.po b/gettext-tools/examples/hello-csharp-forms/po/sr.po
new file mode 100644 (file)
index 0000000..2491b01
--- /dev/null
@@ -0,0 +1,24 @@
+# Serbian translation of hello-java.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the `hello-java' package.
+# Aleksandar Jelenak <jelenak@netlinkplus.net>, 2003.
+msgid ""
+msgstr ""
+"Project-Id-Version: hello-java 0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: Wed, 19 Nov 2003 11:16:28 -0500\n"
+"Last-Translator: Aleksandar Jelenak <jelenak@netlinkplus.net>\n"
+"Language-Team: Serbian <sr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "Hello, world!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "Овај програм се извршава као процес број {0}."
diff --git a/gettext-tools/examples/hello-csharp-forms/po/zh_CN.po b/gettext-tools/examples/hello-csharp-forms/po/zh_CN.po
new file mode 100644 (file)
index 0000000..875b2c2
--- /dev/null
@@ -0,0 +1,25 @@
+# zh_CN translation for hello-java.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the hello-java package.
+# Funda Wang <fundawang@linux.net.cn>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hello-java 0.13-pre1\n"
+"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
+"POT-Creation-Date: 2003-12-26 23:46+0100\n"
+"PO-Revision-Date: 2003-11-19 21:30+0800\n"
+"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: hello.cs:30
+msgid "Hello, world!"
+msgstr "世界你好!"
+
+#: hello.cs:37
+#, csharp-format
+msgid "This program is running as process number {0}."
+msgstr "此程序正以进程号 {0} 运行。"