threads / discuss / 35512

Ubuntu may break Git upstream translations

Subject: Ubuntu may break Git upstream translations

## tl;dr

4 messages between Dec 10, 2013 and Dec 10, 2013.

replies: 3people: 3as markdown or json

Jiang Xin· Dec 10, 2013, 09:56 UTC · lore
Hi all,

David find a typo in Spanish translations of Git, and ask me how to contribute, because he cannot find Spanish translations in Git source code. To my surprise, I cannot find either.

Later I find out that David using Ubuntu (I use debian instead), and Ubuntu reinvent the wheel. Ubuntu has its own translation platform, and releases Git translations not with Git package itself, but releases Git translations in separate language specific packages. E.g. Spanish translations on Git is released in package "language-pack-es-base". This language specific package includes not only Git translations, but also translations of over 200 other packages.

URL of Ubuntu translation homepage on Git:
* https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git

Version of Git in Ubuntu Saucy (13.10) is 1.8.3.2, but obviously the translations are based on git v1.8.0 (8 months older than v1.8.3.2). That's why even Ubuntu provides git translations in 21 different languages, but only 2 of them are 100% translated. We (Git upstream) provide Git translations in only 7 languages, but 5 of them are 100% translated now.

Without context, it's hard to translate well. And contribute to upstream will benefit to more people than contribute to one specific Linux distribution.

I cc this mail to Paco, the creator of Spanish translations for Git I found in this page:

* https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git/es/+details
Paco may have interest on David's question.

I also send this mail to Dimitri, the owner of Git translations for Ubuntu, for reference.

2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
Show 81 quoted lines
>
>> El lun 09 dic 2013 16:33:44 CET, Jiang Xin escribió:
>>>
>>> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>>
>>>> El lun 09 dic 2013 15:59:12 CET, Jiang Xin escribió:
>>>>
>>>>> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>>>>>
>>>>>> Hi Jiang Xin!
>>>>>>
>>>>>> I want to contribute to the Spanish translation by fixing a typo
>>>>>> but I can't find the translation. Where is it?
>>>>>
>>>>> All available translations are in "po/" directory of Git, such as
>>>>> po/de.po, po/pt_PT.po, etc. And all l10n teams, maintainers
>>>>>  and locations of the official repositories are listed in "po/TEAMS" file.
>>>>>
>>>>> I can't find a Spanish translation either, but there is a Portuguese
>>>>> translation and the maintainer is Marco Sousa.
>>>>>
>>>>> I don't know how much differences between Spanish and Portuguese.
>>>>> Maybe the typo you found is belongs to "po/pt_PT.po"?
>>>>>
>>>>
>>>> No way... My "git" is translated into Spanish, that's why it
>>>> surprises me that the translation is not there...
>>>>
>>>
>>> What's your platform? version of your platform? git --version?
>>> And what's the output message (with the typo you found)?
>>> Maybe we could "git grep" in Git source code or google the output
>>> message.
>>>
>> So
>>
>> $ uname -a
>> Linux pantani 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:07:40 UTC
>> 2013 i686 i686 i686 GNU/Linux
>>
>> $ git --version
>> git version 1.8.3.2
>>
>> $ locale
>> LANG=es_ES.UTF-8
>> LANGUAGE=es_ES
>> LC_CTYPE="es_ES.UTF-8"
>> LC_NUMERIC="es_ES.UTF-8"
>> LC_TIME="es_ES.UTF-8"
>> LC_COLLATE="es_ES.UTF-8"
>> LC_MONETARY="es_ES.UTF-8"
>> LC_MESSAGES="es_ES.UTF-8"
>> LC_PAPER="es_ES.UTF-8"
>> LC_NAME="es_ES.UTF-8"
>> LC_ADDRESS="es_ES.UTF-8"
>> LC_TELEPHONE="es_ES.UTF-8"
>> LC_MEASUREMENT="es_ES.UTF-8"
>> LC_IDENTIFICATION="es_ES.UTF-8"
>> LC_ALL=
>>
>> I've downloaded git sources with
>> $ apt-get source git
>> $ apt-get source git-core
>> ...
>>
>> and grep the string, nothing. I've also forked the git repo and grep
>> and nothing either.
>>
>> The message is
>> msgid ""
>> "  (use \"git checkout -- <file>...\" to discard changes in working
>> directory)"
>>
> Oh, and the incorrect message I'm getting is
>
> #   (use «git checkout -- <archivo>...« para descartar cambios en le
> directorio de trabajo)
>
>
> El lun 09 dic 2013 16:45:17 CET, David Rodríguez de Dios escribió:
>

