2

如何本地化从 XDocument.Validate() 返回的消息?它似乎为我返回了英文信息。

下面的代码片段写了消息“未声明'UndeclaredElement'元素。” 但这对非英语用户没有帮助。

[Test]
public void Test()
{
    var xDocument = XDocument.Parse("<UndeclaredElement/>");

    var stringReader =
        new StringReader("<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'/>");

    var xmlSchema = XmlSchema.Read(XmlReader.Create(stringReader), (o, e) => Console.WriteLine(e.Message));

    var schemaSet = new XmlSchemaSet();
    schemaSet.Add(xmlSchema);

    xDocument.Validate(schemaSet, (o, e) =>
    {
        Console.Out.WriteLine(e.Message);
    });
}
4

1 回答 1

1

要本地化来自 XDocument.Validate() 的消息,必须做两件事:

  1. 将当前文化设置为所需的语言:

    System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-fr");
    System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-fr");
    
  2. 安装 .net 框架语言包(在我的例子中,版本 4 的包位于此处

感谢约翰的快速指示..

于 2012-10-24T15:37:39.147 回答