From: "Riley Williams" <Riley@Williams.Name>
To: "Linus Torvalds" <torvalds@transmeta.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: kernel support for non-English user messages
Date: Thu, 10 Apr 2003 10:05:17 +0100 [thread overview]
Message-ID: <BKEGKPICNAKILKJKMHCAGEPFCFAA.Riley@Williams.Name> (raw)
In-Reply-To: <b72n7h$fgd$1@penguin.transmeta.com>
[-- Attachment #1: Type: text/plain, Size: 2299 bytes --]
Hi Linus.
>> I wish to suggest a possible 2.6 or 2.7 feature (too late for
>> 2.4.x and 2.5.x, I believe) that I believe would be helpful.
>> Currently, printk messages are all in English, and I was
>> wondering if printk could be modified to print out user
>> messages that are in the default language of the machine.
> This has come up before.
>
> The answer is: go ahead and do it, but don't do it in the kernel.
> Do it in klogd or similar.
>
> I refuse to clutter the kernel with inane and fragile (and totally
> unmaintainable) internationalization code. The string lookup can
> equally well be done in user space where it isn't a stability and
> complexity issue.
Whilst I agree with the general sentiments above, any such code would
require some sort of code attached to each message for it to look up,
with the standard English message tagged on to the end for systems
where the translation code isn't in use.
At the moment, printk() calls are supposed to have a string along the
lines of "<2>" prepended onto each line. Can I ask whether you have
any objection in principle to this being changed to something along
the lines of <2:xxxx> where the xxxx is a code to enable translation
systems to index that message?
This would probably require the current macros used to prepend the
relevant string to be changed to macro functions such that...
printk(KERN_ERR "Sample error message.\n");
...would become...
printk(KERN_NO(KERN_NO_ERR,"1234") "Sample error message.\n");
...and would result in...
"<3:1234>Sample error message.\n"
...being printed out. The change of macro name is specifically for
backwards compatibility, and the resulting system would allow the
actual messages to be changed over time rather than all at once.
If this is acceptable, then the patch to make all relevant changes
against the 2.5.67 kernel tree is attached. This patch assigns the
message number 0000 to all current messages, thus reserving that
number as "Not yet numbered" as far as translation software is
concerned.
Best wishes from Riley.
---
* Nothing as pretty as a smile, nothing as ugly as a frown.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.470 / Virus Database: 268 - Release Date: 8-Apr-2003
[-- Attachment #2: Linux-Logging-2.5.67.diff --]
[-- Type: application/octet-stream, Size: 1781 bytes --]
--- include/linux/kernel.h~ Mon Apr 7 18:30:33 2003
+++ include/linux/kernel.h Thu Apr 10 09:58:13 2003
@@ -29,18 +29,29 @@
#define STACK_MAGIC 0xdeadbeef
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
#define ALIGN(x,a) (((x)+(a)-1)&~((a)-1))
-#define KERN_EMERG "<0>" /* system is unusable */
+#define KERN_NO_EMERG "0" /* system is unusable */
-#define KERN_ALERT "<1>" /* action must be taken immediately */
+#define KERN_NO_ALERT "1" /* action must be taken immediately */
-#define KERN_CRIT "<2>" /* critical conditions */
+#define KERN_NO_CRIT "2" /* critical conditions */
-#define KERN_ERR "<3>" /* error conditions */
+#define KERN_NO_ERR "3" /* error conditions */
-#define KERN_WARNING "<4>" /* warning conditions */
+#define KERN_NO_WARNING "4" /* warning conditions */
-#define KERN_NOTICE "<5>" /* normal but significant condition */
+#define KERN_NO_NOTICE "5" /* normal but significant condition */
-#define KERN_INFO "<6>" /* informational */
+#define KERN_NO_INFO "6" /* informational */
-#define KERN_DEBUG "<7>" /* debug-level messages */
+#define KERN_NO_DEBUG "7" /* debug-level messages */
+
+#define KERN_NO(x,y) "<" x ":" y ">"
+
+#define KERN_EMERG KERN_NO(KERN_NO_EMERG, "0000")
+#define KERN_ALERT KERN_NO(KERN_NO_ALERT, "0000")
+#define KERN_CRIT KERN_NO(KERN_NO_CRIT, "0000")
+#define KERN_ERR KERN_NO(KERN_NO_ERR, "0000")
+#define KERN_WARNING KERN_NO(KERN_NO_WARNING,"0000")
+#define KERN_NOTICE KERN_NO(KERN_NO_NOTICE, "0000")
+#define KERN_INFO KERN_NO(KERN_NO_INFO, "0000")
+#define KERN_DEBUG KERN_NO(KERN_NO_DEBUG, "0000")
extern int console_printk[];
#define console_loglevel (console_printk[0])
#define default_message_loglevel (console_printk[1])
next prev parent reply other threads:[~2003-04-10 8:53 UTC|newest]
Thread overview: 137+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-09 5:02 kernel support for non-english " Frank Davis
2003-04-09 5:29 ` Oliver Neukum
2003-04-09 5:50 ` Frank Davis
2003-04-09 9:37 ` Bernd Petrovitsch
2003-04-09 11:04 ` Alan Cox
2003-04-09 5:53 ` Andreas Dilger
2003-04-09 8:08 ` Matti Aarnio
2003-04-09 9:33 ` Oliver Neukum
2003-04-09 10:24 ` Matti Aarnio
2003-04-09 22:07 ` Werner Almesberger
2003-04-09 22:41 ` Frank Davis
2003-04-09 22:55 ` Ulrich Drepper
2003-04-09 23:53 ` Johannes Ruscheinski
2003-04-10 1:43 ` Richard B. Johnson
2003-04-10 18:57 ` Alan Cox
2003-04-10 20:13 ` Trond Myklebust
2003-04-10 19:42 ` Alan Cox
2003-04-11 0:48 ` Christer Weinigel
2003-04-11 15:56 ` Daniel Stekloff
2003-04-10 20:53 ` Richard B. Johnson
2003-04-10 23:05 ` Jon Portnoy
2003-04-11 5:39 ` DevilKin
2003-04-11 5:49 ` Arnaldo Carvalho de Melo
2003-04-11 6:17 ` DevilKin
2003-04-11 17:51 ` Randy.Dunlap
2003-04-11 11:57 ` Helge Hafting
2003-04-11 17:55 ` David Lang
2003-04-10 20:36 ` John Bradford
2003-04-10 22:20 ` Shaya Potter
2003-04-11 4:19 ` Valdis.Kletnieks
2003-04-11 4:23 ` Shaya Potter
2003-04-11 8:40 ` Henning P. Schmiedehausen
2003-04-11 9:09 ` John Bradford
2003-04-11 10:59 ` Valdis.Kletnieks
2003-04-11 11:11 ` John Bradford
2003-04-11 11:40 ` Helge Hafting
2003-04-24 23:25 ` versioned filesystems in linux (was Re: kernel support for non-english user messages) Stewart Smith
2003-04-25 7:14 ` John Bradford
2003-04-25 15:20 ` Matthew Sell
2003-04-25 15:45 ` Richard B. Johnson
2003-04-25 16:18 ` versioned filesystems in linux (was Re: kernel support for John Bradford
2003-04-25 17:06 ` Richard B. Johnson
2003-04-25 17:48 ` Valdis.Kletnieks
2003-04-25 19:38 ` H. Peter Anvin
2003-04-25 21:21 ` 9-track tape drive (Was: Re: versioned filesystems in linux) John Bradford
2003-04-25 21:22 ` H. Peter Anvin
2003-04-25 21:31 ` Mike Dresser
2003-04-26 6:32 ` H. Peter Anvin
2003-04-26 6:57 ` John Bradford
2003-04-25 18:13 ` versioned filesystems in linux (was Re: kernel support for John Bradford
2003-04-25 18:34 ` Richard B. Johnson
2003-04-10 8:19 ` kernel support for non-english user messages Oliver Neukum
2003-04-09 13:11 ` Giuliano Pochini
2003-04-10 3:08 ` Linus Torvalds
2003-04-10 9:05 ` Riley Williams [this message]
2003-04-10 17:35 ` kernel support for non-English " Linus Torvalds
2003-04-10 18:32 ` John Bradford
2003-04-12 2:55 ` Chris Wedgwood
2003-04-09 19:01 kernel support for non-english " Perez-Gonzalez, Inaky
2003-04-09 19:25 Perez-Gonzalez, Inaky
2003-04-09 23:31 Jim Keniston[UNIX]
2003-04-10 19:01 ` Alan Cox
2003-04-11 9:21 ` kernel support for non-English " Riley Williams
2003-04-11 12:16 ` Alan Cox
2003-04-11 13:39 ` John Bradford
2003-04-11 13:11 ` Alan Cox
2003-04-11 14:48 ` John Bradford
2003-04-10 10:47 kernel support for non-english " Ruth Ivimey-Cook
2003-04-10 19:21 Perez-Gonzalez, Inaky
2003-04-10 20:41 ` Robert White
2003-04-11 9:21 ` kernel support for non-English " Riley Williams
2003-04-11 20:49 ` Robert White
2003-04-11 22:53 ` Riley Williams
2003-04-15 3:44 ` Robert White
2003-04-15 11:08 ` Alan Cox
2003-04-15 11:08 ` Alan Cox
2003-04-15 14:07 ` Timothy Miller
2003-04-11 21:04 ` Ruth Ivimey-Cook
2003-04-11 21:31 ` Daniel Stekloff
2003-04-10 20:54 kernel support for non-english " Chuck Ebbert
2003-04-10 21:08 ` Bernd Petrovitsch
2003-04-10 21:20 Perez-Gonzalez, Inaky
2003-04-10 22:06 ` Andreas Dilger
2003-04-11 7:38 ` Ville Herva
2003-04-10 22:13 Chuck Ebbert
2003-04-10 22:33 ` Stephen Hemminger
2003-04-10 23:23 Chuck Ebbert
2003-04-11 10:10 Chuck Ebbert
[not found] <20030409051006$1ecf@gated-at.bofh.it>
[not found] ` <20030409081011$5257@gated-at.bofh.it>
[not found] ` <20030409221017$6c98@gated-at.bofh.it>
[not found] ` <20030409225009$2558@gated-at.bofh.it>
[not found] ` <20030410014009$78fb@gated-at.bofh.it>
[not found] ` <20030410200019$3e8f@gated-at.bofh.it>
[not found] ` <20030410202016$7d48@gated-at.bofh.it>
2003-04-11 11:29 ` Tim Connors
2003-04-11 13:17 kernel support for non-English " Chuck Ebbert
2003-04-11 13:40 ` John Bradford
2003-04-16 1:59 ` Gerrit Huizenga
2003-04-16 14:28 ` Timothy Miller
2003-04-16 14:37 ` Alan Cox
2003-04-16 16:20 ` Timothy Miller
2003-04-16 17:04 ` Bruce Harada
2003-04-16 18:34 ` Timothy Miller
2003-04-16 18:37 ` Bruce Harada
2003-04-11 14:37 ` Richard B. Johnson
2003-04-11 16:00 ` Linus Torvalds
2003-04-12 8:22 ` Kai Henningsen
2003-04-12 11:08 ` John Bradford
2003-04-11 14:52 Paolo Ciarrocchi
2003-04-11 16:57 Chuck Ebbert
2003-04-11 17:38 ` Richard B. Johnson
2003-04-11 18:10 ` Matti Aarnio
2003-04-11 20:02 kernel support for non-english " Perez-Gonzalez, Inaky
[not found] <A46BBDB345A7D5118EC90002A5072C780BEBA7DD@orsmsx116.jf.inte l.com>
2003-04-11 20:55 ` Ruth Ivimey-Cook
2003-04-11 22:21 kernel support for non-English " Chuck Ebbert
2003-04-11 22:53 ` Martin J. Bligh
2003-04-12 7:55 ` John Bradford
2003-04-12 7:48 ` John Bradford
2003-04-14 11:40 ` Denis Vlasenko
2003-04-14 12:55 ` John Bradford
2003-04-14 17:29 ` Linus Torvalds
2003-04-14 18:15 ` John Bradford
2003-04-14 23:04 ` Felipe Alfaro Solana
2003-04-15 13:21 ` Alex Combas
2003-04-15 18:02 ` Eric Altendorf
2003-04-17 13:46 ` Alan Cox
2003-04-17 15:07 ` Randolph Bentson
2003-04-17 18:49 ` Eric Altendorf
2003-04-14 13:18 ` Sean Neakums
2003-04-14 14:23 ` Valdis.Kletnieks
2003-04-16 5:03 ` Denis Vlasenko
2003-04-11 23:36 Jim Keniston[UNIX]
2003-04-11 23:38 Chuck Ebbert
2003-04-12 9:52 Chuck Ebbert
2003-04-12 15:20 Chuck Ebbert
2003-04-12 15:34 ` Alan Cox
2003-04-12 17:22 ` Robert P. J. Day
2003-04-13 3:59 ` Martin J. Bligh
2003-04-13 6:21 ` John Bradford
2003-04-12 16:47 Chuck Ebbert
2003-04-12 20:31 Chuck Ebbert
2003-04-14 9:07 ` Denis Vlasenko
2003-04-14 21:27 Chuck Ebbert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BKEGKPICNAKILKJKMHCAGEPFCFAA.Riley@Williams.Name \
--to=riley@williams.name \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®