First step for translation of RST files

Set locale_dirs in conf.py to support translated documents building.
Add a config variable SPECIAL_BOOKS to list documents in RST format.
Add new generatepot-rst tox environment to generate all pot file,
invoke using "tox -e generatepot-rst -- playground-user-guide".

Add new script to generate the pot files.

Co-Authored-By: Andreas Jaeger <aj@suse.de>

Change-Id: I3124cf65b254c1c5aefce59447bb94240d96a742
This commit is contained in:
daisy-ycguo 2015-03-05 18:25:29 +08:00 committed by Andreas Jaeger
parent 507c9a788d
commit 670c7af1ad
6 changed files with 55 additions and 0 deletions

View File

@ -20,3 +20,12 @@ POM_FILE="doc/pom.xml"
# Location of doc dir
DOC_DIR="doc/"
# Books with special handling
# Values need to match content in project-config/jenkins/scripts/common_translation_update.sh
declare -A SPECIAL_BOOKS
SPECIAL_BOOKS=(
["playground-user-guide"]="RST"
["networking-guide"]="skip"
["hot-guide"]="skip"
)

View File

@ -267,3 +267,6 @@ texinfo_documents = [
# If true, do not generate a @detailmenu in the "Top" node's menu.
# texinfo_no_detailmenu = False
# -- Options for Internationalization output ------------------------------
locale_dirs = ['locale/']

View File

@ -269,3 +269,6 @@ texinfo_documents = [
# If true, do not generate a @detailmenu in the "Top" node's menu.
# texinfo_no_detailmenu = False
# -- Options for Internationalization output ------------------------------
locale_dirs = ['locale/']

View File

@ -268,3 +268,6 @@ texinfo_documents = [
# If true, do not generate a @detailmenu in the "Top" node's menu.
# texinfo_no_detailmenu = False
# -- Options for Internationalization output ------------------------------
locale_dirs = ['locale/']

32
tools/generatepot-rst.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash -xe
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Copy files from trunk to named branch and replace all links from
# trunk with links to the branch
DOCNAME=$1
if [ -z "$DOCNAME" ] ; then
echo "usage $0 DOCNAME"
exit 1
fi
sphinx-build -b gettext doc/$DOCNAME/source/ doc/$DOCNAME/source/locale/
# Take care of deleting all temporary files so that git add
# doc/$DOCNAME/source/locale will only add the single pot file.
msgcat doc/$DOCNAME/source/locale/*.pot > doc/$DOCNAME/source/DOCNAME.pot
rm doc/$DOCNAME/source/locale/*.pot
mv doc/$DOCNAME/source/DOCNAME.pot doc/$DOCNAME/source/locale/DOCNAME.pot

View File

@ -104,6 +104,11 @@ sitepackages=True
whitelist_externals = doc-tools-check-languages
commands = doc-tools-check-languages doc-tools-check-languages.conf publish all
[testenv:generatepot-rst]
# Generate POT files for translation, needs {posargs} like:
# tox -e generatepot-rst -- playground-user-guide
commands = {toxinidir}/tools/generatepot-rst.sh {posargs}
[doc8]
# Settings for doc8:
# Ignore target directories