2011-02-09 3 views
1

Nous réécrivons le code jQuery de notre service web et nous réfléchissons à une meilleure façon de l'organiser. Nous avons lu plusieurs questions, articles, etc. et c'est une première approche, mais nous aimerions recevoir des commentaires.Comment mieux structurer le code Javascript multilingue?

Nous allons avoir une classe pour chaque objet de la page (lieu, utilisateur, etc). Nous prévoyons d'utiliser Low Pro (Article) afin que nous ayons tout le code en un seul endroit.

Cependant, il y a quelques variables que nous devons passer de PHP (user.id, user.name, etc.). Nous avons pensé que la meilleure façon est d'imprimer un json et de le passer à une classe générale. TE.js y affectera des variables afin que les autres classes puissent les utiliser. Comme nous avons un web multilingue, nous devons avoir les messages en plusieurs langues. Nous ferons quelque chose de similaire aux réponses de Multilingual alert messages in JavaScript

Qu'en pensez-vous? Y a-t-il un meilleur moyen de charger le tableau initial? Toute autre suggestion ou article?

Merci!

Répondre

0

Nous utilisons enfin Classy.js pour avoir des classes. Nous avons construit notre propre classe principale qui charge les params que nous imprimons en json sur l'attribut data-params de la balise body.

Nous avons la chaîne de traduction pour les classes js sur deux champs différents comme suggéré par Tom et Shan.

0

L'approche à laquelle vous avez lié entraînera une empreinte de bande passante plus importante pour les clients. Si vous envisagez d'avoir des milliers de paires de valeurs clés et de nombreux langages différents, considérez que seules les paires clé/valeur anglaises sont transmises aux clients ou que les paires clé/valeur française sont transmises aux clients.

+0

exactement, une seule langue va au client (nous pouvons avoir environ 300 clé/valeur pour JS) – fesja

+0

Et ce n'est pas beaucoup plus d'efforts pour utiliser cette approche. –

1

Je stockerais tous les mots traduits dans des JS séparés afin qu'ils puissent être mis en cache par le client, et vous ne souffririez pas de données répétées (IE, plusieurs classes JQuery peuvent référencer le même index pour le même mot).

+0

nous voulons avoir un script JS unique qui peut être mis en cache par le client. Est-ce fou d'avoir deux versions du script complet, une pour les Anglais et l'autre pour les Espagnols? Ce script complet inclura tous les plugins jquery, nos propres classes et les mots traduits. – fesja

+0

Je serais plus préoccupé par le design que par la bande passante. Devoir maintenir le script espagnol et le script anglais séparément peut facilement causer des problèmes dans le futur. Je voudrais normaliser les données, pour ainsi dire, et garder la langue dans l'autre fichier. –

+0

Je vous ai vu mentionné il y a 300 valeurs. Même si vous avez 2000 mots de 30 caractères en moyenne, cela représente moins de 60 Ko de données. Le vôtre devrait être beaucoup plus petit. –

Questions connexes