代码之家  ›  专栏  ›  技术社区  ›  James King

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

  •  3
  • James King  · 技术社区  · 15 年前

    正在尝试本地化ASP.NET标签中的文本…希望在本地化文本后添加“:”。我可以将“:”添加到资源文件中的本地化文本中,但这似乎很愚蠢…应该有一个简单的方法来做到这一点。

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

    (注意文本末尾的“:”=“…”)

    当然,这不管用…我也没有想到将“:”连接到本地化文本的末尾。

    有人知道怎么做吗?

    蒂亚 詹姆斯

    5 回复  |  直到 8 年前
        1
  •  4
  •   Jason Berkan whiteproud    15 年前

    我总是把冒号放在标签外面。

    <asp:Label ID="RoleTypeLabel" runat="server" Text="<%$ Resources: GS3, 
    RoleTypeLabel %> />:
    
        2
  •  1
  •   mkafkas    15 年前

    为什么不将“:”放入资源文件?

        3
  •  1
  •   Justin Rusbatch    15 年前

    如果标签位置正确,也可以使用CSS附加冒号。

    label:after
    {
        content: ':';
    }
    
        4
  •  0
  •   Andrew Charlton    13 年前

    当我返回并本地化我们的一个应用程序时,遇到了类似的情况。最后在标签中使用了文本控件:

    <asp:Label AssociatedControlID="txt" CssClass="class" ID="lbl" runat="server">
        * <asp:Literal runat="server" Text="<%$ Resources:Words, labelText %>" />:
    </asp:Label>
    

    我们使用了一些CSS以固定宽度右对齐表单标签,这样标签外的任何文本都会破坏我们的页面。公认的答案是最直截了当的,但在所有情况下都可能行不通。

        5
  •  0
  •   weienw    8 年前

    您应该将冒号包含在要翻译的字符串中。见 #3 in this 12 Commandments of Software Localization article 这就解释了标点符号经常需要翻译。例如,法语在冒号前面加了一个空格,像阿米尼亚语或希腊语这样的语言可能在冒号的位置上使用不同的符号。

    至于 reusing terms 考虑到“due”和“due”在语言上有足够的不同,你最好单独翻译。

    推荐文章