Pentru a putea vota, modifica pagini sau abona la modificările unei pagini trebuie să fiți autentificați. Cu această ocazie scăpați și de acest mesaj deranjant.

Validare fișiere .po: Diferență între versiuni

De la l10n.ro
Salt la: navigare, căutare
m
 
(Nu s-au afișat 13 versiuni intermediare efectuate de alți 6 utilizatori)
Linia 1: Linia 1:
= Script pentru verificarea validatiații unui fișier .po =
+
Aceasta este o serie de mici progrămele, sau scripturi raportate anterior pe listele de e-mail ale grupului. Fiecare program este distribuit sub o licență proprie. Dacă nu se menționează explicit, programul se găsește în domeniul public.
  
#!/bin/bash
+
= Script pentru verificarea validității unui fișier .po =
rasp_conv="d"
 
  
echo "----"
+
<source lang=bash>
echo "Se verifica fisier: $1"
+
#!/bin/bash
echo "----"
+
rasp_conv="d"
 +
 +
echo "----"
 +
echo "Se verifică fișier: $1"
 +
echo "----"
 +
 +
#verific Copy text ... here, cauzat de un copy/paste aiurea în LP
 +
grep "Copy text  " $1 > /dev/null
 +
if [ $? -eq 0  ]; then
 +
  echo "EROARE: Fișierul conține 'Copy text' - eroare din LP"
 +
  echo ""
 +
fi
 +
 +
#verific dacă are sedilă
 +
#sed nu merge cu unicode... la Perl sunt probleme cu locale
 +
#grep -u "[ŞşŢţ]" $1 #> /dev/null
 +
cat $1 | perl -pi -e 'exit(1) if /[ŞşŢţ]/'  2>/dev/null
 +
 
 +
if [ $? -eq 1 ]; then
 +
  echo "INFORMARE: Fișierul conține caractere cu sedilă."
 +
  echo "Doriți să fie convertite la virgulă dedesubt? [D/n]"
 +
  read rasp_conv
 +
  if [ "x$rasp_conv" != "xn" ]; then
 +
    echo "Se efectuează conversia..."
 +
    sed -i "s/ş/ș/g" $1
 +
    sed -i "s/Ş/Ș/g" $1
 +
    sed -i "s/Ţ/Ț/g" $1
 +
    sed -i "s/ţ/ț/g" $1
 +
    echo "Conversie finalizată"
 +
  fi
 +
fi
 +
 +
#la final verific validitatea fișierului și acceleratorii
 +
echo "Se verifică validitatea fișierului... "
 +
msgfmt -v -o /dev/null -c --check-accelerators=_ $1
 +
 +
echo "----"
 +
echo "Finalizat"
 +
</source>
 +
 
 +
=Frecvență apariție cuvinte=
 +
 
 +
Scriptul produce o listă cu toate cuvintele care apar în unul sau mai multe fișiere, și frecvența de apariție. Este util pentru construirea de lexicoane de traducere, testare de dicționare, etc.
 +
 
 +
Versiune awk:
 +
<source lang=bash>
 +
#!/bin/awk -f
 +
#
 +
# Print list of word frequencies
 +
#
 +
# Save it as wfreq.awk, and run it as:
 +
#  ./wfreq.awk file(s) | sort -nr
 +
# or as:
 +
#    tr A-Z a-z < file | ./wfreq.awk | sort -nr
 +
#
 +
BEGIN { RS = "[ |\n|\t|<|>|,|.|\"|?|!|:|;|(|)]" }
 +
{
 +
      freq[$0]++
 +
}
 +
 +
END {
 +
    for (word in freq)
 +
        printf "%d\t%s\n", freq[word], word
 +
}
 +
</source>
 +
 
 +
Versiune Perl:
 +
<source lang=perl>
 +
# Save it as wfreq.pl, and run it as:
 +
#    perl ./wfreq.pl file(s) | sort -nr
 +
# or as:
 +
#    tr A-Z a-z < file | perl ./wfreq.pl | sort -nr
 +
