Standard gettext PO format
Josef Spillner
spillner at kde.org
Fri Dec 30 13:23:17 GMT 2005
El Viernes, 30. Diciembre 2005 13:05, Chusslove Illich escribió:
> First, if LC_ALL is not set to some existing system locale, or set to
> POSIX, or not set at all, Gettext will not provide translation. No matter
> what is in LANGUAGE, or anywhere else. Bruno Haible, the maintainer of
> Gettext, says this behavior is not a bug, but prescribed by POSIX.
setlocale(LC_ALL, "") is commonly needed for all gettext'ized programs. This
is not news. I'd simply summarise the above as: is is a strange behaviour
prescribed by POSIX.
> Second, current KDE code has a feature that when KCatalog is destroyed, the
> catalog file is "unloaded". Gettext has no such explicit provision. What
> is the need of this unloading, is there a situation in KDE where catalogs
> could just accumulate and accumulate?
Note that when unloading is not in place, you really need to increase the
(external) _nl_msg_cat_cntr variable, or otherwise cached results might give
back wrong translation values.
> Third, there is no way to tell if Gettext found a translation, or just
> returned a fallback string. If the language priority is not handled by
> Gettext, as I did above, than I must consider translation equal to
> fallback as translation not being found (and then check next language in
> queue). This might be no issue, but it is dirty and I feel uncomfortable.
Another reason to request some changes in gettext. In fact there are a lot of
functions which should be added while still retaining backwards
compatibility, like the above or the ability to load catalogs directly
(specifying a file name).
Josef
More information about the kde-core-devel
mailing list