Foros del Web » Programando para Internet » PHP »

Cómo crear un sitio multilingüe

Estas en el tema de Cómo crear un sitio multilingüe en el foro de PHP en Foros del Web. Hola. Quería saber si saben cómo crear un sitio que funcione en 3 o más idiomas... por último en 2, español e inglés. Lo que ...
  #1 (permalink)  
Antiguo 24/11/2011, 09:25
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 13 años, 3 meses
Puntos: 1
Cómo crear un sitio multilingüe

Hola.

Quería saber si saben cómo crear un sitio que funcione en 3 o más idiomas... por último en 2, español e inglés.

Lo que manejaba yo es poner en el index del sitio 2 banderas (inglés español) y cuando se clickeaba en una se guardaba el idioma en SESSION y acudía en base a eso, a la carpeta del sitio ya sea en español o inglés... pero esto en sitios que están creciendo resulta poco efectivo.

¿Alguien tiene ideas de cómo poder hacerlo?

Les agradezco de antemano.
  #2 (permalink)  
Antiguo 24/11/2011, 09:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Cómo crear un sitio multilingüe

existen diversas formas, librerías como intl de PHP y hasta los Frameworks PHP hacen sus propias implementaciones, solo te queda evaluar e investigar, saludos.

PD: búscalo por i18n
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/11/2011, 09:32
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Cómo crear un sitio multilingüe

Quizás con archivos, en donde guardar las traducciones, dependiendo de la variable de sesion se incluye uno u otro.
Igualmente no se porque decís que es poco efectivo el otro sistema
__________________
la la la
  #4 (permalink)  
Antiguo 24/11/2011, 09:50
 
Fecha de Ingreso: junio-2011
Mensajes: 68
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: Cómo crear un sitio multilingüe

No hace mucho respondi en un tema parecido a este.

Mi propuesta fue que podia guardar los textos en una base de datos, utilizando una tabla para cada idioma, y segun seleccionase un idioma u otro, cargaba los textos de una tabla o de otra.

No es complicado, quizas... si se te haga largo ya que hay que echarle algunas horas, pero es muy efectivo.
  #5 (permalink)  
Antiguo 03/12/2011, 18:24
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Cómo crear un sitio multilingüe

Cita:
Iniciado por TheCastor Ver Mensaje
No hace mucho respondi en un tema parecido a este.

Mi propuesta fue que podia guardar los textos en una base de datos, utilizando una tabla para cada idioma, y segun seleccionase un idioma u otro, cargaba los textos de una tabla o de otra.

No es complicado, quizas... si se te haga largo ya que hay que echarle algunas horas, pero es muy efectivo.
He estado haciendo esto último... pero resulta engorroso cuando es un sitio muy grande... todavía estoy investigando la opción del primer usuario que me respondió.

PD: Aprovechando el hilo, ¿alguien sabe cómo hacer que aparezca una especie de comentario o recuadro de diálogo cuando se pincha una casilla de texto?, es para advertir a un usuario de ingresar bien el nick cuando pinche en la casilla...
  #6 (permalink)  
Antiguo 03/12/2011, 18:57
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años, 7 meses
Puntos: 31
Respuesta: Cómo crear un sitio multilingüe

Manejala desde la base de datos, crea una tabla que se llama lenguaje o idioma, esa la relaciones con sus dependientes a través de una tabla intermedia y problema resuelto, un ejemplo con una tabla producto ....

Cita:
Idioma
idIdioma
nombre
prefijo

ProductoIdioma
idProducto
idIdioma
nombre

Producto
idProducto
Precio
El nombre del producto ya no lo pongo en producto sino en ProductoIdioma, y con eso tenemos una relacion para N idiomas

Cita:
SELECT * FROM Producto p
INNER JOIN ProductoIdioma pi
ON p.idProducto = pi.idProducto
WHERE idIdioma = 1
Ahora, si tu contenido son estaticos que nunca se van a cambiar puedes crear un arreglo y ponerle indices ... por ejemplo

Cita:
$arrIdioma = array(
'es' => array(
'_INGRESAR_' => 'Ingresar al sistema'
)
);

$arrIdioma = array(
'en' => array(
'_INGRESAR_' => 'Enter to the System'
)
);
Como lo llamo?
echo $arrIdioma[$_SESSION['idioma_prefijo']]['_INGRESAR_']
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 21:34.