-- Jiang Xin

David Rodríguez de Dios· Dec 10, 2013, 10:07 UTC · re: Jiang Xin · lore

Re: Ubuntu may break Git upstream translations

I agree with Jiang.

We should join translation efforts. And in this case, the best place to do it is upstream.

El mar 10 dic 2013 10:56:19 CET, Jiang Xin escribió:
Show 125 quoted lines
> Hi all,
>
> David find a typo in Spanish translations of Git, and ask me how
> to contribute, because he cannot find Spanish translations in
> Git source code. To my surprise, I cannot find either.
>
> Later I find out that David using Ubuntu (I use debian instead),
> and Ubuntu reinvent the wheel. Ubuntu has its own translation
> platform, and releases Git translations not with Git package
> itself, but releases Git translations in separate language
> specific packages. E.g. Spanish translations on Git is released
> in package "language-pack-es-base". This language specific
> package includes not only Git translations, but also translations
> of over 200 other packages.
>
> URL of Ubuntu translation homepage on Git:
>
> * https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git
>
> Version of Git in Ubuntu Saucy (13.10) is 1.8.3.2, but obviously
> the translations are based on git v1.8.0 (8 months older than
> v1.8.3.2). That's why even Ubuntu provides git translations
> in 21 different languages, but only 2 of them are 100% translated.
> We (Git upstream) provide Git translations in only 7 languages,
> but 5 of them are 100% translated now.
>
> Without context, it's hard to translate well. And contribute to
> upstream will benefit to more people than contribute to one
> specific Linux distribution.
>
> I cc this mail to Paco, the creator of Spanish translations for
> Git I found in this page:
>
> * https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git/es/+details
>
> Paco may have interest on David's question.
>
> I also send this mail to Dimitri, the owner of Git translations
> for Ubuntu, for reference.
>
> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>
>>> El lun 09 dic 2013 16:33:44 CET, Jiang Xin escribió:
>>>>
>>>> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>>>
>>>>> El lun 09 dic 2013 15:59:12 CET, Jiang Xin escribió:
>>>>>
>>>>>> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>>>>>>
>>>>>>> Hi Jiang Xin!
>>>>>>>
>>>>>>> I want to contribute to the Spanish translation by fixing a typo
>>>>>>> but I can't find the translation. Where is it?
>>>>>>
>>>>>> All available translations are in "po/" directory of Git, such as
>>>>>> po/de.po, po/pt_PT.po, etc. And all l10n teams, maintainers
>>>>>>   and locations of the official repositories are listed in "po/TEAMS" file.
>>>>>>
>>>>>> I can't find a Spanish translation either, but there is a Portuguese
>>>>>> translation and the maintainer is Marco Sousa.
>>>>>>
>>>>>> I don't know how much differences between Spanish and Portuguese.
>>>>>> Maybe the typo you found is belongs to "po/pt_PT.po"?
>>>>>>
>>>>>
>>>>> No way... My "git" is translated into Spanish, that's why it
>>>>> surprises me that the translation is not there...
>>>>>
>>>>
>>>> What's your platform? version of your platform? git --version?
>>>> And what's the output message (with the typo you found)?
>>>> Maybe we could "git grep" in Git source code or google the output
>>>> message.
>>>>
>>> So
>>>
>>> $ uname -a
>>> Linux pantani 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:07:40 UTC
>>> 2013 i686 i686 i686 GNU/Linux
>>>
>>> $ git --version
>>> git version 1.8.3.2
>>>
>>> $ locale
>>> LANG=es_ES.UTF-8
>>> LANGUAGE=es_ES
>>> LC_CTYPE="es_ES.UTF-8"
>>> LC_NUMERIC="es_ES.UTF-8"
>>> LC_TIME="es_ES.UTF-8"
>>> LC_COLLATE="es_ES.UTF-8"
>>> LC_MONETARY="es_ES.UTF-8"
>>> LC_MESSAGES="es_ES.UTF-8"
>>> LC_PAPER="es_ES.UTF-8"
>>> LC_NAME="es_ES.UTF-8"
>>> LC_ADDRESS="es_ES.UTF-8"
>>> LC_TELEPHONE="es_ES.UTF-8"
>>> LC_MEASUREMENT="es_ES.UTF-8"
>>> LC_IDENTIFICATION="es_ES.UTF-8"
>>> LC_ALL=
>>>
>>> I've downloaded git sources with
>>> $ apt-get source git
>>> $ apt-get source git-core
>>> ...
>>>
>>> and grep the string, nothing. I've also forked the git repo and grep
>>> and nothing either.
>>>
>>> The message is
>>> msgid ""
>>> "  (use \"git checkout -- <file>...\" to discard changes in working
>>> directory)"
>>>
>> Oh, and the incorrect message I'm getting is
>>
>> #   (use «git checkout -- <archivo>...« para descartar cambios en le
>> directorio de trabajo)
>>
>>
>> El lun 09 dic 2013 16:45:17 CET, David Rodríguez de Dios escribió:
>>
>
> --
> Jiang Xin
Dimitri John Ledkov· Dec 10, 2013, 10:52 UTC · re: Jiang Xin · lore

