Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/05/2009, 04:27
vzet82
 
Fecha de Ingreso: mayo-2009
Mensajes: 93
Antigüedad: 14 años, 11 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!!