#!/bin/sh set -eu LANGS="$1" OP="$2" PREFIX="${3:-}" if [ "$OP" = '--update' ]; then for f in doc/*.en.[1-9]; do for lang in $LANGS; do to="$(echo "$f" | sed "s|\.en\.|.$lang.|")" po4a-updatepo -f man -m "$f" -p "doc/$lang.po" printf 'Translating %s...\n' "$to" >&2 OUT="$(po4a-translate -f man -m "$f" -p "doc/$lang.po" -l "$to" -k 0 -v 2>&1)" echo "$OUT" >&2 if ! echo "$OUT" | grep -qF ' is 100% translated ('; then printf "\n WARNING!\n Missing translations for %s\n\n" "$to" >&2 fi done done else shift 4 ||: # remove up to '--' for f in doc/*.en.[1-9]; do n="${f##*.}" fileto_name="$(basename "${f%.en.$n}").$n" for lang in $LANGS en; do filefrom_name="${f%.en.$n}.$lang.$n" mandir_name="$PREFIX/$lang/man$n" htmldir_name="public/$lang/" case "$OP" in --install) mkdir -p "$mandir_name" # shellcheck disable=2068 $@ < "$filefrom_name" > "$mandir_name/$fileto_name" mkdir -p "$PREFIX/man$n" ln -fs "../en/man$n/$fileto_name" "$PREFIX/man$n/$fileto_name" ;; --uninstall) rm -f \ "$PREFIX/$lang/man$n/$fileto_name" \ "$PREFIX/man$n/$fileto_name" ;; --html) mkdir -p "$htmldir_name" # shellcheck disable=2068 $@ < "$filefrom_name" | pandoc -s -r man -w html > "public/$lang/$fileto_name.html" ;; *) echo "Unsupported operation: $OP" exit 2 ;; esac done done fi