Information about the Python documentation translation processes isfound in this devguide andPEP 545.Translations are built bydocsbuild-scripts and hosted ondocs.python.org. Translationsare overseen by theEditorial Board
First subscribe to thetranslation mailing list,and introduce yourself and the translation you’re starting.
Then you can bootstrap your new translation by using thecookiecutter orbootstrapper.You can also start your translation usingTransifexfollowing thisguide.
The important steps look like this:
Create the GitHub repo (any account) with the correct hierarchy by using oneof the bootstrappers or Transifex.
Gather people to help you translate. You can’t do it alone.
You can use any tool to translate, as long as you can synchronize with Git.Some use Transifex, and some use only GitHub. You can choose anotherway if you like; it’s up to you.
Updatethis page to reflect your work and progress, either via aPR or by asking on thetranslation mailing list.
Whenbugs
,tutorial
, andlibrary/functions
are 100%completed, ask on thetranslation mailing list foryour language to be added in the language switcher on docs.python.org.
Discussions about translations occur on the Python Docs Discord#translations channel,translationmailing list, and thetranslations categoryof the Python Discourse.
Here are the essential points ofPEP 545:
Each translation is assigned an appropriate lowercased language tag,with an optional region subtag, and joined with a dash, likept-br
orfr
.
Each translation is under CC0 and marked as such in the README (as inthe cookiecutter).
Translation files are hosted onhttps://github.com/python/python-docs-{LANGUAGE_TAG}
(notmandatory to start a translation, but mandatory to land ondocs.python.org
).
Translations having completedtutorial/
,library/stdtypes
andlibrary/functions
are hosted onhttps://docs.python.org/{LANGUAGE_TAG}/{VERSION_TAG}/
.
If you need help from a Transifex administrator, open an issue on thetracker.
Here’s what we’re using:
poutils which includes:
sphinx-lint to validate reST syntax in translation files.
More related tools and projects can be found in thepython-docs-translations organisation on GitHub.
Each translation team will decide on the number of coordinators.We recommend two or three coordinators, though you may begin with one.Here are some general suggestions.
Coordinator requests are to be public on thetranslation mailing list.
If the given language has a native core dev, the core dev has inputon the coordinator request.
Anyone who wants to become coordinator for their native language and showsmotivation by translating and building a community will be namedcoordinator.
We expect the local community to self-organize coordinators and contributors.If you have questions, please ask on the mailing list or Discourse.
If a coordinator becomes inactive or unreachable for a longperiod of time, someone else can ask to be added as a primary coordinator on thetranslation mailing list.As a community resource, we aim to keep translations up to date with active contributors, including coordinators.
You can ask for help on thetranslation mailing list, andthe team will help you create an appropriate repository. You can still use tools like transifex,if you like.
No, inside thegithub.com/python
organization we’ll all have theexact same hierarchy so bots will be able to build all of ourtranslations. So you may have to convert from one hierarchy to another.Ask for help on thetranslation mailing list if you’renot sure on how to do it.
As for every project, we have abranch per version. We store.po
files in the root of the repository using thegettext_compact=0
style.
It’s best to work on Python’s current stable or beta version. You can thenpropagate your translation from one branch to another usingpomerge.
Ask on thetranslation mailing list, or better, make a PRon thedevguide.
There is currently no Weblate instance for Python translations.See thisDiscourse threadfor updates.