diff options
| author | Danilo G. Baio <dbaio@FreeBSD.org> | 2021-04-08 00:54:11 +0000 |
|---|---|---|
| committer | Danilo G. Baio <dbaio@FreeBSD.org> | 2021-04-08 00:58:05 +0000 |
| commit | b5f7b600edd24cd1eca235f8fab631821de98e78 (patch) | |
| tree | dcf737fd6604794f7a780dcf107afc84f44f30a7 /tools/update_translate_template.sh | |
| parent | a4888aa345f7eb52766d2753c697fb23df99b902 (diff) | |
Add helper scripts for translations
Already using them on Weblate FreeBSD,
https://translate-dev.freebsd.org/.
Approved by: bcr, gjb (doceng)
Differential Revision: https://reviews.freebsd.org/D29569
Diffstat (limited to 'tools/update_translate_template.sh')
| -rwxr-xr-x | tools/update_translate_template.sh | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/tools/update_translate_template.sh b/tools/update_translate_template.sh new file mode 100755 index 0000000000..4bb5699d2e --- /dev/null +++ b/tools/update_translate_template.sh @@ -0,0 +1,94 @@ +#!/bin/sh +# +# Copyright (c) 2021 Danilo G. Baio <dbaio@FreeBSD.org> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ALL_COMPONENTS="documentation +website" + +COMPONENTS="${1:-$ALL_COMPONENTS}" + +GIT_IGNORE_FILES="toc-examples.adoc +toc-figures.adoc +toc-tables.adoc +toc.adoc +toc-1.adoc +toc-2.adoc +toc-3.adoc +toc-4.adoc +toc-5.adoc" + +for remove_file in $GIT_IGNORE_FILES; do + find documentation/content/en/ -name "$remove_file" -delete -print || exit 1 +done + +for component in $COMPONENTS; do + + if [ ! -d "$component/content/en" ]; then + echo "Directory '$component/content/en' not found." + exit 1 + fi + + for document in $(find "$component/content/en/" -name "*.adoc" ); do + name=$(basename -s .adoc "$document") + + # Ignore some files + if [ "$name" = "chapters-order" ]; then + continue + fi + + if [ "$document" = "documentation/content/en/books/books.adoc" ]; then + continue + fi + + dirbase=$(dirname "$document") + echo "$document" + + if [ -f "$dirbase/$name.po" ]; then + po4a-updatepo \ + --format asciidoc \ + --option compat=asciidoctor \ + --option yfm_keys=title,part \ + --master "$document" \ + --master-charset "UTF-8" \ + --copyright-holder "The FreeBSD Project" \ + --package-name "FreeBSD Documentation" \ + --po "$dirbase/$name.po" + if [ -f "$dirbase/$name.po~" ]; then + rm -f "$dirbase/$name.po~" + fi + else + po4a-gettextize \ + --format asciidoc \ + --option compat=asciidoctor \ + --option yfm_keys=title,part \ + --master "$document" \ + --master-charset "UTF-8" \ + --copyright-holder "The FreeBSD Project" \ + --package-name "FreeBSD Documentation" \ + --po "$dirbase/$name.po" + fi + done +done + |
