Quelque part dans un script tu te fais un tableau global qui contient des "id" de chaînes de caractère, avec leur équivalent dans la langue du visiteur, par exemple dans "monsite-fr.js" tu auras :
var strings = {
alertText: 'Texte d\'alerte',
confirmTextArticle: 'Voulez-vous vraiment supprimer cet article ?',
confirmTextComment: 'Voulez-vous vraiment supprimer ce commentaire ?'
};
Et dans "monsite-en.js" par exemple, tu auras la même chose avec les textes en anglais.
Après dans ton code, tu as plus qu'à faire alert(strings.alertText);, ou confirm(strings.confirmTextArticle);, etc... et la chaîne sera celle de la locale chargée dans la page.
Si tu veux passer des arguments à remplacer dans la chaîne tu peux faire comme ceci :
strings.confirmTextArticle = 'Voulez-vous vraiment supprimer l'article "{0}" ?';
Et au moment de l'alert, tu fais alert(strings.confirmTextArticle.format('Nom de l\'article'));, ce qui donnera "Voulez-vous vraiment supprimer l'article "Nom de l'article" ?".