Man-1.6d and i18n in {C,}LFS

Alexander E. Patrakov patrakov at
Sat Jun 17 02:08:00 PDT 2006


Freshmeat lists man-1.6d as a new release today. However, all i18n problems in 
earlier releases of Man are still there.


1) in de_DE.UTF-8 locale, one gets:

$ man moo
Keine Handbuchseite f*r moo

where "*" denotes invalid UTF-8 sequence (actually, unconverted ISO-8859-1 
character). This problem exists with all UTF-8 locales, and can be solved either 
by switching from catgets to gettext, or by reinventing the wheel. Just 
"constructing locale settings for gencat" (citation is from the changelog) is 
not enough. Workaround: compile with "+lang none".

2) the Japanese special case still has the form:

is_japanese = (lang && strncmp(lang, "ja", 2) == 0);

while the "nippon" device in Debian-patched Groff is not only for Japanese.

Solution: wait for proper Groff support (available in CVS) and remove this 
special case.

3) there is still non-trivial configuration required for formatting manual pages 
in UTF-8 locales.

Solution: wait for proper Groff support (available in CVS), invent a mechanism 
for auto-guessing Groff arguments (easy if one converts all manual pages to 
UTF-8 because there is no guessing required then, but that's a huge task for 
BLFS, while a transition period where some pages are converted and others stay 
unconverted cannot be tolerated).

So I still recommend LFS to go with Man-DB that is indeed far more rigid, but 
works out of the box. After LFS-6.2 release, this can be changed if a CVS 
version of Groff is acceptable.

I admit that I took the responsibility to help with i18n issues in Man, but did 
not submit any patches.

Alexander E. Patrakov

More information about the lfs-dev mailing list