[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-i18n-ca
Subject: [kdecat] =?utf-8?q?Arranjar_les_cap=C3=A7aleres_dels_=2Epo?=
From: Antoni Bella =?ISO-8859-1?Q?P=E9rez?= <antonibella5 () orange ! es>
Date: 2011-12-14 4:04:56
Message-ID: 32302606.ekjdumKzAZ () alba
[Download RAW message or body]
Hola llista
Fa un temps en Josep Ma. em demanava que anés establint als nous fitxers les
capçaleres de Copyright consensuades a la llista. La meva resposta va ser com
fer-ho automàticament?
La meva falta de coneixement en perl fa que no pugui fer un script per al
Lokalize -el qual seria ideal- però sí que m'he atrevit amb bash i des de la
consola executar aquest script una vegada i una altra fins que no doni error.
Els arguments són "prova|edita", tot i que només funciona fins que troba una
entrada irresoluble. :(
La qüestió és que funciona.
Vet aquí la pregunta: Tinc permís per canviar la capçalera a tota la
documentació?
Atentament
Toni
["c_cap.sh" (c_cap.sh)]
#!/bin/sh
DIR="$HOME/Documents/Treball/trunk/l10n-kde4/ca/docmessages"
SED_N='20'
case $1 in
prova)
comm_mod() { head -n $SED_N $FILE | sed -e \"$1\" $FILE; }
;;
edita)
comm_mod() { head -n $SED_N $FILE | sed --in-place -e "$1" $FILE; }
;;
*)
echo "$0 prova|edita"
exit 0
;;
esac
mod_fitxer() {
error_cap() { echo "ERROR: $DIR/$dir"; exit 1; }
r1() { FILE1=$(echo $REGLA | cut -f 4 -d' ' | sed -r s,\.po,,)
comm_mod "1 s/$REGLA/\# Translation of $FILE1.po to Catalan/g"
PIV="\"Project-Id-Version: $FILE1\\\n\""
}
r2() {
comm_mod "2 s/$REGLA/# Copyright (C) $ANYDEF This_file_is_part_of_KDE$1/g"
}
r3() { comm_mod "3 s/$REGLA/# This file is distributed under the license LGPL \
version 2 or later.$1/g" }
file_c() { head -n 4 $FILE; }
echo "##0#########"
ANYS=$(grep "# .* <.*@.*>, .*\." $1 | sed -e "s/# .* <.*@.*>,//g" -e "s/,//g" -e \
"s/,//g" -e "s/,//g" -e "s/\.//g") ANY_OLD='3000'
ANY_NEW='0'
for any in $(echo $ANYS)
do
test $any -lt $ANY_OLD && export ANY_OLD="$any"
test $any -gt $ANY_NEW && export ANY_NEW="$any"
done
test $ANY_OLD -eq $ANY_NEW && export ANYDEF="$ANY_OLD"
test $ANY_OLD -ne $ANY_NEW && export ANYDEF="$ANY_OLD-$ANY_NEW"
echo "$dir/$file_edit: $ANYDEF"
echo "##1#########"
REGLA=$(file_c | head -n 1)
if [ $(echo $REGLA | cut -f 2 -d' ') = Translation ]; then
r1
elif [ $(echo $REGLA | cut -f 2 -d' ') = translation ]; then
r1
else
error_cap
fi
echo "##2#########"
REGLA=$(file_c | head -n 2 | tail -n 1)
if [ $(echo $REGLA | cut -f 2 -d' ') = Copyright ]; then
r2
elif [ $(echo $REGLA | cut -f 2 -d' ') = "#" ]; then
r2 "\n#"
else
error_cap
fi
echo "##3#########"
REGLA=$(file_c | head -n 3 | tail -n 1)
test "$(echo $REGLA)" = "$(echo $REGLA | grep "# .* <.*@.*>, .*\.")" && \
comm_mod "3 s/$REGLA/#\n$REGLA/g"
if [ $(echo $REGLA | cut -f 5 -d' ') = distributed ]; then
r3
elif [ $(echo $REGLA) = "#" ]; then
r3 "\n#"
else
error_cap
fi
echo "##4#########"
comm_mod "s/\"Project-Id-Version: (.*)\\\n/$PIV/g"
}
cd $DIR
for dir in $(find * -maxdepth 0 -type d)
do
cd $dir
for file_edit in $(find * -maxdepth 0 -type f)
do
FILE=$DIR/$dir/$file_edit
mod_fitxer $FILE
done
exit 0
cd ..
done
exit 0
_______________________________________________
kde-i18n-ca mailing list
kde-i18n-ca@kde.org
https://mail.kde.org/mailman/listinfo/kde-i18n-ca
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic