Salve,
vorrei adattare questo script da 2 lingue a più lingue (5 nel mio caso).
Cosa dovrei variare nello script oltre ad aggiungere tutta una serie di variabili per le altre lingue.
Questo è lo script che si occupa della traduzione:
<%
'================================================= ================================================== =
'Il codice seguente serve a consentire l'ALTERNARSI DELLA LINGUA di presentazione delle pagine Web
'utilizzando una variabile di sessione
'================================================= ================================================== =
'creo la variabile di sessione
lang = session("lang")
'se non è stata effettuata alcuna scelta dall'utente, imposto una lingua di default. In questo caso l'italiano
if lang = "" then lang="ita"
'definisco due variabili per ricostruire l'indirizzo della pagina da ricaricare con la nuova lingua
path=Request.ServerVariables("path_info")
qstring=Request.ServerVariables("query_string")
qstring=replace(qstring,"&","&")
'I replace sono necessari per consentire di cambiare più volte la lingua nella stessa pagina
'evitando di creare querystring kilometriche ed inefficaci: attenzione l'ordine dei replace deve essere
'quello indicato
'Caso 1: la querystring contiene altre variabili oltre a quella relativa alla lingua
qstring=replace(qstring,"&lang=ita","")
qstring=replace(qstring,"&lang=eng","")
'Caso : lang è l'unica variabile in querystring
qstring=replace(qstring,"lang=ita","")
qstring=replace(qstring,"lang=eng","")
'recupero la variabile che indica la scelta effettuata dall'utente
lang=Request.QueryString("lang")
'se l'utente naviga fra le pagine dopo aver già effettuato una scelta
if lang="" then
if Session("lang")<>"" then
lang=Session("lang")
else
lang="ita"
end if
'se la scelta dell'utente è "english"
elseif lang="eng" then
Session("lang")=""
Session("lang") = "eng"
'se la scelta dell'utente è "italiano"
else
Session("lang")=""
Session("lang") = "ita"
end if
'se l'utente accede per la prima volta o, comunque, dopo che la sessione è scaduta imposto la lingua di default
if Session("lang")="" then
Session("lang") = "ita"
end if
'imposto a sessanta minuti la durata della sessione
Session.TimeOut = 60
'================================================= ================================================== =
'Definisco le variabili stringa che andranno a popolare le pagine del sito.
if lang = "eng" then 'se la lingua prescelta è l'inglese
'generiche
strPulsante="Accesso alla Versione italiana"
strPulsanteTitle="Clicca qui per la versione italiana"
'pagina: home/default.asp
strTitleHm="Change language with ASP - Home"
strlingua="english"
strScelta="Your choosen language is"
strVantaggi="Page 2"
'pagina: vantaggi/default.asp
strTitleVant="Change language with ASP - Page 2"
strHome="Home page"
strElencoVant="Function benefits"
strElencoVant1="Increases navigation easiness"
strElencoVant2="Allows user to save time"
else 'se la lingua prescelta è l'italiano
'generiche
strPulsante="Access to English version"
strPulsanteTitle="Click for English version"
'pagina: home/default.asp
strTitleHm="Cambio di lingua in ASP - Home"
strlingua="italiano"
strScelta="La lingua che hai scelto è "
strVantaggi="Pagina 2"
'pagina: vantaggi/default.asp
strTitleVant="Cambio di lingua in ASP - Pagina 2"
strHome="Pagina iniziale"
strElencoVant="Vantaggi della funzione descritta"
strElencoVant1="Facilita la navigazione"
strElencoVant2="Fa risparmiare tempo agli utenti"
end if
%>
E questo è il link che si occupa di cambiare la lingua:
<html>
<head>
<title><%=strTitleVant%></title>
<link type="text/css" rel="stylesheet" href="/language/include/style.css" media="all" />
</head>
<body>
<div id="chglang">
<%'codice per il cambio della lingua all'interno della stessa pagina
if qstring="" then
if session("lang")="ita" then
lang="lang=eng"
else
lang="lang=ita"
end if
else
if session("lang")="ita" then
lang="&lang=eng"
else
lang="&lang=ita"
end if
end if
%>
"><%=strPulsante%></p>
</div>
<div id="content">
<%=strElencoVant%></p>
- <%=strElencoVant1%></p>
- <%=strElencoVant2%></p>
- ...</p>
"><%=strHome%></p>
</div>
</body>
</html>
Io ci ho provato... ma siccome di Asp ne so quasi niente non ne sono venuto a capo!
![]()

Rispondi quotando
