2017-02-19 130 views
0

我在网站国际化工作我使用mvc5。当我改变了语言(英语,西班牙语,阿拉伯语),它的工作原理马丽娟管理生产上的资源文件

的观点

在不同势语言的文本存储在资源文件。

但问题是我需要发布解决方案并将其移至生产服务器。虽然在生产环境中可能需要运行时服务器在运行时更改资源文件。

所以我的排队是可以更改资源文件,而无需重新编译应用程序?

+0

这也许可以帮助? - http://stackoverflow.com/questions/3479922/how-to-switch-resx-at-runtime –

回答

1

如果我理解正确,如果要添加/删除/更新资源文件的内容,则需要重新编译它们。

否则,如果您正在寻找在资源文件之间切换,就像@JamesP所示,您只需设置当前线程的文化。

请确保在BaseController中执行此操作,并覆盖一些基本方法(我使用的是protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state))。所以它会在任何控制器操作之前设置。它必须在每个调用中设置,因为MVC是在一个线程上调用的。

一个完整的工作示例,你可以检查此文章:http://afana.me/archive/2011/01/14/aspnet-mvc-internationalization.aspx/