Let's localize this theme
While Python docs is available for translation, this theme is still used in English. I see strings marked for translation, but there is no localization infra (no message catalog template; no babel's extract, update, compile, etc. commands set; no translation platform) or workflow set.
Is this project accepting contributions for enabling the theme's localization?
Is this project accepting contributions for enabling the theme's localization?
I think we should.
Do you have recommendations for what we ought to do?
A
Basic steps are:
- choose a workflow (receive translations and update source messages as a pre-release step during a string freeze, or automatically update source messages and receive translations anytime?)
- set up a script that runs babel's extract, init, update and compile options (via pybabel or customized Python script that calls babel)
- optionally set up a translation project in a web-based translation platform like Weblate or Transifex to gather contributions in a more translation-friendly environment (so the translator doesn't have to know how to handle git concepts or GitHub pull requests)
My 2 cents:
- host translations in Hosted Weblate (free of charge for free/libre software)
- have a CI workflow that updates POT file whenever there is a new commit; with webhook set, Weblate will make available new strings for every language
- have a script for running the babel's commands; this script will be used by the CI workflow, and may be used manually by an maintainer (see Sphinx's babel_runner.py and pydata's noxfile.py).
By the way, PyPA uses Weblate for warehouse (PyPI) and for Python Packaging User Guide, and it is awesome.
Any progress? We have the script but it not receiving much use at the moment. Webplate may take some time to set up but maybe PRs in the meantime? (I don't think its that many strings < 50?)
My bad. I'll get back to this. Indeed there are not many strings, so it's an easy translation.
No worries! Webplate/Transifex might just be overkill for this one. All translations have at least one translator that can submit PRs and I'd say this would under take an hour to translate.
My opinion: let's use just PO files in the repository, yet without a platform. And move it to Weblate along the Python docs (in the same project, for better discoverability), when it will be set up (hopefully soon).
When this is implemented, I am happy to write a section for the devguide on contributing here:-)
For the record, Stan's #246 implements fixes to the localization script from #195.
Related: https://github.com/python/devguide/issues/1649 by Stan
FYI I didn't include your translated po from the PR, it's better it's its own pr.
It's fine. I'll redo it and create a PR in minutes.
We're setting python-docs-theme localization in Transifex. Normally one would use Transifex CLI tool to push and pull translations in a CI environment. Instead I'd like to use GitHub integration, which provides seamless integration: send translations to repository whenever they are contributed instead of needing to pull translations from Transifex manually or via CI, optionally set pull requests (or push directly) instead of committing in CI workflow, choose between instantaneous push or a interval before pushing contributions
But I need a repository owner to install GitHub apps and to allow integration (maybe @AA-Turner ?). See https://help.transifex.com/en/articles/6265125-github-installation-and-configuration
If not wanted, I can always follow a manual / CI workflow as done in python documentation repositories.
When I set it up I planned to just open the PR manually, since it takes just under a minute for me. I wouldn’t mind the integration. (FYI it is not a paid feature)
Happy to close this issue:-)