I have noticed a few times now under the #wpdev hashtag, some developers are asking for the best method for translating apps. I’ve seen some devs are uploading an Excel file to SkyDrive OneDrive, and give a link to the people who are willing to translate. This is definitely not a bad approach, but I think OneSky is much better. A fellow developer from Portugal told me about this free service, so here’s a shout out to Diogo Cardoso.

Note: This service is not Windows Phone specific. It can be used for Android, iOS etc. Supports a lot of formats (.resx, .xml, .xls etc.)

Why You Should Localize Your App

If your native language is English and you don’t speak any other language, how would you feel if there was some awesome app that is very popular in Brazil but it only supports Portuguese? Of course you won’t be happy. Our main goal as app developers is to make people happy and provide quality apps (*cough* and earn some money of course).

You should make the effort and translate your app into at least 2 of the following languages: Portuguese (Brazil is a huge Windows Phone market), Spanish (you cover Spain and most of South America), French (France, Canada, also big markets) and German. If you can also support Chinese, Russian and Hindi, that would be even better.

After I added more languages to Tile Me!, the coverage from international Windows Phone sites increased drastically.

Why OneSky?

  • It is completely free if you want to crowdsource your translations!
  • Online editor that works on most browsers. I even had a translator that translated Tile Me! into German on his Windows Phone.
  • You can give a link to your OneSky site where people can Request to Contribute to a language of their choice. You then approve or reject that request.
  • Upload non-translated .resx files and download the finished translations in .resx format.
  • Specify maximum length of words. For example, if the words are too long for the App Bar icons, they will not be fully shown. You can specify the character length of a translation so the translator can try to find a shorter synonym which won’t mess up the UI.
  • Notifies the translator if spaces are missing.
  • When you prepare a new update where you remove some strings and add others in your .resx file, you can upload the new .resx and OneSky detects the same strings, removes the ones you have removed, adds new ones that you have added, but does not touch the ones (along with their translations) that you haven’t changed.
  • If you update a string in a new update, the translators can filter by ‘Outdated words’ and see what you have changed so they can update the translation for that line.
  • Your translators receive an email every time you add new words for translation.
  • Voting, commenting, reviewing, moderating and other features for organizing your translators and workflow.

Quick Start Guide

Go to OneSkyApp.com and create a new Free account. Once you’ve done that, on the top go to Projects –> Create Project. On the next page, choose Mobile Apps / Games.

Select Crowdsource under translation method, choose your platform (Windows Metro App is fine for Windows Phone apps), select your base language and enter your app name.

Next, drag and drop your AppResources.resx file. Click Continue and select the languages you want to translate to.

And you’re done. Now you can invite collaborators to contribute to each language, or on the top go to Collaboration –> Collaboration Site and share that link on Twitter, Facebook etc. From that link, people can request to translate your app. You can also add that link somewhere inside your app.

Then, from the project page you can track the number of translated words, remaining words etc. Once a translation is completed you can download the file as shown on the screenshot below:

And that concludes my brief quick start guide. I strongly advise to check the knowledge base if you need some more info about a specific feature. Feel free to leave a comment below if you get stuck somewhere.