Internationalization and multilingual support in the LVSYS CMS

November, 26 2012

The LVSYS platform has been modified to better support internationalization and multilingual websites. The new update provides internationalization support directly within the templates, which means that instead of deploying one set of templates for each language, all that is needed now is to deploy one set of templates along with one language file per language.

There is a difference between making an english, french or spanish monolingual website, which the platform has been supporting since 2009, and making a multilingual website, which requires the website to display different content and templates according to the language chosen by the visitor on the fly.

Monolingual vs multilingual websites

In the case of monolingual websites, the CMS templating engine and the websites templates are statically configured for a specific language: english, french, spanish, etc. without further consideration. All outgoing emails, error messages and notifications are displayed in the language configured.

In the case of multilingual websites, however, the CMS engine must adapt its internal configuration to match the language chosen by the visitor, and must provide ways to switch back and forth between languages on the fly. While the core CMS templating engine required no modifications, the templates however needed to support language tables. 

Language tables are long lists of messages each identified by a keyword, and then, instead of typing raw text, the template programmers refer to these message ids, which will be then looked up and translated on the fly by the LVSYS templating engine. It's a simple process.

Here's an Example:

Monolingual Website Multilingual Website

Template Programming:

     Some HTML code
     Welcome to the Website
     Some more HTML code

No template language file

Template programming:

     Some HTML code 
     ( ( lang | home_welcome_msg ) )
     Some more HTML code

Template Language file:

file en.ini:
home_welcome_msg = "Welcome to the Website"

file fr.ini:
home_welcome_msg = "Bienvenue sur le Site Web"

In the above example, notice how the template is modified to use short code notation for calling the proper text from the language files. This is used for all the buttons, the informative text, the error messages, the email notifications and such.

To switch between languages, all you need to do is add "lc=fr" or "lc=en" or "lc=es" to the URLs of your pages. "lc" is a short hand for "Locale" which is the standard term referring to the language configuration in computer systems. If language files are present for the locale (en, fr, es, cn, etc) then the website will be displaying the proper language, if not, the website will be displayed in the default language (usually english).

A quick content checklist

Setting up a multilingual website should be a well planned decision. Make sure to plan out your navigation and your content before starting the website production.

Here's a quick checklist of items that must be localized:

  • Headers
  • Top menu navigation
  • Article Categories
  • Product Categories
  • Forms
  • Site Maps
  • Photo Captions
  • Articles
  • Products
  • News
  • Help 
  • Terms
  • Policies
  • Footer Menus
Here's an outline of the translation process:
  1. Plan the site map for each language
  2. Identify what content to translate
  3. Produce templates with language tables
  4. Hire professional native translators
  5. Review and Final Audit
Remember that most multilingual websites feature asymmetrical content because not all cultures follow the same communication standards or have the same sense of priorities. While some locales will require more content, others won't. Likewise, not all cultures respond to the same colors.
 
While your message is ultimately the same,  your target audience isn't. So you must format your message properly.
 
Stay Tuned for more updates

Signup For Newsletter

Email Address: