Ponysearch/searx_extra/update/update_translations.sh
Alexandre Flament d1fb3c2592 babel: update searx_extra/update/update_translations.sh
the script expects searx/translations/messages.pot to be commited

it calls "pybabel extract", and if there is a meaningful change,
it calls "pybabel update"

exit code 0 when there is a change in messages.pot
2021-08-02 09:44:13 +02:00

28 lines
795 B
Bash
Executable file

#!/usr/bin/env bash
# -*- coding: utf-8; mode: sh indent-tabs-mode: nil -*-
# script to easily update translation language files
# add new language:
# pybabel init -i searx/translations/messages.pot -d searx/translations -l en
APP_DIR="searx"
TRANSLATIONS="${APP_DIR}/translations"
MESSAGES_POT="${TRANSLATIONS}/messages.pot"
get_sha256() {
echo "$(grep "msgid" "${MESSAGES_POT}" | sort | sha256sum | cut -f1 -d\ )"
}
EXISTING_SHA="$(get_sha256)"
pybabel extract -F babel.cfg -o "${MESSAGES_POT}" "${APP_DIR}"
if [ "$(get_sha256)" = "${EXISTING_SHA}" ]; then
echo '[!] no changes detected, exiting']
exit 1
fi
pybabel update -N -i "${MESSAGES_POT}" -d "${TRANSLATIONS}"
echo '[!] update done, edit .po files if required and run pybabel compile -d searx/translations/'
exit 0