[IPython-dev] internationalisation and translation of ipython

Aaron Meurer asmeurer at gmail.com
Sat Aug 11 19:29:00 EDT 2012

I think what you have to do is set it up with gettext. You then
translate each string (usually a sentence or a paragraph) on the site,
and gettext automatically puts in the translated version, but falls
back to the English version if the translation is out of date (this is
determined by the hash of the string).  You'll have to ask Ondrej for
the technical details, as he's the one who set the whole thing up.
Actually, our process need to be improved, especially the one we use
for Sphinx.  So if anyone can give advice there, that would be

One consequence of this is that if you don't keep the translation up
to date, then the document will become littered with English phrases.
For example, you can see that most of the text on our SymPy homepage
translations is out of date, because it was updated after the
translations were made (for example, http://sympy.org/fr/index.html,
and you can find other languages at the bottom).

The reason that we have a translated webpage and tutorial for SymPy is
that we were required to have translation tasks for Google Code-In.
Very little translation contribution has come outside of that program.
 It's very hard for a small community to maintain translation, unless
the whole community speaks the second language (I'm here considering
SymPy to be a small community, but IPython is obviously much smaller,
at least in terms of the development team).  For the languages we
translated, I think there was only one for which we had more than one
person who was able to verify the translations.  Not to be
discouraging, but in my opinion, unless you have a group of people who
are dedicated to keeping the translations up to date (i.e., they
actually speak the second language, and are willing to update the po
files on a regular basis), the translations are doomed to become out
of date.   For us, even among those who are still quite active, the
GCI mentors have not really kept the translations up to date (and none
of the GCI students themselves have done anything outside the

Another thing we noticed when doing the translations with Google
Code-In: you have to be very fluent in the both English and second
language to do the translation.  There are a lot of technical terms
that have to be translated, and if you are not fluent in the second
language, you will not be able translate them in the expected ways.
This also means that you should have read enough websites or other
materials written in the second language to know what the standard
translation of technical terms is, especially those that do not have
direct translations.  A common theme when we did our translating was
that if you are going to have an official translation, then it should
be done well.  Anyone can get a poor translation for free with Google
Translate (by the way, is there a way to tell Google translate to not
translate Python code examples in Sphinx? "Sympy de importación oo"
doesn't work quite as well as "from sympy import oo").

This is my best advice.  Note that I actually do not speak a second
language, so this is mostly anecdotal from following the translation
tasks from the outside.  Those who mentored the Google Code-In
students directly can probably comment more.  For that, I would ask on
the SymPy list.

Aaron Meurer

On Sat, Aug 11, 2012 at 12:21 PM, Nicolas Pettiaux <nicolas at pettiaux.be> wrote:
> Hi Matthew,
> Thanks for the information. Translating the documentation and the
> website of ipython would be a terrific idea, but this is much more
> than I first thought. I have many ideas about how to do and I have
> read the links you gave.
> Now, I would like ton concerntrate first on the application (aka
> python and javascript) but in any case, indeed everything, the
> application, the website, the documentation should produce .po files
> to use the gettext utilities and the great  many tools that allows to
> translate and keep the translation uptodate with the original wihtout
> too much workload.
> I have just registered to the sympy mailing list to contribute on this
> subject too there.
> Best regards,
> Nicolas
> --
> Nicolas Pettiaux
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

More information about the IPython-dev mailing list