Reputation: 34840
I am referring to exception messages that show the developer is incorrectly using an API. For example incorrectly passing a null to method. So the type of exception that the developer will get the first time they have run their incorrect code. The type of exception message that should never get to be displayed to the user of a system.
This is kind of related to the theory that since the programming language is in English then the programmer already has an understanding of English. Or at least enough to decipher an exception message.
http://www.codinghorror.com/blog/archives/001248.html (please no discussion of this theory here)
And yes I know that the .net framework follows the "localize everything" approach.
Upvotes: 7
Views: 1872
Reputation: 247979
Your question can be rephrased as "should all developers get the same error message so that they can Google it?" ;)
And the answer to that is yes.
Translation means that
About .NET's "localize everything" approach, it is horrible. I've been tripped up by it countless times, especially because if it is unable to find the localized resource, it does not give you the plain English version. It gives you a "Could not locate resource" error instead, effectively throwing away the actual error information.
Upvotes: 21
Reputation: 15867
If you translate your exception messages, than you should also translate all the texts where exception messages occur. That includes any knowledge base or bugtracking system you have, because users and programmers will want to search them for the exception message they see on the screen.
Upvotes: 0
Reputation: 36082
At our firm we allow exceptions/error messages to be translated for our compiler/IDE and supply the framework to translate these exceptions/error messages however we don't do the translation ourselves. Then it is up to the customer to translate if he wants to. There are a number of countries where English isn't that popular and where the own language is promoted. Therefore it makes sense to allow for translated error messages.
Upvotes: 2
Reputation: 881463
No, I don't think they should be (or at least we don't do it, and we're pretty big :-). There's enough effort involved in localizing all the stuff that users see without having to worry about developers as well.
There are no mainstream languages that support foreign language keywords and standard libraries so a rudimentary command of the English language is already a pre-requisite for developers.
Of course, if developers develop their own libraries (or language), they're quite at liberty to localize or choose a non-English language.
Upvotes: 4
Reputation: 4198
It all depends on who is going to maintain the code. If the developers will always be English, then it makes sense to keep it all in English.
Furthermore, I'm not sure if the .NET Framework throws its error messages in a localized way. I always thought those error messages are always in English, so then it would make sense to keep your internal error messages in English as well.
Upvotes: 0