Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET翻译和本地化WebForms应用程序_C#_Asp.net_Vb.net_Webforms_Translation - Fatal编程技术网

C# ASP.NET翻译和本地化WebForms应用程序

C# ASP.NET翻译和本地化WebForms应用程序,c#,asp.net,vb.net,webforms,translation,C#,Asp.net,Vb.net,Webforms,Translation,我的任务是翻译一个大的WebForms应用程序(大约300个aspx页面)。我将使用传统方法翻译ASP.NET应用程序(使用资源文件),我将使用ZetaResource使我的生活变得轻松。 但是,我有一个小问题: 在aspx代码中存在自由文本时,我能做什么?以这段代码为例,如何将数据库中可用的记录列表文本转换为ASP:Label服务器控件,以便使用嵌入式翻译机制 <form id="form1" runat="server"> <div> <br />

我的任务是翻译一个大的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>


这是数据库中可用的记录列表


假设您有一个名为YourResource的资源文件,您想要的项目是String1,您可以对自由文本执行此操作:

<%= (YourResource.String1) %>

本地化有两种选择:显式和隐式

对于显式本地化,您可以将文本放入资源文件中,并使用如下代码将其显示在网页上:

<asp:Localize ID="Localize1" Runat="server" Text="<%$ Resources:LocalizedText, ListOfRecordsInDatabase%>" />

”。它将告诉您如何自动生成资源文件。

感谢您的回复,我实际上正在寻找一种将aspx文件中的自由文本转换为服务器控件的方法。我理解您的意思,但有很多文件(大约3-400个aspx文件)我希望尽可能自动地完成这项任务!手动完成这项任务将是一场噩梦!@Enovator我明白了。你需要在每个文档中找到自由文本,然后将自由文本添加到资源文件中,并用资源密钥替换自由文本,正如我在回答中所示。你可以使用它来进行解析。这不会改变e很简单,但也不是很复杂。在执行此操作之前,请确保备份所有内容,以便在出现问题时可以恢复。谢谢,这是一个非常好且有文档记录的答案。我的问题基本上是……是否有一种方法可以以更自动化的方式将aspx中的免费文本转换为服务器控件?我不想手动执行此操作。在我的充足的代码我想运行脚本、批处理等,将自由文本转换为标签或本地化标记。我有许多文件要解析,很难手动逐个文件解析!我什么都不知道…但是如果文本遵循一种模式,比如它总是在两个

标记之间,那么也许你可以使用常规expression find and replace功能内置于Visual Studio中。有关于使用正则表达式提取自由文本的线程,如下面的:,但他们说我最好使用BeautifulSoup@enovator这样的工具。这是一个老问题,但您可以使用Html Agility Pack创建一个例程来解析脱机文件并根据需要进行编辑。注意:HAP可以使用Linq或XPATH遍历文档节点并进行更新。
<asp:Localize ID="Localize1" Runat="server" meta:resourcekey="LocalizeResource1" Text="This is a List of records available in the Database" />