mailing list of musl libc
 help / color / mirror / code / Atom feed
* [xhe] gettext-tiny 0.2.0 released, intl is now completely usable
@ 2017-08-02 15:49 He X
  2017-08-02 15:56 ` Rich Felker
  2017-08-02 16:27 ` A. Wilcox
  0 siblings, 2 replies; 4+ messages in thread
From: He X @ 2017-08-02 15:49 UTC (permalink / raw)
  To: musl; +Cc: maillist-musl

[-- Attachment #1: Type: text/plain, Size: 3157 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 4202 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-08-03  1:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-02 15:49 [xhe] gettext-tiny 0.2.0 released, intl is now completely usable He X
2017-08-02 15:56 ` Rich Felker
2017-08-02 16:27 ` A. Wilcox
2017-08-03  1:58   ` He X

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).