Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add script for handling translations #195

Merged
merged 15 commits into from
Oct 28, 2024
Merged

Conversation

rffontenelle
Copy link
Contributor

@rffontenelle rffontenelle commented Aug 1, 2024

This is an initial take on the enable localization initiative adding a script to ease the babel call.

Usage:

python babel_runner.py extract           # generate translations template file (.pot)
python babel_runner.py init -l pt_BR     # generate a translation file (.po) for Brazilian Portuguese
python babel_runner.py update            # update all .po files using the existing .pot; or
python babel_runner.py update -l pt_BR   # update only the pt_BR.po
python babel_runner.py compile           # compile all .po files using the existing .pot; or
python babel_runner.py compile -l pt_BR  # compile only the pt_BR.po

See #194

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! Please could you add it somehow to the CI, so we know it at least runs without errors?

I was thinking if this script could be converted into Makefile commands, but then we won't have Windows support, so that's no good. But we could add Makefile commands to call this script. This can be left for later though.

babel_runner.py Outdated Show resolved Hide resolved
@rffontenelle
Copy link
Contributor Author

rffontenelle commented Aug 2, 2024

@hugovk workflow job added to tests.yml. My intention is to show the script works, but we can shape it better.

babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
@Wulian233
Copy link

It looks like this PR hasn't had a new activity in a while, is it finished now?

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few nits, then I think we can merge this and iterate if needed, unless anyone else has any last comments?

.github/workflows/tests.yml Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
@Wulian233
Copy link

Wulian233 commented Oct 27, 2024

In the Simplified Chinese documentation, there is an issue regarding hard-coded (edit: not hard-coded) strings such as "added in version". that cannot be translated. Can this PR solve this problem?

python/python-docs-zh-cn#364

@rffontenelle
Copy link
Contributor Author

In the Simplified Chinese documentation, there is an issue regarding hard-coded strings such as "added in version" and "deprecated in version" etc. that cannot be translated. Can this PR solve this problem?

python/python-docs-zh-cn#364

No, that's a Sphinx string and it is not translated to zh_CN: https://github.com/sphinx-doc/sphinx/blob/116a430caca98580c8877cf7b0ba270eae9604bf/sphinx/locale/zh_CN/LC_MESSAGES/sphinx.po#L1951

Consider contributing in https://explore.transifex.com/sphinx-doc/sphinx-1/

babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
babel_runner.py Outdated Show resolved Hide resolved
rffontenelle and others added 4 commits October 28, 2024 08:23
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Ezio Melotti <[email protected]>
Otherwise init command will be skipped
As one need to have POT before initializing PO
@rffontenelle
Copy link
Contributor Author

A few nits, then I think we can merge this and iterate if needed, unless anyone else has any last comments?

That's all from my side. Just a few minor changes.

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@Wulian233
Copy link

It looks great! I have a question: where should we translate this theme, and how will the translation automatically sync to this repository?

@rffontenelle
Copy link
Contributor Author

@Wulian233 I mentioned that in the issue and it is yet to be defined.

Some projects coordinate translation efforts in the own forge via pull/merge requests — not optimal for the translators. There is also translation platforms like Weblate, Transifex and others.

My vote would be to use Weblate, which provides "libre hosting" for free software and features automatic opening and updating pull request for contributed translations. Tasks involve: setting up Weblate project (I can help with/do it), maintainers here update POT and give time before releasing to receive translations; and merging translation pull requests from Weblate.

@hugovk hugovk merged commit 3c53d33 into python:main Oct 28, 2024
14 checks passed
@rffontenelle rffontenelle deleted the add-localization branch October 28, 2024 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants