To: Inkscape Translators' list
Cc: Christian Perrier, Debian-Installer co-ordinator (FYI ;) )
On 18/08/2007, at 12:53 AM, Xavier Conde Rueda wrote:
> Hi all,
>
> many thanks for your help! Anyway, I think developers should add
> comments explaining the meaning of these terms, so I'll open a
> bugzilla case for it too.
Actually, the Inkscape PO file explains a lot more terms than any =20
other graphics package I've translated.
The Best and the Worst in i18n Context
_________________________________________
BEST: The Debian Installer Level 1 file has excellent, detailed use =20
of contextual information.
WORST: GIMP is notorious for its cryptic strings and complete lack of =20=
context. When I queried some strings which were one character long =20
and had no explanation whatsoever, the developer responded curtly, =20
"You should know what it means." Gee, I should be an expert on all =20
aspects of software.
_________________________________________
Inkscape ranks close to the top. :)
However, that's because most PO files don't supply contextual =20
information. They should, if they want accurate translations.
I suggest Inkscape starts using the msgctxt [1] feature in the more =20
recent gettext packages. This feature has been created specifically =20
for contextual information, and works with translation memory, so we =20
don't have the context all mixed up with the string IDs.
Instead of:
msgid "action|Clone"
msgid "object|Clone"
(context should _never_ be quoted in the original string)
or
#, This is an action
msgid "Clone"
#, This is an object
msgid "Clone"
You have:
msgctxt "Action"
msgid "Clone"
msgstr ""
msgctxt "Object"
msgid "Clone"
msgstr ""
This is a much easier to manipulate with translation memory and =20
merging, and much less confusing, in every way.
Xavier, please quote your bug link here, and I'll add the info on =20
msgctxt. :)
from Clytie (vi-VN, Vietnamese free-software translation team / nh=C3=B3m =
=20
Vi=E1=BB=87t h=C3=B3a ph=E1=BA=A7n m=E1=BB=81m t=E1=BB=B1 do)
http://groups-beta.google.com/group/vi-VN
[1] GUI program support:
- PO files can now contain messages constrained to a certain context.
Most often such a context is a menu, dialog or panel =20
identification.
The syntax in the PO file is
msgctxt "context"
msgid "original"
msgstr "translation"
- The xgettext program can be told through the --keyword flag which
function/macro argument has the role of a context.
- The (non-public) include file gettext.h defines macros pgettext, =20=
dpgettext
etc. that take a context argument.
For more information, see the node "Contexts" in the manual.
http://www.gnu.org/software/gettext/manual/
I also recommend using msgid-previous, which allows you to diff =20
changed strings. D-I uses that, too. They set an excellent example =20
for the rest of free-software i18n.
|