我想有一個像這樣的一些資源文件:定位在asp.net web表單與一個全球資源
Mui.resx
Mui.fr.resx
Mui.es.resx
...
,我希望能夠在我的代碼隱藏是這樣做的:
Label1.Text = Mui.Hello;
在我的aspx是這樣的:
<%=Mui.Hello %>
任何人知道如何做到這一點?可能嗎 ?
我想有一個像這樣的一些資源文件:定位在asp.net web表單與一個全球資源
Mui.resx
Mui.fr.resx
Mui.es.resx
...
,我希望能夠在我的代碼隱藏是這樣做的:
Label1.Text = Mui.Hello;
在我的aspx是這樣的:
<%=Mui.Hello %>
任何人知道如何做到這一點?可能嗎 ?
是的,它是可能的。您可以從File-New- Resource File
添加您的資源文件,並在那裏,你可以根據需要添加自己的資源鍵和值英文或其他語言,
檢查這些 How to: Retrieve Resource Values Programmatically和ASP.NET Web Page Resources Overview
檢索使用強類型的全球資源
Resources.Class.Resource
String welcome;
welcome = Resources.WebResources.WelcomeText;
但是,如果你使用本地化 你有沒有檢查這個MSDN種源:
Walkthrough: Using Resources for Localization with ASP.NET
查看上面鏈接中的部分Explicit Localization with ASP.NET
。
例子:
標籤的文本屬性現在有一個明確的表達,說明要從中獲取資源,並選擇關鍵的基礎文件。
<asp:Label ID="Label2" Runat="server" Text="<%$ Resources:LocalizedText, Msg1 %>">
並在您的頁面上: 簡單的調用資源鍵的完整路徑。
查看這篇了不起的文章 - Resources and Localization這將解釋你更多關於此。
編輯網絡。配置文化設置:如果你想讓它在一些網頁上,然後使用<@Page>
指令的Culture
和UICulture
屬性在web.config中
添加此
<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/>
下<system.web>
。
我有同樣的問題,最後發現解決方案。
在瀏覽器中,如果您選擇瀏覽器語言法語[fr] ASP加載資源。 FR的.resx
但是,如果你選擇的瀏覽器語言法語(法國)[FR-FR] ASP加載資源。 fr-FR .resx
這很奇怪,之後當我回到設置瀏覽器語言爲法語(法國) [fr-FR] ASP加載「resource.fr.resx」文件。我認爲這可能是瀏覽器中的問題。任何方式,爲了確保應用程序運行良好,最好對資源文件「resource.fr.resx」和「resource.fr-FR.resx」進行復制。 –
我這樣做了,但由於某些原因,只有英文單詞出現,在瀏覽器中更改語言不會影響任何內容 – Omu
演練:使用ASP.NET資源進行本地化 - 在答案中檢查此鏈接。名爲langText和engText的鍵然後將langText設置爲一些已翻譯的engText值另一種語言..一些符號值將被存儲在資源鍵的值中...現在手動檢查使用CultureInfo類的瀏覽器是什麼文化..並手動設置重視您的控制文字。 –
是的,我做了所有這些,但它只給我英語 – Omu