app localisation, app localization

App localisation: Tips to take your app abroad

Translating your app makes good business sense. Why? Because a multilingual app reaches a larger amount of users which results in higher revenue potential. Localisation – making your app available in more than one language – should be a major consideration when you start developing your app – even before you write the first line of code.

We’ve translated web and mobile apps for anything from checking into places to tracking your run, from reading ebooks to simply chatting with friends and family. Here are our hottest tips on how to get your app localisation strategy right from the start.

User interface with an international face

One of the most common issues in translating English apps into French and German is word-length. On average, a German translation is 25-30% longer than the English original. To avoid size issues when you localise your app the Microsoft Developer Network suggests “sizing the user interface to accommodate the largest localised version of the content”. This means you would set up your user interface for the “longest language” that you will translate into. For a more detailed look at UIs check out our blog App translation: Designing user interfaces that are fit for localisation.

Code structure that can cope with multiple languages

There are many things that are beautifully simple about the English language – a lack of gendered nouns being one of them. “The” translates into three different articles in German: “der” (male), “die” (female) and “das” (neutral). When it comes to translating app strings that contain variables (placeholders) for dynamic content, a translation can be very tricky. ‘The selected {X}’ could be translated into “Die ausgewählte {X}”, “Das ausgewählte {X}” or “Der ausgewählte {X}” – depending on what the placeholder {X} stands for.

It doesn’t get easier when phrases or entire sentences are separated across several strings – for example ‘2 months ago’. Often the time reference (in this case ‘2 months’) sits within a separate string. In German, the word order is the other way around, so you would say “vor 2 Monaten” (ago 2 months). To find out how you can get around these and other code structure problems read our blog Succesful app translation: it all starts with great code.

Choose the right technology

Localising your app should be a straightforward process:

  1. Preparing your code for translation
  2. Translate
  3. Quality assurance testing
  4. Multilingual app goes live

Using a translation technology that’s been developed with app localisation in mind will significantly reduce your time to market, shorten your release cycles for new updates and save translation cost over time. At AJT we work with Smartling, a translation management platform geared towards app translations. Smartling allows you to upload your source files and download the translated files with one click. You can also add contextual information for translators: Instructions on where in the app a given string will appear, character length restrictions and in-app screenshots. This eliminates the need for lengthy QA cycles and you start building a translation memory, which means you never have to pay twice for translating the same sentence. And adding new languages is easy – some Smartling customers translate into more than 15 languages at a time!

Check out Smartling’s resources on localising and internationalising your app here.

App translation and beyond

Aside from the app translation you will likely have other translation needs, for example translating your app store descriptions, website, EULA and privacy policy, FAQ, social media, customer service emails etc. Put together a list of all the resources you need to accompany your freshly translated app. This way you can budget accordingly, bearing in mind that app localisation is not a one-off project but a continuous effort, as is the marketing that goes with it.

If you’d like to find out how we can help you successfully translate your app, please get in touch.

App translation: Designing user interfaces that are fit for localisation

When developing a new app, it is vital to design it in a way that is future-proof, whether that’s in terms of adding new features, monetisation functionality or new languages. Even if localising your app is quite far down on your product road map, many of the design decisions you make in the early stages will have a real impact on how easy it will be to localise your app into other languages.

One of the most common problems we come across in app translation is space – or lack thereof. Developers produce beautiful interfaces which look picture-perfect in English, but in German for example, which generally tends to be 20 to 30% longer than English, text is spilling beyond the confines of button borders left, right and centre.

If you have a button like ‘Close’, be aware that in German it will be something like ‘Schließen’ – that’s 5 English characters compared to 9 German characters. Worse still, the word ‘Add’ translates into ‘Hinzufügen’ – that’s 3 characters compared to 10. You can see how translation could easily ‘butcher’ the look of your app. What ends up happening in most cases is that the developers set character limits which are so small that an accurate, let alone beautiful translation is no longer possible. Abbreviations are used and words are swapped for shorter words that don’t quite hit the nail on the head, giving the translated version of your app an unpolished feel. Imagine using an English app where the Close button has been abbreviated to Cl. or the Contact button has been shortened to Cont. – you’d probably still be able to guess what the button is for, but it immediately feels less intuitive.

Possible solutions

  • The Microsoft Developer Network suggests to ‘size the UI to accommodate the largest localised version of the content’.
  • Establishing standard minimum heights and setting dynamic heights for button boxes and text boxes can be a good option, too, but it will depend to some extent on the overall space you have available (which doesn’t tend to be much if you’re developing smartphone apps).
  • Wherever possible, use universally recognised icons like a + for ‘Add’ and an X for ‘Close’ – it’s a great way to avoid character length issues altogether.

