Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it "right" to translate error messages?

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:

  1. 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?)

  2. 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."

  3. 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 leave 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.

like image 455
Iraklis Avatar asked Mar 24 '10 10:03

Iraklis


3 Answers

A good framework that includes built-in error messages should have an option to i18n them. This is important entirely for the user.

Exceptions messages on the other hand must not be translated. You already pointed out an important reason - searching. And yes, they are for developers, not end-users.

If an exception message is also used as a display message to the user, this is wrong design. Exceptions may contain i18n keys.

like image 76
Bozho Avatar answered Sep 21 '22 06:09

Bozho


Translated or not, make sure to always use a unique ID and allow the user to copy it.


TIP: in some applications, hitting Ctrl+C makes a copy of the message without being editable, would be nice to implement the same hidden feature.

like image 30
medopal Avatar answered Sep 20 '22 06:09

medopal


I can only offer my own opinion, but for me as a German developer it's always annoying to get translated error messages, especially for widely spread software such as MS software. That's for two reasons:

  • German error messages are usually more difficult to understand because the German language makes everything sound more complicated. Also, there are often no good translations for IT-related words. German Developers either have to use English words instead or replace them with cumbersome literal translations. Same goes for MSDN websites, BTW.

  • Also, as you already mentioned, it makes it much harder to find solutions to those erorrs with google on English websites. The German developer community is much smaller than the English community...

like image 22
Adrian Grigore Avatar answered Sep 22 '22 06:09

Adrian Grigore