| |||
web en 20 idiomas (asp multilenguaje) Hola, hace tiempo encontre un metodo para hacer que mi web ASP pueda tener varios idiomas, utilizando una base de datos. Una columna para cada idioma, la columna ES tiene el texto en español, la columna EN la tiene en ingles, etc... Hace dias que me estoy mirando el codigo del PHP-Nuke (una maravilla que sirve para hacer portales verticales muy facilmente como <a href='ir.asp?http://www.phpnuke-espanol.org' target='_blank'>http://www.phpnuke-espanol.org...</a>) y estoy intentando migrarlo a ASP. PHP-Nuke utiliza para los idiomas "includes", de manera que tienen un archivo para cada idioma y es muy facil ampliar el numero (de hecho, quiero aprovechar los 20 idiomas de PHP-Nuke ;). He buscado por toda Internet algo parecido con ASP y no encuentro nada. En <a href='ir.asp?http://www.desarrolloweb.com/articulos/291.php?manual=11' target='_blank'>http://www.desarrolloweb.com/articulos/2...</a> explican como hacer un Include tipo el que busco: <% archivoInclude = "miarchivo.html" %> <!--#include virtual=archivoInclude--> pero NO va bien, porque dicen "Solo destacamos un punto en contra de esta forma de incluir los archivos. Se trata de que no podremos incluir más que código HTML, nunca código ASP pues no se ejecutaría y quedaría impreso en la página junto con el código HTML" O sea, que no funciona con ASP, solo HTML. Yo lo que necesito es un "seleccionador de includes en ASP que contenga variables" tipo: (lo pongo en pseudocodigo pa que se entienda) <% en CASO que idioma sea igual a es: archivoInclude = "spanish.ASP" en: archivoInclude = "english.ASP" it: archivoInclude = "italian.ASP" end CASO %> <!--#include virtual=archivoInclude--> <% imprimir _HELLO %> y en los archivos "includes" pondria algo asi: fichero spanish.ASP <% variable _HELLO="hola" variable _BYE="adios" %> fichero italian.ASP <% variable _HELLO="come va" variable _BYE="ciao" %> etc. Alguien sabe como demonios puedo hacer el "seleccionador de includes"?? llevo dos meses con esto y estoy desesperado... |
| |||
Re: web en 20 idiomas (asp multilenguaje) mmmmmm dejame ver ..... creo tener algo que te puede servir, si tienes un nivel regular de conocimiento no se te hara problema entenderlo, si quieres mandame un mail y te envio el archivo. Es un foro que me baje de algun sitio ... solamente dejame buscarlo y te lo mando. |
| |||
Re: web en 20 idiomas (asp multilenguaje) para que te hagas una idea de la poca informacion que hay sobre la arquitectura FuseBox y ASP, he buscado en el Google "ASP fusebox" y sale tan solo 8 links, de los cuales no hay ni uno util. en <a href='ir.asp?http://www.fusebox.org' target='_blank'>http://www.fusebox.org...</a> explica muy bien como funciona, si he entendido bien, es una especie de "modularizacion" de la web para facilitar el mantenimiento y la escalarizacion, es genial. lo mas parecido que he encontrado en ASP es el ejemplo que sale en <a href='ir.asp?http://www.lacompu.com.ar/desarrollo/notas/aspdinincfil/index.php3' target='_blank'>http://www.lacompu.com.ar/desarrollo/not...</a> pero... aparece el mismo problema! :( si dentro de los includes escribo codigo ASP, no se interpreta , sino que se escribe en la pagina tal cual, con los <% %> (para verlo hay que hacer un "view source" en el navegador). alguna sugerencia? pista? alguna luz que me alumbre un poquito el camino? (mientras seguire probando con la idea de Cain, incluir un archivo externo, parsearlo y ponerlo en variables... aunque me imagino que ira lentisimo y no se si funcionara) |
| ||||
Re: web en 20 idiomas (asp multilenguaje) La idea es crear una página .asp normal y corriente, sólo que en lugar de tener texto, tiene variables. Y, por otra parte, creas plantillas de textos por idiomas: pagina_es.asp, pagina_en.asp, pagina_ca.asp... Entonces, en la página que contiene las variables, haces un include de pagina_idioma.asp. En ASP no sé muy bien como quedaría, pero en PHP sería. idioma_es.php $texto1 = "Bienvenido a mi web"; idioma_en.php $texto1 = "Welcome to my site"; pagina.php <? include('idioma_$idioma.asp'); ?> $texto1 pagina.php?idioma=es Bienvenido a mi web pagina.php?idioma=en Welcome to my site <font size=2>Proximamente... <a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE] |
| |||
Re: web en 20 idiomas (asp multilenguaje) este metodo que explicas, es muy parecido al que utiliza PHP-Nuke (en PHP y es precisamente lo que quiero hacer en ASP y no hay manera. ;) aun asi muchas gracias por la ayuda. |
| ||||
Re: web en 20 idiomas (asp multilenguaje) Lo único que necesitas es saber como se llaman las variables, y pasar la variable de idioma a todas las páginas o guardarla en una session o una cookie. <font size=2>Proximamente... <a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE] |
| |||
Re: web en 20 idiomas (asp multilenguaje) >Lo único que necesitas es saber como se >llaman las variables me parece que no me explico... se como se llaman las variables _Yes="si en el idioma correspondiente" _No="no en el idioma correspondiente" _Send="enviar en el idioma correspondiente" ... y asi hasta cerca de 350 variables, en cada uno de los 20 archivos (chino.asp, italiano.asp, frances.asp... etc). > y pasar la variable de idioma a todas las > páginas o guardarla en una session o una > cookie. esto tambien se hacerlo... imaginemos que tengo la variable "Idioma=chino" y la guardo en una variable de session o cookie... y que? de que me sirve, si ASP no me deja poner algo tipo: if Idioma=chino then #include file="chino.asp" end if if Idioma=berebere then #include file="berebere.asp" end if ya se que con PHP se puede hacer, me parece fantastico que se pueda hacer con ColdFusion o con Perl o con BlackEye, pero este no es el problema. yo lo busco en ASP, solo ASP y nada mas que ASP, porque es con ASP que aparece este problema, no con PHP o con ColdFusion. (me voy a volver loco) |
| ||||
Re: web en 20 idiomas (asp multilenguaje) No puedes hacer algo como: <% idioma = Request("idioma") if idioma = 'chino' then %> #include (chino.asp) <% elseif idioma = 'japones' then %> #include (japones.asp) <% else %> #include (koreano.asp) <% end if %> De algún modo debes poder condicionar los includes. <font size=2>Proximamente... <a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE] |
| ||||
Re: web en 20 idiomas (asp multilenguaje) En efecto, el siguiente código funciona perfectamente: <% if Request("idioma") = "es" then %> <!-- #INCLUDE FILE="espanol.asp" --> <% elseif Request("idioma") = "en" then %> <!-- #INCLUDE FILE="ingles.asp" --> <% elseif Request("idioma") = "fr" then %> <!-- #INCLUDE FILE="frances.asp" --> <% else %> <!-- #INCLUDE FILE="defecto.asp" --> <% end if %> <font size=2>Proximamente... <a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE] |
| |||
Re: web en 20 idiomas (asp multilenguaje) Cain, felicita a tu madre por haberte parido tan bien... MUCHISIMAS GRACIAS!!! Por fin lo he conseguido!!! llevaba meses con este problema y me lo has resuelto :) (y mira que era facil, me siento un tonto) Aqui esta el metodo completo para hacer la web multi-idioma en ASP, para quien lo necesite: (crear los siguientes archivos) entuidioma.asp
Código:
spanish.inc <% idioma = Request("idioma") if idioma = "es" then %> <!--#include file="spanish.inc"--> <% elseif idioma = "jp" then %> <!--#include file="japanese.inc"--> <% else %> <!--#include file="english.inc"--> <% end if %> <% response.write(VGracias+" Cain por tu ayuda!!! :) " + VAdios) %>
Código:
<% VGracias="gracias" VAdios="adios" %> japanese.inc
Código:
<% VGracias="arigato" VAdios="sayonara" %> english.inc
Código:
<% VGracias="thanks" VAdios="good bye" %> et voila! si se realiza la llamada: http://tuservidor/entuidioma.asp?idioma=es saldra el mensaje en español si se realiza la llamada: http://tuservidor/entuidioma.asp?idioma=jp saldra el mensaje en japones y por defecto saldra en ingles. soy feliz como una perdiz! |
| |||
Re: web en 20 idiomas (asp multilenguaje) Saben existe una aplicacion de popmail llamada Jmailbox, que utiliza el componente jmail.dll. El punto es que te dan un conjunto de .ASP y uno en especifico se llama config.asp Alli configuras usuarios y dierectorios y ademas existen unos includes con el idioma. Sencillamente cuando pones el de ingles todo el site es en ingles. El de español te cambia los link, iconos y todo a español. Seria bueno que los interesados lo vieran a ver que toman de alli. <a href='ir.asp?http://www.jmailbox.org' target='_blank'>http://www.jmailbox.org...</a> |