Re: Ubuntu may break Git upstream translations

Hello all,
On Tue, Dec 10, 2013 at 9:56 AM, Jiang Xin <worldhello.net@gmail.com> wrote:
Show 40 quoted lines
> Hi all,
>
> David find a typo in Spanish translations of Git, and ask me how
> to contribute, because he cannot find Spanish translations in
> Git source code. To my surprise, I cannot find either.
>
> Later I find out that David using Ubuntu (I use debian instead),
> and Ubuntu reinvent the wheel. Ubuntu has its own translation
> platform, and releases Git translations not with Git package
> itself, but releases Git translations in separate language
> specific packages. E.g. Spanish translations on Git is released
> in package "language-pack-es-base". This language specific
> package includes not only Git translations, but also translations
> of over 200 other packages.
>
> URL of Ubuntu translation homepage on Git:
>
> * https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git
>
> Version of Git in Ubuntu Saucy (13.10) is 1.8.3.2, but obviously
> the translations are based on git v1.8.0 (8 months older than
> v1.8.3.2). That's why even Ubuntu provides git translations
> in 21 different languages, but only 2 of them are 100% translated.
> We (Git upstream) provide Git translations in only 7 languages,
> but 5 of them are 100% translated now.
>
> Without context, it's hard to translate well. And contribute to
> upstream will benefit to more people than contribute to one
> specific Linux distribution.
>
> I cc this mail to Paco, the creator of Spanish translations for
> Git I found in this page:
>
> * https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git/es/+details
>
> Paco may have interest on David's question.
>
> I also send this mail to Dimitri, the owner of Git translations
> for Ubuntu, for reference.
>

Ubuntu is a distribution which does have a wide variety of users. Typically users use stable releases, or even LTS releases (every 2 years). Given different schedules across all projects, naturally Ubuntu ships a snapshots across all packages available at the time. On the other hand our users and translators expect to be able continuously improve & provide translations across a wide snapshot of packages. Therefore in the beginning of the Ubuntu project translations from all core packages (those that are in the "main" portion of the archive) were imported into the launchpad translation component. Ubuntu translation teams can update translations using the web interface, contributing from one string or all of them. All new translations done in launchpad, are done under permissive BSD license and are shared across the infrastructure, such that translators get helpful suggestions and don't have translate the same term over again (and/or different from how it's used across the operating system). These translations do not require one to know version control systems, upstream, mailing lists. But those translation updates are pushed out automatically to the users at point releases (or more often, if manually triggered). You can see the translation statistics for Ubuntu 12.04 LTS at [1]

All of these translations are done in good faith. Or at times by frustrated users that cannot see something in their own language and can't take for an answer "contribute upstream, wait for new release, wait for that to be packaged & upgrade to new release to get them".

Naturally, maintenance cost of translations downstream is significant. And where possible we do try to redirect translators upstream. E.g. there are good translators links / cooperation to Debian (package descriptions, debconf question templates), d-i, GNOME, etc.

