asp.net - 本地化 html 静态文本

标签 asp.net localization static

Possible Duplicate:
asp.net globalization difference in inline tags

我在 MSDN 上阅读了有关静态文本本地化和 Localize 控件的内容,但我仍然不明白:我应该如何本地化,例如 html 表的静态文本?

<table>
    <tr>
        <td>
            <%=Resources.Resource1.String1 %>
        </td>
    </tr>
    <tr>
        <td>
            <%=Resources.Resource1.String2 %>
        </td>
    </tr>
</table>

<table>
    <tr>
        <td>
            <asp:Localize ID="Column1" runat="server" Text="<%$ Resources: Resource1, String1 %>" />
        </td>
    </tr>
    <tr>
        <td>
            <asp:Localize ID="Column2" runat="server" Text="<%$ Resources: Resource1, String2 %>" />
        </td>
    </tr>
</table>

第一个显然更具可读性,而且我不需要在运行时更改翻译。也许它与第二个相比有一些缺点?我对我的愚蠢问题感到抱歉,但我想确保我选择的方式会更可取且更易于维护。

最佳答案

您展示的示例实际上没有任何区别。第一个将更容易编码 - 您将看到 IntelliSense(代码完成)提示。

我个人更喜欢Implicit Localization因为它会给你默认值,而且我觉得代码不那么困惑:

 <table>
    <tr>
        <td>
            <asp:Localize ID="Column1" runat="server" meta:resourcekey="Column2" Text="Column 1 name" />
        </td>
    </tr>
    <tr>
        <td>
            <asp:Localize ID="Column2" runat="server" meta:resourcekey="Column1" Text="Column 2 name" />
        </td>
    </tr>
</table>

此外,我发现 App_LocalResources 是本地化 Asp.Net 应用程序的更好方法 - 您需要将翻译拆分为多个 .resx 文件,这可能更容易在大型代码库中维护(例如,它是更容易使用 Translation Memory 软件;成本应该更低)。
有关隐式本地化的更多信息,请参阅我的 previous answer .

关于asp.net - 本地化 html 静态文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048813/

相关文章:

ios - 将字符串保存在一个地方的最佳实践

安卓 O : Notification Channel localization

c - 如何用cmocka处理静态元素?

asp.net - 连接到 PostgreSql 的 Web 服务

c# - 如何在 .NET ASP C# 中正确使用 QueryString?

c# - Resharper 建议字符串文字是可本地化的

java - 所有非垃圾收集的对象最终都是静态引用的吗?

Java静态主要也codingBat

c# - 在 (!IsPostBack) 中建立 EventHandler 委托(delegate)关联即使在第一页加载时也不起作用——为什么?

c# - 我的 FormsAuthenticationTicket 做错了什么?