[IPython-dev] internationalisation and translation of ipython

Thomas Spura tomspur at fedoraproject.org
Mon Sep 3 18:06:07 EDT 2012


On Mon, Sep 3, 2012 at 10:52 PM, Nicolas Pettiaux <nicolas at pettiaux.be> wrote:
> 2012/9/3 Thomas Kluyver <takowl at gmail.com>:
>> On 3 September 2012 18:08, Nicolas Pettiaux <nicolas at pettiaux.be> wrote:
>>> This is exactely what I hope. And there exist many different
>>> infrastructure today,
>>>
>>> http://transifex.com
>>> http://weblate.org
>>> http://translatewiki.net
>>> http://pootle.python.org/
>>
>> I think that's the relatively easy bit - any of those services, along
>> with various desktop applications, will let people translate messages
>> using a standard file format.
>
> indeed. But a good infrastructure will help a lot the translators community.

I only know transifex in practice, so my comments below will be biased
a bit towards that direction.

>> What I'm less sure of is how we should
>> integrate the translation files into our development workflow and our
>> distribution methods. For example:
>
>> - If I change a string in development, do I need to remember to update
>> message catalogues?
>
> no. Gettext tools will do that. Keep develop using _() for the strings.

You need to explicitely "tx push" the changed strings to transifex and
give the translators a bit time to translate. This means before the
actual release of a new version, the StringFreeze needs to happen,
where you only move code around, but don't change any _("") strings
anymore.
Just before the release "tx pull" will get the translations back again
and you can include them into the tar ball for downloading (I'm
unsure, if they need to be committed into git or if including into a
tarball is sufficient).

>> - Should translators be working on the development version, or the
>> stable release?
>
> mostly the stable release as far as I know. The gettext tool set helps
> to follow the variation, and will only ask to translate the string
> that have changed.

I'd suggest a string freeze, before each new release, so translators
have a bit time to translate the development version.
(Regularly pushing changed strings to tx would help to always keep a
low number of needed translation strings.)

>> - Should the IPython package you download include translation files,
>> or should they be separately downloadable?
>
> I think the package have to include the translations, at least if they
> are not big (which will be the case at the beginning).

I cannot remember a project, which splits the translations into
another repository off hand...
It might be good to split the translations of the webpage, as that
might become quite big and is normally not needed in a tarball (if you
want to let translate the webpage too...)

>> - What will distro packagers expect from us?
>
> I think they will expect what they get today and the translated files
> (= some more text documents)

They expect setup.py to compile the .po file into a .mo files and
install them into:
/usr/share/locale/$LANG/LC_MESSAGES/ipython.mo (when you use
gettext.install("ipython"))

Some quick googling showed this as an example for compiling the translations:
http://wiki.maemo.org/Internationalize_a_Python_application

Hope that helps.
     Tom



More information about the IPython-dev mailing list