ASP.NET - 从XML文件中读取本地化字符串的最佳实践是什么?

时间:2011-02-14 08:15:46

标签: c# asp.net xml localization

我得到了一个本地化网站的任务,并将所有字符串值存储到XML文件中。 原因是让sys。 admin通过编辑XML文件来自行更改本地化值。

我应该在应用程序启动时读取XML文件的内容并存储在内存中吗?我想这种情况有一个最好的做法。 任何帮助将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:2)

最佳做法是使用ASP.NET提供的infra-structure进行本地化/全球化(http://msdn.microsoft.com/en-us/library/c6zyy3s9.aspx)。对于本地化,它基本上在网页中使用隐式/显式语法 - 例如,

<asp:Button ID="Button1" runat="server" Text="XY" meta:resourcekey="Button1" /> 
<asp:Button ID="Button1" runat="server" Text="<%$ Resources:WebResources, Button1Caption %>" />

现在,您希望使用自定义xml文件 - 因此您所要做的就是提供将从xml文件中查找资源值的代码。这可以通过编写custom resource provider来实现。

请参阅this文章,该文章解释了构建资源提供程序以从sql数据库中读取本地化字符串 - 您可以使用该示例构建提供程序以从xml文件中读取。

答案 1 :(得分:0)

我不知道你的老师或项目是否需要这个,但是全球化/本地化.NET应用程序的公认惯例是使用字符串资源,并使用带有附属程序集的资源程序集:

http://msdn.microsoft.com/en-us/library/f45fce5x.aspx