From 79ad7816c491b7a6b0e3e258ce1d763f1fb21cc5 Mon Sep 17 00:00:00 2001 From: "Jens W. Klein" Date: Tue, 25 Mar 2014 18:33:48 +0100 Subject: [PATCH] added i8ndude and script to buildout in order to make translations updates simpler. --- buildout.cfg | 53 ++++++++++++++++++---------------------------------- 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/buildout.cfg b/buildout.cfg index 5ea07fd..2d918f7 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -6,6 +6,7 @@ parts += mkrelease pocompile code-analysis + i18ndude update_translations [mkrelease] @@ -31,49 +32,31 @@ plone.app.jquery = 1.8.3 plone.app.testing = 4.2.4 plone.app.vocabularies = 2.1.14 -[babelpy] + +[i18ndude] recipe = zc.recipe.egg eggs = - setuptools - Babel - lingua -interpreter = babelpy + i18ndude [update_translations] recipe = collective.recipe.template -output = ${buildout:directory}/bin/update_translations +output = ${buildout:bin-directory}/update_translations input = inline: - #!/bin/bash - DOMAIN="plone" + #!/usr/bin/env bash + + DOMAIN="plone.app.discussion" BASE_PATH=${buildout:directory}/plone/app/discussion - # --- No modifications below --- - [[ -s $BASE_PATH/locales/$DOMAIN.pot ]] && \ - cp $BASE_PATH/locales/$DOMAIN.pot $BASE_PATH/locales/$DOMAIN.1.pot - ${buildout:directory}/bin/${babelpy:interpreter} \ - ${buildout:directory}/setup.py extract_messages \ - -o $BASE_PATH/locales/$DOMAIN.pot + I18NDUDE=${buildout:bin-directory}/i18ndude + + $I18NDUDE rebuild-pot --pot $BASE_PATH/locales/$DOMAIN.pot --create "$DOMAIN" $BASE_PATH* + $I18NDUDE rebuild-pot --pot $BASE_PATH/i18n/plone.pot --create "plone" $BASE_PATH/profiles/ - if [ ! -s $BASE_PATH/locales/$DOMAIN.pot ]; then - [[ -s $BASE_PATH/locales/$DOMAIN.1.pot ]] && \ - mv $BASE_PATH/locales/$DOMAIN.1.pot $BASE_PATH/locales/$DOMAIN.pot - echo -e "\033[0;31mERROR\033[0m: Restored old .pot file due template errors." - exit 1 - fi - [[ -s $BASE_PATH/locales/$DOMAIN.1.pot ]] && \ - rm $BASE_PATH/locales/$DOMAIN.1.pot - # sync all locales, create if they do not exist for LANG in `find $BASE_PATH/locales -maxdepth 1 -mindepth 1 -type d \ - | grep -v .svn \ - | sed -e "s/.*locales\/\(.*\)$/\1/"`; do - if [ ! -f $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.po ]; then - echo -e "\033[0;32mINFO\033[0m: Create $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.po." - touch $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.po - fi - ${buildout:directory}/bin/${babelpy:interpreter} \ - ${buildout:directory}/setup.py update_catalog \ - -l $LANG -i $BASE_PATH/locales/$DOMAIN.pot \ - -o $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.po - - echo -e "\033[0;32mINFO ($LANG)\033[0m: $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.po synced." + | sed -e "s/.*locales\/\(.*\)$/\1/"`; do + $I18NDUDE sync --pot $BASE_PATH/locales/$DOMAIN.pot $BASE_PATH/locales/de/LC_MESSAGES/$DOMAIN.po + msgfmt --no-hash -o $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.mo $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.po + + $I18NDUDE sync --pot $BASE_PATH/i18n/plone.pot $BASE_PATH/i18n/plone-$LANG.po + msgfmt --no-hash -o $BASE_PATH/i18n/plone-$LANG.mo $BASE_PATH/i18n/plone-$LANG.po done mode = 755 \ No newline at end of file