连接ASP.NET本地化标签中的文本

时间:2010-06-02 20:38:03

标签: asp.net localization

尝试在ASP.NET标签中本地化文本...想要在本地化文本之后添加“:”。我可以将':'添加到资源文件中的本地化文本中,但这看起来很愚蠢......应该有一种简单的方法来执行此操作。

<asp:Label id="RoleTypeLabel" runat="server" Text='<%$ Resources: GS3, RoleTypeLabel %>:' AssociatedControlID="RoleTypeDropDown"></asp:Label>

(注意Text ='...'末尾的':')

当然,这不起作用......我也无法想到将“:”连接到本地化文本的末尾。

任何人都知道怎么做?

TIA, 詹姆斯

5 个答案:

答案 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;在语言上有足够的不同,你可以更好地单独翻译它们。