0

我從來沒有嘗試過,所以我就關心這個,因爲我得到了3種語言爲我的網站,全球英語的要求使用一個MVC項目RESX文件,和兩個當地的丹麥和西班牙人。所以我認爲這很容易做我會做我以前做的事我會做我自己的XML文件,並要求瀏覽器在用戶請求之間切換它們,並且始終首先加載全局語言。RESX文件,如何使一個網站在3種語言

然後我讀到的resx以及如何ASP.Net MVC可以選擇丹麥語,西班牙語取決於用戶的語言作爲默認,總是回到英國,如果用戶沒有使用任何這些語言的語言。這讓我開始閱讀如何全球化國際化和本地化我的網站。

然而,現在來到我的問題,我覺得我失去了一些東西。我知道如何創建RESX文件,然後在我自己選擇或App_GlobalResources文件或他人的一個的任意文件夾中找到它們,我似乎無法讓我看了感覺有點像如何鏈接重要的是它在各處都起作用resx文件一起並在剃刀視圖中使用它們缺失。我發現噸的地方,只是說寫:

@Resources.myString 

,並不知它會知道哪些資源來拿地,但問題是,智能感知不承認我的resx文件作爲Resources.mystring也沒有它無論如何接受它作爲一個可編譯的版本。總之我無法找到或從resx文件鏈接到Razor2查看頁面,或在我的代碼中的任何其他地方,因此,請有人解釋或鏈接一個傻瓜教程,因爲我顯然不明白爲什麼它必須很難使用應該很簡單的東西。

感謝您閱讀我的所有文字牆,我不擅長制定自己的英語短句,所以我很抱歉,如果我做任何混淆我的實際問題。

回答

1

據我所知,有多種方式可以你在MVC的RESX文件。我們決定爲它們提供一個名稱空間,並將它們複製到Resources目錄中,然後使用與MVC Views相同的路徑。這是怎麼這個樣子,並確保你按照我的圖片設置RESX文件屬性:

enter image description here

然後,您可以訪問的資源是這樣的:

<h1>@ViewResources.Creation.Index.Headline</h1> 

您可以更改默認這樣的語言:只要確保你在某處存儲hte語言代碼或從url中獲取它。我個人建議將語言代碼添加到網址。 例如:www.supertext.ch/en。如果您轉到頁面底部,則會顯示語言鏈接。

protected void Application_BeginRequest(object sender, EventArgs e) 
{      
    //Dateformats, etc. (not the language) 
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(languageCode); 
    //Language 
    Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(languageCodeUI); 
} 
+0

非常感謝你做它爲我工作:)你在回答中提供準確的缺失環節對我來說:d 我有這樣的旁邊有一個小的問題是,它可以主動將覆蓋本地語言設置與語言選擇按鈕也在這個設置中,或者它只是一個自動唯一的解決方案? – Helbo

+0

是的,您可以覆蓋語言設置。這發生在很多頁面上。我已經更新了我的答案。 – Remy

+0

非常感謝您的答覆,您一直非常有幫助。 – Helbo

相關問題