Skip to content

Let's localize this theme #194

Description

@rffontenelle

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?

Activity

  1. AA-Turner commented on Jul 31, 2024

    @AA-Turner
    Member

    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

  2. rffontenelle commented on Jul 31, 2024

    @rffontenelle
    ContributorAuthor

    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.

  3. StanFromIreland commented on Feb 10, 2025

    @StanFromIreland
    Member

    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?)

  4. rffontenelle commented on Feb 10, 2025

    @rffontenelle
    ContributorAuthor

    My bad. I'll get back to this. Indeed there are not many strings, so it's an easy translation.

  5. StanFromIreland commented on Feb 10, 2025

    @StanFromIreland
    Member

    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.

  6. m-aciek commented on Feb 10, 2025

    @m-aciek
    Contributor

    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).

  7. StanFromIreland commented on Jun 29, 2025

    @StanFromIreland
    Member

    When this is implemented, I am happy to write a section for the devguide on contributing here:-)

  8. rffontenelle commented on Aug 8, 2025

    @rffontenelle
    ContributorAuthor

    For the record, Stan's #246 implements fixes to the localization script from #195.

  9. rffontenelle commented on Sep 3, 2025

    @rffontenelle
    ContributorAuthor

    Related: python/devguide#1649 by Stan

  10. StanFromIreland commented on Sep 3, 2025

    @StanFromIreland
    Member

    FYI I didn't include your translated po from the PR, it's better it's its own pr.

  11. rffontenelle commented on Sep 3, 2025

    @rffontenelle
    ContributorAuthor

    It's fine. I'll redo it and create a PR in minutes.

  12. rffontenelle commented on Sep 6, 2025

    @rffontenelle
    ContributorAuthor

    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.

  13. StanFromIreland commented on Sep 6, 2025

    @StanFromIreland
    Member

    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)

  14. StanFromIreland commented on Sep 9, 2025

    @StanFromIreland
    Member

    Happy to close this issue:-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions