Skip to content

Commit 9e50f5b

Browse files
committed
Add support for internationalization
1 parent 52593fc commit 9e50f5b

File tree

4 files changed

+13
-135
lines changed

4 files changed

+13
-135
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ build
22
*~
33
*.py[co]
44
source/locale
5+
translations/**/*.mo

Makefile

Lines changed: 10 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -1,144 +1,20 @@
1-
# Makefile for Sphinx documentation
1+
# Minimal makefile for Sphinx documentation
22
#
33

44
# You can set these variables from the command line.
55
SPHINXOPTS =
66
SPHINXBUILD = sphinx-build
7-
PAPER =
7+
SPHINXPROJ = PythonGTK3Tutorial
8+
SOURCEDIR = source
89
BUILDDIR = build
9-
DOCNAME = PythonGTK3Tutorial
10-
PODIR = translations
11-
LOCALEDIR = translations/locale
12-
13-
LANGUAGES = ja
14-
15-
# Internal variables.
16-
PAPEROPT_a4 = -D latex_paper_size=a4
17-
PAPEROPT_letter = -D latex_paper_size=letter
18-
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
19-
20-
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest updatepo install
2110

11+
# Put it first so that "make" without argument is like "make help".
2212
help:
23-
@echo "Please use \`make <target>' where <target> is one of"
24-
@echo " html to make standalone HTML files"
25-
@echo " dirhtml to make HTML files named index.html in directories"
26-
@echo " singlehtml to make a single large HTML file"
27-
@echo " pickle to make pickle files"
28-
@echo " json to make JSON files"
29-
@echo " htmlhelp to make HTML files and a HTML help project"
30-
@echo " qthelp to make HTML files and a qthelp project"
31-
@echo " devhelp to make HTML files and a Devhelp project"
32-
@echo " epub to make an epub"
33-
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
34-
@echo " latexpdf to make LaTeX files and run them through pdflatex"
35-
@echo " text to make text files"
36-
@echo " man to make manual pages"
37-
@echo " changes to make an overview of all changed/added/deprecated items"
38-
@echo " linkcheck to check all external links for integrity"
39-
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
40-
41-
clean:
42-
-rm -rf $(BUILDDIR)/*
43-
-rm -rf $(LOCALEDIR)
44-
45-
getmo = $(LOCALEDIR)/$(2)/LC_MESSAGES/$(patsubst %.po,%.mo,$(notdir $(1)))
46-
genmo = $(shell msgfmt $(1) -o $(call getmo,$(1),$(2)))
47-
genlang = $(foreach po, $(wildcard $(1)/*.po), $(call genmo,$(po),$(2)))
48-
updatepo:
49-
$(foreach lang, $(LANGUAGES), @mkdir -p $(LOCALEDIR)/$(lang)/LC_MESSAGES)
50-
$(foreach lang, $(LANGUAGES), $(call genlang,$(PODIR)/$(lang),$(lang)))
51-
52-
html:
53-
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
54-
@echo
55-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
56-
57-
dirhtml:
58-
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
59-
@echo
60-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
61-
62-
singlehtml:
63-
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
64-
@echo
65-
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
66-
67-
pickle:
68-
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
69-
@echo
70-
@echo "Build finished; now you can process the pickle files."
71-
72-
json:
73-
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
74-
@echo
75-
@echo "Build finished; now you can process the JSON files."
76-
77-
htmlhelp:
78-
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
79-
@echo
80-
@echo "Build finished; now you can run HTML Help Workshop with the" \
81-
".hhp project file in $(BUILDDIR)/htmlhelp."
82-
83-
qthelp:
84-
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
85-
@echo
86-
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
87-
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
88-
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PyGObjectTutorial.qhcp"
89-
@echo "To view the help file:"
90-
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PyGObjectTutorial.qhc"
91-
92-
devhelp:
93-
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
94-
@echo
95-
@echo "Build finished."
96-
@echo "To view the help file:"
97-
@echo "# mkdir -p $$HOME/.local/share/devhelp/books"
98-
@echo "# gunzip $(BUILDDIR)/devhelp/$(DOCNAME).devhelp.gz"
99-
@echo "# ln -s `pwd`/$(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/books/$(DOCNAME)"
100-
@echo "# devhelp"
101-
102-
epub:
103-
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
104-
@echo
105-
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
106-
107-
latex:
108-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
109-
@echo
110-
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
111-
@echo "Run \`make' in that directory to run these through (pdf)latex" \
112-
"(use \`make latexpdf' here to do that automatically)."
113-
114-
latexpdf:
115-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
116-
@echo "Running LaTeX files through pdflatex..."
117-
make -C $(BUILDDIR)/latex all-pdf
118-
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
119-
120-
text:
121-
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
122-
@echo
123-
@echo "Build finished. The text files are in $(BUILDDIR)/text."
124-
125-
man:
126-
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
127-
@echo
128-
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
129-
130-
changes:
131-
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
132-
@echo
133-
@echo "The overview file is in $(BUILDDIR)/changes."
13+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13414

135-
linkcheck:
136-
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
137-
@echo
138-
@echo "Link check complete; look for any errors in the above output " \
139-
"or in $(BUILDDIR)/linkcheck/output.txt."
15+
.PHONY: help Makefile
14016

141-
doctest:
142-
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
143-
@echo "Testing of doctests in the sources finished, look at the " \
144-
"results in $(BUILDDIR)/doctest/output.txt."
17+
# Catch-all target: route all unknown targets to Sphinx using the new
18+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19+
%: Makefile
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Sphinx==1.6.6
22
sphinx-autobuild==0.7.1
33
sphinx-rtd-theme==0.2.5b2
4+
sphinx-intl

source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
project = u'Python GTK+ 3 Tutorial'
5151
copyright = u'GNU Free Documentation License 1.3'
5252

53-
# locale_dirs = ["../translations/locale",]
53+
locale_dirs = ["../translations/locale",]
5454

5555
# The version info for the project you're documenting, acts as replacement for
5656
# |version| and |release|, also used in various other places throughout the

0 commit comments

Comments
 (0)