added i8ndude and script to buildout in order to make translations updates simpler.
This commit is contained in:
parent
96bf7ca002
commit
79ad7816c4
49
buildout.cfg
49
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
|
||||
$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
|
||||
|
||||
echo -e "\033[0;32mINFO ($LANG)\033[0m: $BASE_PATH/locales/$LANG/LC_MESSAGES/$DOMAIN.po synced."
|
||||
$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
|
Loading…
Reference in New Issue
Block a user