1

我无法想象成为第一个遇到这个问题的人,但我仍然没有找到令人满意的答案。

我的 PHP/MySQL/CodeIgniter 应用程序使用 MySQL 数据库,其中包含一堆查找表,用于诸如状态和离散选择之类的事情。这些表具有通用形式:

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

该网站将提供两种语言,英语和泰语。我们将为静态内容使用资源包,但是如何处理查找值,在大多数情况下会显示在下拉框中?

我的第一个想法是使用 2 个单独的描述字段:description_en 和 description_th,并根据会话中存储的语言环境选择正确的字段。

我的同事倾向于在资源包中包含所有 i18n 值,这将使表中的描述字段变得多余。只有一个 PK 字段的表是无意义的,这意味着相应的 FK 字段将“降级”为普通的查找键。还是仍然将查找表与资源包结合使用,并将英文描述留作管理员参考?

查找表只能由管理员更改,最终用户不能更改。

我想对此做出明智的决定,因此欢迎提出任何建议!

4

1 回答 1

1

没有太多的反馈,但有时只是发布一个问题会迫使你更深层次地思考它......

我使用了一个非常简单的解决方案,我们继续使用语言文件来查找值。唯一的修改是查找表不包含实际描述,而是包含语言文件的查找键。因为所有的开发者都是英文流利的,我们选择使用英文缩写的description字段,重命名为description_key。

所以我认为这个问题已经解决。

于 2012-09-13T14:00:58.663 回答