Re: Jive -> Kernel (International Linux)

Ray Auchterlounie (rda@kythera.demon.co.uk)
Wed, 22 Jan 1997 11:53:38 GMT


In article <199701190631.RAA08572@snoopy.virtual.net.au> you wrote:
[...]
>>Please, do not do it ! Whatever language we present messages to the "end
>>user", there must be a possibility to see and save original, English messages.

I mostly agree with that, but it's worth pointing out that English may
not be the "original" language - non-english-speaking developers may
write comments / messages in their native language first and then
translate them (or ask someone else to do so). If the translation
isn't perfect then the non-English original may be more accurate.

[...]
> There is a simple solution to these 3 issues. Give every error message a
>unique number. In a previous large project I worked on (>900K lines of code)
>we had unique error numbers for all messages. When bug reports came in they
[...]

It doesn't have to be a number, simply a unique reference - you
probably want to number parts of the kernel separately eg. vfs:101.

Message text could be placed in a module, which would look it up using
the unique reference. Each language would be a different module (or
rather, same module, different strings). The kernel should fallback to
printing just the reference (and any data) if the message text module
can't be loaded.

This would give the following options:
* select one language and compile it into the kernel
* select a language module and load it (can be changed at any time)
* worried about kernel memory - have kerneld load/unload your
selected language module on demand
* really worried about kernel memory - don't use a language module
* language modules could be developed separately to the kernel
* binary modules for proprietary languages... ? :-)

Provided you always print the message reference with the full text,
retranslation could be done easily at any time (it should be fairly
easily to get both module and user-space translation programs from the
same source). Log-file parsing should be easier and more accurate
using the message reference rather than the text.

One thing this doesn't do is boot messages - but my feeling is that
with increasing use of modules, initrd etc., the number of boot
messages prior to module availability is small, (and shrinking ?).
The important ones could be kept as English-only - others can always
be translated later from the reference.

ray

-- 
Ray Auchterlounie                     <rda@kythera.demon.co.uk>
         "Forty Two! Is that all you've got to show for 
          seven and a half million years' work?"