KDE Localization/it/Passaggio al tronco: Difference between revisions

From KDE Community Wiki
(Importazione)
 
(Traduzione da trunk come compendio per msgmerge)
 
Line 20: Line 20:
NUOVOFILE="${NUOVORAMO}/${LINGUA}/${PO}"
NUOVOFILE="${NUOVORAMO}/${LINGUA}/${PO}"


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

Latest revision as of 22:57, 9 July 2012

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.