I18n сообщений об ошибках проверки XSD в Java - PullRequest
1 голос
/ 08 октября 2010

Я выполняю проверку XSD XML с использованием следующих классов:

import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

Проблема заключается в том, что сообщения об ошибках XSD, возвращаемые средством проверки, всегда отображаются на английском языке.Можно ли вызвать проверку с учетом локали с помощью JAXP API?

Ответы [ 2 ]

1 голос
/ 23 октября 2010

JAXP - это API; это зависит от фактической реализации (например, Apache Xerces) для предоставления сообщений с поддержкой локализации.

Однако обычно библиотеки и реализации системного уровня (такие как JAXP и Xerces) будут предоставлять сообщения, локализованные на основе языкового стандарта системы по умолчанию (независимо от того, что возвращается из выражения java.util.Locale.getDefault()); это опять-таки зависит от ОС.

Например, в Microsoft Windows вы можете изменить язык системы по умолчанию, используя окно Regional Settings.

Если вы хотите, вы можете переопределить «локаль по умолчанию», используемую JVM, указав системные свойства user.language и user.region (например, -Duser.language=fr и -Duser.region=CA приведут к выходу JVM) канадский французский "в качестве локали по умолчанию. В конце концов, этот параметр попадет в код JAXP. Если Xerces предоставляет пакеты ресурсов для канадского французского, то будут передаваться сообщения для канадского французского.

0 голосов
/ 19 января 2011

Видимо, нет способа добиться того, чего я хочу.

...