Foros del Web » Creando para Internet » Diseño web »

Dudas de como plantear tema de traducciones

Estas en el tema de Dudas de como plantear tema de traducciones en el foro de Diseño web en Foros del Web. Saludos, Primero de todo creo que esta pregunta va en este apartado del foro, si no es así agradeceré a los administradores/moderadores que lo pongan ...
  #1 (permalink)  
Antiguo 01/10/2009, 05:54
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 1 mes
Puntos: 5
Dudas de como plantear tema de traducciones

Saludos,

Primero de todo creo que esta pregunta va en este apartado del foro, si no es así agradeceré a los administradores/moderadores que lo pongan donde toque.

Estamos planeando un proyecto web y yo siempre cuando he tenido que hacer traducciones siempre he usado la misma manera en la base de datos, ej:

tabla: Productos
Campos: id_producto, nombre_es, nombre_ca, nombre_en

Asi siempre que mostraba la información por pantalla mostraba nombre_(idioma)

Ok?

Cuando un proyecto esta definido en unos idiomas y que no serán más yo creo que lo veo bien esa forma, pero claro y cuando puede q se amplie? lo veo más delicado para la base de datos añadir campos rollo "nombre_fr" cuando ya tienes a lo mejor 1 millon de registros.

Que opinais vosotros para las traducciones? que metodo usais? pros y contras de los metodos disponibles?

Bueno pues eso es todo muchísimas gracias por adelantado ;)
  #2 (permalink)  
Antiguo 01/10/2009, 09:38
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Dudas de como plantear tema de traducciones

Y si quisiera agregar otro idioma tendria que agregar otro campo a la tabla y alterar toda la programación para que funcione, no me parece buena idea, yo creo que debería haber una tabla productos_info donde se guarde el id_producto, nombre, descripcion y CODIGO DE IDIOMA, asi en la consulta SQL que coge los datos podría indicar que idioma deseo y en caso de agregar mas idiomas mi progrmación no cambiaría.
  #3 (permalink)  
Antiguo 01/10/2009, 10:12
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 1 mes
Puntos: 5
Respuesta: Dudas de como plantear tema de traducciones

si si esa es la otra alternativa, pero claro no la veo clara, porque en principio en esa tabla productos_info iria me imagino que todo incluido el idioma por defecto cierto? pero a mi lo q me reconcome es que digamos que en la tabla productos tenemos:

id_producto, nombre, descripcion

Segun tu respuesta la tabla productos tendría

id_producto

y la tabla productos_info

id, id_producto, nombre, descripcion, codigo_idioma

Sería así, no?

Es que veo raro tener una tabla con tan solo ides.. me suena raro :/ que a lo mejor si que es la mejor forma realmente, pero a mi parecer me suena raro :/

También entiendo que de la otra forma que yo planteaba antes es eso que luego tienes que hacer un alter table y eso es un follon cuando hay muchos datos, lo entiendo, por eso busco a ver si alguien tiene más alternativas, acepto tu respuesta pero quiero algo más extenso jeje
  #4 (permalink)  
Antiguo 05/10/2009, 03:49
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 1 mes
Puntos: 5
Respuesta: Dudas de como plantear tema de traducciones

nadie más puede aportar nada al tema? me gustaría saber varias versiones de la gente para poder encontrar la más correcta, muchas gracias por adelantado.
  #5 (permalink)  
Antiguo 05/10/2009, 05:43
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Dudas de como plantear tema de traducciones

Veo que no llegó mi segundo mensaje
La idea no es tener una tabla de puros IDs, normalmente se usan unas 5 tablas por producto (puedes revisar un zencart y/o oscommerce) suena a muchas tablas pero están plenamente justificadas, sería algo así.

productos
producto_id
categoria_id
producto_precio
producto_stock
marca_id

productos_detalles
producto_id
producto_nombre
producto_descripcion
idioma_id

