![](/img/trans.png)
[英]Localize text using Properties Resources on Asp.Net WebForms in aspx page
[英]ASP.NET Translate and Localize an WebForms App
我的任務是翻譯一個大型WebForms應用程序(約300個aspx頁面)。 我將使用常規方法來翻譯ASP.NET應用程序(使用資源文件),並使用ZetaResource簡化生活。 但是,我有一個小問題:如何處理aspx代碼中存在的自由文本? 以該代碼為例,如何將文本“ 這是數據庫中可用的記錄列表”轉換為ASP:Label服務器控件,以便使用嵌入式翻譯機制?
<form id="form1" runat="server">
<div>
<br />
This is a List of records available in the Database<br />
<br />
<asp:Button ID="cmdButton" runat="server" Text="Button" meta:resourcekey="cmdButtonResource1" />
</div>
</form>
本地化有兩種選擇:顯式和隱式。
為了進行明確的本地化,您可以將文本放入資源文件中,並使用以下代碼將其顯示在網頁上:
<asp:Localize ID="Localize1" Runat="server" Text="<%$ Resources:LocalizedText, ListOfRecordsInDatabase%>" />
對於隱式本地化,代碼看起來像這樣:
<asp:Localize ID="Localize1" Runat="server" meta:resourcekey="LocalizeResource1" Text="This is a List of records available in the Database" />
對於僅存在於單個頁面中的一次性文本,我通常使用隱式本地化。 對於可以在許多頁面上顯示的文本(常用標簽,按鈕等),我使用顯式。
一旦將隱式本地化資源文件放入<asp:Localize>
或<asp:Label>
類的服務器控件中,它們甚至可以為您自動生成。
MSDN網站上有一個很好的演練,名為“ 演練:使用資源進行ASP.NET本地化 ”。 它將告訴您如何自動生成資源文件。
假設您有一個名為YourResource的資源文件,而您想要的項目是String1 ,則只需輸入自由文本即可:
<%= (YourResource.String1) %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.