This commit is contained in:
Kevin Meinhardt 2024-02-21 12:58:48 +01:00 коммит произвёл GitHub
Родитель 72a2f69493
Коммит e374a72d68
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
1 изменённых файлов: 15 добавлений и 29 удалений

Просмотреть файл

@ -5,6 +5,19 @@
# Make this script fail if any command exits wit exit code != 0
set -e
function process_po_file() {
pofile=$1
dir=$(dirname "$pofile")
lang=$(echo "$pofile" | cut -d "/" -f2)
stem=$(basename "$pofile" .po)
touch "${dir}/${stem}.mo"
dennis-cmd lint --errorsonly "$pofile" && msgfmt -o "${dir}/${stem}.mo" "$pofile"
}
# We are spawning sub processes with `xargs`
# and the function needs to be available in that sub process
export -f process_po_file
function usage() {
echo "syntax:"
echo "compile-mo.sh locale-dir/"
@ -17,34 +30,7 @@ if [[ ($# -ne 1) || (! -d "$1") ]]; then usage; fi
hash dennis-cmd 2>/dev/null || source $VENV/bin/activate
echo "compiling django.po..."
for pofile in `find $1 -type f -name "django.po"`; do
dir=`dirname $pofile`
lang=`echo $pofile | cut -d "/" -f2`
stem=`basename $pofile .po`
# lint the .po file
dennis-cmd lint --errorsonly "$pofile"
find $1 -type f -name "django.po" -print0 | xargs -0 -n1 -P4 bash -c 'process_po_file "$@"' _
if [ $? -ne 0 ]
then
exit 1
else
msgfmt -o ${dir}/${stem}.mo $pofile
fi
done
echo
echo "compiling djangojs.po..."
for pofile in `find $1 -type f -name "djangojs.po"`; do
dir=`dirname $pofile`
lang=`echo $pofile | cut -d "/" -f2`
stem=`basename $pofile .po`
touch "${dir}/${stem}.mo"
# lint the .po file
dennis-cmd lint --errorsonly "$pofile"
if [ $? -ne 0 ]
then
exit 1
else
msgfmt -o ${dir}/${stem}.mo $pofile
fi
done
find $1 -type f -name "djangojs.po" -print0 | xargs -0 -n1 -P4 bash -c 'process_po_file "$@"' _