Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/11/2004, 12:45
Avatar de AlZuwaga
AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
No sé cual sería el mejor método para hacer un sitio multiidioma cuyos contenidos estén en una BD, pero se me ocurre que tendrías que tener 2 campos (uno por idioma). En el ejemplo anterior, uno llamado "EstadoESP" y otro llamado "EstadoENG".

Luego, pasás por la URL el idioma elegido (pagina.asp?idioma=ESP/ENG). En el caso que idioma sea nulo, ponés uno como prederterminado o rescatás el idioma que acepta el browser con Request.ServerVariables("HTTP_ACCEPT_LANGUAGE") (haciendo unoas pocas modificaciones) y colocando éste como predeterminado (en el caso que el idioma que acepte el browser sea uno de los que vos tengas traducción, porque si acepta "vietnamita" y vos tenés traducción en español, inglés y francés, no tiene mucho sentido :p)

Bueno, a manera de ejemplo se me ocurre un código así:


<%
VarIdiomaTMP = Request.QueryString("Idioma")

Select Case VarIdiomaTMP
Case "ESP" VarIdioma = "ESP"
Case "ENG" VarIdioma = "ENG"
Case "FRA" VarIdioma = "FRA"
Case Else VarIdioma = "ESP" 'acá queda como predeterminado el español
End Select

'Ahora se escribe el texto "segunda mano" en el idioma que corresponda:
Response.Write locn.Fields.Item("Estado" & VarIdioma)
%>

Recordá que el campo ahora se llama Estado[ESP/ENG/FRA] por lo que cuando alguien entre por primera vez y no haya elegido idioma, se mostrará en español por ser el prdeterminado. Si a alguien se le ocurre cambiar en la URL idioma=FRA por idioma=VIEtnamita igualmente se mostrará en español (nuevamente, por ser el prrdeterminado)

Saludos

PD: Aguante los atodidactas
__________________
...___...