Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2013, 20:40
Avatar de JaimeMSE
JaimeMSE
 
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 11 meses
Puntos: 7
Multilenguaje usando base de datos

Hola,

Estoy programando un sitio que será multilenguaje, no todo, me explico:

En la tabla (articulos) guardo:
ID
Fecha_publicacion
Ultima_actualizacion
Autor
etc...

Y en la tabla (articulos_traduccion) guardo:
Titulo
Url
Contenido
Idioma
IDArticulo (clave foranea)

Lo que quiero hacer es mostrar el idioma del artículo obtenido por una variable, sino, mostrar el artículo del idioma predeterminado de la web.

¿Eso sería viable?

Pongo algo de código:

Accedemos a la web en INGLÉS, teniendo como idioma por defecto ESPAÑOL
Código PHP:
Ver original
  1. $articulos = Todos los articulos
  2.  
  3. foreach($articulo as $articulos)
  4. {
  5.     if($articulo_traduccion = Articulo de la tabla articulos_traduccion con el idioma INGLÉS)
  6.     {
  7.          $articulo_traduccion->titulo
  8.          etc...
  9.     }
  10.     else
  11.     {
  12.          $articulo_traduccion = Articulo de la tabla articulos_traduccion con el idioma PREDETERMINADO (en este caso ESPAÑOL)
  13.  
  14.          Y motramos los datos.
  15.     }
  16.  
  17. }

El código lo he puesto a modo de ejemplo, para que se entienda lo que quiero hacer. El problema es que no todos los artículos van a estar traducidos. Y van a haber muchos idiomas posibles de traduccion, por lo tanto no es viable crear una columna mas en articulos con los idiomas.

Sé que con todo esto hay problemas de contenido duplicado, etc, lo que quiero saber es si el método usado es correcto o si habría otro mejor.

Muchas gracias!
__________________
@JaimeMSE - ¡Sígueme!