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

时间:2012-06-05 11:27:10

标签: asp.net-mvc-3 globalization

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

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

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

使用common.resx文件可以处理诸如“添加”,“编辑”,“删除”等常用字符串。

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

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

2 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:0)

我们每种语言只创建一个大的资源文件,就是这样。更易于管理。