Il y a pas mal de partie des DSA qui peut-être traduite automatiquement
J'ai fait un petit script pour mâcher une partie de travail.
Je vous invite à l'utiliser si vous voulez traduire une DSA et
éventuellement à ajouter d'autre traduction automatique
(traduction des versions qui corrigent les problèmes par exemple)
#!env perl -w
# This script translate common part of DSA
use Getopt::Std;
use utf8;
binmode(STDOUT, ":utf8");
getopts('l:f:');
die "Usage: $0 -f <file> -l <LANG>" if (!defined($opt_f) or !defined($opt_l));
$translation = {
'integer overflow' => {
'FR' => 'Débordement d\'entier'
},
'insecure temp file generation' => {
'FR' => 'Fichiers temporaires peu sûrs'
},
'insufficient input sanitising' => {
'FR' => 'Vérification d\'entrée manquante'
},
'several vulnerabilities' => {
'FR' => 'Plusieurs vulnérabilités'
},
'buffer overflow' => {
'FR' => 'Débordement de mémoire tampon'
},
'buffer overflows' => {
'FR' => 'Débordements de mémoire tampons'
},
'programming error' => {
'FR' => 'Erreur de programmation'
},
'heap overflow' => {
'FR' => 'Débordement de zone de mémoire du système'
},
'authorization bypass' => {
'FR' => 'Contournement d\'autorisation'
},
'insufficient input validation' => {
'FR' => 'Validations des entrées insuffisantes'
},
'denial of service' => {
'FR' => 'Déni de service'
},
'<p>We recommend that you upgrade your <package> package.</p>' => {
'FR' => '<p>Nous vous recommandons de mettre à jour votre paquet <package>.</p>'
},
'<p>We recommend that you upgrade your <package> packages.</p>' => {
'FR' => '<p>Nous vous recommandons de mettre à jour vos paquets <package>.</p>'
}
};
open(FILE, $opt_f) or die "Can't open file $opt_f : $!";
while(<FILE>) {
if (m|^<define-tag description>(.+?)</define-tag>$|) {
$desc = $1;
if (defined($translation->{$desc}{$opt_l})) {
$line = $_;
$line =~ s/$desc/$translation->{$desc}{$opt_l}/;
print $line;
} else {
print;
}
}
elsif (m|^<p>We recommend that you upgrade your (.+?) package\.</p>$|) {
$package_name = $1;
if (defined($translation->{'<p>We recommend that you upgrade your <package> package.</p>'}{$opt_l})) {
$line = $translation->{'<p>We recommend that you upgrade your <package> package.</p>'}{$opt_l};
$line =~ s/<package>/$package_name/;
print "$line\n";
} else {
print;
}
}
elsif (m|^<p>We recommend that you upgrade your (.+?) packages\.</p>$|) {
$package_name = $1;
if (defined($translation->{'<p>We recommend that you upgrade your <package> packages.</p>'}{$opt_l})) {
$line = $translation->{'<p>We recommend that you upgrade your <package> packages.</p>'}{$opt_l};
$line =~ s/<package>/$package_name/;
print "$line\n";
} else {
print;
}
}
else {
print;
}
}
close(FILE);