aboutsummaryrefslogtreecommitdiff
path: root/aux/workflow/l10n.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xaux/workflow/l10n.sh110
1 files changed, 0 insertions, 110 deletions
diff --git a/aux/workflow/l10n.sh b/aux/workflow/l10n.sh
deleted file mode 100755
index f220123..0000000
--- a/aux/workflow/l10n.sh
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/sh
-set -eu
-
-LANGS=
-MAX_JOBS=64
-while getopts 'l:L:j:' flag; do
- case "$flag" in
- l)
- LANGS="$OPTARG"
- ;;
- L)
- CONTRIBLANGS="$OPTARG"
- ;;
- j)
- MAX_JOBS="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${LANGS:-}" '-l LANGS'
-
-PARALLEL_N=0
-parallel_run() {
- {
- "$@"
- } &
- PARALLEL_N=$((PARALLEL_N + 1))
- if [ "$PARALLEL_N" = "$MAX_JOBS" ]; then
- wait
- PARALLEL_N=0
- fi
-}
-
-po_run() {
- from_f="$1"
- lang="$2"
- to_f="$(echo "$from_f" | sed "s/en\./$lang./")"
- printf 'Generating %s...\n' "$to_f" >&2
- pofile="po/LC_MESSAGES/$from_f/$lang.po"
- mkdir -p "$(dirname "$pofile")"
-
- case "$from_f" in
- *.en.[1-9].in)
- po4a-updatepo -f man -m "$from_f" -p "$pofile"
- po4a-translate -f man -m "$from_f" \
- -p "$pofile" -l "$to_f" -k 0 -v >&2
- ;;
- *.en.html)
- po4a-updatepo -f xhtml -m "$from_f" -p "$pofile"
- po4a-translate -f xhtml -m "$from_f" \
- -p "$pofile" -l "$to_f" -k 0 -v >&2
- ;;
- *.en.md)
- touch "$pofile"
- md2po --include-codeblocks --quiet --save \
- --po-filepath "$pofile" < "$from_f"
- po2md --pofiles "$pofile" --save "$to_f" \
- --quiet --wrapwidth 999 < "$from_f"
- ;;
- *.en.msg|*.en.txt)
- po4a-updatepo -f text -m "$from_f" -p "$pofile"
- po4a-translate -f text -m "$from_f" \
- -p "$pofile" -l "$to_f" -k 0 -v >&2
- ;;
- *)
- echo "Unsupported file format: $from_f" >&2
- exit 2
- ;;
- esac
-}
-
-for from_f in "$@"; do
- for lang in $LANGS ${CONTRIBLANGS:-}; do
- parallel_run po_run "$from_f" "$lang"
- done
-done
-wait
-
-EXIT_CODE=0
-
-end="\033[0m"
-yellowb="\033[1;33m"
-for lang in $LANGS; do
- # shellcheck disable=2044
- for pofile in $(find po/ -type f -name "$lang.po"); do
- if ! LANG=POSIX msgfmt --statistics "$pofile" 2>&1 |
- grep untranslated; then
- continue
- fi
- # shellcheck disable=2059
- printf "\n ${yellowb}WARNING${end}!" >&2
- printf "\n Missing translations for %s\n\n" "$pofile" >&2
- EXIT_CODE=1
- done
-done
-
-if [ -n "${ASSERT_NO_MISSING_TRANSLATIONS:-}" ]; then
- exit "$EXIT_CODE"
-fi