* DEPENDENCIES: Don't mention pnet.
* PACKAGING: Likewise.
* gettext-tools/src/format-csharp.c: Simplify comment.
* gettext-tools/src/msgfmt.cs: Remove workarounds for cscc.
* gettext-tools/src/write-csharp.c (write_csharp_code): Update comment.
* gettext-tools/doc/gettext.texi (C#): Don't mention resgen.
* gettext-tools/tests/lang-csharp: Rely on mono, not pnet.
* gettext-tools/examples/hello-csharp/INSTALL: Likewise.
* gettext-tools/examples/hello-csharp-forms/INSTALL: Likewise.
* gettext-tools/examples/hello-csharp-forms/BUGS: Remove file.
http://openjdk.java.net/install/index.html
https://github.com/kaffe/kaffe
-* A C# runtime and compiler (e.g. pnet or mono).
+* A C# runtime and compiler (e.g. mono).
+ Recommended.
Needed for building GNU.Gettext.dll. Also needed for 'msgfmt' and
'msgunfmt', so that they can handle C# resources and assemblies.
C# support:
-----------
-For C# support, one of pnet or mono must be available at build time; it must
-also be available at run time. If you have both available, choose the desired
-one through the configure option. Note there is no interoperability currently
-between pnet and mono: Programs compiled with pnet don't run with mono, and
-vice versa.
+For C# support, mono must be available at build time and at run time.
can be used with the option @samp{--csharp-resources}. To convert a
@code{.resources} file back to a PO file, the @code{msgunfmt} program can be
used with the option @samp{--csharp-resources}. You can also, in some cases,
-use the @code{resgen} program (from the @code{pnet} package) or the
-@code{monoresgen} program (from the @code{mono}/@code{mcs} package). These
-programs can also convert a @code{.resources} file back to a PO file. But
+use the @code{monoresgen} program (from the @code{mono}/@code{mcs} package).
+This program can also convert a @code{.resources} file back to a PO file. But
beware: as of this writing (January 2004), the @code{monoresgen} converter is
-quite buggy and the @code{resgen} converter ignores the encoding of the PO
-files.
+quite buggy.
To convert a PO file to a @code{.dll} file, the @code{msgfmt} program can be
used with the option @code{--csharp}. The result will be a @code{.dll} file
+++ /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.
This example relies on:
- - a C# implementation with System.Windows.Forms library, e.g. pnet+pnetlib
+ - a C# implementation with System.Windows.Forms library: mono
Installation:
./autogen.sh
This example relies on:
- - a C# implementation: either pnet+pnetlib or mono+mcs
+ - a C# implementation: mono
Installation:
./autogen.sh
/* C# format strings.
- Copyright (C) 2003-2004, 2006-2007, 2009, 2015-2016 Free Software
+ Copyright (C) 2003-2004, 2006-2007, 2009, 2015-2016, 2018 Free Software
Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
#define _(str) gettext (str)
/* C# format strings are described in the description of the .NET System.String
- class and implemented in
- pnetlib-0.5.6/runtime/System/String.cs
- and
- mcs-0.28/class/corlib/System/String.cs
+ class and implemented in mcs-0.28/class/corlib/System/String.cs .
A format string consists of literal text (that is output verbatim), doubled
braces ('{{' and '}}', that lead to a single brace when output), and
directives.
/* GNU gettext for C#
- * Copyright (C) 2003, 2015-2016 Free Software Foundation, Inc.
+ * Copyright (C) 2003, 2015-2016, 2018 Free Software Foundation, Inc.
* Written by Bruno Haible <bruno@clisp.org>, 2003.
*
* This program is free software: you can redistribute it and/or modify
MemoryStream tmpoutput = new MemoryStream();
ResourceWriter rw = new ResourceWriter(tmpoutput);
ReadAllInput(rw);
-#if __CSCC__
- // Use the ResourceReader to check against pnet-0.6.0 ResourceWriter
- // bug.
- try {
- ResourceReader rr = new ResourceReader(new MemoryStream(tmpoutput.ToArray()));
- foreach (System.Collections.DictionaryEntry entry in rr);
- } catch (IOException e) {
- throw new Exception("class ResourceWriter is buggy", e);
- }
-#endif
tmpoutput.WriteTo(output);
rw.Close();
output.Close();
} else {
-#if __CSCC__
- MemoryStream tmpoutput = new MemoryStream();
- ResourceWriter rw = new ResourceWriter(tmpoutput);
- ReadAllInput(rw);
- // Use the ResourceReader to check against pnet-0.6.0 ResourceWriter
- // bug.
- try {
- ResourceReader rr = new ResourceReader(new MemoryStream(tmpoutput.ToArray()));
- foreach (System.Collections.DictionaryEntry entry in rr);
- } catch (IOException e) {
- throw new Exception("class ResourceWriter is buggy", e);
- }
- BufferedStream output = new BufferedStream(new FileStream(filename, FileMode.Create, FileAccess.Write));
- tmpoutput.WriteTo(output);
- rw.Close();
- output.Close();
-#else
ResourceWriter rw = new ResourceWriter(filename);
ReadAllInput(rw);
rw.Close();
-#endif
}
}
public static int Main (String[] args) {
/* Writing C# satellite assemblies.
- Copyright (C) 2003-2010, 2015-2016 Free Software Foundation, Inc.
+ Copyright (C) 2003-2010, 2015-2016, 2018 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
fprintf (stream,
"/* Automatically generated by GNU msgfmt. Do not modify! */\n");
- /* We have to use a "using" statement here, to avoid a bug in the pnet-0.6.0
+ /* We chose to use a "using" statement here, to avoid a bug in the pnet-0.6.0
compiler. */
fprintf (stream, "using GNU.Gettext;\n");
# Test of gettext facilities in the C# language.
# Assumes an fr_FR locale is installed.
-# Assumes the following packages are installed: pnet, pnetlib.
-
-# Note: This test fails with mono-0.28 because the CultureInfo.Parent pointers
-# are wrong for locales containing a language and a territory. This is fixed
-# in mono-0.29.
+# Assumes the following packages are installed: mono, mcs.
# Test whether we can build and test C# programs.
test "${CSHARP_CHOICE}" != no || {