Hi,
The GNU gettext package contains tools for internationalization, enabling a programmer to make their package "speak" to the users in their specific language.
GNU gettext so far supports a number of programming languages, see
https://www.gnu.org/software/gettext/manual/html_node/List-of-Programming-Languages.html
I thought it would be a good idea to make GNU gettext support also the D programming language. This is a registered wish list item since 2017: https://savannah.gnu.org/bugs/?51291 . On the D side, a rudimentary interface to the gettext() function in the GNU C library exists as well: https://code.dlang.org/packages/libintl
I am now trying to implement this support. I am already done with the xgettext support (parsing D source code and extracting messages). But from the programming language, this support also needs format strings with positions (so that translators can reorder arguments in their translations of format strings).
D has format strings in its standard library (phobos): https://dlang.org/library/std/format.html
But this format string facility has 4 major bugs:
https://github.com/dlang/phobos/issues/10699
https://github.com/dlang/phobos/issues/10711
https://github.com/dlang/phobos/issues/10712
https://github.com/dlang/phobos/issues/10713
Two questions:
-
How can this be, that a programming language that is more than 20 years old and that is integrated into GCC for 6 years, has a format string facility that is riddled with bugs? Is D only a playground for compiler hackers and not used for real applications, and thus the standard library is "uninteresting"?
-
How should I continue? What advice would you give me? Should I wait until the format string bugs are fixed (and if so, in which time frame)? Or should I cancel the GNU gettext support for D ?
Best regards. I don't want to offend anyone. If you feel an offense, please excuse it with frustration on my side.