Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/01/2007, 18:26
Alert
 
Fecha de Ingreso: junio-2004
Mensajes: 72
Antigüedad: 20 años, 10 meses
Puntos: 2
Exclamación Re: Traducir sitio al ingles!

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