ASP.NET文本本地化嵌入链接…并且链接是一个服务器控件
我正在对ASP.NET应用程序进行国际化和本地化,但在字符串文本与标记混合的情况下遇到了问题。像这个例子:ASP.NET文本本地化嵌入链接…并且链接是一个服务器控件,asp.net,localization,internationalization,Asp.net,Localization,Internationalization,我正在对ASP.NET应用程序进行国际化和本地化,但在字符串文本与标记混合的情况下遇到了问题。像这个例子: Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl" runat="server">click here</a> to log into the site. Acme地毯零售商登录该网站。 对于大多数字符串文本,我使用Localize控件。我可以将其嵌入本地化控件、标记和所有内容
Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl"
runat="server">click here</a> to log into the site.
Acme地毯零售商登录该网站。
对于大多数字符串文本,我使用Localize
控件。我可以将其嵌入本地化控件、标记和所有内容中,但问题是链接不再是服务器控件。(它在页面上由其ID引用。)
我真的无法拆分字符串(“Acme地毯零售商”、“单击此处”等),因为不同语言中的词序可能不同
我已经看到了一些关于如何做到这一点的建议,但它们都假设带有嵌入链接的文本是在代码中分配的,而不是在标记中分配的,并且它不是服务器控件
有没有关于如何成功本地化的建议?如果不同语言中的词序可能不同,您别无选择,只能在resx中本地化整个文本(包括标记) 但是,当然,如果这太麻烦,您可以更改应用程序以使文本更结构化:
Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl"
runat="server">(Log in here)</a>
Acme地毯零售商
如果不同语言中的词序可能不同,则您别无选择,只能将整个文本(包括标记)本地化到resx中
但是,当然,如果这太麻烦,您可以更改应用程序以使文本更结构化:
Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl"
runat="server">(Log in here)</a>
Acme地毯零售商
你就不能这样做吗:
<%= String.Format(Resources.MyResource.mydata,
"<a href=""#"" class=""link"" id=""ssoLoginUrl"" runat=""server"">",
"</a>"
) %>
然后我将资源mydata定义为:
“{0}单击此处{1}登录该站点。”您不能只执行以下操作:
<%= String.Format(Resources.MyResource.mydata,
"<a href=""#"" class=""link"" id=""ssoLoginUrl"" runat=""server"">",
"</a>"
) %>
然后我将资源mydata定义为:
“{0}单击此处{1}登录该站点。”为什么不能在代码中分配此内容?即使可以,您会使用什么语法?为什么不能在代码中分配此内容?即使可以,您会使用什么语法?这就是我正在做的,但我想知道是否有一种方法可以在保持结构不变的同时执行此操作。这就是我正在做的,但我想知道是否有一种方法可以在保持原有结构的同时做到这一点。