Additional things to take into consideration are line height, the meaning of symbols and colours in different cultures and writing direction (left to right vs. right to left). Beyond the pure space issue, you should also think about using a font that supports character sets like Arabic or Greek, depending on your localisation plans. There are plenty more best practices for user interface design, here is an article from Creativ Bloq with 10 tips for designing localised interfaces.

Designing your user interface to allow for longer translations is simply a must and will save and greatly reduce your time spent fixing space issue during QA. If you’re also interested in writing great code that’s fit for localisation, then our blog Successful app translation: It all starts with great code is a good place to start.

Successful app translation: It all starts with great code

Translating your app is a great way of reaching more users and increasing revenue. But in order to create beautiful language versions of your app, you need more than just a reliable translation partner, you need code that is fit for localisation. In this blog post, we want to highlight the three most common issues that we come across in app translation and show how writing great code can help save time, speed up the translation process and ultimately improve the user experience for your international customers.

1) The Problem: Lack of context

If you are writing app code, chances are you will be using variables or placeholders for any content that is dynamic, such as user names, prices, product names, social media names, etc. And here is the question our translators ask time and time again during the translation of apps: ‘What does the variable/placeholder stand for?’

The number one rule in presenting code for localisation is to provide as much context as you possibly can for each string and especially variables. Without knowing what a variable stands for, the string surrounding it can often not be properly translated.

Here is a typical example:

English string German string
The selected {1} Die ausgewählte {1}
Das ausgewählte {1}
Der ausgewählte {1}

The selected {1} … what does that mean? What is the context and what word will replace the variable? German nouns have ‘gender’ so the simple English ‘the’ can be translated as ‘der’, ‘die’ or ‘das’ into German, depending on the gender of the noun:

English string German string
The selected file Die ausgewählte Datei
The selected folder Der ausgewählte Ordner
The selected directory Das ausgewählte Verzeichnis

Whenever a variable is preceded by an article (the, a, this, etc), an adjective (selected, deleted, saved, etc) or a preposition (on, at, by, etc), chances are that the translators will need to know what the variable stands for in order to provide a correct translation.

The solution:  Providing context at string level

There are a number of ways to provide context for translators. If you are using a simple file with a source and target column, add a third column that lists all the variables and explains what they stand for.

English German Comment
The selected {1} Die ausgewählte Datei {1} = file

Could the variable be a number of different things? Let the translators know:

English German Comment
The selected {1} Die/der ausgewählte {1} {1} = could be file or folder

Naming your variables in a way that translators can understand is another way to provide context:

The selected {1} The selected {$file}

Different coding languages will require different naming conventions, but if you have the opportunity to provide more info within your variable name, that’s a bonus.

Finally, one of the most efficient ways to provide context at string level is to use a translation management tool like Smartling. Smartling allows you to add context at string-level right within the platform so that the translator can see it above the translation. Even more importantly, you can upload screenshots alongside the string, so the translator can see where the string will sit within the app. If the translator still needs more info, they can ask a question at string level, again right within the platform. And you can answer right within the platform, too.

Providing your translation team with as much context as possible, right down to the string level, will save you time, (a) because you will have to answer a lot less questions during the translation process, and (b) because you will have fewer context errors to fix during QA.

2) The problem: Separating linguistic units across several strings

Presenting sentences for translation that have been separated across several strings, or variables that have been separated from the rest of their linguistic unit tends to cause translators a big headache. Due to the different word order and sentence structure in other languages, it’s often not possible to provide a grammatically correct, or well-formed sentence if the source has been separated across several strings. Here are some fairly typical examples we come across:

Linguistic unit Presented strings German translation
{1}’s file String 1: {1}
String  2: ‘s file
Die Datei von {1}

Most languages outside of English do not have the possessive ‘s structure, so the word order of the sentence tends to be different from English. In the example above, the variable actually appears at the end of the sentence in German.

Linguistic unit Presented strings German translation
{1}’s file was downloaded by {2} String 1: {1}
String 2: ‘s file was downloaded by
String 3: {2}
Die Datei von {1} wurde von {2} heruntergeladen.Back translation:
The file of {1} was from {2} downloaded.
Or with a changed sentence structure:{2} lud die Datei von {1} herunter.

Back translation:
{2} loaded the file from {1} down.

Here again, the word order is different in German. Presenting this linguistic unit as three separate strings will likely result in some grammatically awkward constructions in other languages, if a translation is even possible at all. If you’re going through the trouble of localising your app into another language, you want it to sound as native and natural as possible.

The solution: Provide whole strings

The best way to ensure a beautiful translation is to present the entire linguistic unit within one string. A linguistic unit can be something really short like ‘{1}’s’ or a whole sentence.

But what about if you simply have to separate out linguistic units to allow for formatting, links, etc?  Here is where a translation management system like Smartling comes into play. Smartling will present whole linguistic units to the translators, but they are broken down into individual segments. The translators can re-order these segments so that they can create a grammatically correct translation while keeping all the formatting intact. They can even add an additional segment for the translation if their language requires it.

