Python Documentation Translation
This is an overview of what is done, what we're doing, and what's needs work about the translation of Python documentation.
Historical context
The first step to ensure every other steps are worth it was to officialize the translations. This is now done with the PEP 545.
PEP 545: TL;DR
The PEP 545 may be long to read, so here are the interesting points:
-
Each translation is assigned an appropriate lowercased language tag, with an optional region subtag (if needed), glued with a dash, like
pt-br
orfr
. -
Translations files are hosted on
https://github.com/python/python-docs-{LANGUAGE_TAG}
-
Translations are hosted on
https://docs.python.org/{LANGUAGE_TAG}/{VERSION_TAG}/
.
Bootstrap a new translation
To bootstrap a new translation you'll need a clone of cpython in the 3.7 (or newer) branch:
git clone https://github.com/python/cpython.git
git -C cpython checkout 3.7
And a directory for your repo, initialized for example with my Makefile:
mkdir python-docs-whatever
cd python-docs-whatever
git init
git checkout -b 3.7
wget -q https://raw.githubusercontent.com/python/python-docs-fr/3.7/Makefile
git add Makefile
git commit -m "Initial commit."
make merge
git add *.po */*.po
git commit -m "Adding po files."
Current status
Language | Contact | Links |
---|---|---|
Arabic (ar) | Abdur-Rahmaan Janhangeer | github |
Bengali as spoken in Bangladesh (bn_BD) | tweet | |
Bengali as spoken in India (bn_IN) | Kushal Das | github |
French (fr) | Julien Palard (mdk) | github |
Hindi as spoken in India (hi_IN) | github | |
Hungarian (hu) | Tamás Bajusz (gbtami) | github doc list |
Italian (it) | ||
Japanese (ja) | Inada Naoki (methane) | github |
Korean (ko) | github | |
Polish (pl) | ||
Portuguese (pt) | Gustavo Toffo | |
Portuguese as spoken in Brasil (pt-br) | Marco Rougeth | github wiki telgram article |
Russian (ru) | ||
Simplified Chinese (zh-cn) | Shengjing Zhu | transifex github |
Spanish (es) | Raul Cumplido | github old repo |
Traditional Chinese (zh-tw) | 廖偉涵 Adrian Liaw | github transifex |
Turkish (tr) | github |
FAQ
I want to translate, where do I start?
Step one may be to subscribe to the
Doc-SIG mailing
list, and maybe join the #python-doc
channel on Libera.Chat.
You should present yourself on the doc-sig mailing list explain what you have and from here we'll help you through the steps of the PEP.
How a coordinator is elected?
There is no election per se, but some basic rules:
- Coordinator requests are to be public on doc-sig mailing list.
- If the given language have a native core dev, the core dev have its word on the choice.
- If one want to become coordinator for its native language, and shows motivation by translating and building a community, it will be named coordinator.
- In case of concurrency between two persons, no one will sort this out for you, it's open to you to organize a local election or whatever needed to sort this out.
- In case a coordinator become inactive or unreachable for a long period of time, someone else can ask for a takeover on doc-sig.
The entry for my translation is missing/not up to date on this page
Tell me, I'm mdk
on #python-doc
and I'm Julien Palard on the
mailing lists.
I have a translation, but not on git, what should I do?
Just ask for help on the doc-sig mailing list and our python-fu, git-fu and bash-fu combined will help you create an appropriate repository. If you use a tool like transifex don't worry keeping them in sync is not that hard.
My git hierarchy does not match yours, can I keep it?
No, inside the github.com/python
organization we'll all have the
exact same hierarchy so bots will be able to build all of our
translations. So you may have to convert from one hierarchy to
another. Ask for help on the doc-sig mailing list if you're not sure
on how to do it.
What hierarchy should I use in my github repository?
As for every projects we have a branch per version, we store po
files in the root of the repository using the gettext_compact=0
style.