Native Language Support (NLS) for C#
Mono with its 'resgen' program uses a design that Microsoft created and
that gives the power to the software vendor and not to the user: it
doesn't allow the end-user to create his own localisations for existing
programs. As documented in the gettext manual:
The advantages of the .dll' format over the .resources' format are:
1. 1. Freedom to localize: Users can add their own translations to an
application after it has been built and distributed. Whereas
when the programmer uses a ResourceManager' constructor provided
by the system, the set of .resources' files for an application
must be specified when the application is built and cannot be
2., 3., 4. ...
The included GNU.Gettext.dll gives the user this freedom back and the
also included msgfmt.net.exe and msgunfmt.net.exe handle PO files more
reliably than 'resgen'.