2011-07-19 50 views
0

我们目前有一个Web窗体为我们的网站设置,并正在寻找慢慢转换为MVC。目前我们将翻译存储在数据库中。我们的翻译表包含每种语言的列和一种标题。我们可以用(主键)复杂的本地化与MVC ASP.NET

来识别翻译但是,当我们实际上可能有不同的客户想要对同一位文本使用不同的单词时,它会变得更加复杂。

E.g.一个会希望它读 - 运送成本 而下一个可能希望它作为 - 交货价格

因此,我们有第二个CustomTranslation数据表,它将与翻译相同,但也有一个客户端ID号。如果用户登录并且将翻译的标识查找为“DeliveryCost”,它将检查CustomTranslation表中是否有记录,它将使用标准翻译表上的记录。

然后,它会选择用户想要的适当的语言。

基本上我需要能够让我们的网站翻译取决于用户设置。以及他们工作的公司(我们的客户)

本地化的一般方法使用资源文件,但我们需要真正将它们保留在数据库中。这产生了第二个问题,即当你尝试声明属性显示名称和验证消息时,它们也需要具有不同的文本和/或翻译的能力,但是通常它需要一个我们不会拥有的静态字段。

要解决这个复杂的本地化问题,最好的方法是什么?

在此先感谢。史蒂夫

回答

1

问题1 - 具有资源数据库
使用在this article用于标准资源延伸到数据库中的方法。

问题2 - 有每个客户定制的本地化
没问题,标准的.NET方法支持本地化,包括区域或客户,只需使用即EN-US,EN-US-customer1表,EN-US-顾客2等等。

+0

有趣的是拥有en-US-Customer1和en-US。如果eu-US-Customer1的翻译缺失,它会回落到en-US? – Steve

+0

是........... –