1

この問題に遭遇した最初の人になるとは想像できませんが、満足のいく答えはまだ見つかりません.

私の PHP/MySQL/CodeIgniter アプリケーションは、ステータスや個別の選択肢などの一連のルックアップ テーブルを備えた MySQL データベースを使用しています。これらのテーブルの一般的な形式は次のとおりです。

table XXXXXX
id: int (PK) 
description: varchar(100)

ウェブサイトは、英語とタイ語の 2 つの言語で利用できるようになります。静的コンテンツにはリソース バンドルを使用しますが、ほとんどの場合ドロップダウン ボックスに表示されるルックアップ値はどうすればよいでしょうか。

私の最初のアイデアは、description_en と description_th の 2 つの個別の説明フィールドを使用し、セッションに保存されているロケールに従って正しいものを選択することです。

私の同僚は、リソース バンドルにすべての i18n 値を含める傾向があるため、テーブルの説明フィールドが冗長になります。PK フィールドが 1 つしかないテーブルはナンセンスです。つまり、対応する FK フィールドが通常のルックアップ キーに「分解」されます。それとも、参照テーブルをリソース バンドルと組み合わせて使用​​し、英語の説明は管理者の参照用として残しておきますか?

ルックアップ テーブルは、管理者のみが変更でき、エンド ユーザーは変更できません。

これについては情報に基づいた決定を下したいので、どんな提案も大歓迎です!

4

1 に答える 1

1

多くのフィードバックはありませんが、問題を投稿するだけで、より深いレベルで考えさせられることがあります...

私は非常に簡単なソリューションを使用しました。ルックアップ値にも言語ファイルを使用し続けています。唯一の変更点は、ルックアップ テーブルに実際の説明が含まれているのではなく、言語ファイルのルックアップ キーが含まれていることです。すべての開発者は英語に堪能であるため、説明フィールドには英語の略語を使用することをお勧めします。名前は description_key に変更されています。

だから私はこの問題を解決したと考えています。

于 2012-09-13T14:00:58.663 に答える