blob: 89f2a6eefd9139fbc8fe030b07bd138b9a966b5c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/bin/sh
set -eu
mkdir -p doc/po
LANGS=
while getopts 'l:' flag; do
case "$flag" in
l)
LANGS="$OPTARG"
;;
*)
exit 2
;;
esac
done
shift $((OPTIND - 1))
if [ -z "$LANGS" ]; then
echo "Missing LANG" >&2
exit 2
fi
po() {
format="$1"
from_f="$2"
to_f="$3"
lang="$4"
po4a-updatepo -M UTF-8 -f "$format" -m "$from_f" -p "doc/po/$lang.po" -v --previous
po4a-translate -M UTF-8 -f "$format" -m "$from_f" -p "doc/po/$lang.po" -v -L UTF-8 -l "$to_f" -k 0 >&2
}
for from_f in "$@"; do
for lang in $LANGS; do
to_f="$(echo "$from_f" | sed "s/\.en\./.$lang./")"
printf 'Generating %s...\n' "$to_f"
case "$from_f" in
*.en.[1-9].in)
po man "$from_f" "$to_f" "$lang"
;;
*.en.md|*.en.msg)
po text "$from_f" "$to_f" "$lang"
;;
*)
echo "Unsupported file format: $from_f" >&2
exit 2
;;
esac
done
done
end="\033[0m"
yellowb="\033[1;33m"
for lang in $LANGS; do
if LANG=POSIX msgfmt --statistics "doc/po/$lang.po" 2>&1 | grep translated; then
printf "\n\t${yellowb}WARNING${end}!\n Missing translations for %s\n\n" "doc/po/$lang.po" >&2
fi
done
|