Bisogna vedere come viene generato il "testo".
Perche` con il tuometodo, tu prima generi il testo initaliano, poi sostituisci il testo italiano con la lingua desiderata.
Sarebbe forse il caso di creare il testo gia` con la lingua corretta.
Io farei una matrice, con tutte le lingue (usate - devono essere un numero ragionevole).
var termini = new Array();
termini[0] = new Array("Dati Contatto", "Contact data");
termini[1] = new Array("nome", "name");
...
Oppure puoi usare le righe per la lingua e le colonne per i termini:
var termini = new Array();
termini['en'] = new Array("Contact data", "name", "surname", "age", "sex", "profession", "address", "ZIP code", "city", "district", "country", "how you meet us", "interested company", "other informations", "Contact date");
termini['it'] = new Array("Dati Contatto", "nome", ...);
Poi quando crei la stringa testo, aggiungi i trermini passando come parametro la lingua (it o en o altro).