我正在寻找有关本地化存储在数据库中的数据的最佳实践的建议.我正在开发一个Web应用程序,其中所有静态文本都使用文件进行本地化.管理员可以使用UI配置多个选项,这些选项存储在数据库中并需要对这些值进行本地化.
我们提出了几个可能的想法.您对这些解决方案有何看法?是否有更好的选择,甚至是标准的最佳实践?
每场专业本地化
这是针对多语言数据库设计的最佳实践提出的解决方案.我们将为每个本地化字段创建一个单独的表.例如,假设我们有台colors用color_id,color_name和color_description列,我们可以打破它为color与非本地化的数据和表格color_translations表color_id,locale,color_name和color_description领域.
但是,我们的客户经常将本地化文件发送给第三方进行翻译,这变得很棘手.
单表本地化
另一种选择是创建一个表来表示所有数据库本地化:
CREATE TABLE localized_text
(
key VARCHAR(256) NOT NULL,
locale CHAR(5) NOT NULL,
value VARCHAR(256),
PRIMARY KEY (key, locale)
);
Run Code Online (Sandbox Code Playgroud)
这对于异地本地化而言更容易导出,但增加了一定程度的间接性.