Sitio en varios idiomas

Hola!
Tengo que hacer un sitio en php utilizando base mysql.
El sitio es de un diario en varios idiomas.
Las notas o artículos, tienen titulo, texto, colgado, resumen, etc.
¿Cómo tengo que hacerlo para dos idiomas mi pregunta es la siguiente: la mejor solución es duplicar todos los campos, uno para español y otro para inglés?
¿Qué es lo que se suele hacer?
Gracias por cualquier orientación.

1 Respuesta

Respuesta
1
Si optas por la solución que yo te plantee. La forma seria:
1.- Campo indice
Num_Noticia
Mum_Idioma
..
..
Creas un campo indice primario y único con los dos campos (no pueden existir repetidos)
Para las inserciones ...
Dos opciones.
1.- Nueva noticia
2.- Traducción de una noticia en otro idioma.
En el caso 1.
Has de sacar el valor Max de Num_Noticia (select max (num_noticia) form ... )
Al resultado le sumas 1 y ese es el valor a insertar.
Puede que si hay mucha gente añadiendo noticias .. asigne un mismo numero a dos noticias .. caso poco posible pero puede suceder. Pero com el campo es único al realizar la inserción te dará un error de calve duplicaca, entonces repites el proceso, select max ... +1 hasta que no te de error, eso lo puede hacer con un bucle (while ...)
¿Sabes cómo se capturan los errores en PHP? ¿Np?
Y ya esta.
2 Caso.
Pedimos el numero de la noticia a traducir y la insertamos con un numero de idioma diferente pero sin subir las fotos y cosas comunes.
---------
Las cosas cumunes yo las pongo de la siguiente formas, renombro el fichero a <num_noticia>_foto1.jpg
PD: otra buena solución es la otra que tu has planteado y inserción con numero de noticia con las cosas comunes y una segunda con numero de noticia e idioma para los textos.
Espero te sea de ayuda.
Un saludo.
PD2: has oído hablar de LinEX, estamos colaborando con REPEN en uruguay para la difusión de software libre desde Extremadura (España) :)
Ciao. Claudia.
uy, disculpa ya te había mandado la pregunta. No se como hacemos. ;)
Hola Pedro!
Muchas gracias por tu respuesta
Me da mucha seguridad hablar con alguien con experiencia.
¿Ahora la duda que me queda es como hago con el campo identificatorio del registro?
Yo suelo hacerlos autonuméricos.
Pero en este caso no serviría, ¿verdad?
¿Cómo genero el valor de este campo?
A mi se me ocurrió dos cosas.
1- Hacer una tabla de relación de uno a varios
2- O incluir en la propia tabla noticias un campo: cod_noticia_base.
Si es la base, el valor es 0.
¿Qué te parece lo mejor?
¿O se te ocurre otra cosa aún mejor?
Muchas Gracias
Las dos respuestas son validas, en una aplicación que realice yo una vez, similar a la que me planteas, la hice con un campo que identicava el idioma y otro el cod de la noticia.
¿Por qué?
1.- Por la escalavildiad. Si luego surge la necesidad de un tercer idioma o cuarto ... es facilmete implementable. En el primer casos que comentas seria muy lioso.
2.- Por que en la página web que realize, primero se ponían las noticias en español, y luego el departamento de idiomas, las traducía a su ritmo. De tal forma que el portar si seleccionabas ingles, salían las mismas noticias si ya estaban traducicidas las ponía en ingles y si no las ponía en español (castellano) a la espera de ser traducida.
Con respecto al tema de las fortos y material común, se sube con la primera ficha del lenguaje base, y las tracuciones hacen referencuia a las mismas, las forma como yo las indentificaba es con el numero de la ficha, pues es común a la noticias, pues lo que la diferencias es el subcampo de idiomas.
pues eso .. lo mismo .. jejej
Perdón la demora pero quería entenderte bien por si me quedaban dudas. Muchas gracias, voy hacerlo tal cual lo dices y explicas tan bien.
Pero mira tú que casualidad, siendo Uruguay un país tan chiquito! Voy a buscar info de REPEN, no lo conocía.
SAludos
Claudia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas