Embedding text in your code
Professional translators are often not outstanding developers. When creating the code of your software, there is a risk that your development team will “lock” text into the code, and it cannot be extracted later for localization.
The consequences are straightforward: your localization team will take more time to analyze the translatable strings, and they could forget some. The localization process will be less efficient, the delivery dates will be pushed back, the quality might suffer, and you will lose money down the line.
Thankfully, the solution to this problem is quite simple. Ensure that your development team keeps all the text in external files that are later integrated into the code in different languages.
Splitting strings
One of the complexities in localization is that grammar is different for every language. Therefore, when your developers split strings into several keys, forcing a specific sentence structure, it creates inconsistencies across languages.
Because of this practice, your localization team needs to find loopholes to make the sentences work in their language. The issue is that they might make awkward linguistic choices, because they do not have any other choice, since the strings limit how they can handle linguistic challenges.
One simple solution: do not split sentences! Create a string per sentence, and do not assume that all the languages will adapt to the source structure of your product.
Not considering language lengths
When expressing an idea, two languages are not equal. While English can have a verb that describes a very specific action, French might need four or five words to express the same idea. This is called text expansion and contraction.
The problem with this phenomenon is that if your software is designed to fit a specific word count, localization in other languages could break your website or app layout.
To counter this issue, design your software with expansion and contraction in mind. While French or Italian can typically be 25% longer than English, Chinese and Japanese will usually be shorter. Leave extra space for longer strings to fit, align your labels, or store the dimensions for a label in the files translators will use to localize. You can also set a character restriction for them to respect.
Not considering vertical and horizontal languages
Another key linguistic factor is language direction. Not all languages are read left-to-right. Some are right-to-left. And there are also languages that read vertically. This has a big impact on how the localized content displays on your software.
For example, the same way longer strings might not fit in their sections, a language that is vertical is not going to display correctly on software designed for a horizontal language. This results in content that is impossible to read by your audience because it does not show the correct way. A platform that is hard to understand will drive your potential customers away.
To correct this issue, create specialized versions that adapt to vertical languages and languages that read right-to-left. You can set a language direction in your code. Finally, make sure that the different languages display properly by testing them before the end of the localization process.