#!/bin/sh PYFILES=$(find -L ../ -type f -name "*.py") GLADEFILES=$(find -L ../ -type f -name "*.ui") check_args() { if [ $# -ne 2 ]; then echo "Missing lang argument" >&2 exit 4 fi } make_pot() { # Generate .ui.h find -L ../ -type f -name "*.ui" -exec intltool-extract --type="gettext/glade" {} \; xgettext -k_ -kN_ -o plugins_translations.pot $PYFILES $GLADEHFILES --from-code=utf-8 rm $GLADEHFILES } make_po() { if [ -f $1.po ]; then echo "Updating '$1' language"; msgmerge -U $1.po plugins_translations.pot; else msginit -l $1.UTF-8 -o $1.po; fi } make_mo() { if [ ! -f $1.po ]; then echo "$1.po doesn't exist. Use plugins_translation make_po $1 to create it."; exit 3 fi mkdir -p locale/$1/LC_MESSAGES msgfmt -o $1.mo $1.po } install_mo() { cp $1.mo ../plugins_translations/ mkdir -p ~/.local/share/gajim/plugins/locale/$1/LC_MESSAGES/ cp $1.mo ~/.local/share/gajim/plugins/locale/$1/LC_MESSAGES/gajim_plugins.mo } case "$1" in make_po) check_args $@ make_pot make_po $2 ;; make_mo) check_args $@ make_mo $2 ;; install_mo) install_mo $2 ;; all) check_args $@ make_pot make_po $2 make_mo $2 install_mo $2 ;; *) echo "Usage: plugins_translation {all|make_po|make_mo|install_mo}" >&2 echo "example: plugins_translation make_po fr_FR" exit 2 ;; esac