【发布时间】:2011-09-21 19:26:19
【问题描述】:
可能重复:
What do I need to know to globalize an asp.net application?
默认的 Visual Studio 示例网站包含:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master"
AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>Welcome to ASP.NET!</h2>
<p>To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET
Website">www.asp.net</a>.
</p>
<p>
You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&clcid=0x409"
title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.
</p>
</asp:Content>
这是对网站本地化所需技术的一次很好的尝试。您将如何本地化这些:
<h2>Welcome to ASP.NET!</h2><p>To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>.</p><p>You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&clcid=0x409" title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.</p>
注意用例
-
html 元素:
<H2>Welcome to ASP!</H2><H2>Bienvenue sur ASP.NET!</H2><H2>ASP.NET xoş gəlmisiniz!</H2> -
嵌入 html 的文本(注意链接的移动方式)
<P>要了解有关 ASP.NET 的更多信息,请访问 www.asp.net.</P><P>Pour en savoir plus sur www.asp.net visitez ASP.NET.</P><P>ASP .NET səfər www.asp.net haqqında daha ətraflı məlumat üçün.</P> -
嵌入 html 的文本,嵌入可本地化的文本
<P>You can also find<A title="Documentation on ASP.net">documentation</A></P><P>Vous pouvez également trouver de la<A title="Documentation sur ASP.net">documentation</A></P><P>Siz həmçinin<A title="ASP.net sənədləşdirilməsi">sənədlərin@987654354 @tapa bilərsiniz</P>
另见
可以使用asp:Localize 元素来翻译第一个示例中的文本:
<H2><asp:Localize>Welcome to ASP!</asp:Localize></H2><H2><asp:Localize>Bienvenue sur ASP.NET!</asp:Localize></H2><H2><asp:Localize>ASP.NET xoş gəlmisiniz!</asp:Localize></H2>
问题是这个解决方案在下一个案例中崩溃了:
<P><asp:Localize>要了解有关 ASP.NET 的更多信息,请访问 www.asp.net.</asp:Localize></P><P><asp:Localize>Pour en savoir plus sur www.asp.netvisitez ASP.NET.</asp:Localize></P><P><asp:Localize>ASP .NET səfər www.asp.net haqqında daha ətraflı məlumat üçün.</asp:Localize></P>
因为本地化字符串不能包含其他 HTML 元素。
现在它开始需要类似的东西:
<P><asp:Localize>要了解有关 ASP.NET 的更多信息,请访问 %s.</asp:Localize></P><P><asp:Localize>Pour en savoir plus sur %s visitez ASP.NET.</asp:Localize></P><P><asp:Localize>ASP.NET səfər %s haqqında daha ətraflı məlumat üçün.</asp:Localize></P>
然后可以将包含链接的 html 嵌入到 %s 所在的位置。但随后本地化器必须本地化碎片化的短语:
- 要了解有关 ASP.NET 的更多信息,请访问 www.asp.net。
变成
- 要了解有关 ASP.NET 的更多信息,请访问 %s。
在其他语言中它伪翻译为:
- 要了解有关 %s 的更多信息,请访问 ASP.net
- ASP.net 访问 %s 以了解更多信息
编辑:在 ASP.net 中本地化项目的认可技术是什么。
【问题讨论】:
-
这不是问题。这是问答网站,所有问题都应该是……嗯,问题。你的内容不是。它可能作为社区 wiki 有用,但它没有被标记为这样。
标签: asp.net localization globalization