diff options
Diffstat (limited to 'aux/po4a-cfg.sh')
-rwxr-xr-x | aux/po4a-cfg.sh | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/aux/po4a-cfg.sh b/aux/po4a-cfg.sh new file mode 100755 index 0000000..11e51aa --- /dev/null +++ b/aux/po4a-cfg.sh @@ -0,0 +1,85 @@ +#!/bin/sh +set -eu + +usage() { + cat <<-'EOF' + FIXME + EOF +} + +help() { + cat <<-'EOF' + FIXME + EOF +} + + +for flag in "$@"; do + case "$flag" in + --) + break + ;; + --help) + usage + help + exit + ;; + *) + ;; + esac +done + +while getopts 'f:L:h' flag; do + case "$flag" in + f) + FILES="$OPTARG" + ;; + h) + usage + help + exit + ;; + *) + usage >&2 + exit 2 + ;; + esac +done +shift $((OPTIND - 1)) + +. aux/lib.sh + + +files() { + printf '%s' "${FILES:-}" | tr ' ' '\n' | grep . +} + +guess_type() { + case "$1" in + *.md) + echo text + ;; + *.[1-9]*.in) + echo man + ;; + *) + echo text + ;; + esac +} + + +cat <<-'EOF' + [options] --keep 0 --master-charset UTF-8 --localized-charset UTF-8 + + [po_directory] po + +EOF + +files | while read -r file; do + TYPE="$(guess_type "$file")" + # shellcheck disable=2016 + VAR_FILE="$(printf '%s' "$file" | sed 's|\.en\.|.$lang.|')" + # shellcheck disable=2016 + printf '[type: %s] %s $lang:%s\n' "$TYPE" "$file" "$VAR_FILE" +done |