2011-07-20 65 views
1

國際化數據庫字段的「最佳實踐」命名約定是什麼?在當前的代碼庫中,慣例是對外鍵字段使用'_id'後綴。但是如果某個領域國際化,我們是否應該在該領域附加'_i18n'後綴? EG:'label_i18n'與'label'相對嗎?優點和缺點?國際化(i18n)數據庫字段的命名約定

+0

聞起來像匈牙利,雖然系統。 – 2011-07-20 00:37:06

+0

誰說這是一個相當標準的慣例使用'_id'後綴?另外,你說的「國際化領域」究竟是什麼意思? – JohnFx

+0

其中的國際化字段包含區域設置=>局部值對的映射。 – archmeta

回答

2

如果你正在做i18n,那麼你應該有一個單獨的表格存儲字段。

E.g.

Table Fields (blogpost): 
- id, INT (10) 
- user_id, INT(10) 

i18n table (blogpost_i18n): 
- blogpost_id, INT(10) 
- title, VARCHAR(255) 
- content, TEXT 
- lang, VARCHAR(10) 

其中lang列存儲該語言的i18n代碼,這樣您可以根據需要添加任意多種語言。