首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态数据定位

动态数据定位
EN

Stack Overflow用户
提问于 2010-06-28 21:22:15
回答 1查看 2.4K关注 0票数 5

我正在寻找关于本地化存储在数据库中的数据的最佳实践的建议。我正在开发一个web应用程序,在这个应用程序中,所有的静态文本都是使用文件本地化的。我们有几个选项,管理员可以使用UI进行配置,这些UI存储在数据库中,需要本地化这些值。

我们提出了几个可能的想法。你对这些解决方案有什么看法?有没有更好的选择,甚至是一个标准的最佳实践?

每个字段的专用本地化

这是为best practices for multilanguage database design提出的解决方案。我们将为每个本地化字段创建一个单独的表。例如,假设表colors具有color_idcolor_namecolor_description列,我们可以将其分解为一个具有非本地化数据的color表和一个color_translationscolor_idlocalecolor_namecolor_description字段。

但是,我们的客户通常会将本地化文件发送给第三方来完成翻译,这就变得非常棘手。

单表定位

另一种选择是创建一个表来表示所有的数据库本地化:

代码语言:javascript
复制
CREATE TABLE localized_text
(
    key          VARCHAR(256) NOT NULL,
    locale       CHAR(5) NOT NULL,
    value        VARCHAR(256),
    PRIMARY KEY (key, locale)
);

这将更容易导出的场外本地化,但增加了一个水平的间接。

EN

回答 1

Stack Overflow用户

发布于 2013-03-14 04:43:19

我们将为每个本地化字段创建一个单独的表。例如,假设表的颜色带有color_idcolor_namecolor_description列.

假设您的colors表只是静态文本,那么最明显的选择是向它添加一个列,可能命名为locale,并为您所关心的每个地区添加行。然后加入到客户的地区,以产生您想要的单一描述。

要做到这一点,您必须将静态描述从独立于地区的数据中分离出来,因为本地化描述引入了多对一的关系。作为一种权宜之计,你可以把英文描述放在主表中,一旦所有引用都消失了,就把它们放掉。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3136224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档