Y por mejor no haces las traducciones tirando desde archivos ??????
te paso un ejemplo de como lo que tengo yo, de paso lo dejo al codigo por si le sirve a los demas....
Ingresar el siguiente codigo en la parte superior de la/s pagina/s
Código:
IF Request.Form("Idioma") <> "" Then
Response.Cookies("Idioma") = Request.Form("Idioma")
Response.Cookies("Idioma").Expires = DateAdd("d", 30, Now()) ' este es un ejemplo. podes descartarlo o suministrar mayor tiempo en recordar la cookies
Response.Redirect Request.ServerVariables("URL") 'Desde aca volvemos a la pagina
End IF
Despues quedari armar el Form para el idioma ej:
Código:
<script language="javascript">
function SelectLang()
{
document.FormularioIdioma.submit();
}
</script>
<form action="<%= Request.ServerVariables("URL") %>" method="post" name="FormularioIdioma">
<select name="Idioma" class="select" onchange="SelectLang()">
<% If Request.Cookies("Idioma") <> "" Then %>
<option Seleccionar Idioma </option>
<% End IF %>
<!--
Aca se puede o bien, sacar los idiomas desde una DB o simplemente colocar el nombre de los idiomas
-->
<option value="Español" <% If Request.Cookies("Idioma") = "Español" Then Response.write " Selected" End If %>> Español </option>
<option value="Ingles" <% If Request.Cookies("Idioma") = "Ingles" Then Response.write " Selected" End If %>> Ingles </option>
</select>
</form>
Colocar el codigo en paginas como: Config, Funsiones etc..... (a criterio de cada uno)
Código:
Set AllMsgLanguage = CreateObject("Scripting.Dictionary")
LeyendoMensaje()
Sub LeyendoMensaje()
IF Request.Cookies("Idioma") <> "" Then
FileLanguage = Server.MapPath("IDIOMAS/" & Request.Cookies("Idioma"))
Else
FileLanguage = Server.MapPath("IDIOMAS/Idioma_por_Default")
End IF
Set FsLanguage = CreateObject("Scripting.FileSystemObject")
IF (FsLanguage.FileExists(FileLanguage)) Then
Set ReadLanguage = FsLanguage.openTextFile(FileLanguage)
Do While Not (ReadLanguage.AtEndOfStream)
LineLanguage = Trim(ReadLanguage.ReadLine)
IF (Len(LineLanguage) > 0 AND Left(LineLanguage, 1) <> "#" AND Left(LineLanguage, 1) <> "'") Then
MsgLanguage = Split(LineLanguage, "=", 2)
AllMsgLanguage.Add Trim(MsgLanguage(0)), Trim(MsgLanguage(1))
End IF
Loop
End IF
End Sub
Y por ultimo ...
Código:
Function Traduccion(Msg)
IF not AllMsgLanguage.Exists(Msg) Then
Traduccion = "[" & Msg & "]"
Else
Traduccion = AllMsgLanguage.Item(Msg)
End IF
End Function
Explicacion de su USO:
en las paginas colocar "
Traduccion("Mi_Contenido")", de esta forma lee el archivo por default, si la cookies tiene contenido , directamente lee el archivo ese en cuestion.
Ejemplo de escritura en el archivo
Idioma:
#Español
saludo = Bienvenido
#Ingles
saludo = Welcome
........
Asi con los contenidos que necesiten.
Espero que sirva de ayuda, y quien se interese en modificarlo adelante, para que es el codigo libre sino ??

Atte. A|ert