And the localization process starts with you. Why? You have so many ways to make your software unlocalizable:

  • You can create strings like this:
msgid "returning_customer_msg_start"
msgstr "Hello "
msgid "returning_customer_msg_end"
msgstr ", welcome back!"*

These 3 strings should be one: "Hello returning_customer_msg_end, welcome back!".

Cutting this into 3 segments causes chaos and might lead to serious mistranslations as the translator does not see the full context of the string at first glance.

  • You can assign impossible character length restrictions to strings.
  • You can make the fields, dialogs, and menus unscaleable, so the "longer" languages such as Polish (vs. English) will not fit in the space provided.

The question is: What can you do to make the software localization process more user-friendly, faster, and finally receive higher quality translations?


Usually, these types of blog posts give you tips such as:

  • do not sort your strings alphabetically
  • do not hardcode your variables

And so on. Don't get me wrong - these are all great tips worth implementing, but software developers usually have already read all these suggestions and try to apply them while creating their software.

If not, please do read, for example, this article on software localization best practices.

However, today I'd like to focus on some less technical aspects of improving localization quality.

๐Ÿ“™ Prepare a glossary ๐Ÿ”—

You know your software in and out, and you know the most technical or unusual or often used words that occur in the strings to translate. Prepare a list of these terms and turn it into a glossary.

Add a short description to each - even one sentence can provide a lot of information for the translator. You do not have to translate the list of terms to other languages - translators will do that - the list is needed to highlight the essential terminology and make their translations consistent. ๐Ÿ‘Œ


The glossary will help your translators and will be helpful in all future updates, new versions, etc., of your software. Even when your localization team changes, you can deliver the glossary to new people, and they will maintain the terminological consistency.

Localazy comes with a built-in Glossary; make sure to use it and help your translators!

A multilingual glossary in a simple format (.csv, .tbx) or the one in your translation management system is a fantastic asset to have.

Suppose you curate your glossary just by sheer managing the terms and having a look at them from time to time. In that case, you will be using them more consistently in your source strings, so you will take care of the quality of texts in your software yourself because consistent source = consistent localization.

Read the Best practices for Glossary use on our blog.

โœ๏ธ Write less ๐Ÿ”—

Do not be paranoid, but try to use as few words as possible. Fewer words = lower price, as localization solution providers will bill you per number of source words. So scan your source strings and the whole software, and find all unnecessary words.

For example, "Please press the green OK button you can see below." can safely be turned to "Press OK."

Now the tricky part. Your primary aim is NOT paying less for the localization service (this might happen as well, but this is not our goal here), but to spend even a ๐Ÿ“ˆ HIGHER rate per word (for fewer words), as this motivates your translators to give you the best quality.

A higher rate per word offered allows you to hire a more experienced language professional, who again will provide higher quality.

Use many ๐Ÿ†’ pictograms and wordless graphical cues. Pictograms might be universal and usually do not require translation. So instead of using a button with "Please click to proceed" text, you can use a pictogram with an arrow pointing right. โ–ถ๏ธ

Remember that you will most probably translate your software to several languages, so even such a simple change may save you dozens of words and have a significant impact on your final rate for translation.

๐Ÿงฑ Keep the language simple ๐Ÿ”—

Keep the strings short and simple. Write three shorter sentences instead of a convoluted one. You will receive fewer queries from your localizers and waste less time answering them. Translations will be more understandable for foreign language speakers. Simple and short. โ˜‘๏ธ


๐Ÿ“‘ Make your strings consistent ๐Ÿ”—

Let's say you ignore similar/identical strings in your software because you do not know that this can lower the cost of localization, speed up the process and make the translation look/feel/read more consistent.

So you write three different strings that have the same meaning and are used in a very similar context (if not the same):

  • String 1: Tap the OK button to confirm.
  • String 2: Tap the OK button.
  • String 3: Tap the OK button to continue.

They will not be recognized by translation software as repetitions, although their meaning is the same. There is a chance that translators will translate them in at least a slightly different way. ๐Ÿ’ข You will pay more for three similar segments than for three identical segments.

Translating three similar segments takes longer than three identical segments. โ˜๏ธ Pay attention to repetitive elements - it is worth it.

๐Ÿท๏ธ Provide context ๐Ÿ”—

Provide as much context as possible. What is context?

  • all string IDs #๏ธโƒฃ
  • meaningful names of the files to localize
  • comments in code ๐Ÿ—จ๏ธ
  • descriptions of functions
  • URL to your website/Twitter/Google Play site where you present your software
  • software user manual ๐Ÿ““
  • FAQ
  • localizations to other languages (translators do speak many languages)
  • monolingual glossary with term descriptions ๐Ÿ“™
  • meaningfully named placeholders ("{0}" means nothing, but "{digit}" gives all the info required)
  • previous translations

โœ”๏ธ Conclusion ๐Ÿ”—

None of the strategies mentioned above require any special tools or revolutions. You can implement them relatively painlessly.

They can be summed up in one sentence: write fewer words, create consistent sentences and produce short strings. That's it!

๐Ÿคฒ You might also like ๐Ÿ”—