In an ideal world there would be enough community developer to manual handle all new translations and redirect / introduce them to upstreams. Unfortunately that is not the case. And on behalf of the Ubuntu project, I do apologize for any inconvenience caused. But please do, try to understand the distribution perspective on the overall problem with localisation and internationalization.

As usual with any Distribution originated bugs, they should be filed with the distribution. For git package in Ubuntu that would be by executing on the command line $ ubuntu-bug git, or via launchpad website at http://bugs.launchpad.net/ubuntu/+source/git/+filebug?no-redirect . Again I apologize that a distribution induced bug report arrived direct to upstream, instead being filtered in the distribution.

About this specific template. I believe I'm listed as "the owner" simply because i was the last one to trigger package upload, and thus upstream translation templates import (by the looks of things by syncing the package from Debian). Upstream translations always take precedence.

Naturally git/master evolves, and strings are added/removed/changed and thus translations do "bit-rot", none-the-less I hope there are translations in launchpad that would still be relevant. An export tarball in po/pot format can be requested for both currently translatable git source package templates [2,3], which i have now done and uploaded to a publically accessible location [4]. It of-course needs further analysis / merging into git/master. Is there a translation platform used to manage git translations? Do note that tarballs have a mixture of upstream originated translations and launchpad contributed. They are not my copyright, but copyright of the respective translators, contributed under a permissive BSD license.

I'm not involved in neither Launchpad Translations nor Ubuntu Translations. I am simply a Debian Developer and an Ubuntu Core Developer. I will get in touch with our translation & community coordinators to see how it is best to forward translations to git upstream.

In general, any technical inquiries about Ubuntu project can be directed to ubuntu-devel-discuss@lists.ubuntu.com [5] for a fast response by most relevant people involved.

[1] https://translations.launchpad.net/ubuntu/precise [2] https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git-gui/+export [3] https://translations.launchpad.net/ubuntu/saucy/+source/git/+pots/git/+export [4] http://people.canonical.com/~xnox/git-i18n/ [5] https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss

Regards,
Dimitri.
Show 85 quoted lines
> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>
>>> El lun 09 dic 2013 16:33:44 CET, Jiang Xin escribió:
>>>>
>>>> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>>>
>>>>> El lun 09 dic 2013 15:59:12 CET, Jiang Xin escribió:
>>>>>
>>>>>> 2013/12/9 David Rodríguez de Dios <deivid.rodriguez@gmail.com>:
>>>>>>>
>>>>>>> Hi Jiang Xin!
>>>>>>>
>>>>>>> I want to contribute to the Spanish translation by fixing a typo
>>>>>>> but I can't find the translation. Where is it?
>>>>>>
>>>>>> All available translations are in "po/" directory of Git, such as
>>>>>> po/de.po, po/pt_PT.po, etc. And all l10n teams, maintainers
>>>>>>  and locations of the official repositories are listed in "po/TEAMS" file.
>>>>>>
>>>>>> I can't find a Spanish translation either, but there is a Portuguese
>>>>>> translation and the maintainer is Marco Sousa.
>>>>>>
>>>>>> I don't know how much differences between Spanish and Portuguese.
>>>>>> Maybe the typo you found is belongs to "po/pt_PT.po"?
>>>>>>
>>>>>
>>>>> No way... My "git" is translated into Spanish, that's why it
>>>>> surprises me that the translation is not there...
>>>>>
>>>>
>>>> What's your platform? version of your platform? git --version?
>>>> And what's the output message (with the typo you found)?
>>>> Maybe we could "git grep" in Git source code or google the output
>>>> message.
>>>>
>>> So
>>>
>>> $ uname -a
>>> Linux pantani 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:07:40 UTC
>>> 2013 i686 i686 i686 GNU/Linux
>>>
>>> $ git --version
>>> git version 1.8.3.2
>>>
>>> $ locale
>>> LANG=es_ES.UTF-8
>>> LANGUAGE=es_ES
>>> LC_CTYPE="es_ES.UTF-8"
>>> LC_NUMERIC="es_ES.UTF-8"
>>> LC_TIME="es_ES.UTF-8"
>>> LC_COLLATE="es_ES.UTF-8"
>>> LC_MONETARY="es_ES.UTF-8"
>>> LC_MESSAGES="es_ES.UTF-8"
>>> LC_PAPER="es_ES.UTF-8"
>>> LC_NAME="es_ES.UTF-8"
>>> LC_ADDRESS="es_ES.UTF-8"
>>> LC_TELEPHONE="es_ES.UTF-8"
>>> LC_MEASUREMENT="es_ES.UTF-8"
>>> LC_IDENTIFICATION="es_ES.UTF-8"
>>> LC_ALL=
>>>
>>> I've downloaded git sources with
>>> $ apt-get source git
>>> $ apt-get source git-core
>>> ...
>>>
>>> and grep the string, nothing. I've also forked the git repo and grep
>>> and nothing either.
>>>
>>> The message is
>>> msgid ""
>>> "  (use \"git checkout -- <file>...\" to discard changes in working
>>> directory)"
>>>
>> Oh, and the incorrect message I'm getting is
>>
>> #   (use «git checkout -- <archivo>...« para descartar cambios en le
>> directorio de trabajo)
>>
>>
>> El lun 09 dic 2013 16:45:17 CET, David Rodríguez de Dios escribió:
>>
>
> --
> Jiang Xin
Jiang Xin· Dec 10, 2013, 13:39 UTC · re: Dimitri John Ledkov · lore

