In questo mondo decade l'uso delle variabili, tanto vale che al loro posto ci metti dei marker, tipo al posto di $trad1 ##trad1## cosi` eviti di avere dei conflitti.
Quindi il tuo file sorgente assumera` l'aspetto:
codice:
if pippo
print ##trad1##
else
print ##trad2##
if
poi crei i tuoi file lingua
codice:
##trad1##::ciao
##trad2##::casa
codice:
##trad1##::hello
##trad2##::home
e quindi lo script bash per le traduzioni
codice:
#!/bin/bash
SRC=$(cat $1)
LAN=$2
IFS="\n"
for i in $(cat $LAN); do
LAB=$(echo $i | awk -F:: '{print $1}')
TRA=$(echo $i | awk -F:: '{print $2}')
echo $SRC | sed s/$LAB/$TRA/g
done
Quindi ammettento che il tuoi script si chiami sor.py e i file di lingua IT.txt EN.txt etc., mentre lo script bash traduttore.sh
codice:
traduttore.sh sor.py EN.txt > script-EN.py
Una cosa cosi` che puoi raffinare a piacere. Ciao.