aboutsummaryrefslogtreecommitdiff
path: root/aux/workflow
diff options
context:
space:
mode:
Diffstat (limited to 'aux/workflow')
-rwxr-xr-xaux/workflow/manpages.sh53
-rwxr-xr-xaux/workflow/update-translations.sh16
2 files changed, 53 insertions, 16 deletions
diff --git a/aux/workflow/manpages.sh b/aux/workflow/manpages.sh
new file mode 100755
index 0000000..de3cef9
--- /dev/null
+++ b/aux/workflow/manpages.sh
@@ -0,0 +1,53 @@
+#!/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"
+ $@ < "$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"
+ $@ < "$filefrom_name" | pandoc -s -r man -w html > "public/$lang/$fileto_name.html"
+ ;;
+ *)
+ echo "Unsupported operation: $OP"
+ exit 2
+ ;;
+ esac
+ done
+ done
+fi
diff --git a/aux/workflow/update-translations.sh b/aux/workflow/update-translations.sh
deleted file mode 100755
index 1974580..0000000
--- a/aux/workflow/update-translations.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-set -eu
-
-for f in doc/*.en.[1-9]; do
- # shellcheck disable=2068
- for lang in $@; 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