Model view controller 使用MVC ASP.NET进行复杂本地化

Model view controller 使用MVC ASP.NET进行复杂本地化,model-view-controller,localization,translation,Model View Controller,Localization,Translation,我们目前已经为我们的网站设置了一个Web表单,并希望能慢慢地将其转换为MVC。目前,我们将翻译存储在数据库中。我们的翻译表包含每种语言的列和一种标题。我们可以用它来识别翻译(主键) 但是,当我们实际上可能有不同的客户想要为同一段文本使用不同的单词时,情况就变得更加复杂了 例如,人们会希望它读取-交付成本 下一个可能需要它作为交货价格 因此,我们有第二个CustomTranslation数据表,它与翻译相同,但也有一个客户机ID号。如果用户登录并查找翻译标识为“DeliveryCost”,它将检查

我们目前已经为我们的网站设置了一个Web表单,并希望能慢慢地将其转换为MVC。目前,我们将翻译存储在数据库中。我们的翻译表包含每种语言的列和一种标题。我们可以用它来识别翻译(主键)

但是,当我们实际上可能有不同的客户想要为同一段文本使用不同的单词时,情况就变得更加复杂了

例如,人们会希望它读取-交付成本 下一个可能需要它作为交货价格

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

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

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

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

解决这个复杂的本地化问题的最佳方法是什么


提前谢谢。史蒂夫

问题1-数据库中有资源
使用中使用的方法将标准资源扩展到数据库中

问题2-按客户定制本地化

没问题,标准的.net方法支持本地化,包括区域或客户,只需使用,即en-US、en-US-Customer1、en-US-Customer2等。

有了en-US-Customer1和en-US,就有意思了。如果eu-US-Customer1缺少翻译,它会退回到en-US吗?