From: Koblinger E. <eg...@uh...> - 2006-05-31 14:16:44
|
On Wed, May 31, 2006 at 08:38:38AM -0400, Joseph H Allen wrote: > I'll take a look at some of these GNU tools today and get back to you. I > didn't notice any special support for this in gettext(), so either I missed > it, it's somewhere else, or they just have some ad-hoc acceptance of letters > for many different languages. These are defined in glibc locales, their source is probably installed under /usr/share/i18n, and you can query the locale database by "locale -k LC_MESSAGES", here you'll see "yesexpr" and friends. So there's only a common solution for yes/no questions. The libc interface is the int rpmatch(const char *reply) function. In joe there are many different kinds of questions, e.g. (S)teel, (I)gnore or (Q)uit, and similar ones. So sure an own implemntation is needed to be able to translate these three letters. Sending these letters (well, better: letter sets) to gettext is a quite good idea. (Actually it seems to me now that GNU coreutils also uses an own implemntation of rpmatch instead of using libc, it takes the "yes" and "no" regexps from gettext.) Just be sure to prefix all these letters with some context prefix so that what happens to be the same letter in English in two completely different circumstances are not necessarily the same in other languages. > I'm curious how they support UTF-8 for this. I don't know, but if you translate these letters via gettext then it's up to you ;) -- Egmont |