ASP.net MVC中的全球化(每个视图与域的资源文件)

mar*_*ker 3 globalization asp.net-mvc-3

在ASP.net MVC全球化方面,保留资源文件的最佳做法是什么?

例如,如果我们尝试保留域的资源文件,即order.resx,customer.resx等,我们有订单处理系统

或者我们可以尝试保持每个视图的资源文件,即OrderProcessingView.resx,CustomerView.resx等

常用字符串,如"添加","编辑","删除"可以使用common.resx文件处理.

或者还有其他方法来保存资源文件吗?

我们也在使用一些客户端渲染(Jquery模板,Kendo模板).

Cla*_*fou 11

本地化的最佳实践之一是不在不同的上下文中重用翻译.那是因为您希望允许翻译人员在不同的上下文中对同一段英文文本使用不同的翻译.为什么?因为不同的语言具有不同的规则(例如,取决于性别,形容词可以采用不同的形式),并且还因为特定于上下文的空间(例如空间限制)(例如,翻译者可能被迫缩短字符串以使其适合某处,但是当没有必要时,不应该这样做.

出于这个原因,每个视图有一个.resx是很好的做法.如果你只有一个大的.resx,就很难确定一个字符串进入哪个视图(并且你也更想在不同的上下文中重用字符串).对于任何与视图无关的应用程序,您通常还需要全局.resx,这应该是罕见的.