In a previous post, I gave a detailed tutorial about how to get your iPhone app ready for localization. In this post I explain how I get the translation itself done. I use the OneSky online translation service to get my apps translated. The quality of their service is really great, so I highly recommend them for your iOS apps translation.
Here is how it goes. There are several things you need to get translated when you want to publish your app in several languages:
- Your app metadata on the App Store (description, keywords and screenshot marketing texts), and your in-app purchases metadata (title and description)
- Your app itself (strings file)
Getting your App Store metadata translated
You really need to get your App Store metadata translated. When people browse the App Store, your app will have less than a second to stand out. So you should make sure that your app title and screenshots are translated. This includes your marketing texts and the images of the app itself. Finally your app description should be translated.
You should definitely use translated keywords too, but keyword research in other languages would deserve its own blog post. Maybe one of your keywords is doing great in English because competition on this keyword is low, but it does not guarantee that the same keyword translated to other languages will work well.
Here is how my App Store metadata translation form looks like in OneSky for my BusyBox app. If your app is already published, your title and description will be automatically retrieved from the App Store.
Don’t forget to get your screenshot marketing texts translated too! Here is an example of a screenshot with some marketing text (again from my BusyBox app):
Your screenshots, and especially the 1st one, are a great opportunity to stand out in the App Store. You should definitely put some marketing text explaining what your app does on your 1st screenshot (here is a great post on designing App Store screenshots). I created a specific project in OneSky for my App Store screenshots marketing texts. I put them in text files, one per screenshot, so I can automate the generation of every screenshots. When you have to handle screenshots in 10 languages, this makes 5x2x10 = 100 screenshots, yay o/! You definitely want to automate the creation of these ;)!
Getting your app texts translated
Now let’s talk about the translation of the app itself. I uploaded my strings file to OneSky, and was happy to see that the comments that I put in my strings file where available for the translators too. Also you can upload some screenshots of your app, and associate them to any string, to provide more context to the translators. This is very important. I don’t know if you already had to translate an app without having any screenshots, but I did, and it is extremely hard! The more screenshots you upload, the fewer questions you will get from the translators, and the better they will be able to do a great translation job.
Here is what the strings translation interface looks like in OneSky. You can also set a length limit if necessary.
If you use any formatters in your string files, they are correctly detected. For example, the translator will be warned if he does not put %@ in the translated string if it was in the original one:
When your translation jobs are completed, you simply need to download the files and put them back into your Xcode project. The files come back in the correct unicode format, so everything works just fine. While I am writing this post I am still waiting for the last translation jobs to complete, but soon BusyBox will speak 10 languages: English, French, German, Italian, Japanese, Korean, Portuguese, Russian, Simplified Chinese and Spanish :).
Update: Since I wrote this post, BusyBox has been featured on the Japanese and South Korean App Stores, in the best apps for the Business category. #10 in Japan, #3 in South Korea. Getting the app localized sure helped in getting featured :)!
Last but not least, OneSky provides an API, which I did not use, but I guess this can be very convenient if you update your app frequently and need the translation to be updated too.
That’s it folks! If you got your app translated, don’t hesitate to let me know in the comments! I am interested to know how the translation process itself went, and how the localization impacted your downloads/revenue. I will be happy to give more detail or answer any question too.
Thanks for reading,