Software Internationalization: Best Practices and Tips

When done correctly, software internationalization can lead to increased sales in a broader market. However, internationalization can be a complicated process. If done incorrectly, it can do more harm than good.  

Here are nine software internationalization best practices to help you make everything easier and help you avoid some common mistakes.  

1. Have a Dedicated Team 

Managing and organizing software internationalization can be a full-time job. It is best done by someone who has specialization and experience with internationalization. Rather than making this yet another task for developers to manage, create a new dedicated internationalization team. 

A team gathered watching someone put sticky notes on the board

2. Start with an Internationalization Analysis 

Before the start of any software internationalization project, perform an internationalization analysis. Some questions that you can include in your analysis may include:  

  • What is driving the internationalization process? What goal(s) are we trying to achieve?  
  • What programs or applications are included in the internationalization?  
  • Which frameworks need to be involved?  
  • Is our source code/build finished and stable? If not, what needs to be done to make it stable for the internationalization process to begin?  
  • How will locale be selected and managed?  
  • What will functional testing look like? 
  • What is our budget?  

This will give you the time to understand your project’s full size and scope and identify any potential problems before they become issues. With accurate analysis of your project, you can better create a budget and timeline for the project to get done and avoid creating a half-finished or rushed product.  

3. Get to Know Your Tools 

There are many tools that help with internationalization like various software, apps, and translation tools like machine translation. The tools used in localization and internationalization are powerful if they are used correctly. Unfortunately, many people only know how to use them at a very rudimentary level. Taking the time to understand and master your internationalization tools gives you more options throughout the process to create what you want.  

4. Remove Embedded Text 

Embedded text in code will slow down internationalization because translation will have to sort out which text in code needs to be translated and which does not. This can become a problem with some automated programs because they will attempt to translate all text, including the code, which will create errors.  

For example, translating a basic HTML code like “color: blue” to “farbe: blau” in German will render the code useless, and it will take even more time to locate the error and undo the automated translation. It is better to remove all embedded text within software code before translation so it can be translated and reinserted. 

5. Use Separate Resource Files 

Rather than using one massive file that includes every line of translation, break it apart into manageable sections. This makes the internationalization process easier. When there are issues with translation, it is faster to locate, alter, and reapply one file instead of sorting through a single massive file for the right line. 

When removing strings to create files, remember to create files that are grammatically complete sentences. Grammar is different in other languages, and when you provide only a fragmented idea, it can be difficult to accurately translate.  

6. Specify Both a Country and a Language 

Before you start translating, it’s essential to choose both a country and a language you will be localizing the software for. You should always include one country and one language. Within a single country, there can be multiple languages used. Similarly, with languages, there are different formats used between countries. Only picking one of these fields will create problems when you start to translate.

 

For example, if you only pick a country like Switzerland, are you expecting the translation to be in German, Swiss-German, French, Swiss-French, Swiss-Italian, or Romansh? Or if you only picked English, are you expecting the translation to be in British English, American English, Australian English, South-African English, Canadian English, or Indian English? 

The more specific you are about which location and language you are targeting, the better your translation efforts will be.

7. Automate

Automation with programs like the SYSTRAN Translate PRO takes away the time-heavy manual process of translation and delivers excellent results faster and at a lower cost. While SYSTRAN is customized to support clients in all industries and provides secure and accurate machine translation, remember it is only a first draft, and there are still opportunities for the translation to be optimized.  

8. Dry Run to Catch Layout Errors and Bugs

Because of the differences in languages, sometimes the character count within strings can affect the layout and design of your software. During this dry run, catch any errors internationalization causes with the layout and test for bugs.  

Depending on your project, there may be intentional changes in your software design with internationalization. This step focuses on catching unwanted errors within the software design and function caused by internationalization.  

9. Test Linguistic Accuracy

With the software working and looking as it should, it’s time to make sure the final product is accurate. Using a native speaker, test the linguistic accuracy of the localization to ensure that the final product is both appropriate and accurate in the new language.  

Make Internationalization Faster with SYSTRAN  

SYSTRAN provides both on-premise and cloud-based solutions to make the internationalization process more streamlined and cost-efficient. Request a demo today to find out how SYSTRAN can work for you.