Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Dec 2000 08:13:14 +1100
From:      Peter Jeremy <peter.jeremy@alcatel.com.au>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        arch@FreeBSD.ORG
Subject:   Re: %a and %A formats
Message-ID:  <20001214081314.D69646@gsmx07.alcatel.com.au>
In-Reply-To: <200012132008.NAA10673@usr08.primenet.com>; from tlambert@primenet.com on Wed, Dec 13, 2000 at 08:08:59PM %2B0000
References:  <3A37CB39.C2E8AA67@cup.hp.com> <200012132008.NAA10673@usr08.primenet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2000-Dec-13 20:08:59 +0000, Terry Lambert <tlambert@primenet.com> wrote:
>> Using indexes to refer to the arguments (vectors) has an advantage for
>> i18n. The order of the arguments is related to the language and some
>> translations produce better messages if the order of the arguments isn't
>> fixed.
>
>Having been forced down this route before, I can tell you that
>it is an _incredibly_ shortsighted thing to do to localize
>kernel messages or log messages.

I agree with this viewpoint - but since I don't read any other
languages, I could be considered partisan :-).  I'd be interested in
opposing arguments from some EASL[*] developers.

The kernel source code (including the occasional comment) is roughly
English.  Anyone able to understand the source code can presumably
understand the messages (or at least find them with grep).  (The
counter-argument is that you shouldn't need to read the source to
work out what a kernel message means).

IMHO, one thing that developers can do to help non-English developers
would be to avoid the use of abbreviations messages.  In my first job,
I was maintaining code where the comments were in a mixture of English
and Flemish[#].  Understanding the abbreviated Flemish was not easy
:-).  At least with a complete word, an English-??? dictionary might
provide a non-English speaker with some insight.

>  Some SMTP servers actually translate these status codes into other
>languages (I've seen German and French).

Which is why MTAs interpret the error number, rather than message.

>For log messages, the appropriate method is to create a format
>for logging that gives parametric, machine-parsable logs, and
>then to localize the logs on viewing.

Agreed.  It's far better to log everything and summarise it for
the sysadmin, rather than just log things that are critical.  In
the latter case, you will know something happened, but the back-
ground information to understand why it happened is probably in
the bit-bucket.

>Kernel messages are, likewise, an issue of status or exceptional
>condition reporting.  It _may_ not be justified to go the whole
>AIX route and assign facility and error numbers for kernel
>messages...

Having a unique error number associated with each error message makes
it a lot easier to look that error message up in a manual to find out
more about it.  Though I suspect it'll be some time before FreeBSD has
a messages manual along the lines of an Oracle or IBM product :-).

> I'd argue that most of them aren't in English,
>anyway, and are untranslatable.

For many technical terms, other languages have inherited the English
word in any case.  The following messages would probably be equally
[un]intelligible to a sysadmin of any linguistic background irrespective
of the language they were translated into (about the only critical word
would be distinguishing `master' from `slave' in the disk probe).

fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0x6c00-0x6c3f mem 0xe5800000-0xe58fffff,0xe5904000-0xe5904fff irq 9 at device 11.0 on pci0
ad2: 1222MB <QUANTUM FIREBALL_TM1280A> [2484/16/63] at ata1-master using WDMA2
arp: 192.168.156.130 moved from 08:00:2b:c4:f6:73 to 00:00:f8:10:98:05 on vlan2

[*] English as a second language

[#] Spoken in parts of Belgium, very similar to Dutch.

Peter


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001214081314.D69646>