|  | @@ -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
 |