Foros del Web » Programando para Internet » ASP Clásico »

web en 20 idiomas (asp multilenguaje)

Estas en el tema de web en 20 idiomas (asp multilenguaje) en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/08/2002, 00:51
 
Fecha de Ingreso: agosto-2002
Mensajes: 7
Antigüedad: 22 años, 4 meses
Puntos: 0
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 &quot;includes&quot;, 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:

&lt;%
archivoInclude = &quot;miarchivo.html&quot;
%&gt;
&lt;!--#include virtual=archivoInclude--&gt;

pero NO va bien, porque dicen &quot;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&quot;

O sea, que no funciona con ASP, solo HTML.

Yo lo que necesito es un &quot;seleccionador de includes en ASP que contenga variables&quot; tipo:
(lo pongo en pseudocodigo pa que se entienda)

&lt;%
en CASO que idioma sea igual a
es: archivoInclude = &quot;spanish.ASP&quot;
en: archivoInclude = &quot;english.ASP&quot;
it: archivoInclude = &quot;italian.ASP&quot;
end CASO
%&gt;
&lt;!--#include virtual=archivoInclude--&gt;
&lt;% imprimir _HELLO %&gt;


y en los archivos &quot;includes&quot; pondria algo asi:

fichero spanish.ASP
&lt;%
variable _HELLO=&quot;hola&quot;
variable _BYE=&quot;adios&quot;
%&gt;

fichero italian.ASP
&lt;%
variable _HELLO=&quot;come va&quot;
variable _BYE=&quot;ciao&quot;
%&gt;

etc.

Alguien sabe como demonios puedo hacer el &quot;seleccionador de includes&quot;??

llevo dos meses con esto y estoy desesperado...
  #2 (permalink)  
Antiguo 28/08/2002, 01:33
 
Fecha de Ingreso: septiembre-2001
Mensajes: 191
Antigüedad: 23 años, 4 meses
Puntos: 0
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.
  #3 (permalink)  
Antiguo 28/08/2002, 02:05
 
Fecha de Ingreso: diciembre-2001
Mensajes: 199
Antigüedad: 23 años
Puntos: 0
Re: web en 20 idiomas (asp multilenguaje)

por que no lo subes a algun sitio donde podames bajarlo todos ehhh ;)
  #4 (permalink)  
Antiguo 28/08/2002, 02:35
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 23 años
Puntos: 17
Re: web en 20 idiomas (asp multilenguaje)

Los desarrolladores en ColdFusion estamos acostumbrados a estas cosas en lo que se llama FuseBox Architecture. Hace unos meses, en <a href='ir.asp?http://www.phpbuilder.com' target='_blank'>http://www.phpbuilder.com...</a> vi un artículo hablando de las ventajas de FuseBox aplicado a PHP. Ahora sólo queda que los ASPeros también os decantéis por este tipo de estructura.
La idea es bastante simple, tienes un archivo indice que se encarga de asignar los archivos que deben mostrarse para cada acción.
Si se trata de idiomas, lo único que hay que hacer es cargar el archivo que contiene los textos en el idioma que corresponda y luego recuperarlos como variables en los archivos que contienen el display.

Me parece que me estoy explicando fatal, así que lo mejor será que busquéis ejemplos de fusebox architectura en CF o PHP para ver como funciona y si os interesa o no adoptar esa estructura en ASP.

<font size=2>Proximamente...
<a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE]
  #5 (permalink)  
Antiguo 28/08/2002, 03:13
 
Fecha de Ingreso: agosto-2002
Mensajes: 7
Antigüedad: 22 años, 4 meses
Puntos: 0
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 &quot;ASP fusebox&quot; 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 &quot;modularizacion&quot; 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 &lt;% %&gt; (para verlo hay que hacer un &quot;view source&quot; 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)
  #6 (permalink)  
Antiguo 28/08/2002, 03:18
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 23 años
Puntos: 17
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 = &quot;Bienvenido a mi web&quot;;

idioma_en.php
$texto1 = &quot;Welcome to my site&quot;;

pagina.php
&lt;? include('idioma_$idioma.asp'); ?&gt;
$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]
  #7 (permalink)  
Antiguo 28/08/2002, 03:46
 
Fecha de Ingreso: agosto-2002
Mensajes: 7
Antigüedad: 22 años, 4 meses
Puntos: 0
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.
  #8 (permalink)  
