add script to build plugins translations
This commit is contained in:
parent
01a2de57c7
commit
9fecdb6a9c
|
@ -0,0 +1,95 @@
|
||||||
|
#!/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
|
Loading…
Reference in New Issue