l10n-configure.sh revision 4467
4455N/A#!/bin/bash -x
4455N/A
4455N/A#
4455N/A# ALL_LINGUAS for Sun
4455N/A# We modify ALL_LINGUAS of configure.in in all GNOME modules.
4455N/A# Our l10n team translates and revises language of $SUN_ALL_LINGUAS.
4455N/A#
4455N/A
4455N/Ainit () {
4455N/A SUN_ALL_LINGUAS="cs de es fr hu it ja ko pl pt_BR ru sv zh_CN zh_HK zh_TW"
4455N/A
4455N/A CONFIGURE=
4455N/A if [ -f configure.in ] ; then
4455N/A CONFIGURE=configure.in
4467N/A elif [ -f configure.ac ] ; then
4455N/A CONFIGURE=configure.ac
4455N/A fi
4455N/A}
4455N/A
4455N/Apre_check () {
4455N/A if [ "$CONFIGURE" = "" ] ; then
4455N/A echo "#### Not Found configure.in"
4455N/A exit 0
4455N/A fi
4455N/A
4455N/A if [ ! -d po ] ; then
4455N/A echo "#### Not Found po dir"
4455N/A exit 0
4455N/A fi
4455N/A}
4455N/A
4455N/Aapply_sun_all_linguas () {
4455N/A ALL_LINGUAS=`grep '^ALL_LINGUAS=' $CONFIGURE \
4455N/A | sed -e 's/ALL_LINGUAS=//' -e 's/"//g'`
4455N/A ALL_LINGUAS=`echo "${ALL_LINGUAS} ${SUN_ALL_LINGUAS}"\
4455N/A | tr " " "\n" \
4455N/A | sort \
4455N/A | uniq \
4455N/A | tr "\n" " "`
4455N/A
4455N/A DQ='"'
4455N/A sed -e "/^ALL_LINGUAS=/s/^\(ALL_LINGUAS=\)\(.*\)/\1$DQ${ALL_LINGUAS}$DQ/" \
4455N/A $CONFIGURE > ${CONFIGURE}.chg
4455N/A mv ${CONFIGURE}.chg $CONFIGURE
4455N/A}
4455N/A
4455N/Aupdate_po () {
4455N/A PO_DIRS=po*/POTFILES.in
4466N/A PO_DIRS=`echo $PO_DIRS | sed -e 's|/POTFILES.in||g'`
4455N/A
4455N/A for po in $PO_DIRS
4455N/A do
4455N/A#
4455N/A# This is needed to avoid build errors.
4455N/A#
4455N/A (cd $po; touch `echo "$SUN_ALL_LINGUAS" | sed -e 's/\([a-z,_,A-Z]*\)/\1.po/g'`)
4455N/A done
4455N/A}
4455N/A
4455N/Aupdate_pot () {
4455N/A OS=`uname -s`
4455N/A if [ "$OS" = Linux ] ; then
4455N/A TOPDIR=/usr/src/packages
4455N/A else
4455N/A TOPDIR=/jds/packages
4455N/A fi
4455N/A POT_DATA='"POT-Creation-Date: '
4455N/A
4455N/A cd po
4455N/A rm -f *.pot
4455N/A echo "[encoding: UTF-8]" > POTFILES.in
4455N/A intltool-update --maintain 2>/dev/null
4455N/A cat missing >> POTFILES.in
4455N/A intltool-update --pot
4455N/A POT=`ls *.pot`
4455N/A if [ "x$POT" != "x" ] ; then
4455N/A sed -e "/^$POT_DATA/d" $POT > ${POT}.$$
4455N/A mv ${POT}.$$ $POT
4455N/A mkdir -p $TOPDIR/l10n/pot
4455N/A mkdir -p $TOPDIR/l10n/diff
4455N/A mkdir -p $TOPDIR/l10n/new
4455N/A if [ -f $TOPDIR/l10n/pot/$POT ] ; then
4455N/A diff $TOPDIR/l10n/pot/$POT $POT > ${POT}.diff
4455N/A if [ -s ${POT}.diff ] ; then
4455N/A cp ${POT}.diff $TOPDIR/l10n/diff
4455N/A echo "#### Translation should be updated!!!"
4455N/A fi
4455N/A else
4455N/A cp $POT $TOPDIR/l10n/pot
4455N/A cp $POT $TOPDIR/l10n/new
4455N/A fi
4455N/A else
4455N/A echo "#### Failed to create the potfile in `pwd`"
4455N/A fi
4455N/A cd ..
4455N/A}
4455N/A
4455N/Amain () {
4455N/A init
4455N/A pre_check
4455N/A apply_sun_all_linguas
4455N/A update_po
4455N/A
4455N/A if [ "x$L10N_POTFILES" = "xyes" ] ; then
4455N/A update_pot
4455N/A fi
4455N/A}
4455N/A
4455N/Amain