データベースに関する限り、解決策は、Languages
テーブルがあり、すべてのユーザーがそのレコードに対してデータベースに言語を持つか、ユーザーがページのドロップダウンから言語を選択できることです。などのすべてのエンティティ テーブルには、UserStatus
次UserTypes
のような関連する lang テーブルがあり、次のUserStatus_Lang
ような言語固有のテキストが保持されます。
UserStatus Table
UserStatusId
1
UserStatus_Lang
UserStatusId_FK LangId_FK Text
1 1 Online
1 2 ******
保存中はエンティティ テーブルの ID を保存しますが、表示中は_Lang
テーブルからのテキストを表示します。
ページ上のラベルなどのコントロールよりPages
も、ページのページ名を保持するテーブルを作成し、ページPageControls
に存在するコントロールを保持する別のテーブルPageControlsText
と、ページ コントロールに対して言語固有のテキストを保持する別のテーブルを作成します。Page_Init イベントでは、ページ コントロールとそのテキスト (選択した言語に従って) をデータベースから取得し、ページ上で検索してページ コントロールのテキストを設定します。
この実装について少しでも理解していただければ幸いです。==============================変更================== ================
ページテーブル
PAGEID PAGENAME [OTHER COLUMNS]
ページ コントロール テーブル
PAGECONTROLID PAGEID_FK PAGECONTROLNAME [OTHER COLUMNS]
ページ コントロール テキスト テーブル
PAGECONTROLID_FK LANGID_FK PAGECONTROLTEXT
説明に関する限り、2つのテーブルTABLE1のようにする必要があります
ID ITEM_NAME
別のテーブル TABLE1_LANG よりも
ID_FK LANGID_FK DESCRIPTION
このアプローチを使用すると、新しい言語がシステムに導入されたときに構造を変更する必要がなくなります。