2009-05-30 3 views
8

개발자가 API를 잘못 사용하고 있음을 보여주는 예외 메시지를 언급하고 있습니다. 예를 들어, null을 메소드에 잘못 전달합니다. 따라서 개발자가 처음으로 잘못된 코드를 실행하게되는 예외 유형입니다. 시스템의 사용자에게 표시되지 않아야하는 예외 메시지 유형입니다.개발자를 대상으로하는 예외 메시지를 현지화해야합니까?

이것은 프로그래밍 언어가 영어로되어 있기 때문에 프로그래머가 이미 영어를 이해하고 있다는 이론과 관련이 있습니다. 적어도 예외 메시지를 해독하기에 충분합니다.

http://www.codinghorror.com/blog/archives/001248.html

(어떤 여기에이 이론의 논의하시기 바랍니다) 그리고 네 I는 .NET 프레임 워크는 "모든 것을 현지화"접근 방식을 따르는 것을 알고하지 않습니다.

+0

내가 영국인과 미국인에 대한 메시지가 현지화해야한다는 확신 : Ь –

답변

19

귀하의 질문은 "모든 개발자가 동일한 오류 메시지를 받아서 Google에 제공해야합니까?"라고 다시 말하면됩니다. ;)

그리고 그 대답은 '예'입니다.

번역 메시지가 더 이상 의도 된 API를 썼다 누구와 동일한

  • 것을 의미합니다. 그것은 같은 의미를 지니거나 번역에서 어떤 것을 잃어 버렸을 것입니다. 번역이 잘못되었을 수도 있고 경우에 따라 읽을 수 없을 수도 있습니다.
  • 누군가를 읽는다면 단순히 오류를 Google에 입력하고이 오류가 발생한 다른 모든 사람들이 무엇을했는지 확인할 수 없습니다. 왜냐하면 다른 사람들은 다른 언어로 같은 오류를 갖기 때문입니다.

. NET의 "모든 것을 현지화"접근법에 관해서는, 그것은 끔찍합니다. 특히 로컬 화 된 리소스를 찾을 수없는 경우 이 아니라을 사용하면 평이한 영어 버전을 제공하기 때문에 수없이 많은 시간을 허비하고 있습니다. 대신 실제 오류 정보를 버리는 대신 "자원을 찾을 수 없습니다"오류를 제공합니다.

+0

실제로 내가 요구했던 것이 아닌 jal입니다. 나는 그들이 잘못한 것을 이해하도록 개발자에게 알려줄 때부터 순전히 생각하고 있었다. 그러나 제가 고려하지 않은 것은 아주 좋은 지적입니다. +1 – Simon

+1

@ jalf라고 생각합니다. 오류 텍스트 자체가 현지화되어 있더라도 모든 IBM 제품에 메시지 번호 (예 : DRL0122I)가있는 이유입니다. 언어에 관계없이 항상 메시지 번호를 검색 할 수 있습니다. – paxdiablo

+1

@Pax : 사실이고 좋은 지적입니다. 문제의 절반은 문제를 해결하지만 사람들이 처음에는 오류를 실제로 이해하는 부분은 아닙니다. 원본 개발자가 대상 언어에 능통하지 않으면 번역이 완벽하지 않을 수 있습니다. – jalf

0

모두 누가 코드를 유지할 것인가에 달려 있습니다. 개발자가 항상 영어로되어 있다면 영어로만 작성하는 것이 좋습니다.

또한 .NET Framework에서 오류 메시지가 지역화 된 방식으로 전달되는지 잘 모르겠습니다. 나는 항상 그 오류 메시지가 항상 영어로되어 있다고 생각 했으므로 내부 오류 메시지도 영어로 유지하는 것이 좋습니다.

+2

을 NullReferenceException이의 생성자에서 공공는 NullReferenceException() : 기본 (Environment.GetResourceString는 ("Arg_NullReferenceException은")) 여기 과 사람이 어떻게 요구된다 켭니다 해제에 대한 지역화 해제 http://stackoverflow.com/questions/721337/forcing-english-language-exceptions-in-net-framework – Simon

4

아니요, 저는 그들이 그렇게해야한다고 생각하지 않습니다 (또는 적어도 우리는하지 않으며 우리는 꽤 크다 :-). 개발자에 대해 걱정할 필요없이 사용자가 볼 수있는 모든 것을 현지화하는 데 충분한 노력이 필요합니다.

외국어 키워드와 표준 라이브러리를 지원하는 주류 언어가 없으므로 영어에 대한 기본 명령이 이미 개발자를위한 필수 조건입니다.

물론 개발자가 자신의 라이브러리 (또는 언어)를 개발하면 영어가 아닌 언어를 현지화하거나 자유롭게 선택할 수 있습니다.

2

우리 회사에서는 예외/오류 메시지가 컴파일러/IDE 용으로 번역되도록 허용하고 이러한 예외/오류 메시지를 번역하기위한 프레임 워크를 제공하지만 우리는 직접 번역하지 않습니다. 그가 원한다면 고객에게 번역해야합니다.영어가 그다지 인기가 없으며 자신의 언어가 홍보되는 국가가 많이 있습니다. 따라서 번역 된 오류 메시지를 허용하는 것이 좋습니다.

+3

오류 메시지는 예외 메시지와 다릅니다. 예외 메시지는 개발자 용입니다. 오류 메시지는 사용자를위한 것입니다. 오류 메시지는 번역되어야합니다. 예외 메시지는 번역해서는 안됩니다. 나는 경영진이 말하는 것을 신경 쓰지 않는다. –

+0

거의 항상 오류 메시지는 ex.Message이므로 동일한 것입니다. –

0

예외 메시지를 번역하는 경우 예외 메시지가있는 모든 텍스트도 번역해야합니다. 여기에는 사용자 나 프로그래머가 화면에서 보는 예외 메시지를 검색하기 때문에 지식 기반이나 버그 추적 시스템이 포함됩니다.

+1

사용자는 예외 메시지를 검색하지 않습니다. 사용자는 "개체 참조가 개체의 인스턴스로 설정되지 않음"을 이해해야합니다. 모국어로도 의미합니다. 사실 비 프로그래밍 관점에서 보았을 때 조금 어리석은 것처럼 보입니다. –

관련 문제