我的任务是翻译一个大型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>
答案 0 :(得分:1)
您有两种本地化选择:显式和隐式。
对于显式本地化,您可以将文本放入资源文件中,并使用以下代码将其显示在网页上:
<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网站上有一个很棒的演练,名为&#34; Walkthrough: Using Resources for Localization with ASP.NET&#34;。它将告诉您如何自动生成资源文件。
答案 1 :(得分:0)
想象一下,您有一个名为 YourResource 的资源文件,而您想要的项目是 String1 ,您只需为自由文本执行此操作:
<%= (YourResource.String1) %>