while (<>) {
 +
    $freq{$_}++ for split /[ \n\t<>,."?!:;\()|]+/ ;
 +
}
 +
 +
print( $freq{$_}, "\t$_\n" ) for keys %freq;
 +
 +
</source>
 +
sau Perl oneliner:
 +
 
 +
<source lang=perl>
 +
perl -ne 'BEGIN { $RS=qr/[ \n\t<>,.\"?!:;\()|]+/; } $freq{$_}++ for split /$RS/; END{print( $freq{$_}, "\t$_\n") for keys %freq }' file[s] | sort -n
 +
</source>
 +
 
 +
=Conversie ortografie pre/ante 1993=
 +
 
 +
Scripturile sunt distribuite sub GPL la http://bucovina.chem.tue.nl/reguli_ortografie/index.htm
 +
 
 +
= Proiectul msgextras =
 +
 
 +
Diverse scripturi și utilitare pentru traducători.
  
 +
Disponibil direct la http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/
  
#verific Copy text ... here, cauzat de un copy/paste aiurea in LP
+
sau prin darcs:
grep "Copy text  " $1 > /dev/null
 
if [ $? -eq 0  ]; then
 
echo "EROARE: Fișierul conșine 'Copy text' - eroare din LP"
 
echo ""
 
fi
 
  
#verific daca are sedila
+
darcs get http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/
#sed nu merge cu unicode... la perl sunt probleme cu locale
 
#grep -u "[ŞşŢţ]" $1 #> /dev/null
 
cat $1 | perl -pi -e 'exit(1) if /[ŞşŢţ]/'  2>/dev/null
 
  
if [ $? -eq 1 ]; then
+
Licența pentru msgextras este MIT, dacă nu se precizează o alta în sursă.
echo "INFORMARE: Fișierul conține caractere cu sedilă."
+
 
echo "Doriți fie convertite la virgulă dedesupt? [D/n]"
+
== msgdiacr: Script pentru verificarea și/sau conversia automată la diacriticele corecte (.po) ==
read rasp_conv
+
 
    if [ "x$rasp_conv" != "xn" ]; then
+
Parte din msgextras, msgdiacr poate verifica și converti automat unul sau mai multe fișiere .po folosească diacriticele corecte.
 +
 
 +
* verifică faptul că .po-ul este codat în utf-8 înainte de a încerca conversia
 +
* evidențiază la verificare liniile care conțin diacriticele vechi
 +
* poate verifica și/sau converti mai multe fișiere odată
 +
* la conversie creează copii de siguranță pentru fiecare din fișierele convertite
 +
 
 +
 
 +
Disponibil direct la http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/msgdiacr
 +
 
 +
 
 +
sau ca parte din msgextras:
 +
 
 +
darcs get http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/
 +
 
 +
 
 +
== msgstat: Script care poate verifica validitatea fișierelor .po și afișa statistici despre ele ==
 +
 
 +
Parte din msgextras, msgstat poate verifica corectitudinea sintactică a unuia sau mai multor fișiere .po, oferind și statistici depre acestea.
 +
 
 +
* poate verifica oricât de multe fișiere odată
 +
* oferă statistici pentru fiecare dintre ele
 +
 
 +
Disponibil direct la http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/msgstat
 +
 
 +
sau ca parte din proiectul msgextras:
 +
 
 +
darcs get http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/
 +
 
 +
=Program căutare termeni prin traduceri=
  
    echo "Se efectuează conversia..."
 
    sed -i "s/ş/ș/g" $1
 
    sed -i "s/Ş/Ș/g" $1
 
    sed -i "s/Ţ/Ț/g" $1
 
    sed -i "s/ţ/ț/g" $1
 
    echo "Conversie finalizată"
 
    fi
 
fi
 
  
#la final verific validitatea fisierului si acceleratorii
+
Distribuit sub GPL sub numele de trascheck, programul poate fi descărcat de la  
echo "Se verifică validitatea fișierului... "
+
http://sourceforge.net/project/showfiles.php?group_id=144374
msgfmt -v -o /dev/null -c --check-accelerators=_ $1
 
  
echo "----"
+
Discuția asociată se găsește la http://groups.google.com/group/diacritice/browse_thread/thread/c880eac1513e40b7/6bd64b4d08470371?lnk=gst&q=transcheck#6bd64b4d08470371
echo "Finalizat"
 
  
[[Categorie:Localization]]
+
[[Categorie:Localizare]]
 +
[[Categorie:Programare]]

Versiunea curentă din 20 noiembrie 2009 16:33

Aceasta este o serie de mici progrămele, sau scripturi raportate anterior pe listele de e-mail ale grupului. Fiecare program este distribuit sub o licență proprie. Dacă nu se menționează explicit, programul se găsește în domeniul public.

Script pentru verificarea validității unui fișier .po

 #!/bin/bash
 rasp_conv="d"
 
 echo "----"
 echo "Se verifică fișier: $1"
 echo "----"
 
 #verific Copy text ... here, cauzat de un copy/paste aiurea în LP
 grep "Copy text  " $1 > /dev/null
 if [ $? -eq 0  ]; then
   echo "EROARE: Fișierul conține 'Copy text' - eroare din LP"
   echo ""
 fi
 
 #verific dacă are sedilă
 #sed nu merge cu unicode... la Perl sunt probleme cu locale
 #grep -u "[ŞşŢţ]" $1 #> /dev/null
 cat $1 | perl -pi -e 'exit(1) if /[ŞşŢţ]/'  2>/dev/null
  
 if [ $? -eq 1 ]; then
   echo "INFORMARE: Fișierul conține caractere cu sedilă."
   echo "Doriți să fie convertite la virgulă dedesubt? [D/n]"
   read rasp_conv
   if [ "x$rasp_conv" != "xn" ]; then
     echo "Se efectuează conversia..."
     sed -i "s/ş/ș/g" $1
     sed -i "s/Ş/Ș/g" $1
     sed -i "s/Ţ/Ț/g" $1
     sed -i "s/ţ/ț/g" $1
    echo "Conversie finalizată"
   fi
 fi
 
 #la final verific validitatea fișierului și acceleratorii
 echo "Se verifică validitatea fișierului... "
 msgfmt -v -o /dev/null -c --check-accelerators=_ $1
 
 echo "----"
 echo "Finalizat"

Frecvență apariție cuvinte

Scriptul produce o listă cu toate cuvintele care apar în unul sau mai multe fișiere, și frecvența de apariție. Este util pentru construirea de lexicoane de traducere, testare de dicționare, etc.

Versiune awk:

 #!/bin/awk -f 
 # 
 # Print list of word frequencies 
 # 
 # Save it as wfreq.awk, and run it as: 
 #   ./wfreq.awk file(s) | sort -nr 
 # or as: 
 #    tr A-Z a-z < file | ./wfreq.awk | sort -nr 
 # 
 BEGIN { RS = "[ |\n|\t|<|>|,|.|\"|?|!|:|;|(|)]" } 
 { 
       freq[$0]++
 } 
 
 END { 
    for (word in freq) 
        printf "%d\t%s\n", freq[word], word
 }

Versiune Perl:

 # Save it as wfreq.pl, and run it as: 
 #    perl ./wfreq.pl file(s) | sort -nr 
 # or as: 
 #    tr A-Z a-z < file | perl ./wfreq.pl | sort -nr 
 while (<>) { 
     $freq{$_}++ for split /[ \n\t<>,."?!:;\()|]+/ ;
 } 
 
 print( $freq{$_}, "\t$_\n" ) for keys %freq;

sau Perl oneliner:

perl -ne 'BEGIN { $RS=qr/[ \n\t<>,.\"?!:;\()|]+/; } $freq{$_}++ for split /$RS/; END{print( $freq{$_}, "\t$_\n") for keys %freq }' file[s] | sort -n

Conversie ortografie pre/ante 1993

Scripturile sunt distribuite sub GPL la http://bucovina.chem.tue.nl/reguli_ortografie/index.htm

Proiectul msgextras

Diverse scripturi și utilitare pentru traducători.

Disponibil direct la http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/

sau prin darcs:

darcs get http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/

Licența pentru msgextras este MIT, dacă nu se precizează o alta în sursă.

msgdiacr: Script pentru verificarea și/sau conversia automată la diacriticele corecte (.po)

Parte din msgextras, msgdiacr poate verifica și converti automat unul sau mai multe fișiere .po să folosească diacriticele corecte.

  • verifică faptul că .po-ul este codat în utf-8 înainte de a încerca conversia
  • evidențiază la verificare liniile care conțin diacriticele vechi
  • poate verifica și/sau converti mai multe fișiere odată
  • la conversie creează copii de siguranță pentru fiecare din fișierele convertite


Disponibil direct la http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/msgdiacr


sau ca parte din msgextras:

darcs get http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/


msgstat: Script care poate verifica validitatea fișierelor .po și afișa statistici despre ele

Parte din msgextras, msgstat poate verifica corectitudinea sintactică a unuia sau mai multor fișiere .po, oferind și statistici depre acestea.

  • poate verifica oricât de multe fișiere odată
  • oferă statistici pentru fiecare dintre ele

Disponibil direct la http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/msgstat

sau ca parte din proiectul msgextras:

darcs get http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/

Program căutare termeni prin traduceri

Distribuit sub GPL sub numele de trascheck, programul poate fi descărcat de la http://sourceforge.net/project/showfiles.php?group_id=144374

Discuția asociată se găsește la http://groups.google.com/group/diacritice/browse_thread/thread/c880eac1513e40b7/6bd64b4d08470371?lnk=gst&q=transcheck#6bd64b4d08470371