Foros del Web » Programando para Internet » PHP »

Web Multi-Idioma

Estas en el tema de Web Multi-Idioma en el foro de PHP en Foros del Web. Hola! Tengo un sitio en español al que habría que agregarle la posibilidad de verlo en otro idioma. Indiferentemente si el contenido se levanta de ...
  #1 (permalink)  
Antiguo 19/06/2008, 05:50
Avatar de shaggyz  
Fecha de Ingreso: mayo-2008
Mensajes: 43
Antigüedad: 15 años, 11 meses
Puntos: 3
Web Multi-Idioma

Hola!

Tengo un sitio en español al que habría que agregarle la posibilidad de verlo en otro idioma. Indiferentemente si el contenido se levanta de una base de datos o no. Para hacer esto se me ocurren estas soluciones:

- duplicar el sitio
- usar variables php en archivos include
- usar variables en el mismo archivo php, y manejar el idioma mediante un $_GET

Ahora, existe alguna otra alternativa?, intento no emplear php y hacerlo lo mas simple posible, no estoy seguro que es de lo que mas me conviene. Lo que mas me llama la atención es duplicar el sitio directamente, pero me serviría de mucho si alguien me puede aconsejar, que sería lo mas apropiado, o que hay para este fin que yo desconozca.

Gracias por adelantado!
  #2 (permalink)  
Antiguo 19/06/2008, 07:40
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Web Multi-Idioma

Pues la mayoría de las aplicaciones prefabricadas utilizan arrays, es decir, php.

Pasan por url el lenguaje en el qué se verá la pág.

Ej : ( el sitio está en español por defecto )

url pasada : http://web.com/index.php?param=...&lang=En

Luego con php llamas al archivo con la info en inglés...

Código PHP:
switch($_GET['lang']) {
   case 
'En' $lang_file 'lang/english.php'; break;
   
   default : 
$lang_file 'lang/spanish.php'; break;
}
include(
$lang_file); 
Y en el archivo de idioma tienes algo parecido a esto...

Código PHP:
// Archivo : english.php

$lang['Terminator'] = "I'll be back";
$lang['Darth_Vader'] = "I'm your father";



// Archivo : spanish.php

$lang['Terminator'] = "Volveré";
$lang['Darth_Vader'] = "Soy tu padre"
Luego desde el index, llamas al array...

Código PHP:
// Index.php


switch($_GET['lang']) {
   case 
'En' $lang_file 'lang/english.php'; break;
   
   default : 
$lang_file 'lang/spanish.php'; break;
}
include(
$lang_file);


echo 
$lang['Terminator']; 
Y dependiendo del idioma, tendrás un mensaje en el idioma especificado... espero te haya servido.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 20/06/2008, 00:18
Avatar de shaggyz  
Fecha de Ingreso: mayo-2008
Mensajes: 43
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Web Multi-Idioma

Gracias por el tiempo que te tomaste spider_boy, si tengo idea como hacerlo, mi pregunta en realidad es si en el listado de posibilidades que puse, se me está escapando alguna.

El tema de utilizar php, era para evitar darle mas trabajo al servidor, ya que todas las palabras del sitio estarian cargadas en variables. De todas maneras se puede solucionar con una base de datos.

Osea, existe algún método que, evitando utilizar un lenguaje de servidor me permita hacer un sitio multilingue?

Muchas gracias por tu respuesta.
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 07:53.