This is somehow subjective depending on the target translation language, but bear with me for a sec.
I have recently been involved in a translation project. The goal was to translate the strings of an MVC framework to the Greek language.
70% of the language strings of the framework where translated, however 30% where intentionally left out. The decision was that we will not translate error messages aimed towards the developer of the application.
The reasoning behind this (in short) was:
are aimed towards designers/programmers.
Programmers ( and even designers :) ) should have a basic
understanding of English, at least enough so
they can search on it on Google if
they do not know what it means. (racist?)
are aimed towards the developer
and in a perfect world should not be
displayed to the end user of the
application as they concern the
inner workings of the web
application itself. i.e "You must
set the database name in your
database config file."
and perhaps most importantly,
they make the life of the developer
harder when he tries to get more
information/help regarding the
error. For example the above error
yields 8 results in Google (in
quotes), whereas its Greek
translation yields exactly 0.
I know that this depends on the popularity of the target translation language and the application itself. For example I'm guessing that there are is vast amount of documentation regarding German SAP error messages (i know, i know, SAP IS German, but you get the point), as opposed to Greek Error Messages documentation regarding random application X which has about 500 installations worldwide.
So to summarize: When you develop language translation packs for your applications do you translate error messages? Do you only do for predominant languages like English/Spanish/German/French? Or do you live them intact? I'm not looking for the "right" or "correct" answer, I'm looking for a "best-practices" answer, or if this problem is defined in any "official" standard/policy that you have had experience with.