From 29e810a98cc8aafdf27cc5b83530050b4d4a397b Mon Sep 17 00:00:00 2001 From: Filip Komar Date: Sun, 2 Mar 2014 15:14:50 +0000 Subject: added rebuilding existing po files + some error managament + verbosity improvements --- tools/extract2gettext.php | 16 ++++++++++++---- tools/rebuild_gettext_catalogs.sh | 29 ++++++++++++++++++++++++++--- 2 files changed, 38 insertions(+), 7 deletions(-) (limited to 'tools') diff --git a/tools/extract2gettext.php b/tools/extract2gettext.php index 559285573..0b1687540 100644 --- a/tools/extract2gettext.php +++ b/tools/extract2gettext.php @@ -24,6 +24,7 @@ define('APP_ROOT', realpath(__DIR__ . '/..')); $php_source = isset($argv[1]) ? $argv[1] : null; $domain = isset($argv[2]) ? $argv[2] : null; +$quiet = isset($argv[3]) ? $argv[3] : false; if (is_null($php_source) || is_null($domain)) { echo << $strs) { mkdir($dir, 0755, true); } echo sprintf("saved %d strings in %s\n", count($strs), $dest); - if (FALSE === file_put_contents($dest, $f)) + if (FALSE === file_put_contents($dest, $f)) { echo "Failed to write.\n"; + $error = 3; + } } -echo "Done. thxbye.\n"; +if(!$quiet) { echo "Done. thxbye.\n"; } exit($error); diff --git a/tools/rebuild_gettext_catalogs.sh b/tools/rebuild_gettext_catalogs.sh index 55c4908fd..3b84f7974 100755 --- a/tools/rebuild_gettext_catalogs.sh +++ b/tools/rebuild_gettext_catalogs.sh @@ -5,14 +5,37 @@ # @copyright 2014/03 # inspired by check_for_translation_work.sh +error=0 declare -A resources - source ./tools/web_projects.dat for resource in "${!resources[@]}" do php_source=${resources[$resource]} - php tools/extract2gettext.php $php_source $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 + 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 + msgmerge --update --quiet $directory/$resource.po ./langs/en/$resource.pot + fi + fi + done + fi done + echo '' -echo "Done lookup for _g() and _r() in php source code and build a gettext catalog (pot file)" +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 -- cgit v1.2.1