diff --git a/searx_extra/update/update_translations.sh b/searx_extra/update/update_translations.sh index 240387ae7..9ad79149b 100755 --- a/searx_extra/update/update_translations.sh +++ b/searx_extra/update/update_translations.sh @@ -1,15 +1,28 @@ -#!/bin/sh +#!/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 messages.pot -d searx/translations -l en +# pybabel init -i searx/translations/messages.pot -d searx/translations -l en -SEARX_DIR='searx' +APP_DIR="searx" +TRANSLATIONS="${APP_DIR}/translations" +MESSAGES_POT="${TRANSLATIONS}/messages.pot" -pybabel extract -F babel.cfg -o messages.pot "$SEARX_DIR" -for f in `ls "$SEARX_DIR"'/translations/'`; do - pybabel update -N -i messages.pot -d "$SEARX_DIR"'/translations/' -l "$f" -done +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