Возможно ли в Microsoft javascript получить свойство message объекта Error на английском языке?

#javascript #internationalization #windows-xp

#javascript #интернационализация #windows-xp

Вопрос:

У меня есть скрипт, который я выполняю cscript.exe в Microsoft Windows XP:

 try {
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   fso.GetFile("no_such_file");
} catch ( e ) {
   WScript.Echo(e.message " " e.number);
}
  

Текстовый вывод зависит от языка Windows XP.
Например, в английской Windows XP я получаю

Файл не найден -2146828235

В то время как на итальянской Windows XP я получаю

Impossibile trovare il file -2146828235

Возможно ли получить сообщение на английском языке без учета языка операционной системы?

Комментарии:

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

2. @Spudley Это требование: Мне нужно написать файл журнала ошибок, и он должен быть на английском языке.

3. Еще одна причина, по которой сообщение об ошибке (или хотя бы какой-то уникальный идентификатор) должно быть согласованным, заключается в том, что вы можете запускать другой код в catch блоке на основе полученной ошибки.

Ответ №1:

Похоже, вы не можете получить сообщение об ошибке на английском языке (что в некотором смысле приятно, если немного бредово, это показывает, что стандарт не считает английский «специальным» или универсальным языком, который предпочтительнее других естественных языков), но вы можете получить другую информацию, которая может предоставить достаточно подробную информациюдля вашего ведения журнала. А именно, есть свойство number и name . Поскольку ваша цель — регистрировать ошибки, возможно, вы могли бы записать номер и имя ошибки и решить, следует ли также регистрировать локализованное сообщение об ошибке.