Je veux consulter sur quelque chose que je fais.Site Web multilingue utilisant ASP et une base de données
mon site web dispose de 3 langues. Hébreu (principal), anglais et russe. J'utilise une base de données ayant une table avec les champs: ID, fieldName, 1, 2, 3. où 1 2 3 sont les langues. En entrant dans la langue du site Web 1 (hébreu) est choisi automatiquement jusqu'à ce que vous en choisissiez un autre. et enregistré en tant que session("currentLanguage")
.
i a écrit une fonction langstirng whice un nom recieves de champ et imprime la valeur acording à la langue dans session("currentLanguage")
:
Dim languageStrings
Set languageStrings = Server.CreateObject("ADODB.Recordset")
languageStrings.ActiveConnection = MM_KerenDB_STRING
languageStrings.Source = "SELECT fieldName,"¤t_Language&"FROM Multilangual"
languageStrings.CursorType = 0
languageStrings.CursorLocation = 2
languageStrings.LockType = 1
languageStrings.Open()
sub langstring(fieldName)
do while NOT(languageStrings.EOF)
if (languageStrings.fields.item("fieldName").value = fieldName) then
exit do
else
languageStrings.movenext
end if
loop
if (languageStrings.EOF) then
response.Write("***"&fieldName&"***")
else
response.Write(languageStrings.fields.item(currentLanguage+1).value)
end if
languageStrings.movefirst
end sub
et je l'utilise comme ceci: <div>langstring("header")</div>
. Je trouve stupide de continuer à envoyer la requête au serveur sur n'importe quelle page. puisque la table multilangue ne change pas "QUE" souvent je veux sauver en quelque sorte le jeu d'enregistrements pour la navigation courante.
Je cherche de l'aide pour CETTE solution, s'il vous plaît.