Foros del Web » Programando para Internet » PHP »

La mejor manera de crear una web multi-idioma

Estas en el tema de La mejor manera de crear una web multi-idioma en el foro de PHP en Foros del Web. Buenas, He leido de todo en internet y en foros del web ;) pero tanta variedad me colapsa. Traducir utilizando ficheros XML Con tantos ficheros ...
  #1 (permalink)  
Antiguo 07/10/2009, 15:06
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
La mejor manera de crear una web multi-idioma

Buenas,

He leido de todo en internet y en foros del web ;) pero tanta variedad me colapsa.

Traducir utilizando ficheros XML
Con tantos ficheros php como idiomas y dentro de cada fichero defines variables
Ejemplo 2 de ficheros con variables
Utilizando Gettext
Utilizando el framework cake
Mediante arrays

Me gustaría saber qué métodos son los que habéis aplicado vosotros en vuestros trabajos, pues al fin y al cabo lo que se implemente más debería ser lo más "mantenible".

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 07/10/2009, 18:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: La mejor manera de crear una web multi-idioma

es casi lo mismo...

aunque claro, es mas sencillo usar solo scripts de PHP con arrays... o constantes

o usar una función propia para eso, como __(), l(), t(), etc..
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/10/2009, 23:44
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: La mejor manera de crear una web multi-idioma

Cita:
Iniciado por pateketrueke Ver Mensaje
es casi lo mismo...

aunque claro, es mas sencillo usar solo scripts de PHP con arrays... o constantes

o usar una función propia para eso, como __(), l(), t(), etc..
Uhmm... sí la web tiene paginas enteras de información en otro idioma, creo que lo más óptimo sería tener un fichero php con todo el contenido de cada articulo (para cada idioma), que tener un array con 1000 palabras para UN determinado artículo no?

Creo que las webs multi-idioma, solo tienen montado el sistema para pequeñas frases, botones, etc... pero no para artículos dentro de una web.

¿Pensáis como yo?

Gracias
  #4 (permalink)  
Antiguo 07/10/2009, 23:51
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: La mejor manera de crear una web multi-idioma

Cita:
Iniciado por neodani Ver Mensaje
Uhmm... sí la web tiene paginas enteras de información en otro idioma, creo que lo más óptimo sería tener un fichero php con todo el contenido de cada articulo (para cada idioma), que tener un array con 1000 palabras para UN determinado artículo no?

Creo que las webs multi-idioma, solo tienen montado el sistema para pequeñas frases, botones, etc... pero no para artículos dentro de una web.

¿Pensáis como yo?

Gracias
algunas tienen lo que es el contenido estatico en archivos de idioma, y los dinamico por campos de referencia de idioma,

si la pagina se selecciona como ingles, seguramente le pasa una variable para cargar articulos que esten en ingles.

Justamente yo estaba en esta disyuntiva, porque tengo que hacer una web que carga articulos de educacion ambiental, y algunos los quieren ir traduciendo, el tema era mantener la relacion del articulo original con el articulo de segundo idioma, por lo que habia pensado en hacer una tabla traducciones, con el id del articulo, el id de lenguaje, y los campos que requerian traduccion en el idioma seleccionado, eso me permite controlar si el articulo x esta disponible en otros idiomas
  #5 (permalink)  
Antiguo 08/10/2009, 00:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: La mejor manera de crear una web multi-idioma

me imagino que una buena combinación de ambos mundos puede ser efectiva... me refiero a base de datos, y scripts con definiciones y/o arreglos

osea, tener a la mano los scripts con las traducciones del entorno... para que sea lo mas veloz su carga, y no afecte el rendimiento

y además, tener varias bases de datos (no varias tablas) para diferentes idiomas...


así, una ves predefinido un idioma para el contenido (no el sistema) se procede a seleccionar la BD correspondiente ej. mysql_select_db('content_es')

suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 08/10/2009, 01:19
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: La mejor manera de crear una web multi-idioma

Cita:
Iniciado por pateketrueke Ver Mensaje
me imagino que una buena combinación de ambos mundos puede ser efectiva... me refiero a base de datos, y scripts con definiciones y/o arreglos

osea, tener a la mano los scripts con las traducciones del entorno... para que sea lo mas veloz su carga, y no afecte el rendimiento

y además, tener varias bases de datos (no varias tablas) para diferentes idiomas...


así, una ves predefinido un idioma para el contenido (no el sistema) se procede a seleccionar la BD correspondiente ej. mysql_select_db('content_es')

suerte!!
tambien, yo con mi cliente no lo podria hacer ya que su proveedor de hosting solamente le posibilita una base de datos
  #7 (permalink)  
Antiguo 09/10/2009, 14:32
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: La mejor manera de crear una web multi-idioma

EStoy de acuerdo con Pateketruke, una combinación de varias fórmulas puede ser efectivo. De todo modos mi humilde consejo es que utilices alguna fórmular que:
1)Te ahorre trabajo al iniciar la programación.
2) Te ahorre trabajo al cambiar algun texto o incluir algún idioma más.
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 08:12.