Site Multilingue et vitesse d'execution en asp3

cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008 - 23 sept. 2005 à 13:36
courcelf Messages postés 1 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 17 avril 2007 - 17 avril 2007 à 21:33
Bonjour !

ASP3

Je créer mon site (cavacliquer.com) en plusieurs langues, j'aimerai avoir votre point de vue avant d'aller plus loin. Pour le moment je me suis créer une page spécifiquement appelé langue, j'inclus une sub pour chaque page avec 2 parametre, la langue et le texte demandé, dans chaque sub je vérifie la langue et si en francais par exemple j'implémente mes variables. Dans cette page langue je lance ensuite un response.write du texte demandé. Dans la page nécessitant l'ecriture j'appelle la sub et je pousse la variable.

ex.:

'Page langue.asp

Sub lng_Unban(langue, txt)
'en anglais
if langue = "eng" then
txtPage_1 = "User ID:"
txtPage_2 = "Enter Password:"
txtPage_3 = "Complete Process"

'en francais
elseif langue = "fra" then
txtPage_1 = "ID Usager:"
txtPage_2 = "Entrer le Mot de Passe:"
txtPage_3 = "Complèter le Processus"
End if

response.Write(txt)
End Sub


'Page nécessitant l'ecriture
...
lng_Unban "fra", txtPage_2
..


J'aimerai savoir si ce processus cause un effort au systeme, et devrais-je me créer simplement une page sans sub et inclure toute mes variables et simplement faire une verification de langue (select case). Pour cette 2eme option je me demande si appeler en meme temps au dessus de 200 variables peut causé un effort plus gros que ma premiere option.

Ex 2.:

'langue.asp

'en anglais
if langue = "eng" then
txtPageUnban_1 = "User ID:"
txtPageUnban_2 = "Enter Password:"
txtPageUnban_3 = "Complete Process"

txtPageIndex_1 = "Title"
txtPageIndex_2 = "Select"
........

'en francais
elseif langue = "fra" then
txtPageUnban_1 = "ID Usager:"
txtPageUnban_2 = "Entrer le Mot de Passe:"
txtPageUnban_3 = "Complèter le Processus"

txtPageIndex_1 = "Titre"
txtPageIndex_2 = "Sélection"
......
End if


'Page nécessitant l'ecriture
...
<%=txtPageIndex_2%>
..

3 réponses

cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 3
23 sept. 2005 à 18:12
Salut,



Je te conseille quelquechose dans ce genre là :



Dans tes pages, un include :

<!-- #include virtual="/language.asp" -->

et avec des

<%=txt_PageIndex_2%>



Et dans le fichier "language.asp", Quelquechose dans ce genre là :



Select Case langue

Case "fr"

Server.Execute("/language_fr.asp")

Case "en"

Server.Execute("language_en.asp")

...etc



Et dans chaque fichier de langue, Toute la suite de déclaration des variables selon la langue.



Les avantages :

- Pas d'appel de Sub à chaque fois que l'on veut afficher du text dans un langue (tout est fait au début du fichier)

- Le Server.Execute n'est exécuté que si il doit être exécuté (comparé à des includes, c'est plus facile)

- C'est plus clair car les variables pour chaque langue sont déclarées dans des fichiers différents.

- C'est facile d'ajouter une langue, il suffit d'ajouter un Case
"langue" (et bien sûr d'avoir créé le fichier de langue correspondant )



Les désavantages :

- Si tu n'as que deux langues différente et que tu ne compte pas en
avoir plus un jour, c'est un peu trop compliqué (autant faire deux
versions du site).

- Beaucoup de variables !! (mais ça devrait pas trop se ressentir au
niveau de la vitesse ! En tout cas n'est pas plus lent que d'appeler la
même Sub toutes les lignes...)


J'espère que ça t'éclaire un peu...

Ce n'est que mon avis ; il y a pleins d'autres méthodes, par exemple
utiliser l'objet application pour stoker les variables sous forme de
tableau par exemple, ou même utiliser un Select Case suivit d'un
Server.Execute("/dossier/unepage_fr.asp") avec une version de chaque
page pour chaque langue...)




Nurgle
Il est plus aisé d'être sage pour les autres que pour soi-même ! (La Rochefoucauld)
0
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
23 sept. 2005 à 19:09
Ok je te remercie !!!

Je vais opter pour le style la, j'avais fait sa mais sans les execute !!! Je constate que mon site est plus lent depuis que je call les fonctions comme sa, donc je vais changer tous sa !!

Merci !
0
courcelf Messages postés 1 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 17 avril 2007
17 avril 2007 à 21:33
Tu sais tout dépends de ce que tu veux faire elle t'a donné un bon exemple mais il y a un des avantage et inconvénient la maintenence est un inconvénient car si tu change un lien sur la page en fr faut l'enlever sur l'anglais ausi. avantage tres simple. mainenent paslon de mvc soit modele vue controle avantage c'est que l'on spéare le contenue du contenant c'est à dire que peut importe ta langue tu as 1 seul page asp au pire meme 10 langues le hic de mvc c'est plus lourd plus de gestion pour un site d'envergure ça vaut la peine mais pour un c.v. je prendrais le choix a. alors a toi de décider!!
0