Yellow Universe
Published in

Yellow Universe

How-to: Software Internationalization Done Right

Image credit: Unsplash

Plan for internationalization from the beginning

Even if, for now, you are only developing the product for your home country, it is a good idea to keep some room for later expansion. This means using the English language for your source code, thus avoiding using complicated phrases that may make further translation harder.

First step: delocalization

To make the product truly international, in most cases you will have to delocalize it first. For example, at 1Ci we are working on enterprise-level business automation systems. This includes order management, sales and purchase, inventory and warehouse, accounting, and other important business processes.

Focus on your strings

A significant part of the work connected to localization will revolve around strings. There are a number of rules to follow to avoid problems with strings during the internationalization of your software:

  • Never hard-code strings — this will look strange for users in most countries.
  • Extract, localize, and reinsert — it is better to externalize all user-visible strings, run them through translation and then put them back into the code.
  • Parametrization helps as well — you might want to change the order of strings, and parametrization will help do this.
  • Use Unicode — this format allows adding the information and symbols of different languages so that users can enter all types of data and the system will be able not only to display it but conduct the search as well.

Don’t try to translate everything by yourself

Translation is a complicated and expensive process, so there is no need to do the whole job by yourself. A more reasonable thing to do here is to keep your mother tongue and English while using specialized translation tools to get other languages. We use Smartcat tool which helped us to add an additional 10+ languages to our applications.

Test everything

After you’ve finished with localization it is time to test it. The best thing is to test the functional and linguistic correctness of your interface and content for each target language. This is also the stage when you can fix display errors or formatting issues.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store