ERCIM News No.26 - July 1996
Multilinguality in Information Systems
by Aarno Lehtola
We briefly describe a software construction framework provided
to help development of multilingual, internationalised software. We illustrate
the use of the framework in designing the multilingual user interface of
the OsiCon EDIFACT programme. The work was done by VTT in the GLOSSASOFT
project (LRE 61003) of the Telematics Applications Programme of the European
Commission.
In order to reach a large international user base it is necessary that the
globalisation of a software system is done properly. The culturally and
linguistically dependent parts of the software must be isolated, a process
referred to as internationalisation. These parts include eg text manipulation
and display, character-encoding methods, collation sequences, hyphenation
and morphological rules, formats used for numbers and dates, as well as
more subtle cultural conventions such as the use of icons1, symbols and colour.
The local market requirements for these items are encapsulated in the term
locale.
Localisation is the opposite of internationalisation, taking an internationalised
system and adding features to match it to the language and culture of the
target market. It does not just consist of translating menus, commands and
messages into the required language, but includes adaptations for the culture
and business practices of the target country. The term globalisation means
the whole process starting from feasibility studies, producing an internationalised
base version of a software system and then deriving multiple localised versions
or a multilingual version from it.
An idealised model of a multilingual information system consists of a locale
independent kernel software using locale specific services provided by locale
specific program modules. Multi-linguality is introduced into this architecture
by providing versions of each locale specific service module to each supported
language. The kernel software itself is constructed so that it can dynamically
keep track and solve the right locales for each service call. The Framework
for Global Software (FGS) proposes a service architecture with international
application programming interfaces (IAPI) suitable for constructing multilingual
software (Figure 1). In the FGS, application functionality has been clustered
into six groups of interrelated services. A new concept, LocaleContext,
addresses the problems of parameterizing locale specific behaviour of services
and realising locale conscious data structures. A LocaleContext is an object
which can be defined from scratch or by overriding some properties of an
already existing LocaleContext. Hyphenation, spelling, and grammar checking
of multilingual documents with varying script systems are examples of internationalised
service calls.
Figure 1. The structure of the FGS
Multilingual Form Interface to EDIFACT
The user interface of the OsiCon EDIFACT program was made multilingual following
the principles of the FGS. OsiCon provides a graphical user interface for
presenting and editing contents of EDIFACT messages, which are widely used
in various interorganisational business or administrative transactions.
OsiCon is a multi-platform application. It was made multilingual in three
respects:
- GUI controls belonging to the program are dynamically adjusted to
the right locale
- form definitions are dynamically selected according to the selected
locale
- parts of the form data are translated by simple means, such as correspondence
tables and rules for date formats. Locale independent internal data values
are separated from locale dependent external presentations.
We also designed facilities to dynamically change the locale of the form.
An active application is able to have simultaneously different locales in
different windows with respect to the locales of the forms. The internationalisation
solutions are transportable across multiple platforms. Figure 2 illustrates
the result that satisfied the requirements.
Figure 2: The output of the multilingual OsiCon. The same form opened
for Swedish, Finnish, and English locale
The case study with OsiCon proved the soundness of the four central design
principles of the Framework for Global Software:
- an internationalised application consists of an application kernel
that has been designed in a locale independent manner
- the application kernel can use internationalised external services
via an International Application Programming Interface
- an International Application Programming Interface makes it possible
to parameterize locale specific behaviours of external services using LocaleContext
structures
- locale dependent data structures are made locale conscious by associating
(statically or dynamically) Locale Context structures to them.
We are continuing our work with multilingual user interfaces. The next step
will be integrating this technology in the area of international electronic
commerce in order to support multilingual trade processes.
Please contact:
Aarno Lehtola - VTT Information Technology
Tel: +358 0 4566032
E-mail: Aarno.Lehtola@vtt.fi
return to the contents page