Hi, everybody! I'm glad to announce release 0.2.0 of gettext-tiny. This release is a milestone in the gettext-tiny development, as it adds a full-fledged msgfmt tool, which is finally capable to produce real translations, supporting all necessary (in real-world use) features of the GNU implementation, such as plural forms, fuzzy marks. What is especially important for musl users is that it supports SYSDEP replacements. The latter is a relatively recent addition to GNU gettext to deal with system-dependent format strings[0]. It is problematic in that GNU does the expansion at run-time, thereby requiring read/write memory for something that should be (and was in the past) entirely read-only and could be shared among processes, and so defeating the entire purpose of the precompiled translations. This is why musl's libintl implementation opts out of this feature and requires the msgfmt tool to expand the SYSDEP strings into all possible variations, so there's no need for dynamic memory allocation to support it. gettext-tiny now has the first implementation of msgfmt which is compatible to musl's requirement, this means that for the first time it will be possible for musl users to enjoy their software with working translations, without the need to use an external libintl implementation for that. Note that msgmerge and xgettext are still stubs, but they are sufficient to build about 1000 packages from sabotage linux[1] without any issues, as well as all packages in no-name linux[2]. I personally was using it daily, fixing bugs and coding new functionality for months, and believe it is ready for prime-time now. fetch your source tarball at :http://ftp.barfooze.de/pub/sabotage/tarballs/gettext-tiny-0.2.0.tar.xz $ sha512sum gettext-tiny-0.2.0.tar.xz 4d8d9d02042adf023bfd2502fa7598f9b16ef2e03dd3d39fd3ba36f1be1d884d1b891600d9263e11948e3979909ea810a1d1b8cefc7e522feda8b422a1107a2e gettext-tiny-0.2.0.tar.xz git repo @ https://github.com/sabotage-linux/gettext-tiny Note that during the last months I also found some bugs in musl's libintl, and they have been fixed in upstream. So, with new gettext-tiny and those patches, I now have a system with full translation support. I can assure you that both gettext-tiny and musl's gettext are completely usable. Enjoy your translations from now! These are the patches for musl, if you can't wait for 1.1.17:https://git.musl-libc.org/cgit/musl/commit/?id=01e6bbece2bdcac243cdb8dff6916f2bb80a19e1https://git.musl-libc.org/cgit/musl/commit/?id=dbbb3734d8c0176feabd6c46e2e85bbc3b8a60afhttps://git.musl-libc.org/cgit/musl/commit/?id=16319a5df9d50cfc642ffc8db76bc36562d4b3ddhttps://git.musl-libc.org/cgit/musl/commit/?id=e4fc9ad780e36c84e1ed6b0fc01b3c53ae65ff9dhttps://git.musl-libc.org/cgit/musl/commit/?id=e6917eced2cc841fe3dfd9c04deec9202f9e34f3https://git.musl-libc.org/cgit/musl/commit/?id=d6601f0af0452b218d247cb47513fc9cd6bbf2e2 Best regards, xhe References: [0] - http://www.openwall.com/lists/musl/2015/04/16/1 [1] - https://github.com/sabotage-linux/sabotage [2] - https://github.com/xhebox/noname-linux