如何本地化从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);
});
}
答案 0 :(得分:1)
要本地化来自XDocument.Validate()的消息,必须做两件事:
将当前文化设置为所需语言:
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-fr");
System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-fr");
安装.net框架语言包(在我的情况下,版本4的包是found here)
感谢John的快速指针..