package-helpers-cmxsl/helpers/DATA/tasksel/lang-gen.sh

50 lines
1 KiB
Bash
Executable file

#!/bin/sh
set -e
# Args:
# $1 = LANGS_DESC (lista de códigos crudos)
# $2 = L10N_PKGS (familias base: language-pack, -gnome, hunspell, hyphen, mythes)
# $3 = destino (directorio trisquel-tasks)
raw_langs="$1"
families="$2"
dest="$3"
canon() {
case "$1" in
pt_BR) echo pt ;;
zh_CN) echo zh-hans ;;
zh_TW) echo zh-hant ;;
*) echo "${1%%_*}" ;;
esac
}
have_pkg() { apt-cache show "$1" >/dev/null 2>&1; }
mkdir -p "$dest"
# de-dup
uniq_langs=$(for l in $raw_langs; do canon "$l"; done | tr ' ' '\n' | sort -u)
for lang in $uniq_langs; do
base="language-pack-$lang"
if ! have_pkg "$base"; then
echo "skip: $lang (no $base)" >&2
continue
fi
f="$dest/l10n-$lang"
{
echo "Task: $lang"
echo "Description: $lang environment"
echo " This task localises the desktop in $lang."
echo "Key:"
echo " $base"
echo "Packages: list"
for fam in $families; do
echo " ${fam}-${lang}"
done
echo "Section: l10n"
echo "Test-lang: $lang"
echo
} > "$f"
done