KDE Localization/it/Passaggio al tronco

From KDE Community Wiki
Revision as of 22:57, 9 July 2012 by Tosky (talk | contribs) (Traduzione da trunk come compendio per msgmerge)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Quando si passa da trunk a stable, l'amministrazione internazionale dei traduttori si preoccupa cortesemente di ridirigere stable a una nuova copia delle traduzioni da trunk. È un po' più complicato il passaggio inverso, in quanto le traduzioni del ramo stabile vanno fuse con quelle preesistenti.

#!/bin/bash

# Percorsi alle cartelle l10n (sopra it e templates)
VECCHIORAMO="stable"
NUOVORAMO="trunk"
LINGUA="it"
PACCHETTO="" # Vuoto per tutto

FILES=`find ${NUOVORAMO}/templates/${PACCHETTO}/ -name *.pot`

for FILE in $FILES
do
	POT=`echo $FILE | sed -e "s#^${NUOVORAMO}/templates/##g"`
	PO=${POT/.pot/.po}
	VECCHIOFILE="${VECCHIORAMO}/${LINGUA}/${PO}"
	NUOVOFILE="${NUOVORAMO}/${LINGUA}/${PO}"

       if [ ! -e "${NUOVOFILE}" ]
        then
            echo "Copia di ${PO}..."
            svn cp ${VECCHIOFILE} ${NUOVOFILE} ||
            echo "Errore nella copia SVN di ${PO}"
        fi
        echo "Fusione del vecchio file PO ${PO} con il nuovo POT..."
        if msgmerge -C ${NUOVOFILE} ${VECCHIOFILE} ${FILE} --previous \
            >${NUOVOFILE}.new; then
            \mv -f ${NUOVOFILE}.new ${NUOVOFILE}
        else
            echo "Errore nella fusione di ${PO}"
            \rm -f ${NUOVOFILE}.new
        fi
done

Per tutti i file POT sul tronco, lo script cerca le eventuali traduzioni su stable, e le copia sul tronco se mancano. Poi, lo script fonde le traduzioni con l'opzione --previous per mantenere eventuali msgid precedenti e aiutare nell'aggiornamento da parte del traduttore.