尝试在ASP.NET标签中本地化文本...想要在本地化文本之后添加“:”。我可以将':'添加到资源文件中的本地化文本中,但这看起来很愚蠢......应该有一种简单的方法来执行此操作。
<asp:Label id="RoleTypeLabel" runat="server" Text='<%$ Resources: GS3, RoleTypeLabel %>:' AssociatedControlID="RoleTypeDropDown"></asp:Label>
(注意Text ='...'末尾的':')
当然,这不起作用......我也无法想到将“:”连接到本地化文本的末尾。
任何人都知道怎么做?
TIA, 詹姆斯
答案 0 :(得分:4)
我总是把结肠放在标签之外。
<asp:Label ID="RoleTypeLabel" runat="server" Text="<%$ Resources: GS3,
RoleTypeLabel %> />:
答案 1 :(得分:1)
为什么不把':'放到资源文件中?
答案 2 :(得分:1)
如果您的标签位置合适,您还可以使用CSS附加冒号。
label:after
{
content: ':';
}
答案 3 :(得分:0)
在我回去并本地化其中一个应用时遇到了类似的情况。使用Label中的Literal控件结束:
<asp:Label AssociatedControlID="txt" CssClass="class" ID="lbl" runat="server">
* <asp:Literal runat="server" Text="<%$ Resources:Words, labelText %>" />:
</asp:Label>
我们正在使用一些CSS来对齐固定宽度的表单标签,因此标签之外的任何文本实际上都会破坏我们的页面。接受的答案是最直接的,但可能并不适用于所有情况。
答案 4 :(得分:0)
您应该将冒号包含在您要翻译的字符串的一部分中。请参阅#3 in this 12 Commandments of Software Localization article,其中解释了标点符号通常需要翻译。例如,法语在冒号之前添加了一个空格,而像Arminian或Greek这样的语言可能会在冒号的位置使用不同的符号。
至于reusing terms,请考虑&#34;到期:&#34;和&#34;到期&#34;在语言上有足够的不同,你可以更好地单独翻译它们。