Re: Jive -> Kernel (International Linux)

Jason McMullan (jmcc@yop.vi.ri.cmu.edu)
20 Jan 1997 18:57:20 GMT


Tomasz Motyleswki (motylews@cobra.urz.unibas.ch) wrote:
>
> On Sat, 18 Jan 1997, David Woodhouse wrote:
>
> > There are two options here - either allow for dynamic changing of
> > language, which presents a few problems, not of which are insurmountable,
> > or compile the new language directly into the kernel. Personally, I'd
> > prefer the latter option, as it will be simpler to implement and maintain.
>
> 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.
>
> [snip snip]
>
> Let us assume that someone writes a very clever script analysing
> /ver/log/syslog and undertaking varius actions. You change language - it will
> be broken. (Like Internet Assistant for Polish and most other versions of MS
> Word (even the macro language there is in Polish ;-) )

I've been following this discussion, and it seems that the best approach
would be to have a new interface to klogd, that puts out '[nn]' prefixed
strings, followed by a default english interpretation. This way all
translating lookup can be done in user space...

(I just cam up with this - there's probably lots of holes in it..)

-- Old code that hasn't been changed yet --
...
printk(KERN_ERR "sc887CT: Disk hosage has occured on platter %d\n",platterid);
...
-- New and Improved! Visual Internationalized(TM) Code++!
...
#define KID_DEVICE_AHA9800 (KTYP_BUS_SCSI|0x7381)
#define KID_DEVICE_SC887CT (KTYP_DEVICE_DISK|0x7382) /* 0x7382 is unique */
#define KID_DEVICE_MACH128 (KTYP_DEVICE_DISPLAY|0x7383)
...
klogmsg(KID_DEVICE_AHA9800,KMSG_ERR,
KMSG_BUS_FAILURE|KMSG_SEEK_ERROR,seeknum,seekdata);

---- Kernel to klogd-lang -----
<6>sc887CT: Disk hosage has occured on platter 3
[6] 0x12347382 0x07600020 0x00000005 0x00000201
<6>AHA9800: Scsi Bus Failure: Seek error on seek 5, Host 0 Channel 0 Host 2 Lun 1

---- Klogd-lang to syslogd -----
========= No internationalization =============
<6>sc887CT: Disk hosage has occured on platter 3
<6>AHA9800: Scsi Bus Failure: Seek error on seek 5, Host 0 Channel 0 Host 2 Lun 1

========= 'Travel' internationalization ===========
<6>sc887CT: Disk hosage has occured on platter 3
<6>AHA9800: The Scsi greyhound has missed the stop at mile 5 of Highway 21 off of I00

========= 'VMS' internationalization =============
<6>sc887CT: Disk hosage has occured on platter 3
<6>AHA9800: SCSI-BUS-FAIL: SEEKERR DRIVE 0-0-2-1

etc...


--
Jason McMullan - Research Programmer, Robotics Institute, CMU

Me: http://www.ul.cs.cmu.edu/~jmcc Linux GGI: http://synergy.caltech.edu/~ggi