From d1fb3c2592632add4529b9474e644cad4e086887 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Sat, 31 Jul 2021 13:25:59 +0200 Subject: [PATCH] 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 --- searx_extra/update/update_translations.sh | 27 +++++++++++++++++------ 1 file changed, 20 insertions(+), 7 deletions(-) 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