2013-08-28 34 views
1

我是新來的工作與資源文件,我還沒有完全得到它的工作方式。現在我需要用英文和中文提供我的應用程序的文本。我會收到一個get參數(例如lang),然後我需要決定是使用Language.zh.resx還是使用默認的Language.resx - 這是我從我一直在閱讀的文章中理解的。現在我有我的查看標題爲例:ASP.NET MVC 4通過url參數切換資源文件

@{ 
     ViewBag.Title = MyApplication.App_GlobalResources.Language.MyPage_Title; 
    } 

我不知道在哪裏檢查參數lang和應用它。我看到文章中有人說我應該創建一個動作過濾器,並且他們添加了一些東西給cookies,並且他們很混亂。在我的情況下,它可能不是必需的,因爲它只有一個請求,沒有要求保存狀態,因爲一旦加載頁面就是這樣。

如果有人也可以簡單介紹一下資源如何工作,那將是一件好事,謝謝!

回答

0

有幾篇文章討論使用會話和URL變量的全球化和MVC。我將這兩個鏈接連接起來,因爲會話一會覆蓋Views多一點,但無論您是路由(/ en-us/Controller)還是使用會話,視圖的邏輯都應該保持不變。

  1. Session based Globalization
  2. Routing Based Globalization
0

可以說你有一個字符串郎在你的控制器,控制器,你應該改變目前的文化,所以你需要做的唯一事情是有點像這

var culture = new CultureInfo(lang); 
System.Threading.Thread.CurrentThread.CurrentCulture = culture; 
System.Threading.Thread.CurrentThread.CurrentUICulture = culture; 

我建議你通過某些屬性來做這個步驟,然後將其應用於控制器。