Antiguo 28/08/2002, 03:47
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 23 años
Puntos: 17
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]
  #9 (permalink)  
Antiguo 28/08/2002, 06:01
 
Fecha de Ingreso: agosto-2002
Mensajes: 7
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: web en 20 idiomas (asp multilenguaje)

&gt;Lo único que necesitas es saber como se
&gt;llaman las variables

me parece que no me explico... se como se llaman las variables

_Yes=&quot;si en el idioma correspondiente&quot;
_No=&quot;no en el idioma correspondiente&quot;
_Send=&quot;enviar en el idioma correspondiente&quot;
...

y asi hasta cerca de 350 variables, en cada uno de los 20 archivos (chino.asp, italiano.asp, frances.asp... etc).



&gt; y pasar la variable de idioma a todas las
&gt; páginas o guardarla en una session o una
&gt; cookie.

esto tambien se hacerlo... imaginemos que tengo la variable &quot;Idioma=chino&quot; 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=&quot;chino.asp&quot;
end if

if Idioma=berebere then
#include file=&quot;berebere.asp&quot;
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)
  #10 (permalink)  
Antiguo 28/08/2002, 06:07
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 23 años
Puntos: 17
Re: web en 20 idiomas (asp multilenguaje)



No puedes hacer algo como:
&lt;%
idioma = Request(&quot;idioma&quot;)
if idioma = 'chino' then %&gt;
#include (chino.asp)
&lt;% elseif idioma = 'japones' then %&gt;
#include (japones.asp)
&lt;% else %&gt;
#include (koreano.asp)
&lt;% end if %&gt;

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]
  #11 (permalink)  
Antiguo 28/08/2002, 06:44
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 23 años
Puntos: 17
Re: web en 20 idiomas (asp multilenguaje)

En efecto, el siguiente código funciona perfectamente:

&lt;% if Request(&quot;idioma&quot;) = &quot;es&quot; then %&gt;
&lt;!-- #INCLUDE FILE=&quot;espanol.asp&quot; --&gt;
&lt;% elseif Request(&quot;idioma&quot;) = &quot;en&quot; then %&gt;
&lt;!-- #INCLUDE FILE=&quot;ingles.asp&quot; --&gt;
&lt;% elseif Request(&quot;idioma&quot;) = &quot;fr&quot; then %&gt;
&lt;!-- #INCLUDE FILE=&quot;frances.asp&quot; --&gt;
&lt;% else %&gt;
&lt;!-- #INCLUDE FILE=&quot;defecto.asp&quot; --&gt;
&lt;% end if %&gt;

<font size=2>Proximamente...
<a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE]
  #12 (permalink)  
Antiguo 28/08/2002, 06:44
 
Fecha de Ingreso: agosto-2002
Mensajes: 7
Antigüedad: 22 años, 4 meses
Puntos: 0
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:
&lt;%
idioma = Request(&quot;idioma&quot;)
if idioma = &quot;es&quot; then 
%&gt;
  &lt;!--#include file=&quot;spanish.inc&quot;--&gt;
&lt;% elseif idioma = &quot;jp&quot; then %&gt;
  &lt;!--#include file=&quot;japanese.inc&quot;--&gt;
&lt;% else %&gt;
  &lt;!--#include file=&quot;english.inc&quot;--&gt;
&lt;% end if %&gt;

&lt;% response.write(VGracias+&quot; Cain por tu ayuda!!! :) &quot; + VAdios) %&gt;
spanish.inc
Código:
  
&lt;% 
VGracias=&quot;gracias&quot;
VAdios=&quot;adios&quot;
%&gt;

japanese.inc
Código:
  
&lt;% 
VGracias=&quot;arigato&quot;
VAdios=&quot;sayonara&quot;
%&gt;

english.inc
Código:
  
&lt;% 
VGracias=&quot;thanks&quot;
VAdios=&quot;good bye&quot;
%&gt;

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!

  #13 (permalink)  
Antiguo 28/08/2002, 08:25
 
Fecha de Ingreso: agosto-2001
Mensajes: 106
Antigüedad: 23 años, 4 meses
Puntos: 0
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>
  #14 (permalink)  
Antiguo 28/08/2002, 08:53
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 23 años
Puntos: 17
Re: web en 20 idiomas (asp multilenguaje)

:) Me alegro que lo hayas podido arreglar, Flynn.


<font size=2>Proximamente...
<a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:25.