我在网站国际化工作中使用mvc5。
不同语言的文本存储在Resources文件中:
在我改变语言(英语,西班牙语,阿拉伯语)的视图上,它可以很有效。
但问题是我需要发布解决方案并将其移至生产服务器。而在运行时的生产服务器中可能需要更改运行时资源文件中的文本。
所以我的问题是可以在不重新编译应用程序的情况下更改资源文件吗?
答案 0 :(得分:1)
如果我理解正确,如果要添加/删除/更新资源文件的内容,则需要重新编译它们。
否则,如果你想在资源文件之间切换,就像@JamesP所示,你只需要动态设置当前线程的文化。
确保在BaseController中执行此操作,并覆盖一些基本方法(我使用list.get(i).toLowerCase().startsWith(first.toLowerCase())
)。所以它将在任何控制器动作之前设置。它必须在每次调用时设置,因为MVC是逐个线程的。
有关完整的工作示例,您可以查看此文章:http://afana.me/archive/2011/01/14/aspnet-mvc-internationalization.aspx/