根據這種方法,默認語言是已經在第一個表中翻譯了。如果用戶不需要翻譯,他不會與他們鬥爭。只需連接主表,這一切......用於翻譯的MySQL結構
產品表(InnoDB的):
Obj_id(PK) name desc
--------- ------------------- ------------------
1 Million Dollar Baby Short description is...
2 Music Album Another explanation...
轉換表(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
但是,當管理員要更改默認語言,出現問題。我有兩個選擇來解決這個問題:
管理員有權在項目一開始就決定default_lang,如果他仍然想在將來改變default_lang,該程序會說:
Go to hell
。與第一個解決方案一樣,admin必須首先決定default_lang,但系統將能夠將新的default_lang數據從轉換表傳輸到主表(我不這麼做)。
我覺得我的解決方案不夠好。
對於DEFAULT_LANG問題,如果有或者沒有改變結構(如果可能的話,不要改變結構 - 我喜歡它),你有更好的想法嗎?
+ 1將'Go to hell'消息發給Admin。 – 2011-05-10 12:02:09