Re: Ubuntu may break Git upstream translations

2013/12/10 Dimitri John Ledkov <dimitri.ledkov@canonical.com>:
Show 28 quoted lines
> Hello all,
>
> Ubuntu is a distribution which does have a wide variety of users.
> Typically users use stable releases, or even LTS releases (every 2
> years). Given different schedules across all projects, naturally
> Ubuntu ships a snapshots across all packages available at the time. On
> the other hand our users and translators expect to be able
> continuously improve & provide translations across a wide snapshot of
> packages. Therefore in the beginning of the Ubuntu project
> translations from all core packages (those that are in the "main"
> portion of the archive) were imported into the launchpad translation
> component. Ubuntu translation teams can update translations using the
> web interface, contributing from one string or all of them. All new
> translations done in launchpad, are done under permissive BSD license
> and are shared across the infrastructure, such that translators get
> helpful suggestions and don't have translate the same term over again
> (and/or different from how it's used across the operating system).
> These translations do not require one to know version control systems,
> upstream, mailing lists. But those translation updates are pushed out
> automatically to the users at point releases (or more often, if
> manually triggered). You can see the translation statistics for Ubuntu
> 12.04 LTS at [1]
>
> All of these translations are done in good faith. Or at times by
> frustrated users that cannot see something in their own language and
> can't take for an answer "contribute upstream, wait for new release,
> wait for that to be packaged & upgrade to new release to get them".
>
Thank you for the quick response. I understand that
1. release of l10n things in separate package will help Ubuntu to
    improve l10n continuously, without recompiling the whole
    package (Git or others). This may save bandwidth when user
    upgrade.
2. bundle l10n things of hundreds of packages for one specific
    language in one package, will save disk usages a bit for users.
    Because user will only install the prefer language, won't
    install l10n things for other languages.
That's OK.
Show 12 quoted lines
> Naturally, maintenance cost of translations downstream is significant.
> And where possible we do try to redirect translators upstream. E.g.
> there are good translators links / cooperation to Debian (package
> descriptions, debconf question templates), d-i, GNOME, etc.
>
> In an ideal world there would be enough community developer to manual
> handle all new translations and redirect / introduce them to
> upstreams. Unfortunately that is not the case. And on behalf of the
> Ubuntu project, I do apologize for any inconvenience caused. But
> please do, try to understand the distribution perspective on the
> overall problem with localisation and internationalization.
>

What makes Debian/Ubuntu outstanding? I believe it is the apt package management system. It's easy to write a debian package, and quilt patches are upstream-friendly. I mean using quilt commands (such quilt push, quilt pop, quilt refresh,...), patches can upgrade to the new upstream easily.

But Ubuntu l10n things are not upstream friendly, substitute upstream l10n things instead of patching. The word patching here, not means using quilt patches. Since Ubuntu has a large database full of break down msg-ids, and each break down msg-id has its upstream translation and Ubuntu translation, your Ubuntu guys can invent your own patching system. E.g. Generate your new custom ".po" file based on a fresh upstream template using 3-way merge (prefer upstream change), and then substitute upstream with yours.

-- 
Jiang Xin

← back to recent threads