簡體   English   中英

ASP.NET翻譯和本地化WebForms應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM