2013-03-24 121 views
0

我开始一个新的全球网站的项目,有很多信息。所有这些信息必须进行本地化。我建立了相当多的网站,其中大部分都只是部分用不止一种语言,但从来没有做过如此多的本地化工作。性能注意事项多语言网站

假设我们有以下数据:

国家,城市,商店,产品和产品生产商。

在实体商店,产品和产品生产者中,可以对数据进行本地化。这个国家的语言是强制性的,但是可以添加N个额外的语言。这是用来向其他国家的人显示信息,我也需要搜索这个。

我最初的想法是为每个本地化表创建一个父表,只有一个ID,也许一些非本地化的元数据,然后创建一个引用父表,国家代码和本地化字段的子表。

此结构可能会导致连接,因此可能会对性能产生不良影响。有没有人有这种结构的经验?我应该考虑哪些事情?还有其他方法可以更好地完成这项工作吗?

+0

这将工作的网站本地化。 (领域的标签等)。这是关于内容,这不是最好的方式。感谢您的建议。这个想法有趣的地方在于从数据库中加载所有语言内容,因为它不会经常改变。 – Patrick 2013-03-24 11:33:05

回答

1

首先,我不担心在性能方面投入一些联结。正如我们所说,不成熟的优化是万恶之源。先创建一个干净的设计,然后担心性能。

你真正需要做的是仔细考虑你在本地化和为什么。我们在LedgerSMB中所做的正是你所建议的,即如果你愿意的话,也就是带有事实的表格,然后是带有翻译的表格。

保持一切正常运行的关键是考虑减少来回发送的实际查询的数量。运行一个可以拉动60个左右字符串的连接然后你的应用程序处理它们是一回事。性能方面,它是一个很多糟糕的是发送60个不同的查询到数据库每个拉1个字符串。

还要保持您的主要字符串在.po文件或类似的和使用本地化框架的那些。这不是一个或两件事。

+0

谢谢,你的建议让我回到了正轨。先与理想情况一起去,然后再用漂亮的表演技巧。 – Patrick 2013-03-24 22:11:44