Web multiidioma

Jesuso
15 de Octubre del 2003
Hola chicos, tengo un comercio electrónico y me gustaría saber como consigo ponerla en varios idiomas, había probado con includes dinámicos, estilo:
if Session("Idioma") = "ES" Then
<!--#INCLUDE FILE='IDIOMA_ES.ASP'-->
Elseif Session("Idioma") = "EN" Then
<!--#INCLUDE FILE='IDIOMA_EN.ASP'-->
End if
En cada fichero de idioma poseo las mismas variables con los mismos nombres pero en su idioma, con lo que pretendía en la web principal simplemente llamar a esas variables que escribirían en el idioma que hubieran cargado, cual es mi sorpresa al ver que no se pueden hacer includes dinámicos, así que probé con el server.execute, pero éste no carga las variables para luego representarlas en la web desde la que se le ha llamado. Así que se me han abierto ahora dos vias completamente distintas, bien lo hago por BBDD, lo cual me parece que cargaría la aplicación, si debo cargar todas las variables desde ella, o bien duplico la aplicacion variando la raíz tal que así:
virtual/es/...
virtual/en/...
¿ Podríais decirme cual es la manera en la que lo hace todo el mundo para que sea mas efectivo, por favor ? Gracias

huanan
15 de Octubre del 2003
Te doy una idea que no es mia, la descubrí analizando un codigo que vi por internet, y que he adaptado:

Se trata de crear tantos documentos XML como idiomas queramos, por ejemplo: ES.XML

<?xml version="1.0" encoding="Unicode" ?>
<constantes>
<idioma name="ES">
<TITULO_1>Bienvenido</TITULO_1>
<TITULO_2>Amigo</TITULO_2>
</idioma>
</constantes>

Despues solo tenemos que cargarlo al principio de la aplicacion ASP, osea:

idioma="ES"
xmlDoc = idioma + ".XML"

'Cargamos el XML
Set oxml = CreateObject("Microsoft.XMLDOM")
oxml.Async = False
oxml.Load(Server.MapPath(xmlDoc))
Set XMLDoc = oxml.documentElement
Set oNode = XMLDoc.selectSingleNode("//constantes/idioma")
for each item in oNode.childNodes
session(item.nodename)=item.text
next
Set oxml = nothing
Set oNode = nothing


Todo queda almacenado en SESSION, solo hay que llamar a esta rutina al principio y, por supuesto, cada vez que el usuario cambie de idioma, para cargar el archivo XX.XML
Evidentemente, esto puede servir para mas cosas que no solo idiomas !!!!

huanan