Skip to main content
07 Aug 2012

Background

In today’s rapid changing world, power of communication increased day by day and geographical barrier in terms of technology has been reduced significantly. In the context of Portal , it makes lot of sense , as collaboration , communication and reach is core idea of portal. In this regard having ability to present content in user language would be big plus in reaching masses and also communication can be faster and more efficient. This very thought leads to idea of Internationalization (I18n) and Localization (L10n).  For definition refer, Definition of Internationalization (i18n) and Localization (l10n)

Internationalization (I18n) in Liferay

When it comes I18n , Liferay tops my list (list is of the product which I have worked on) , in a way i18n has been plugged in to core architecture and flexible support for extension. Each component has clear and concise method of performing I18n , this comes real handy when doing customization or new portlet development , as core API for i18n can be easily reused. This shows importance given to I18n by core development , they must have spend lot of sleepless night to get this stage of perfection.

Having said this does not guarantee i18n compatible release to end user as final version of portal goes though various customization and improvements (portlets , themes , layout etc). These changes done on top of core portal also needs tobe I18n compatible to have final product I18n compatible.

Following is list of areas needs to be taken care while development add ons to have I18n compatible release.

  • New Portlet or modification to existing portlet or core classes

    • Portlet.xml – for title

    • Jsp pages

    • Java classes

    • Java Script

  • Themes

  • VM files

Localization (L10n) in Liferay

Liferay is rich in number of languages they have translated and best part (in my view ) all the translations are in single file Language.properties which comes handy while translation and modification. Liferay provides out of box support for 22 languages. We can also add new language to liferay or disable any existing language. Translation quality is moderate as most of languages maintained by community , do a double check before go live with default translations (might not be best choice). Idea way should be to get reviewed by professional translator.

Other features related to Localization in Liferay

  • User language selection – There are various way user can select their preferred language.

    • Guest user will get portal default language until browser language enabled in Liferay. If browser language enabled then guest user will get content in language selected in browser.

    • Registered User can set their proffered language in control panel. They can also update the language using language portlet.

    • Each Portal instance can also have their own default language

  • Support for UTF-8 , which will ensure content from various languages can be displayed.

  • Localized Web Content – Each web content can have their language specific versions which is very useful when you want to show same article in different languages based on user choice.

Recently I got sneak preview of Liferay 3.0 , It was obvious to notice new improvements related to I18n and L10n. Some of them are .

  • User can remove unwanted languages from Admin Interface

  • Increased support for Localization of dynamic content.

Portal Application are by nature requires multilingual support and with core liferay framework and well-driven customization and enhancement , it can be achieved gracefully.

By
Mahipalsinh Rana
Senior Consultant at CIGNEX, India Office