[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: proper names

From: Bruno Haible
Subject: Re: proper names
Date: Thu, 7 Sep 2006 15:08:57 +0200
User-agent: KMail/1.9.1

Paul Eggert wrote:
> First, the problem occurs not only with proper names, but with any
> text string that is English but not ASCII.  English mostly uses plain
> ASCII, but there are exceptions.  Many of the exceptions are words
> like naïve that most people will accept in ASCII versions, but some
> English words (e.g., soupçon) simply do not look right in ASCII.

It's a similar problem with "soupçon" or "©" as for proper names, but the
output and the handling is different.
  - For a string like "He showed a soupçon of pride" you want to rely
    entirely on the translator and drop the English original if a
    translation is present.
  - For a proper name, one should show the English name beneath the
    translation, because
    1. the person might not want to see his/her name distorted,
    2. so that the user can enter the name in search engines or similar.
  - For "©", you don't want to bother the translator at all - it's an
    application of iconv(), not of iconv()+gettext().

> Second, this code does not look right:
> >       /* See whether the translation contains the original name.  */
> >       if (strstr (translation, name) != NULL)
> Some translations might contain the name accidentally.
> As an extreme case, the proper name "Z" (see
> <http://itre.cis.upenn.edu/~myl/languagelog/archives/002480.html>)
> might have a translation that contains the letter "Z".

OK, I'll make the test stricter, testing whether the occurrence of
trim (name) inside the translation starts and ends at word boundaries.

> Conversely, perhaps the translation might contain the original proper
> name using slightly-different letters, which look nicer but which
> strstr thinks are different.

In this case, I think it's ok to show the original name in parentheses,
for the two reasons stated above.

> For example, the original proper name
> might be "Georgia O'Keefe" but the translation might say "<something
> or other> (Georgia O’Keefe)", with a right single quotation mark
> (U+2019) rather than an apostrophe (U+0027).  We don't want the output
> to be "<something or other> (Georgia O’Keefe) (Georgia O'Keefe)".

The translation is not supposed to repeat the English name. If a translator
adds the English name in parentheses, her users will tell her about it,
and she will eventually remove it. (Like what happened with the German
make.po file: When you introduced 'quotearg', make's German output looked like
this:  "Nothing to be done for »»all««." Until the translator eventually
removed her pair of quotation characters.)

Furthermore, if you call
    proper_name_utf8 ("Georgia O'Keefe", "Georgia O’Keefe")
the function will test whether it finds either of the two spellings among
the translation. This should also be sufficient to avoid an output
"<something or other> (Georgia O’Keefe) (Georgia O'Keefe)".

> If the convention is that translations of the form "X (Y)" are to be
> treated specially

I see no reason to do so.

> I suggest that code simply look for the last
> character being ')', rather than looking for an instance of "Y" in the
> translation.

The person has a right to see his/her name spelled out correctly. Omitting
it when the translation ends in ')' would work for other use cases, but
not for proper names.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]