[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Manual section §15.5.4 outdated on whence to procure language bindings?
From: |
address@hidden |
Subject: |
Manual section §15.5.4 outdated on whence to procure language bindings? |
Date: |
Mon, 23 Sep 2024 17:58:25 +0000 (UTC) |
Dear gettext bug mailing list,
in §15.5.4 it is claimed that a C# binding exists that allows calling gettext
functions via a class "GettextResourceManager". Alledgedly this class is
provided by Mono. As of Mono versions 5.18.0.240 to 6.12.0.200 this does not
seem to be the case:
- My Debian 10, 11, 12 Mono packages do not provide this class.
- I grep-ped (-FiRn) the Mono repository for 'GettextResourceManager' and it
does not contain any such word.
What library contains the C# class GettextResourceManager? Whence to obtain it?
What is its namespace?
Many other people seem to be unable to find it:
- Mono have released no less than two wrappers of their own: Mono.Posix.Catalog
and Mono.Unix.Catalog, each of which directly calls into libintl and does not
use any GettextResourceManager
- Stride 3D have released their own wrapper: Stride.GNU.Gettext
- a third person has released - their own wrapper: gettext-dotnet
- I have posted this as a question on Stack Exchange two months ago, with so
far zero responses: https://stackoverflow.com/q/78794364
- Before me, other people have posed similar questions, with answers only
linking to yet other reimplementations or to §15.5.4 of the manual, where this
instruction is absent: https://stackoverflow.com/a/33959121
I would very much like to use the official GettextResourceManager. Even if none
exists, the manual should probably be amended to reflect this reality. If it
used to provide GettextResourceManager and no longer does, the manual may
benefit from a spelt-out version range known to be applicable.
Yours sincerely
Simon Beyer
PS: What prompted this report is that the Mono wrappers listed above both
implement gettext incorrectly in such a way as to make using different domains
impossible:
- The function to load a catalogue file also sets this file as the default
domain.
- None of the functions allows to specify a domain explicitly, as dgettext
does, described in §11.2.2, or to switch the default domain without loading a
new catalogue, as textdomain does, described in §11.2.1.
That aside, Mono is dying and current .NET runtimes are available in Debian
11+, so depending on this particular vendor, even if they did provide a
GettextResourceManager, does not feel future-proof anymore.
- Manual section §15.5.4 outdated on whence to procure language bindings?,
address@hidden <=