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