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() からのメッセージをローカライズするには、次の 2 つのことを行う必要があります。

  1. 現在のカルチャを目的の言語に設定します。

    System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-fr");
    System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-fr");
    
  2. .net Framework 言語パックをインストールします (私の場合、バージョン 4 のパックはここにあります) 。

クイックポインターを提供してくれたジョンに感謝します..

于 2012-10-24T15:37:39.147 に答える