--- /dev/null
+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.
--- /dev/null
+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
--- /dev/null
+# 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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+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
--- /dev/null
+// 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());
+ }
+}
--- /dev/null
+EXTRA_DIST = \
+ nls.m4 po.m4 \
+ csharpcomp.m4 csharpexec.m4
--- /dev/null
+# 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
--- /dev/null
+# 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)
+ @:
--- /dev/null
+# 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}."
--- /dev/null
+# 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}."
--- /dev/null
+# 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}."
--- /dev/null
+# 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}."
--- /dev/null
+# 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} ¤Çư¤¤¤Æ¤¤¤Þ¤¹."
--- /dev/null
+# 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}."
--- /dev/null
+# 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}."
--- /dev/null
+# 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}."
--- /dev/null
+# 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} 运行。"