|
|
Subscribe / Log in / New account

Re: [PATCH 36/38] vfs: Add a sample program for the new mount API [ver #10]

From:  Linus Torvalds <torvalds-AT-linux-foundation.org>
To:  David Howells <dhowells-AT-redhat.com>
Subject:  Re: [PATCH 36/38] vfs: Add a sample program for the new mount API [ver #10]
Date:  Tue, 31 Jul 2018 14:21:09 -0700
Message-ID:  <CA+55aFx9yo-n=d5G4-xHB8PCy_8BkCQP2L+C_QvuediufZzHvQ@mail.gmail.com>
Cc:  Pavel Machek <pavel-AT-ucw.cz>, Matthew Wilcox <willy-AT-infradead.org>, "Theodore Ts'o" <tytso-AT-mit.edu>, Al Viro <viro-AT-zeniv.linux.org.uk>, linux-fsdevel <linux-fsdevel-AT-vger.kernel.org>, Linux Kernel Mailing List <linux-kernel-AT-vger.kernel.org>
Archive-link:  Article

On Tue, Jul 31, 2018 at 2:00 PM David Howells <dhowells@redhat.com> wrote:
>
> IIRC, Windows DLL translation tables get around this by having format-string
> tables with numbered parameter substitution markers.

That's what gettext() does too.

It's one of the reasons I *really* don't want to have this be an issue
at all in the kernel. It's just too painful and nasty for words.
People get it wrong all the time.

And even when you do it, you have issues with plural endings (which
also have markers so that you *can* get it right, and nobody ever
does) etc etc.

Really. No translation. No design for translation. It's a nasty nasty
rat-hole, and it's a pain for everybody.

There's another reason I _fundamentally_ don't want translations for
any kernel interfaces. If I get an error report, I want to be able to
just 'git grep" it. Translations make that basically impossible.

So the fact is, I want simple English interfaces. And people who have
issues with that should just not use them. End of story. Use the
existing error numbers if you want internationalization, and live with
the fact that you only get the very limited error number.

It's really that simple.

                   Linus


to post comments

Re: [PATCH 36/38] vfs: Add a sample program for the new mount API [ver #10]

Posted Aug 5, 2018 19:55 UTC (Sun) by hmh (subscriber, #3838) [Link] (2 responses)

When you can afford to go the long way, and you really need the messages l10n'd, there is the old message catalog thing IBM did for their big iron since the 80's, if not earlier: every message has a (large but somewhat human-friendly) unique identifier, that always precedes it in all caps.

And you'd get large (printed and bound) volumes with full catalogs of all of those codes with detailed information pertaining to that message, etc.

It is not cheap in the least, you need to care for those as if they were ABIs. But it does get the job properly done, since the message ids are even better search anchors than their English reading...

Re: [PATCH 36/38] vfs: Add a sample program for the new mount API [ver #10]

Posted Aug 9, 2018 10:30 UTC (Thu) by Wol (subscriber, #4433) [Link] (1 responses)

Okay, this is a database program, but Pick internationalises itself with a database table of all its messages.

So you search the table for your message, then find out what the message ID means. Pretty much the same as the IBM approach :-)

Cheers,
Wol

Re: [PATCH 36/38] vfs: Add a sample program for the new mount API [ver #10]

Posted Aug 9, 2018 13:48 UTC (Thu) by hmh (subscriber, #3838) [Link]

Well, IBM made sure the user-visible message was always prefixed by the "catalog id" in roman characters, so you could understand it using a paper translation catalog even if the machine wrote it out in gibberish-klingon-with-the-wrong-codepage...

In other words, user-consumable error codes were sort of unique per message/meaning, always displayed along with the error message, and always in the same format.

But yeah, it is the same basic idea indeed.


Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds