96 lines
2.1 KiB
Plaintext
96 lines
2.1 KiB
Plaintext
|
#!/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
|