updtrans.bash 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. if [ -z $1 ]; then
  3. echo "Devi specificare un comando («updpo» per aggiornare il pot e i po, «updmo» per poi aggiornare gli mo)."
  4. exit 1
  5. fi
  6. if [ $1 != "updpo" ] && [ $1 != "updmo" ]; then
  7. echo "«$1» non è un comando noto; usa «updpo» per aggiornare il pot e i po, «updmo» per poi aggiornare gli mo."
  8. exit 1
  9. fi
  10. langs=("ar_AE" "be_BY" "ca_ES" "cs_CZ" "de_DE" "en_EN" "es_ES" "fa_IR" "fr_FR" "gl_ES" "id_ID" "it_IT" "nl_NL" "pl_PL" "pt_BR" "pt_PT" "ru_RU" "tr_TR" "uk_UA")
  11. basedir=$(dirname "$0")
  12. cd "$basedir"
  13. cd ../../
  14. if [ $1 == "updpo" ]; then
  15. echo "Aggiorno masthelp.pot con xgettext"
  16. xgettext --no-wrap --from-code utf-8 --add-comments --copyright-holder masthelp@insicuri.net --package-name mastodon.help --package-version 1.1 --msgid-bugs-address masthelp@insicuri.net web/site/*.php web/lib/*.php -o - | sed -e 's/^"Language: \\n"$/"Language: en\\n"/' > web/site/locale/masthelp.pot
  17. echo "Aggiorno masthelp.po per «en» con msgen"
  18. msgen --no-wrap web/site/locale/masthelp.pot -o - | sed -e 's/msgstr "Not available{singular}"/msgstr "Not available"/' -e 's/msgstr "Not available{plural}"/msgstr "Not available"/' > web/site/locale/en_EN/LC_MESSAGES/masthelp.po
  19. for lang in ${langs[@]}; do
  20. if [ $lang != "en_EN" ]; then
  21. echo "Aggiorno masthelp.po per «$lang» con msgmerge"
  22. msgmerge --update --no-wrap web/site/locale/$lang/LC_MESSAGES/masthelp.po web/site/locale/masthelp.pot
  23. fi
  24. done
  25. echo "Fatto! Ora puoi editare i vari masthelp.po."
  26. elif [ $1 == "updmo" ]; then
  27. for lang in ${langs[@]}; do
  28. echo "Aggiorno masthelp.mo per «$lang»"
  29. msgfmt web/site/locale/$lang/LC_MESSAGES/masthelp.po -o web/site/locale/$lang/LC_MESSAGES/masthelp.mo
  30. done
  31. echo "Fatto! :-)"
  32. else
  33. echo "IMPOSSIBILE!"
  34. fi
  35. exit 0