ArchWiki talk:Translation Team (Español)/Board (Español)

From ArchWiki

Script (de interés)

Pues este script utiliza dos archivos con los listados de cada caso (total 1º opción de la Discusión + tabla de traducidos del equipo) y devuelve la estructura final, eliminado los repetidos que ya están en la tabla traducidos. Te ahorrarás bastante trabajo.

script.sh
#! /bin/bash

# Archivos temporales
TMP_LISTADOS="/tmp/.traducidos.txt"
TMP_TODOS="/tmp/.todos.txt"

# mensaje de ayuda y sale con código de error 1
function ayuda {
    echo "Uso: $(basename $0) <archivo-todos> <archivo-traducidos>"
    echo
    exit 1
}

# comprueba los argumentos y la existencia de los mismos
if [ ! $1 ] || [ ! $2 ]; then
    ayuda
elif [ ! -f $1 ]; then
    echo "¡El archivo $1 no existe!"
    echo
    ayuda
elif [ ! -f $2 ]; then
    echo "¡El archivo $2 no existe!"
    echo
    ayuda
fi

# títulos de artículos en la tabla de traducción (sin " (Español)" al final)
grep "(Español)]]" $2 | sed 's/|\s\[\[\([^]]*\) (Español)\]\].*/\1/g' > ${TMP_LISTADOS}

# títulos de artículos de la Discusión (sin " (Español)" al final)
cat $1 | sed 's/\#\[\[\([^]]*\) (Español)\]\].*/\1/g' > ${TMP_TODOS}

# concatena ambos listamos, ordena, elimina repetidos y lista uno a uno
cat ${TMP_LISTADOS} ${TMP_TODOS} | sort | uniq -iu | while read ARTICULO
do

# crea la estrutura de cada fila
echo "|-
| [[${ARTICULO} (Español)]]
| {{Grey|4}}
| {{C|{{ic|--}}}}
|
| [[${ARTICULO}|Artículo original]]"

done

# eliminamos archivos temporales
rm -f ${F_TRADUCIDOS} ${F_TODOS}

exit 0

ACTUALIZACIÓN: He añadido los tags nowiki para quitar el reformato del mismo. Ahora se ve correctamente. También he creado un nuevo tema con el resultado del mismo, aplicado a la 1ª edición + tabla oficial.

Un saludo. --AlonsoLP (talk) 13:40, 2 November 2018 (UTC)Reply[reply]

Nota: Eliminar las filas correspondientes a la fecha de revisión y mantenedor, se hace con sed -e '/{{ic|--}}/,+1d', y para añadir el campo final de observaciones sed -e 's/Artículo original]]/Artículo original]]\n|/g'. Lo pongo de información por si a alguien le interesa.