ASP.NET MVC双语应用程序资源文件与单独的页面

时间:2013-03-26 13:15:47

标签: c# asp.net-mvc resources multilingual

我正在创建一个双语的ASP.NET MVC应用程序。据我所知,有两种方法可以使双语:

第一个选项是使用资源文件。如果我使用它资源,我现在需要大约20个字段。如果应用程序增长(当然可能会发生这种情况:))我将需要越来越多的字段。但我相信这个解决方案是非常灵活的解决方案。

第二个选项是创建单独的视图文件(例如:Index.aspx,Index.en.aspx ..)。如果有超过一种或两种语言,它会变得混乱(我会有很多文件)。否则,我不需要担心翻译是否正确。

我的问题是哪种选择更有用(或有更多优势)?您认为使用一个或另一个选项的优点和缺点是什么?另外,如果我决定使用单独的页面,我应该在哪里/如何定义要加载的页面?也许还有更好的选择来进行双语申请?

2 个答案:

答案 0 :(得分:2)

我建议使用资源。我将它们用于多语言网络应用程序,没有任何问题。

您需要做的就是在当前CurrentCulture上设置CurrentUICultureThread,框架会为您选择一个合适的文件。

此外,如果您使用数据注释属性 - 那里也支持资源文件。

您可能会发现使用常用字符串创建“常用”文件很有用,例如,确定,取消,保存,是,否,今天......

答案 1 :(得分:1)

使用资源不仅工作量减少,而且还确保您的UI在不同语言中保持一致(如果这是您想要的)。您需要做的就是确保每种语言都拥有相同的资源,并且无需复制视图即可完成设置。

特别是对于大型项目和非POC项目,你可以期待大量的维护工作,做双重工作对我来说毫无意义 - 资源文件解决了这个问题。