New GitHub issue #119009 from rffontenelle:<br>
<hr>
<pre>
# 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:
```shell
sphinx-build -b gettext -D gettext_compact=0 . locales/pot
```
or via `make` command using doc’s Makefile:
```shell
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
</pre>
<hr>
<a href="https://github.com/python/cpython/issues/119009">View on GitHub</a>
<p>Labels: type-feature</p>
<p>Assignee: </p>