Most of the software I have written over my career has been built for English speaking customers, but recently I've been working on a project where localization of the UI for a wider range of languages is desired.

I am just curious how other programming shops obtain the translations. Do they use the notoriously flawed online translation engines?

I know there are for-hire translators out there, but am I going to have to track down and contract like a dozen of them to do a thorough job of localizing my interface? Are there services that specialize in doing this for a wide range of languages?

Perhaps using something like Amazon's Mechanical Turk would be an option, but I have no idea how diverse the available workforce is on that site. I'd imagine not very.

3 Answers 3


We used to work with a translation agency which did the translation for our enterprise product on a continuous basis.

To go there you would need some sort of a tracking and reporting system for all of your textual resources. New texts should automatically go to the translation queue so that it is easy to keep track of what is pending translation. Reporting wrong or low quality translations must be there too. If you have it you could either build a simple web interface for the agency to access the stream of the pending work continuously or have a technical possibility to export the next bulk of resource items, send them to the agency then import the result.

It's not really feasible to entrust this task to a random bunch. The quality and predictability will largely vary. Even with a trusted and experienced agency there are often issues:

  • They do miss the usage context if they see a single short string. You should definitely have additional attributes to allow commenting each textual resource to help them understand the environment but it naturally means more work for you as a developer.

  • They lack industry knowledge and translations unfortunately suffer from this. There is hardly any solution short of looking for an agency with certain industry knowledge (hard) or perhaps employing and educating a person in-house.

  • They have little understanding of <html> or <xml> tags in resources as well as of {variablePlaceholders} therefore they regularly break the software. It is either out of lack of attention or perhaps because the people are changing there continuously and the knowledge of these things is not transferred to the next executor.

  • +1: we regurlaly have issues with placeholders (ie, they are translated too :x) May 30, 2011 at 17:16
  • Perhaps the placeholders could be extracted from the string and not sent for translation.
    – Hugo
    Jul 18, 2011 at 21:42
  • 1
    @Hugo but then you'll have to put the placeholders back into the strings and that's extra work on your end. Especially when you're dealing with thousands of strings. Sep 13, 2012 at 16:48
  • 1
    Also, dialect is a big thing. Spanish in Mexico can have different translations compared to Spanish in Argentina. Sep 13, 2012 at 16:51

I've had very good success getting applications translated into a wide variety of languages (from Spanish to Hebrew and Russian - overall I managed more than 22 languages with these methods) by providing users with the ability to translate the program.

This can either work like:

  1. Provide users with the ability to customize the application they have, e.g. with an options screen
  2. The option I take - have all strings in a txt/xml file and then send this to users. They have to send it back for it to be included in the app - this way all users benefit. I then usually post the XML file online and invite people to submit corrections.

You should consider using the transifex platform. It has become very popular and it's already used widely for software translations.

I have taken part in translations of software that uses the Transifex platform. It's really easy and fun to use. You simply join a translation team corresponding to the languages you are comfortable with. Subsequently, you can download the translation files, and contribute to the translation (Not sure if they offer online translation).

  • Yes, I know, I've met with the Indifex (parent company) people at some event, but it was long before they launched Transifex. Anyways I've edited your answer and added your second comment to the answer, that's what I meant with expand your answer. People tend to read only the answers when quickly scanning the question page and it is possible for comments to be deleted later on, so don't use comments for answers.
    – yannis
    May 30, 2011 at 19:04
  • The flipside is that your localization efforts will happen in the public on Tx, which will make it impossible to adopt in closed, corporate environments. Jul 18, 2011 at 11:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.