update_translations.sh 795 B

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