implement gettext message translation functions
authorRich Felker <dalias@aerifal.cx>
Sun, 27 Jul 2014 08:29:56 +0000 (04:29 -0400)
committerRich Felker <dalias@aerifal.cx>
Sun, 27 Jul 2014 08:29:56 +0000 (04:29 -0400)
commit2068b4e8911a3a49cded44b4568f6c943a8c98f8
treed662b28c1a9f87674d0bc25be051a8fb69312316
parentc5b8f1930512d206a7c1cf1093a4a47e1722a414
implement gettext message translation functions

this commit replaces the stub implementations with working message
translation functions. translation units are factored so as to prevent
pulling in the legacy, non-library-safe functions which use a global
textdomain in modern code which is using the versions with an explicit
domain argument. bind_textdomain_codeset is also placed in its own
file since it should not be needed by most programs.

this implementation is still missing some features: the LANGUAGE
environment variable (for multiple fallback languages) is not honored,
and non-default plural-form rules are not supported. these issues will
be addressed in a later commit.

one notable difference from the GNU implementation is that there is no
default path for loading translation files. in principle one could be
added, but since the documented correct usage is to call the
bindtextdomain function, a default path is probably unnecessary.
src/locale/bind_textdomain_codeset.c [new file with mode: 0644]
src/locale/dcngettext.c [new file with mode: 0644]
src/locale/intl.c [deleted file]
src/locale/textdomain.c [new file with mode: 0644]