#!/bin/sh # # Shell script to manage .po files. # Assume the product name is the current folder name CURRENT_PATH=`pwd` PRODUCTNAME="plone.app.discussion" # List of languages LANGUAGES="de es fr it nl no zh_TW cs" # Create locales folder structure for languages install -d locales for lang in $LANGUAGES; do install -d locales/$lang/LC_MESSAGES done # Rebuild .pot i18ndude rebuild-pot --pot locales/$PRODUCTNAME.pot --create $PRODUCTNAME --merge locales/$PRODUCTNAME-manual.pot . i18ndude rebuild-pot --pot i18n/plone.pot --create "plone" --merge i18n/plone-manual.pot profiles for lang in $LANGUAGES; do touch -a i18n/plone-$lang.po i18ndude sync --pot i18n/plone.pot i18n/plone-$lang.po done # Compile po files for lang in $(find locales -mindepth 1 -maxdepth 1 -type d); do if test -d $lang/LC_MESSAGES; then PO=$lang/LC_MESSAGES/${PRODUCTNAME}.po # Create po file if not exists touch $PO # Sync po file echo "Syncing $PO" i18ndude sync --pot locales/$PRODUCTNAME.pot $PO # Compile .po to .mo MO=$lang/LC_MESSAGES/${PRODUCTNAME}.mo echo "Compiling $MO" msgfmt -o $MO $lang/LC_MESSAGES/${PRODUCTNAME}.po fi done