2017-02-19 271 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/