Я работаю на импорт данных функций для библиотеки в последнее время, и я нашел себя делать это:Должен ли я локализовать сообщения об ошибках в моих исключениях?
throw new InvalidDataException(string.Format("Line number {0} is {1} characters instead of {2}", lineNumber, line.Length, ValidLineLength))
Это полезно отладочной информацию на английском язык. Если он появляется в Журнале событий Windows где-то или отображается пользователю, у него будет гораздо больше информации, чем тот, кто не понимает язык.
Что делать, если автор кода не использует английский (по какой-либо причине), и они создают сообщение об ошибке вроде этого?
throw new InvalidDataException("悲しい機能は悲しいです")
Для всех, кто использует код и говорит на одном и том же языке, это здорово. Для остальных из нас ... что это значит, когда мы регистрируем его?
Каковы ваши причины для локализации сообщений об ошибках?
Ну, если они используют библиотеку классов .NET, они уже должны хорошо разбираться на английском языке, чтобы распознавать имена классов и т. Д. И, конечно же, пользователи должны * никогда не видеть текст ваших исключений. –
Я недавно задал аналогичный вопрос, вы можете найти его полезным - http://stackoverflow.com/questions/3308132/should-logging-be-affected-by-internationalisation – fletcher
@Kirk Woll Почему они никогда не видят текст? исключений? Конечно, они никогда не должны видеть, как они появляются в интерфейсе, но что не так с ними в файлах журналов? Предполагая, что вы недостаточно глупы, чтобы помещать защищенную информацию в текст исключения. –