Subject: Re: bug#19503: most translations of proper names aren't being used

From: Pádraig Brady <[email-masked]>
Date: Sun, 04 Jan 2015 15:53:38 +0000

On 04/01/15 11:14, Benno Schulenberg wrote:
> 
> Hi,
> 
> Just now I noticed that 'du --version | tail -2' produces here this:
> 
> Verkita de Torbjern GRANLUND (Torbjörn Granlund), David MacKenzie, Paul Eggert
> kaj Jim Meyering.
> 
> whereas I expected it to produce this:
> 
> Verkita de Torbjern GRANLUND (Torbjörn Granlund), David MEKENZI (David MacKenzie), Paŭl EGERT (Paul Eggert)
> kaj Ĝim MEJERING (Jim Meyering).
> 
> Quite a few languages transcribe proper names to their own
> writing system and phonology.  But coreutils, when a proper
> name does not contain any UTF-8 characters, defines away the
> propername() function, thus ignoring any transcription that
> translators made for this name.  I think this is wrong and
> that propername() should always be used, or at least that
> disabling it should be optional.
> 
> If however propername() is never going to be used, then please
> don't waste translator time by marking proper names as
> translatable/transcribable.
> 
> The propername() function is defined to a noop in the system.h
> file with the argument that it saves 17K on each executable.
> But... shouldn't propername() be a library function that isn't
> actually included into each and every util?

Yes this isn't ideal.

tl;dr I'm thinking of just adding ASCII author names,
and removing using of proper_name.

For reference, details on proper_name() are at:
http://www.gnu.org/software/gettext/manual/html_node/Names.html

I'm not sure why proper_name() hasn't been made available in
the gettext shared libs. If that was the case then we would
probably enable unconditionally.

However the 17K extra per util is too much for the feature IMHO.
As a side note, that wouldn't be an issue when building as a multi-call binary
which is an optional feature new in v8.23.

proper_name_utf8() is primarily used so that we're not
outputting non ASCII chars in the C "locale" for example.

Getting into the feature itself, it's handy to have the
transliteration done inline, though it can be done independently.
Given the transliteration can be done independently, and since
only a few locales are providing transliterations,
I'm inclined to not use proper_name() at all and remove
that task from translators.

Now we could add some dependence and be more correct, by
adding pronunciation hints to the comments like:
  Pronunciation is like "Pawrig Brady" (Pɒrɪg Bredi)
However personally I don't care how my name is pronounced,
and think people tend to pattern match here anyway, rather
than care about pronunciation.

Also there is the more general point about how correct
it is to attribute a program to author(s) in any case,
as that tracked to a much more accurate level of detail
by git blame etc.  Should we be removing output of
author names at runtime completely?

thanks,
Pádraig.