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 gettext target to documentation's Makefile #119009

Closed
rffontenelle opened this issue May 13, 2024 · 0 comments
Closed

Add gettext target to documentation's Makefile #119009

rffontenelle opened this issue May 13, 2024 · 0 comments
Labels
type-feature A feature request or enhancement

Comments

@rffontenelle
Copy link
Contributor

rffontenelle commented May 13, 2024

Feature or enhancement

Proposal:

As some may know already, Sphinx's gettext builder is used to extract strings from the docs and store them in message catalog templates (pot files).

Currently there is no straightforward make gettext command to generate pot files, so the language teams need to run commands like:

sphinx-build -b gettext -D gettext_compact=0 . locales/pot

or via make command using doc’s Makefile:

make build BUILDER=gettext SPHINXOPTS='-D gettext_compact=0'

(On a side note, the first command doesn’t generate ‘changelog.pot’.)

In my personal opinion, having a gettext target would simplify the process, reducing the complexity of the command construction and uniformizing the outputs. It would also be a small step to simplifying the setup for new teams.

Having a gettext target would allow to simply run make gettext and have the pot files in build/gettext directory. See output:

$ make gettext
mkdir -p build
Building NEWS from Misc/NEWS.d with blurb
/home/rffontenelle/Projects/cpython/Doc/build/NEWS is already up to date
PATH=./venv/bin:$PATH sphinx-build -b gettext -d build/doctrees -j auto   -W . build/gettext 
Running Sphinx v7.3.7
building [gettext]: targets for 7 template files
reading templates... [100%] /home/rffontenelle/Projects/cpython/Doc/tools/templates/search.html
building [gettext]: targets for 469 source files that are out of date
updating environment: [new config] 469 added, 0 changed, 0 removed
reading sources... [100%] using/unix .. whatsnew/index
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... done
writing output... [100%] whatsnew/index
writing message catalogs... [100%] whatsnew/index
build succeeded.

The message catalogs are in build/gettext.

$ ls build/gettext/
about.pot  c-api         copyright.pot  extending  glossary.pot  installing  license.pot  sphinx.pot  using
bugs.pot   contents.pot  distributing   faq        howto         library     reference    tutorial    whatsnew

$ find build/gettext/ -name '*.pot' | wc -l
470

Has this already been discussed elsewhere?

I have already discussed this feature proposal on Discourse

Links to previous discussion of this feature:

https://discuss.python.org/t/add-gettext-builder-as-target-for-docs-makefile/53229

Linked PRs

@rffontenelle rffontenelle added the type-feature A feature request or enhancement label May 13, 2024
@rffontenelle rffontenelle changed the title Add gettext target to documetnation's Makefile Add gettext target to documentation's Makefile May 13, 2024
hugovk pushed a commit that referenced this issue May 15, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this issue May 15, 2024
(cherry picked from commit fb0cf7d)

Co-authored-by: Rafael Fontenelle <[email protected]>
miss-islington pushed a commit to miss-islington/cpython that referenced this issue May 15, 2024
(cherry picked from commit fb0cf7d)

Co-authored-by: Rafael Fontenelle <[email protected]>
hugovk pushed a commit that referenced this issue May 15, 2024
hugovk pushed a commit that referenced this issue May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

1 participant