aboutsummaryrefslogtreecommitdiffstats
path: root/tools/rebuild_gettext_catalogs.sh
diff options
context:
space:
mode:
authorFilip Komar <filip@mageia.org>2014-03-05 20:14:12 +0000
committerFilip Komar <filip@mageia.org>2014-03-05 20:14:12 +0000
commit140f314e64631208f259f889b60789c07b99bef7 (patch)
tree6fe9c33ddf16d8d41b1555ed1e958e35747ca792 /tools/rebuild_gettext_catalogs.sh
parentea3fd5fed461738c9f5d3eda76622ee936a4f280 (diff)
downloadwww-140f314e64631208f259f889b60789c07b99bef7.tar
www-140f314e64631208f259f889b60789c07b99bef7.tar.gz
www-140f314e64631208f259f889b60789c07b99bef7.tar.bz2
www-140f314e64631208f259f889b60789c07b99bef7.tar.xz
www-140f314e64631208f259f889b60789c07b99bef7.zip
script translated_converter.py adjusted for the need + some error managament improvemnts + bug fixes
Diffstat (limited to 'tools/rebuild_gettext_catalogs.sh')
-rwxr-xr-xtools/rebuild_gettext_catalogs.sh51
1 files changed, 38 insertions, 13 deletions
diff --git a/tools/rebuild_gettext_catalogs.sh b/tools/rebuild_gettext_catalogs.sh
index 3b84f7974..011d4c4d8 100755
--- a/tools/rebuild_gettext_catalogs.sh
+++ b/tools/rebuild_gettext_catalogs.sh
@@ -7,26 +7,43 @@
error=0
declare -A resources
+declare -A errors
source ./tools/web_projects.dat
for resource in "${!resources[@]}"
do
php_source=${resources[$resource]}
php tools/extract2gettext.php $php_source $resource true
- current_error_level=$? # catch error level
- if [ $current_error_level -gt 1 ]; then
- error=$current_error_level
- error_in_source=$php_source
- fi
+ php_error_level=$? # catch php error level
+ error=$php_error_level
+ error_in_source=$php_source
+ errors[$php_source]=$php_sourc$php_error_level
if [ -f ./langs/en/$resource.pot ]; then # cut too long lines
msgmerge --quiet ./langs/en/$resource.pot ./langs/en/$resource.pot > ./langs/en/$resource.tmp
mv ./langs/en/$resource.tmp ./langs/en/$resource.pot
for directory in ./langs/*
- do # update po files too
- if [ -d $directory/ ]; then
- if [ -f $directory/$resource.po ]; then
+ do
+ # in each language directory except source
+ if [ -d $directory/ ] && [ $directory != ./langs/en ]; then
+ # create po file if needed from lang file if available
+ if [ ! -f $directory/$resource.po ] && [ -f $directory/$resource.*.lang ]; then
+ python tools/translated_converter.py --filename $directory/$resource
+ python_error_level=$? # catch python error level
+ if [ $python_error_level -gt 0 ]; then
+ error=50
+ error_in_source=$directory/$resource
+ fi
+ fi
+ if [ -f $directory/$resource.po ]; then # update po file if it exists
msgmerge --update --quiet $directory/$resource.po ./langs/en/$resource.pot
+ msgmerge_error_level=$? # catch msgmerge error level
+ if [ $msgmerge_error_level -gt 0 ]; then
+ error=60
+ error_in_source=$directory/$resource
+ echo "$directory"/$resource.po could not be created succesfully
+ errors[$resource]=$resource$msgmerge_error_level
+ fi
fi
fi
done
@@ -34,8 +51,16 @@ do
done
echo ''
-case $error in
- 0) echo "Done lookup for _g() and _r() in php source code. Gettext catalogs (pot files) rebuilded. Existing po files updated." ;;
- 2) echo "!!!! Please fix $error_in_source first !!!! See details above." ;;
- 3) echo "!!!! Failed to write $error_in_source !!!! See details above." ;;
-esac
+#printf "%s\n" "${errors[@]}"
+for error_in_source in "${!errors[@]}"
+do
+ case ${errors[$error_in_source]} in
+ 0) echo "Done lookup for _g() and _r() in $error_in_source. Gettext catalogs (pot files) rebuilded. Existing po files updated." ;;
+ 1) echo "Unkown error!!" ;;
+ 10) echo "No strings to save from $error_in_source!" ;;
+ 20) echo "!!!! Parse error, please fix $error_in_source first !!!! See details above." ;;
+ 30) echo "!!!! Failed to write $error_in_source !!!! See details above." ;;
+ 50) echo "!!!! Script translated_converter.py encounter an error in $error_in_source !!!!" ;;
+ 60) echo "$error_in_source.po could not be created succesfully!!" ;;
+ esac
+done