Messages in this thread |  | | Date | Thu, 16 Jan 1997 23:49:10 +0000 | From | William Sowerbutts <> | Subject | Re: Jive -> Kernel (International Linux) |
| |
>> To get more clever, we could do it at run-time. Have a universal "text >> constants heap" somewhere in the kernel/ directory, say a new file >> called "language.c": >> >[snip details] > >I don't know how much kernel bloat that'd cause, but I think that >defaulting to English in the absence of a translation for a given string >might be harder to do well.
Harder, yes, but what would you rather hear ... "Your disk is knackered" or "[silence]"? If no message is available in the local dialect, the kernel should at least be able to print *some* sort of message.
Personally, I believe that putting all of the text into the kernel isn't such a bad idea; after all we need to recompile the kernel when we change network interface cards, why not when we change languages? on the other hand, if many people are going to be using the system, it may be better to allow people to read their own language database off disk and replace the one in memory.
So, forget that. I propose the following solution: The kernel contains all of the messages in English. If the user wants to, they may override some of the messages with their own langauge; if a message isn't overridden the English default is used. Perhaps the memory used up for the English default could be freed in some way?
Of course, I've no idea how to code this, I'm not a kernel hacker ;) Maybe an "enhanced_printk" type function? This would allow existing kernel code to function, but new code could supplement the existing code. The enhanced_printk function could be implemented merely as a wrapper around the existing printk?
_________________________________________________________________________ William R Sowerbutts (BtG) btg@thepentagon.com Coder / Guru / Nrrrd http://www.users.dircon.co.uk/~guru/ main(){char*s=">#=0> ^#X@#@^7=";int c=0,m;for(;c<15;c++)for (m=-1;m<7;putchar(m++/6&c%3/2?10:s[c]-31&1<<m?42:32));}
|  |