Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
add comment

4 Answers

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.

share|improve this answer
    
+1: we regurlaly have issues with placeholders (ie, they are translated too :x) –  Matthieu M. May 30 '11 at 17:16
    
Perhaps the placeholders could be extracted from the string and not sent for translation. –  Hugo Jul 18 '11 at 21:42
    
@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. –  iKnowKungFoo Sep 13 '12 at 16:48
    
Also, dialect is a big thing. Spanish in Mexico can have different translations compared to Spanish in Argentina. –  iKnowKungFoo Sep 13 '12 at 16:51
add comment

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.
share|improve this answer
add comment

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

share|improve this answer
    
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 Rizos May 30 '11 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. –  Filip Dupanović Jul 18 '11 at 11:10
add comment

Similar to Transifex there is Amanuens, which is a platform for software localization that you can use with your own translators or simply purchase a professional translation right from the app. Either way, the platform helps you managing the process of localization, especially if you release frequently.

Disclaimer: I'm a co-founder of the company behind the platform.

share|improve this answer
add comment

protected by Yannis Rizos Jan 18 '13 at 22:08

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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