Foros del Web » Programando para Internet » PHP »

PHP OO WEB miltilenguajes ¿qué problema?

Estas en el tema de WEB miltilenguajes ¿qué problema? en el foro de PHP en Foros del Web. Hola amigos, he buscado mucho en internet principalmente en este foro sobre este tema de hacer las webs multilenguajes. En realidad he encontrado muchas soluciones ...
  #1 (permalink)  
Antiguo 26/05/2014, 12:52
Avatar de leonaryoel  
Fecha de Ingreso: octubre-2013
Ubicación: Villa Clara
Mensajes: 64
Antigüedad: 10 años, 6 meses
Puntos: 0
WEB miltilenguajes ¿qué problema?

Hola amigos, he buscado mucho en internet principalmente en este foro sobre este tema de hacer las webs multilenguajes. En realidad he encontrado muchas soluciones que funcionan muy bien pero solo para lo que es contenido estático. Mi pregunta es la siguiente, ¿No exciste ninguna función o clase para poder traducier el contenido dinámico en mi web a cuantos idiomas quiero?

Cuando hablo de contenido dinámico me refiero al texto que tengo guardado en mi base de datos, por su puesto.

Pues he encontrado soluciones que me dicen que guerde el contenido en los dos idiomas y lo cargue con un array, muy simple pero me carga mucho el server y no quiero eso. Algo debe excistir, por favor si alguien me puede ayudar en esto pues tengo una web que no he podido publicar por falta de una solución.

En sus manos dejo mi decesperada pregunta, espero alguien me pueda ayudar, gracias de antemano...

  #2 (permalink)  
Antiguo 27/05/2014, 00:33
 
Fecha de Ingreso: febrero-2008
Mensajes: 115
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: WEB miltilenguajes ¿qué problema?

Hay varias opciones:
opción A: Crear las columnas de idioma dentro de la misma base de datos

opción B: Usar un archivo por cada idioma y pasarlo mediante variables

Si son pocos textos, podrias utilizar la opción A, pero si es una aplicación con muchos datos, te recomiendo la opción B, yo por ejemplo utilizo archivos llamados XX.php donde XX es la abreviatura del idioma, esta variable se puede pasar bien por url o bien por cookie, todo ya es a gusto del programador.

La opción del array como tu bien dices, carga mucho, por eso yo uso la opción B, que es la que más me gusta.

Si pasas las variables usando un fichero, puedes incrustar contenido HTML dentro la variable sin problemas.
__________________
Estrella 923
  #3 (permalink)  
Antiguo 27/05/2014, 03:44
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: WEB miltilenguajes ¿qué problema?

Tb puedes usar gettext:

http://blog.lingohub.com/developers/...text-tutorial/

Saludos
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 27/05/2014, 07:03
Avatar de leonaryoel  
Fecha de Ingreso: octubre-2013
Ubicación: Villa Clara
Mensajes: 64
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: WEB miltilenguajes ¿qué problema?

Cita:
Iniciado por estrella_de_Galicia Ver Mensaje
Hay varias opciones:
opción A: Crear las columnas de idioma dentro de la misma base de datos

opción B: Usar un archivo por cada idioma y pasarlo mediante variables

Si son pocos textos, podrias utilizar la opción A, pero si es una aplicación con muchos datos, te recomiendo la opción B, yo por ejemplo utilizo archivos llamados XX.php donde XX es la abreviatura del idioma, esta variable se puede pasar bien por url o bien por cookie, todo ya es a gusto del programador.

La opción del array como tu bien dices, carga mucho, por eso yo uso la opción B, que es la que más me gusta.

Si pasas las variables usando un fichero, puedes incrustar contenido HTML dentro la variable sin problemas.

Gracias amigo. Dentro de las opciones que encontré en mi búsqueda aparecen estas, la A es la que siempre he usado pero para textos pequeños no muchos. En cuanto a la B, lo veo interesante pero no comprendo cómo hacerlo, si los textos los tengo en la BD y los cargo con este archivo o cómo, en fin si puedes explicarme mejor esta parte, puede qu eme sea útil, gracias nuevamente por tu ayuda.
  #5 (permalink)  
Antiguo 27/05/2014, 12:14
(Desactivado)
 
Fecha de Ingreso: junio-2013
Ubicación: Santo Domingo de Guzmán
Mensajes: 35
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: WEB miltilenguajes ¿qué problema?

A ver, sí, si lo guardas todos los textos por cada idioma en tu base de datos, sí, la vas a engordar pero... ¡piensalo bien! cuantos bytes ocupa una letra? tu crees que vas a llenar tanto la base de datos?, si solo con eso tu base de datos ocupara 1MB de quizás 1GB de capacidad total, crees que vale la pena pelearse con otros sistemas que posiblemente te requieran de muchas más lineas de código?

Yo prefiero guardarlo todo en la base de datos tampoco es tanto, ahora, si tu hosting es de solo 100MB pues bueno, entonces sí, utiliza archivos de texto...
  #6 (permalink)  
Antiguo 30/05/2014, 02:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 115
Antigüedad: 16 años, 1 mes
Puntos: 4
Respuesta: WEB miltilenguajes ¿qué problema?

cdiazr , hay un problema a la hora de hacerlo en una base de datos y es que si añades un nuevo idioma, tendras que actualizar todas las tablas donde uses campos de idiomas, al igual que si eliminas un idioma, por eso lo veo más practico por fichero y ya no solo por eso, sino que estas reduciendo considerablemente el número de consultas que se le hace a la base de datos.
__________________
Estrella 923
  #7 (permalink)  
Antiguo 30/05/2014, 02:53
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: WEB miltilenguajes ¿qué problema?

Cita:
Iniciado por estrella_de_Galicia Ver Mensaje
cdiazr , hay un problema a la hora de hacerlo en una base de datos y es que si añades un nuevo idioma, tendras que actualizar todas las tablas donde uses campos de idiomas, al igual que si eliminas un idioma, por eso lo veo más practico por fichero y ya no solo por eso, sino que estas reduciendo considerablemente el número de consultas que se le hace a la base de datos.
Si no lo normaliza, sí

Si es una bbdd normalizada, habria una (o X) tablas de textos, y ahí todos...

Añadir / quitar uno, seria hacer INSERT's / DELETES de esos registros, no columnas ;)
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: Ninguno
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 23:55.