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 (corectat cîteva greșeli de tipar)
Linia 1: Linia 1:
 +
Aceasta este o serie de mici programele sau scripturi raportate anterior pe listele de email 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 =
 
= Script pentru verificarea validității unui fișier .po =
  
Linia 7: Linia 12:
 
  echo "Se verifică fișier: $1"
 
  echo "Se verifică fișier: $1"
 
  echo "----"
 
  echo "----"
 
+
 
  #verific Copy text ... here, cauzat de un copy/paste aiurea in LP
 
  #verific Copy text ... here, cauzat de un copy/paste aiurea in LP
 
  grep "Copy text  " $1 > /dev/null
 
  grep "Copy text  " $1 > /dev/null
Linia 14: Linia 19:
 
   echo ""
 
   echo ""
 
  fi
 
  fi
 
+
 
  #verific daca are sedila
 
  #verific daca are sedila
 
  #sed nu merge cu unicode... la perl sunt probleme cu locale
 
  #sed nu merge cu unicode... la perl sunt probleme cu locale
 
  #grep -u "[ŞşŢţ]" $1 #> /dev/null
 
  #grep -u "[ŞşŢţ]" $1 #> /dev/null
 
  cat $1 | perl -pi -e 'exit(1) if /[ŞşŢţ]/'  2>/dev/null
 
  cat $1 | perl -pi -e 'exit(1) if /[ŞşŢţ]/'  2>/dev/null
+
 
 
  if [ $? -eq 1 ]; then
 
  if [ $? -eq 1 ]; then
 
   echo "INFORMARE: Fișierul conține caractere cu sedilă."
 
   echo "INFORMARE: Fișierul conține caractere cu sedilă."
Linia 33: Linia 38:
 
   fi
 
   fi
 
  fi
 
  fi
 
+
 
  #la final verific validitatea fișierului și acceleratorii
 
  #la final verific validitatea fișierului și acceleratorii
 
  echo "Se verifică validitatea fișierului... "
 
  echo "Se verifică validitatea fișierului... "
 
  msgfmt -v -o /dev/null -c --check-accelerators=_ $1
 
  msgfmt -v -o /dev/null -c --check-accelerators=_ $1
 
+
 
  echo "----"
 
  echo "----"
 
  echo "Finalizat"
 
  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, și pot fi găsilte la http://bucovina.chem.tue.nl/reguli_ortografie/index.htm
 +
 +
 +
=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
 +
 +
[[Categorie:Localization]]
  
 
[[Categorie:Localization]]
 
[[Categorie:Localization]]

Versiunea de la data 10 ianuarie 2009 22:11

Aceasta este o serie de mici programele sau scripturi raportate anterior pe listele de email 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 in 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 daca are sedila
#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, și pot fi găsilte la http://bucovina.chem.tue.nl/reguli_ortografie/index.htm


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