MastodonHelp/web/clitools/updtrans.bash
2023-06-27 16:17:13 +02:00

41 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
if [ -z $1 ]; then
echo "Devi specificare un comando («updpo» per aggiornare il pot e i po, «updmo» per poi aggiornare gli mo)."
exit 1
fi
if [ $1 != "updpo" ] && [ $1 != "updmo" ]; then
echo "«$1» non è un comando noto; usa «updpo» per aggiornare il pot e i po, «updmo» per poi aggiornare gli mo."
exit 1
fi
langs=("ar" "ars" "ca" "cs" "de" "en" "es" "fa" "fr" "gl" "id" "it" "nl" "pl" "pt" "pt_BR" "ru" "tr" "uk")
basedir=$(dirname "$0")
cd "$basedir"
cd ../../
if [ $1 == "updpo" ]; then
echo "Aggiorno masthelp.pot con xgettext"
xgettext --no-wrap --from-code utf-8 --add-comments --package-name masthelp --package-version 1.1 --msgid-bugs-address masthelp@insicuri.net web/site/*.php -o web/site/locale/masthelp.pot
echo "Aggiorno masthelp.po per «en» con msgen"
msgen --no-wrap web/site/locale/masthelp.pot -o web/site/locale/en/en_US.UTF-8/LC_MESSAGES/masthelp.po
for lang in ${langs[@]}; do
if [ $lang != "en" ]; then
echo "Aggiorno masthelp.po per «$lang» con msgmerge"
msgmerge --update --no-wrap web/site/locale/$lang/en_US.UTF-8/LC_MESSAGES/masthelp.po web/site/locale/masthelp.pot
fi
done
echo "Fatto! Ora puoi editare i vari masthelp.po. Ricordati di editare anche"
echo "quello per «en» rimuovendo \"{singular}\" e \"{plural}\" ;-)"
elif [ $1 == "updmo" ]; then
for lang in ${langs[@]}; do
echo "Aggiorno masthelp.mo per «$lang»"
msgfmt web/site/locale/$lang/en_US.UTF-8/LC_MESSAGES/masthelp.po -o web/site/locale/$lang/en_US.UTF-8/LC_MESSAGES/masthelp.mo
done
echo "Fatto! :-)"
else
echo "IMPOSSIBILE!"
fi
exit 0