Many developers worry about the quality of translations that they get back from translators. You invest time and money, toil day and night to develop your app in an effort to provide your users with the best possible experience. The fear is that all this hard work will be undone by poor translation work carried out by a translator that doesn’t know what your app is about or may not have enough contextual information.
So here are a number of simple steps that you can take to dramatically improve the quality of your localized app.
Translating the name of your app
Would you like your app name to be to be translated? For some app’s this can increase the download rates however if your app is a brand name app (think Twitter, Facebook, Expedia or Shazam) translating your app name could have implications for marketing your app and maintaining a unified branding strategy and is probably not worth your while.
Should translation tone be formal or informal?
Selecting the correct tone for the localized version of your app can have a significant impact on the overall impression your app gives to potential users. Should you use the ‘tu’ or ‘vous’ form in French?. You should be able to make a decision based on the nature of your app. You may want to use the more personal ‘tu’ form for a children’s game while the more formal ‘vous’ would
be more appropriate for a business app.
You can never have enough comments on your source text. The more information provided to translators, the better the quality of the translation for example; Is that single UI term a button or a label (verb or noun)? Do you want someone to “Read” your blog, or is this a list of blogs that you like to “Read”. Try to make your language strings as easy as possible to interpret to prevent mistranslation or time wasting caused by the need for corrections to the translation before it is ready to be released.
As already mentioned, context is very important for a high quality translation. Sometimes pictures paint a thousand words and it can be easier to create screenshots of you app that you can send to your translator or send a link to shared screenshots? These images can completely change the translators perception of the project they are working and can help steer their translations in the right direction.
Do you have placeholders in any of your strings? Have you provided comments describing what the placeholders mean to the translator? This can be very helpful to the translator in understanding the language strings that surround the placeholder. It would understandably difficult to interpret a string such as “%1s will %2s at %3s” however it would be a lot easier if I told you that %1s is a flight number; %2s can be “arrive” or “depart”; %3s is a time.
Ambiguous terms or strings with insufficient context can cause problems for translators when they try to translate your app. If this happens, the best thing to do for the translator is to raise these discussion points with you. Keeping an open dialogue with the translators throughout the whole process will make the whole localization process easier and will improve the overall quality of your translations. You may begin to see patterns emerging that will allow you to provide translators with additional contextual informatino during your next translation, minimizing the amount of discussions they need to raise.
String length restrictions
The majority of text strings tend to expands in length when translated. This may cause layout issues within your app however there is an easy solution for this. Restrict the length of the translated text by indicating a maximum character length for all translated text. This can be done on a string by string basis. Caution is somewhat advised here, as restricting the length of the translated text may force the translator to change the meaning of a string in order to accommodate the restriction. In many instances this can work out to be a good thing, as true localization is not just about literally translating text, but also altering and making the translation culturally acceptable to the target audience while still being visible within the restricted view.