Re: [PATCH 1/5] Internationalization of git-gui

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

 



Am Samstag, 21. Juli 2007 23:28 schrieb Junio C Hamano:
> > Agreed. I propose to throw away the "add glossary" patch and I'll
> > resubmit, this time in a separate po/glossary/ directory, where each
> > language will get a po file for the glossary.
>
> Actually, I would even suggest that we should NOT have a
> separate glossary file at all, if gettext suite allows what I
> outline below.
>
> How about having it as a part of header comment in each of the
> xx.po file?

I don't think this would work well. In particular, you don't get all the nice 
gettext *merging* features that you only get with a full-blown po file.

> The division of labor I think would make sense for message l10n
> process goes like this:
>
>  - The software developer (primarily Shawn): responsible for
>    marking messages subject to i18n;

Yes, except those developers who don't happen to be translators as well tend 
to forget the markups. I don't blame anyone for doing so - just keep in mind 
that translators have to give feedback about missing markups, and they 
hopefully will do so.

>  - The i18n coordinator (could be Shawn but anybody else can
>    volunteer; as things stand, I think Christian and Johannes
>    are doing this): responsible for running "make
>    po/git-gui.pot; make update-po" from time to time in order to
>    keep po/*.po in sync with the vocabulary.

Actually, please DO NOT RUN update-po except right before a new tarball is 
being packaged and distributed! It sucks royally if I have updated my de.po 
translation, only to discover someone has run update-po on the server and I 
have to figure out how to get out of the de.po conflicts. There will be 
conflicts after each and every update-po because the line numbers in the po 
file will have changed inevitably -- but the actualy content in terms of 
messages might be completely unchanged.

For that reason, please use the update-po rule AS SELDOM AS POSSIBLE. Thanks a 
lot.

>    initially, populate "glossary" part in po/git-gui.pot;
>
>    as needed, add entries "glossary" part in po/git-gui.pot, and
>    (if possible) add corresponding placeholders to po/*.po;

Again, this doesn't work well, and depending on the po file editor that is 
used by a translator they might not see this comment block anyway. I would 
instead propose a subdirectory po/glossary; a CSV file that contains the 
terms itself; a csv-to-po converter script that will turn the terms into a 
git-gui-glossary.pot; and a po file for each language.

>  - Translators (one for each language): responsible for updating
>    po/xx.po file;
>
>    initially, start by copying po/git-gui.pot to create
>    po/xx.po;
>
>    maintainance of "glossary" part of po/xx.po could also be
>    made this person's responsibility instead of i18n
>    coordinator's.
>
> This way, the translators do not have to be so familiar with the
> gettext toolchain nor even have to have gettext installed.

Translators who are unfamiliar with gettext are a mixed blessing. Anyone is 
able to contribute a bunch of initial string translations, especially if 
there hasn't been a translation before. But if someone or a team wants to 
achieve a really *high-quality*, 100%, consistent, and understandable 
translation, the translators must be able to test the translation a lot, 
which implies they must be able to generate the .msg files, which requires 
the gettext toolchain anyway. For that reason I wouldn't spent too much 
effort to enable translation work without gettext tools; instead, I'd rather 
encourage to optimize the setup for those translators that have the full 
toolchain available.

Christian
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux