Database Localization

March 11, 2015 Ayman El Badawy

The software globalization process must include database design adjustments in order to enable multilingual capabilities. Managing database globalization requirements in the early phases of enterprise software development is the best approach to achieve strong multilingual software with less time and effort.

In comparison, re-designing databases to enable multilingual capabilities toward the end of the development process is a complicated process and involves additional steps, such as re-testing and QA.  It also involves risks such as corrupting the software main technical structure and then re-adjusting and re-compiling.

GPI_DATABASE_1

 

Database Localization Methods

There are several methods to localize a database and they each have positive and negative aspects.  The best approach will always depend on the type of application used and how the data is structured and manipulated.

One method commonly used for developing a multilingual database is to create two tables:

  1. The first table contains only the non-language specific fields, such as Primary Key and Boolean values.
  2. The second table contains one row per language, which contains the equivalent translation, the language ISO Code and the Foreign Key to reference the Primary Key from the first table.

GPI_DATABASE_2

This method provides the necessary flexibility for adding additional languages at any time without the need to extend the table or add more columns.  But, as mentioned, there is no a perfect approach, this method, when implemented, will need additional solutions to handle the search function and to display data from the database, depending on the selected language.

 

Database Localization Checklist Items

There are a few items that are present on most localized databases and I will use Microsoft SQL Server as an example:

  • Set the appropriate Database Collation.
  • Use the appropriate field types, such as nvarchar, nchar, ntext instead of varchar, char and text,to be able to store the Unicode data.
  • Make sure there are no incompatibility issues with Unicode and CodePage.
  • As most of the new Operating Systems and Development Platforms use Unicode internally, it is highly recommended to use the Unicode types (such as nvarchar) to avoid doing encoding conversion each time you need to read or write the database.
  • Make sure that the character max length for certain fields can handle content in several languages, as some translations from English are larger in number of words and characters. Ex: translation into German.
  • Database developers must use the number date parts instead of name strings as days and months depending on the target language selected when developing Date and Time comparison procedures.
  • Avoid using strings in stored procedures for search, update or insert as any strings that are non-constant can differ from language to language.

Summary

In conclusion, I discussed the best time in the project development life cycle to consider database globalization implementation.  I also reviewed an example method for how to design databases to handle multiple languages. Finally, we defined a set of checklist items that are essential for any database that will be used to store more than one language.  As mentioned, there are many different methods to use for software globalization, but it is vital that whichever method a developer uses is implemented early in the process.

 

Further Website Translation and Website Localization Resources

Globalization Partners International (GPI) has created a more extensive overview of website globalization for several global markets in a series of Website Globalization and E-Business Series white papers, which you may download for free. You may also benefit from reviewing the following blogs on different aspects of website translation and website localization:

GPI helps customers enter new markets by providing comprehensive website translation services into a variety of languages. Free translation quotes can also be obtained from GPI by submitting source files through our Request a Translation Quote.

You may contact GPI at info@globalizationpartners.com or at 866-272-5874 with your specific questions about your target global markets and your project goals.

About the Author

Ayman El Badawy

Ayman is a native Arabic speaker with extensive expertise in Arabic software and website localization. He is a Microsoft Certified professional (MCP) since 2001 and earned several certificates including MCSD, MCAD, MCTS and MCPD. He has over 12 years’ experience in software / websites engineering using Microsoft Programming tools including C#, ASP.NET, SQL Server, Visual Studio and other tools such as HTML, JavaScript, XML, Ajax and others.

More Content by Ayman El Badawy
Previous Video
GPI Translation Services Connector for Sitecore
GPI Translation Services Connector for Sitecore

GPI's Translation Services Connector for Sitecore enables users of Sitecore-based websites to launch and ma...

Next Article
What is Pseudo-Localization?
What is Pseudo-Localization?

If you have ever been involved with a software or website translation project, pseudo-localization is a pro...