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)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.