|
@@ -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
|
|
# script to easily update translation language files
|
|
|
|
|
|
# add new language:
|
|
# 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/'
|
|
echo '[!] update done, edit .po files if required and run pybabel compile -d searx/translations/'
|
|
|
|
+exit 0
|