Articles taggés avec 'Markup'

Google AJAX Langue API et prototype.js

Après avoir vu le fonctionnement de l' API Google AJAX je suis venu avec une autre façon de traduire des pages Web tirant parti de notre temps réel prototype.js , vous pouvez marquer les balises HTML que nous voulons traduire, au lieu de soumettre l'ensemble du document à la traduction. : Pour marquer les balises HTML j'ai utilisé pour traduire l'attribut rel , le mettre à translate :

1
"translate" > Questo testo deve essere tradotto < / p > < p rel = "traduire"> Ce texte devrait être traduit </ p >

Avec une simple fonction, alors nous pouvons utiliser prototype.js pour traiter toutes les balises HTML avec rel='translate' :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/ **
* @ Nom: translate ()
* Description @: traduire
* /
fonction translate () {
) . each ( $ $ ('[Rel = "Traduire "]'). Chaque (
e ) { fonction (s) {
( e. innerHTML , 'it' , 'en' , google. langue. traduire (e. innerHTML, 'fr', 'fr',
result ) { fonction (result) {
result. translation ) { if (traduction result.) {
result. translation ; e. innerHTML = résultat de la traduction.;
{ Else {}
'Translate Error! \n \n ' + result. error . message ) ; alert ('Erreur Traduire \ n \ n "+ résultat message d'erreur..);
}
}
);
}
);
}

Vous pouvez le voir en action sur les e-lementi.com

Bien sûr, le script peut (et / ou doit) être complété le cas échéant. . Il est intéressant de noter, toutefois, qu'il est possible de se spécialiser dans le but de remplacer les images (dans le cas des boutons graphiques qui contiennent le texte), ou le développer comme une balise spéciale INPUT ou TEXTAREA .

Une des limitations que j'ai rencontré, et je voudrais approfondir, le nombre de caractères qui peuvent être traduits. Dans le cas de textes importants, en fait, il n'est pas difficile d'obtenir une erreur: celle en fait, j'ai exécuter le script avec une alert() .

Suite ...