Search code examples
c#debiangettext

What dependency do I need to get GettextResourceManager?


Here is the C# manual for gettext. It claims:

Prerequisite

It also shows usage of a class GNU.Gettext.GettextResourceManager.

  • In a Mono 6.12.0.200 project on Debian Buster there is no GettextResourceManager.
  • In a .NET 8.0.303 project on Debian Bookworm there is no GettextResourceManager.

Here is the Debian package view (linked for Buster, but I also checked Bookworm).
It does not seem to contain any viable dependencies for a C# project to provide the class.

Here is the Guix package view for gettext.
There are two Ruby and one Lisp library, but none for C#.

Here is the gettext source.
It contains no .cs files and therefore can presumably provide a native-C binding but no C# class GNU.Gettext.GettextResourceManager. (Or at least all such binding classes I have seen so far have always been written in the target language, never in the source language. This may be a misconception on my part.)

What is the dependency that I have to include?

Where should I have been looking for setup instructions? (Presumably elsewhere in the same manual?)

Here are third-party C# projects that do provide a GNU.Gettext.GettextResourceManager but of course, I'd rather not use one of these if I do not have to. (Does the manual lie?)


Solution

  • The manual is wrong/misleading. I e-mailed the maintainer and they - correctly - notified me that the class sits right inside the gettext repository, at gettext-runtime/intl-csharp/intl.cs.

    Currently it does not seem to be part of any pre-compiled library, but it is small and it works as described, so one may just include it directly and build it as part of the consuming project, similar to e.g. the SQLite Amalgamation or the Boost Header-Only Libraries.