3) The problem: Too many options

Finally, we often come across strings that could be translated in a number of different ways depending on the context.

Nouns:

Coming back to the topic of gender in nouns, check out this example:

English German
Your friend {1} has accepted your invite. Friend is female: Deine Freundin {1} hat deine Einladung akzeptiert.Friend is male: Dein Freund {1} hat deine Einladung akzeptiert.Neutral translation: Dein/e Freund/in {1} hat deine Einladung akzeptiert.

 As you can see, the only way to provide a neutral translation is to use slashes to include both options, which tends to make the translation longer and harder to read for the user.

Verbs:

Verbs are translated differently depending on whether the subject is singular or plural, or which person it refers to. Here is a simple example:

English German
I ran Ich rannte
You ran Du ranntest
He/She ran Er/Sie rannte
We ran Wir rannten
You ran Ihr ranntet
They ran Sie rannten

If you present the verb ‘ran’ as one global separate string to then produce phrases like ‘I ran’, ‘you ran’ and ‘they ran’ this won’t work, because as you can see in the example above, the translation will be different for each ‘scenario’.

The solution: Create separate strings for each scenario

The best way to get around this, is to present each scenario separately to the translator. For example:

English German
Your friend {1} has accepted your invite.
Context: friend = female
Deine Freundin {1} hat deine Einladung akzeptiert
Your friend {1} has accepted your invite.
Context: friend = male
Dein Freund {1} hat deine Einladung akzeptiert
Your friend {1} has accepted your invite.
Context: friend = gender not known
Dein/e Freund/in {1} hat deine Einladung akzeptiert.

If you would like to talk in more detail about best practices for code that is fit for localisation, or if you’d like to find out more about Smartling as a translation management tool for your app translation, please get in touch.

Website übersetzen leicht gemacht: Mit neuester Technologie

Translation technology: Translating websites and apps the smart way

With the rapid development of internet services and device technologies, the online world is becoming more and more accessible to people around the globe. Country borders no longer pose barriers to international trade and this presents a huge opportunity for businesses to reach more potential customers, not only on their home turf, but abroad as well.

Website translation

Translating websites used to be a rather cumbersome process of manually copying and pasting content into files, sending them back and forth between clients and translators, and then manually pasting the translations into web pages. The amount of man hours spent on manual tasks was enormous.

With new advances in translation technology, this process has been hugely simplified. We are very proud to be working with a cloud-based translation management tool called Smartling which allows companies to easily and quickly translate their websites and apps into other languages. We recommend this revolutionary translation tool to any companies who have websites with large amounts of content or who need to update their website regularly to keep their content fresh – and of course to those companies who quickly want to enter new markets.

App translation

Smartling is also a great tool for app developers. Instead of sending Excel spreadsheets back and forth without any context for the translators – like in the good old says – app developers now can simply upload a file for translation, add useful contextual information to each and every string, provide screenshots for clarification, add character limits and much more.

We have been translating websites and apps with the Smartling tool for over three years and know the platform inside and out – we love it because it really does make everyone’s job so much easier – our customer’s job and our own, too! From e-commerce sites to SAAS platforms, from social media apps to hotel booking sites, we have translated a wide range of websites and apps and can bring heaps of experience to your project.

Do you already have a plan on how to implement your translations from a technical perspective? Have you investigated the different options available?If you would like to find out more about website and app translation and the different technologies available, please get in touch and we would be delighted to discuss this in more detail with you.

Oh how “pinteresting”: Cornish companies help adapt Pinterest for UK market

Pinterest, the image-based social bookmarking and sharing site that’s hailed as the next big thing in the world of social media, has enlisted the help of Cornwall-based Anja Jones Translation (AJT) to adapt their website and mobile apps for the UK market.

“For Pinterest, long-term success depends upon building strong relationships with its users, regardless of the language they speak. It is all about engaging with people, inspiring them, encouraging them to share the things they love and to inspire others”, explains Anja Jones. “Pinterest wanted to show their dedication to the UK market and we were delighted to be recommended for the job.”

AJT partnered up with Stranger Collective for the project, a Penryn-based copy writing agency who are fine-tuned to the nuances between British and American English. “We had already worked with Stranger Collective last year on a multilingual project for Coca-Cola and were really keen to have them on board for this project”, says Anja. “Localising websites and apps is not just about changing a few z’s here and there, it’s looking at the text as a whole and really providing a user experience that feels ‘native’ to UK users.”

All translations were carried out using a platform developed by NY-based technology company Smartling, who, having worked with AJT for over 3 years, were happy to recommend them for such a high profile client.

Over the last few weeks, AJT have also been reviewing and editing Pinterest’s French website and apps which officially re-launched this week.