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

Re: Bug#746533: iso-codes: Incorrect Japanese translation of Maryland

(my answer CC'ed to debian-i18n as I think it contains useful
information for new translators)

From a bug report in iso-codes.

Quoting Steve Wooster (swooster@submitnet.net):
> Package: iso-codes
> Version: 3.52
> Severity: normal
> Tags: l10n
> Dear Maintainer,
> iso-codes 3.52 appears to have an incorrect Japanese translation for
> Maryland
> (LR-MY and US-MD); it says アイスランド ("aisurando", which I assume is the
> Japanese name for Iceland). Google Translate suggested writing Maryland as
> メリーランド("mariirando"), which looks reasonable to me.

Hi Steve,

The translation is technically not incorrect. Let me explain.

In the PO file, this string was marked as "fuzzy". It indeed really
has the translation of "Iceland". Being marked "fuzzy", it won't be
used by gettext when the PO file is compiled to an MO file. The fuzzy
marker indeed says to translators "hey guys, look at this string, it
recently changed and needs your attention".

In this case, this is the result of "fuzzy matching", a feature of
gettext. When the "Maryland" string was added to the English strings,
gettext looked into the PO file to find a "similar" string and found
out "Iceland". Then it included the Japanese translation of "Iceland"
but included a fuzzy marker so that it's not used until corrected
(correcting it will remove the fuzzy marker).

This is a useful feature for longer strings.

For instance, let's say you have software with that string:
"Hello world"

The French translator works on the PO file and translates it to
msgid "Hello world"
msgstr "Bonjour le monde"

Later on, the software developer adds another string:
"Hello nice world"

The, gettext will be smart and re-use the French translation when it
syncs the PO file:
#, fuzzy
msgid "Hello gentle world"
msgstr "Bonjour le monde"

It even optionnally adds of "former string" marker (this is the
"--previous" option of the msgmerge utility):
#, fuzzy
#| msgid "Hello world"
msgid "Hello gentle world"
msgstr "Bonjour le monde"

That virtuallyl says "hey folks, this is a new string, but I found a
similar string and I've been kind to you and re-used your
translation. However, you need to correct it by comparing both
original and new versions".

Then, the French translator comes on that PO file and checks fuzzy
strings. (s)he finds out this new string and is happy that part of
his|her former translation is already there and (s)he just has to add
the missing part:
msgid "Hello gentle world"
msgstr "Bonjour le joli monde"

The fuzzy marker is removed and, with minimal hassle, the translator
could update. Translators are lazy people.

Even better, is (s)he uses some smart software to update PO files,
this software can show him|her the difference between the former
string and the new one so that (s)he can see that the change was the
addition of the "gentle" word. This is very useful in very long
strings when only one word is changed and makes it hard to spot what
needs to be updated.

I hope this will be useful to you and, indeed, I'm happy to have taken
this opportunity to better explain fuzzy matching and "--previous" and
why it is good to use good software to edit PO files...:-)

Back to iso-codes: admitedly "fuzzy matching" is not very useful in
this software, because strings are very short and there is indeed no
strong relation between Iceland and Maryland...:-). Still, it was
useful, for instance, when "South Sudan" was added because the
translation of "Sudan" could be put with fuzzy matching....

Finally, I fixed things in the ISO-3166-2 Japanese translation by using
your proposal....and now, Maryland is properly translated in Japanese
in that file in our git repository...;-)

Attachment: signature.asc
Description: Digital signature

Reply to: