Foros del Web » Creando para Internet » Diseño web »

Usar varios idiomas

Estas en el tema de Usar varios idiomas en el foro de Diseño web en Foros del Web. Hola, tengo mi web traducida en varios idiomas: language/es language/en language/fr etc.. Peor quisiera saber como se peude acer para que al pulsar la imagen ...
  #1 (permalink)  
Antiguo 11/05/2009, 04:42
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 785
Antigüedad: 8 años, 10 meses
Puntos: 9
Usar varios idiomas

Hola, tengo mi web traducida en varios idiomas:

language/es
language/en
language/fr
etc..

Peor quisiera saber como se peude acer para que al pulsar la imagen de la bandera canvie el idioma de la página actual sin canviar de página, seria algo asi creo:

login.php?lang=es

pero no tengo ni idea de como hacer eso, como se puede hacer?
  #2 (permalink)  
Antiguo 11/05/2009, 04:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.547
Antigüedad: 15 años, 8 meses
Puntos: 1262
Respuesta: Usar varios idiomas

Hola:

Si no quieres cambiar de página, deberías usar un script para cambiar los idiomas, y tenerlos todos accesibles en la misma página, o leerlos mediante Ajax, pero con este último recurso, casi sería lo mismo que cambiar de página.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/05/2009, 06:31
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 785
Antigüedad: 8 años, 10 meses
Puntos: 9
Respuesta: Usar varios idiomas

y que script seria ese?
  #4 (permalink)  
Antiguo 11/05/2009, 06:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 93
Antigüedad: 8 años, 7 meses
Puntos: 5
Respuesta: Usar varios idiomas

Podrías también usar un archivo donde escribieras todos los textos en constantes. Es decir, podrías poner por ejemplo:

MSG_BIENVENIDA = 'Bienvenido'

MSG_BIENVENIDA = 'Welcome'

Cada una de esas constantes iría definida en un archivo, es decir, tendrías un archivo con constantes definidas para inglés, y otro para español (ampliable a todos los idiomas que quieras).

Luego tendrías que ir cargando un fichero u otro en función del idioma que quisieras y leyendo las constantes para el texto de cada parte de la página.

Eso lo usé yo una vez en alguno de los proyectos en los que he estado. Creo que me he explicado bien (aunque no muy en profundidad para no aburrir).

Saludos!
  #5 (permalink)  
Antiguo 11/05/2009, 07:13
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 785
Antigüedad: 8 años, 10 meses
Puntos: 9
Respuesta: Usar varios idiomas

Mira, cada pagina en mi web tiene un archivo de idioma

ejemplo.

login.mo
reg.mo

y estan hechas como tu dices

Pero ahora lo que quiero es saber como hacer para usarlo

Si pulso la imagen de la bandera españa se canvia al idioma por ejemplo

language/es/login.mo

es decir directamente cuando entro a mi web y pulso la imagen a todas las páginas que visite se veran con el idioma que he seleccionado
  #6 (permalink)  
Antiguo 11/05/2009, 11:09
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.547
Antigüedad: 15 años, 8 meses
Puntos: 1262
Respuesta: Usar varios idiomas

Hola:

Tal vez te sirva este artículo: Páginas multilenguaje con javascript

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 12/05/2009, 04:28
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 785
Antigüedad: 8 años, 10 meses
Puntos: 9
Respuesta: Usar varios idiomas

Lo que necesito es que se incluya ese idioma en la página inicial

Cada archivo tiene su propio archivo de idioma ejemplo.

Login.php tiene login.mo

Entonces cada carpeta contiene los mismos archivos solo que canvia el idioma:

login.php archivo de idioma: /language/es/login.mo
reg.php archivo de idioma: /language/en/reg.mo

Lo unico que quiero es que al pulsar la imagen canvie el idioma, como un include o algo asi..

login.php?language=es

o algo parecido

Un ejmplo lo teneis en esta página:

asturcon3.homeip.net/ogarena/login.php

Última edición por SeaPirates; 12/05/2009 a las 04:34
  #8 (permalink)  
Antiguo 12/05/2009, 05:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 93
Antigüedad: 8 años, 7 meses
Puntos: 5
Respuesta: Usar varios idiomas

Como te comentaba en el post anterior, puedes tener un archivo con todos los textos que vas a tener en tu web. Un archivo por cada idioma. Por tanto, por ejemplo, un archivo podría ser: TEXTOS_ES.php. En él definirás constantes con los textos. Ejemplo:

$TEXTO_BIENVENIDA= 'Bienvenidos a mi web';

En un archivo: TEXTOS_EN.php, tendrías:

$TEXTO_BIENVENIDA='Welcome to the web';

En cada archivo que tengas, por ejemplo login.php, tendrías un include en función del idioma que estuviera seleccionado. Lo podrias detectar a través de javascript. Cuando detectas el idioma español, haces un include de TEXTOS_ES.php, entonces tendrás cargadas todas las constantes con los textos en español. Si seleccionas el idioma inglés, harás el include del archivo TEXTOS_EN.php, y asi tendrás cargados todos los textos en inglés.

Desde el código HTML con el que mostrarás los elementos de la página, tendrías algo del tipo:

<h1><?php echo $TEXTO_BIENVENIDA ?></h1>

Por tanto según el idioma que hayas cargado mediante el include, te mostrará un idioma u otro.

No recuerdo exactamente la sintaxis porque hace mucho que no uso php, pero creo recordar que era algo asi lo que hacía cuando tuve que hacer una web multi-idioma. Sino también puedes buscar información sobre el uso de templates, donde también definirás constantes con los textos en varios idiomas. Creo que en este caso el archivo con las constantes con los textos se definia con otra extensión, pero se leía de forma parecida.

Espero que te sirva. Si no fuera asi exactamente que por lo menos te guíe para darte ideas de como lo puedes hacer.

Otra idea, si quieres tener archivos duplicados (tipo login.php) para varios idiomas, sería que al cargar la página llamaras a la ruta del tipo que comentas (ejemplo.com/es/login.php o ejemplo.com/en/login.php , en función del idioma que tengas seleccionado. Eso lo podrás hacer a través de javascript. Cuando pincharas sobre la banderita del idioma harías:

<img src="banderita_es.jpg" onclick="javascript:Document.location.href='http: // www . ejemplo . com/es/login . php'">

ó

<img src="banderita_en.jpg" onclick="javascript:Document.location.href='http : // www . ejemplo . com/en/login . php'">


Creo que podría ser asi.


Un saludo!!
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




La zona horaria es GMT -6. Ahora son las 04:41.