Según este enfoque, el idioma predeterminado es ya traducido en la primera tabla. Si un usuario no necesita una traducción, no tendrá problemas con ellos. Sólo tiene que conectar tabla principal, eso es todo ...Estructura de MySQL para traducciones
tabla de productos (InnoDB):
Obj_id(PK) name desc
--------- ------------------- ------------------
1 Million Dollar Baby Short description is...
2 Music Album Another explanation...
TRADUCCIÓN TABLA (InnoDB)
trans_id (PK) Obj_id (FK) lang field trans
-------------- ----------- ------ -------- ---------------------
22 1 TR name Milyonluk Bebek
23 1 BA name Djevojka od milijun...
24 1 TR desc Kisa açiklama burada
25 1 BA desc Kratki opis je ovdje
26 2 BA name Glazba albuma
Pero el problema se produce cuando el administrador quiere cambiar el idioma predeterminado . Tengo dos opciones para resolver este problema:
administrador tiene que decidir default_lang al comienzo del proyecto y si todavía quiere cambiar default_lang en el futuro, el programa a decir:
Go to hell
.Al igual que la primera solución, el administrador tiene que decidir default_lang al principio, pero el sistema podrá transferir nuevos datos default_lang de la tabla de traducción a la tabla primaria (no hago esto en realidad).
Creo que mis soluciones no son lo suficientemente buenas.
¿Tiene una mejor idea acerca del problema DEFAULT_LANG con o sin cambiar la estructura (si es posible, no cambie la estructura, me gusta)?
+1 para el mensaje 'ir al infierno' al administrador. –