この問題に遭遇した最初の人になるとは想像できませんが、満足のいく答えはまだ見つかりません.
私の PHP/MySQL/CodeIgniter アプリケーションは、ステータスや個別の選択肢などの一連のルックアップ テーブルを備えた MySQL データベースを使用しています。これらのテーブルの一般的な形式は次のとおりです。
table XXXXXX
id: int (PK)
description: varchar(100)
ウェブサイトは、英語とタイ語の 2 つの言語で利用できるようになります。静的コンテンツにはリソース バンドルを使用しますが、ほとんどの場合ドロップダウン ボックスに表示されるルックアップ値はどうすればよいでしょうか。
私の最初のアイデアは、description_en と description_th の 2 つの個別の説明フィールドを使用し、セッションに保存されているロケールに従って正しいものを選択することです。
私の同僚は、リソース バンドルにすべての i18n 値を含める傾向があるため、テーブルの説明フィールドが冗長になります。PK フィールドが 1 つしかないテーブルはナンセンスです。つまり、対応する FK フィールドが通常のルックアップ キーに「分解」されます。それとも、参照テーブルをリソース バンドルと組み合わせて使用し、英語の説明は管理者の参照用として残しておきますか?
ルックアップ テーブルは、管理者のみが変更でき、エンド ユーザーは変更できません。
これについては情報に基づいた決定を下したいので、どんな提案も大歓迎です!