Skip to content
Snippets Groups Projects
Commit 1ef09118 authored by Yann Leboulanger's avatar Yann Leboulanger
Browse files

add script to build plugins translations

parent 5af3964f
No related branches found
No related tags found
No related merge requests found
#!/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
}
init_ln()
{
if [ -e "core_plugins" ] && [ ! -L "core_plugins" ]; then
echo "core_plugins must be a symbolic link" >&2
exit 1
fi
if [ ! -e "core_plugins" ]; then
ln -s ../../plugins core_plugins
fi
if [ ! -L "community_plugins" ]; then
echo "community_plugins should be a symbolic link to gajim-plugins repository, else they won't be in po files"
fi
}
make_pot()
{
# Generate .ui.h
find -L ./ -type f -name "*.ui" -exec intltool-extract --type="gettext/glade" {} \;
GLADEHFILES=$(find -L ./ -type f -name "*.ui.h")
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 existe. 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()
{
if [ -L community_plugins ]; then
cp $1.mo community_plugins/plugins_translate/
fi
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 $@
init_ln
make_pot
make_po $2
;;
make_mo)
check_args $@
make_mo $2
;;
install_mo)
install_mo
;;
all)
check_args $@
init_ln
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment