2011-07-20 15 views
1

国際化データベースフィールドの「ベストプラクティス」命名規則とは何ですか?現在のコードベースでは、外部キーフィールドに '_id'接尾辞を使用することが慣例となっています。しかし、フィールドが国際化されている場合は、フィールドに '_i18n'というサフィックスを追加する必要がありますか? EG: 'label'とは対照的に 'label_i18n'ですか?長所と短所?国際化(i18n)データベースフィールドの命名規則

+0

Sysですが、ハンガリー語のような匂いがします。 –

+0

誰が '_id'接尾辞を使用するのがかなり標準的な慣習だと言ったのですか?また、「国際化された分野」とは、Unicodeについて話していることです。 – JohnFx

+0

国際化フィールドには、locale => localized value pairsのマッピングが含まれています。 – archmeta

答えて

2

i18nを実行している場合は、フィールドを格納する別のテーブルが必要です。

など。 LANG列がその言語の国際化コード、あなたが望むようあなたに多くの言語を追加することができますこの方法を格納

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)