productos_marcas
marca_id
marca_nombre
marca_sort

productos_atributos

productos_tipo_atributo

categorias
categoria_id
categoria_nombre
categoria_sort
  #6 (permalink)  
Antiguo 05/10/2009, 11:00
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 1 mes
Puntos: 5
Respuesta: Dudas de como plantear tema de traducciones

Si si yo entiendo que en esas tablas haya mucho más campos, simplemente que he puesto un ejemplo simple, es que nos encontramos que hay datos como por ejemplo lo de categorias, que en nuestro caso lo que pondríamos solo sería

categorias
------------
id_categoria
nombre_categoria

como no hay más campos a mi me suena raro que se quedase el id_categoria ahi solano, entiendes lo que quiero decir? muchas gracias por adelantado
  #7 (permalink)  
Antiguo 05/10/2009, 11:28
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Dudas de como plantear tema de traducciones

Categorias tambien requiere una tabla categorias y una tabla idiomas ya que las categorias al igual que productos varian según el idioma adicionalmente a eso se suelen trabajar categorias y subcategorias usando un id padre(parent) algo como:

categorias
categoria_id
categoria_sort
categoria_parent

categorias_detalles
detalles_id
categoria_id
categoria_idioma
categoria_nombre
  #8 (permalink)  
Antiguo 06/10/2009, 01:28
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 1 mes
Puntos: 5
Respuesta: Dudas de como plantear tema de traducciones

si si yo entiendo lo que me estas comentando lo que me refiero a que si tengo ya una tabla creada que es asi:

categorias
id_categoria
categoria

Al cambiarla con traducción se convertiria en:

categorias
id_categoria

tradu_categorias
id_tradu_categorias
id_categoria
id_idioma
categoria

Osea yo ya tengo una tabla categorias con ese aspecto, claro que tengo que hacer? añadirle campos porque si... para que no se quede solo con id_categoria? o eliminar la tabla categorias?

O nunca te has encontrado con una tabla la cual solo tiene dos campos su ide y el nombre?

Vamos me refiero a tener una tabla en plan usuarios y luego otra tabla con tipos de usuario, la tabla tipos de usuario también se traduciria y entonces solo tendríamos un id y un nombre.

Espero haberme explicado ahora ;) muchas gracias por tus contestaciones
  #9 (permalink)  
Antiguo 06/10/2009, 06:53
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Dudas de como plantear tema de traducciones

Lo que yo te digo es ¿Para que quieres ponerle un nombre? MySQL se va a encargar de buscarlo al relacionar las tablas y mi sugerencia es agregar esos 2 campos adicionales categorias_sort (para indicarles su ubicacion) y categorias_parent (para fijar las subcategorias), la tabla categorias no tienes porque eliminarla, esos campos adicionales no los creo porque se me ocurre y esa tabla existe porque los productos van a usar como ID el de categorias autogenerado y no el de tradu_categorias.

Antes he trabajado en el diseño de portales y no es buena idea crear tabla tipos de usuario, y otros extras con tablas que contendrán no mas de 5-10 registros provoca un innecesaio consumo de SQL basta con guardar un codigo y usando constantes extraer los valores traducidos.

Puede parecer que agregar una o dos tablas mas relacionadas no consume mucho pero cuando manejas tablas con 500 000 usuarios te aseguro que se nota y mucho aún usando cache
  #10 (permalink)  
Antiguo 07/10/2009, 04:08
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 1 mes
Puntos: 5
Respuesta: Dudas de como plantear tema de traducciones

Ok ahora entiendo porque a ti no te se quedaría ninguna tabla con el id solo :) ahora entiendo como lo haces, muchísimas gracias, el problema más grande me venia con esos pequeños del estilo tipos_usuario, que en esos si que se quedaría tan solo el id, pero si tiramos de constantes como dices se solucionaría el tema, muchas gracias por tu paciencia y tus respuestas ;)
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 00:47.