--- builds_bin/update_templates 2008/10/03 21:33:16 1.4 +++ builds_bin/update_templates 2009/10/26 22:02:53 1.10 @@ -13,12 +13,12 @@ export CVS_RSH=ssh # Update/expand smeserver cvs cd /etc/pootle/cvs/smeserver -for pkg in */sme7 anaconda/sme8 +for pkg in */sme7 anaconda/sme8 booty/sme8 do make -C $pkg clean &> /dev/null done cvs update -dPA > /dev/null -for pkg in */sme7 anaconda/sme8 +for pkg in */sme7 anaconda/sme8 booty/sme8 do make -C $pkg prep &> /dev/null done @@ -44,7 +44,7 @@ killall PootleServer #========================================================== -# Update anaconda templates +# Update anaconda template anacondatmpl > anaconda.pot diffmv anaconda.pot /etc/pootle/po/sme7bc/templates/anaconda.pot @@ -67,6 +67,10 @@ do diffcp /etc/pootle/templates/$(basename $pkg).pot /etc/pootle/po/sme7bp/templates/$(basename $pkg).pot done +# Update sme7admin template +potempl /etc/pootle/cvs/smecontribs/smeserver-sme7admin/*/*/root/{etc/e-smith/web/functions/sme7admin,usr/bin/sme7admind} > sme7admin.pot +diffmv sme7admin.pot /etc/pootle/po/sme7cp/templates/sme7admin.pot + # Update contrib panel templates for pkg in $(find /etc/pootle/cvs/smecontribs/*/*7/*/root/etc/e-smith/locale/en-us/ -type f -print) do @@ -79,13 +83,6 @@ done # Apply templates to languages for lang in $(ls -I templates /etc/pootle/po/sme* | grep '[[:alpha:]]$' | sort -u) do - # Create error compendium to assist translators - pocompendium -e errors-$lang.po -d /etc/pootle/po/sme*/$lang - sed -i '0,/^$/d;/^#~/d' errors-$lang.po - sed -i ':a;/^\n*$/{$d;N;ba;}' errors-$lang.po - chmod 644 errors-$lang.po - diffmv errors-$lang.po /var/www/html/errors/errors-$lang.po - # Create compendium to assist translations pocompendium -c /etc/pootle/tmp/compendium-$lang.po -d /etc/pootle/po/*/$lang @@ -115,17 +112,31 @@ do diffmv $chk $(echo $chk | sed 's@/tmp/@/po/@') done +# Copy po files so we can create error reports +rsync -amR --include '*/' --include '*.po' --exclude '*' /etc/pootle/po/./sme*/ /etc/pootle/tmp/errors/ +find /etc/pootle/tmp/errors/ -type f -exec sed -i '/^#~/d' {} \+ + #========================================================== # Recalculate stats and restart server cd /etc/pootle PootleServer --refreshstats &> /dev/null -nohup PootleServer --servertype threaded >> /var/log/pootle.log 2>&1 & +nohup PootleServer --prefsfile /etc/pootle/pootle.prefs >> /var/log/pootle.log 2>&1 & #========================================================== cd /etc/pootle/tmp +# Create error compendium to assist translators +for lang in $(ls /etc/pootle/tmp/errors/sme* | grep '[[:alpha:]]$' | sort -u) +do + pocompendium -e errors-$lang.po -d /etc/pootle/tmp/errors/sme*/$lang + sed -i '0,/^$/d;/^#~/d' errors-$lang.po + sed -i ':a;/^\n*$/{$d;N;ba;}' errors-$lang.po + chmod 644 errors-$lang.po + diffmv errors-$lang.po /var/www/html/errors/errors-$lang.po +done + # Build diffs for languages for lang in $(ls /etc/pootle/po/sme7bp -I templates) do @@ -141,17 +152,25 @@ do # Build console files pkgname=$(ls -d /etc/pootle/cvs/smeserver/smeserver-locale/*7/*/root | cut -d/ -f8) mkdir -p ${pkgname}.update/po/$lang - for pkg in $(ls /etc/pootle/po/sme7bc/templates/ | sed -n '/^anaconda.pot$/b;s@\.pot@\.po@p') + for pkg in $(ls /etc/pootle/po/sme7bc/templates/ -I anaconda.pot | sed -n 's@\.pot@\.po@p') do msgcat -F --no-wrap /etc/pootle/po/sme7bc/$lang/$pkg \ | grep -v 'Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|X-Generator' \ | sed '0,/msgid ""/{/^#/d};/^#,/d' \ > ${pkgname}.update/po/$lang/$pkg done + + # Build sme7admin file + pkgname=$(ls -d /etc/pootle/cvs/smecontribs/smeserver-sme7admin/*7/*/root | cut -d/ -f8) + mkdir -p ${pkgname}.update/po/$lang + msgcat -F --no-wrap /etc/pootle/po/sme7cp/$lang/sme7admin.po \ + | grep -v 'Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|X-Generator' \ + | sed '0,/msgid ""/{/^#/d};/^#,/d' \ + > ${pkgname}.update/po/$lang/sme7admin.po done # Build translated xml files -for pkg in $(ls /etc/pootle/po/sme7*p/templates/ | sed -n 's@\.pot@@p') +for pkg in $(ls /etc/pootle/po/sme7*p/templates/ -I sme7admin.pot | sed -n 's@\.pot@@p') do pkgname=$(find /etc/pootle/cvs/smecontribs/*/*7/*/root/etc/e-smith/locale/en-us -name $pkg | cut -d/ -f8) if [ -z "$pkgname" ] @@ -179,8 +198,9 @@ done # Build xml diffs for pkg in $(ls -d *.update | sed 's@.update$@@') do - orig=/etc/pootle/cvs/sme*/*/*7/$pkg/root/etc/e-smith/locale rm -f /var/www/html/patches/$(echo $pkg | sed 's/-[^-]\+$//')-*-locale-*.patch + [ -d $pkg.update/root/etc/e-smith/locale ] || continue + orig=/etc/pootle/cvs/sme*/*/*7/$pkg/root/etc/e-smith/locale diff -ruN $orig $pkg.update/root/etc/e-smith/locale \ | sed 's@^\(---\|+++\) [^ ]\+/\([^/]\+/root/.*\)@\1 \2@;/^diff -ruN/d' \ > /var/www/html/patches/$pkg-locale-$(date +%F).patch @@ -192,4 +212,11 @@ orig=/etc/pootle/cvs/smeserver/smeserver diff -ruN $orig $pkg.update/po \ | sed 's@^\(---\|+++\) [^ ]\+/\([^/]\+/po/.*\)@\1 \2@;/^diff -ruN/d' \ >> /var/www/html/patches/$pkg-locale-$(date +%F).patch + +# Build sme7admin diff +pkg=$(ls -d smeserver-sme7admin-* | sed 's@.update$@@') +orig=/etc/pootle/cvs/smecontribs/smeserver-sme7admin/*7/$pkg/po +diff -ruN $orig $pkg.update/po \ +| sed 's@^\(---\|+++\) [^ ]\+/\([^/]\+/po/.*\)@\1 \2@;/^diff -ruN/d' \ +>> /var/www/html/patches/$pkg-locale-$(date +%F).patch