|
- #!/bin/bash
-
- # SPDX-FileCopyrightText: 2024 Slavi Pantaleev <slavi@devture.com>
- #
- # SPDX-License-Identifier: AGPL-3.0-or-later
-
- # This script builds the translated result (translated project) for a given language in the `translated/<language>/` directory.
-
- set -euxo pipefail
-
- if [ $# -ne 1 ]; then
- echo "Usage: $0 <language>"
- exit 1
- fi
-
- LANGUAGE=$1
-
- base_path="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
-
- if [ ! -f ${base_path}/i18n/locales/${LANGUAGE}/LC_MESSAGES/README.po ]; then
- echo "Locales for ${LANGUAGE} not found. Please run the `sync-translation-templates-to-locales.sh` script first."
- exit 1
- fi
-
- # Prepare a clean build directory
- if [ -d ${base_path}/i18n/translated-result-build-${LANGUAGE} ]; then
- rm -rf ${base_path}/i18n/translated-result-build-${LANGUAGE}
- fi
- mkdir -p ${base_path}/i18n/translated-result-build-${LANGUAGE}
-
- # Build the translated documentation
- sphinx-build \
- -b markdown \
- -D language="${LANGUAGE}" \
- ${base_path}/ \
- ${base_path}/i18n/translated-result-build-${LANGUAGE}
-
- # Clean up .mo files produced during the build.
- # We don't commit them to the repository anyway, so they can be left alone,
- # but we'd rather keep things clean anyway.
- find ${base_path}/i18n/locales/${LANGUAGE} -type f -name '*.mo' -delete
-
- # Clean up the build directory
- rm -rf ${base_path}/i18n/translated-result-build-${LANGUAGE}/.doctrees
-
- # Copy assets
- cp -r ${base_path}/docs/assets ${base_path}/i18n/translated-result-build-${LANGUAGE}/docs/assets/
-
- # Remove the old result directory for this language
- if [ -d ${base_path}/i18n/translated/${LANGUAGE} ]; then
- rm -rf ${base_path}/i18n/translated/${LANGUAGE}
- fi
-
- # Make sure the `translated/` directory exists
- if [ ! -d ${base_path}/i18n/translated ]; then
- mkdir -p ${base_path}/i18n/translated
- fi
-
- # Relocate the built result to translated/<language>
- mv ${base_path}/i18n/translated-result-build-${LANGUAGE} ${base_path}/i18n/translated/${LANGUAGE}
|