By Diane Morneau, M. Sc.
IBM Senior Premium Support Manager
This document is intended for administrators. It gives an overview of how to install and support the Notes client in foreign languages. It explains how several components are organized and work together to deliver a translated end user experience for a range of Notes clients.
1. The Notes client: a compound experience
The Notes client is currently available in English and 26 other languages. Each of these clients is able to handle a content based on a variety of symbols which spans many languages requirements with relevant regional settings. The difference between these clients is the language of the end user experience offered: a user is guided through menus, prompts and messages in a selected language. The user can type and spell check text with dictionaries readily available for the languages installed (hooks in place for third party dictionaries for some languages), as long as some operating system requirements are met.
| Arabic | Finnish | Italian | Slovenian |
| Brazilian Portuguese | French | Korean | Spanish |
| Catalan (7.0.2 +) | German | Norwegian | Swedish |
| Czech | Greek | Polish | Thai |
| Danish | Hebrew | Russian | Traditional Chinese |
| Dutch | Hungarian | Simplified Chinese | Turkish |
| English | Iberian Portuguese | Japanese | |
Figure 1 - Languages of the Notes client
The overall Notes client end user experience is the result of several components working together. These elements and their organization have evolved over several generations of the client to provide a wider set of functionalities.
Starting with Notes 6, back-end improvements were introduced to separate the resource files that need translating from the core executables. As a result, both the English and the translated client started to share a common set of executable files while calling some language-specific file references. Back then, successive installations had to be performed on a newly-introduced multi user installation type to build a multilingual client, a client that can support an end-user experience is more than one language. Each language of the Notes client kit ended up with a unique Windows Installation number in the registry after installation. As a result, upgrades between different Notes languages were not possible.
With Notes 7, we did away with this limitation and introduced MUI Packs customizable to a certain extent. These installation enhancements eased upgrades and made it possible to build multilingual clients in fewer steps.
Notes 8 went one step further by allowing the replacement of local templates and help files. As well, different packaging became available as we introduced a newer generation Notes client, the Notes Standard client, while continuing with the traditional Notes Basic client.
1.1 The Notes client organization The Notes client calls on different components to provide its end-user experience.
Figure 1 – Components of the Notes client language experience
An important component of this interaction is the application template (NTF). The template controls the language experience delivered by an application. A single set or multiple
sets of translated templates can be installed on a client, depending on the workstation type used. When interacting with a server, the client can also draw on the server templates which can be set to deliver a unilingual or a multilingual experience.
Figure 2 – Directory structure for each workstation installation type
The Notes client also uses other resources. First, the MUI libraries contain a hierarchy of translated files that substitute their English counterparts in the Notes object library to provide translated menus and prompts.
Instant messaging, help files and dictionaries also contribute to the translated end-user experience. The following sections explain how.
1.2 The Notes client MUI feature
MUI stands for Multilingual User Interface (MUI). As a result of the reorganization done to separate the translated resources from the core code, the MUI library became a key structure for the delivery of the translated experience.
MUI is not to be confused with multi user type (MU) which is an installation type that allows the Notes client to be used by multiple users independently, as opposed to the traditional Single User installation (SU). MU and MUI work hand in hand though, as we explain later on.
All Notes client contain a same Notes client code with English resources in the client object library as delivered with the English client. In other words, since release 6, each translated client is at least bilingual. The equivalent localized resources are stored in a MUI subdirectory uniquely labelled for each language.
The DLLs stored in the MUI libraries control the language of the menus, sub-menus, prompts and splash screen. There are also common resources: a noteworthy example is the Keyview filters used to display third-party attachments.
As the Notes client and its translated versions share the same executable code, this increases the reliability and supportability across languages as the amount of code is reduced and thus, potential faults.
| Language | Language Code | Language | Language code |
| Arabic | ar | Italian | It |
| Brazilian Portuguese | BR (pt-BR) | Japanese | Ja |
| Catalan | ca | Korean | Ko |
| Czech | cz | Norwegian | No |
| Danish | da | Polish | Pl |
| Dutch | nl | Russian | Ru |
| English | en | Simplified Chinese | zh-CN |
| Finnish | fi | Slovenian | Sl |
| French | fr | Spanish | Es |
| German | de | Swedish | Sv |
| Greek | el | Thai | Th |
| Hebrew | he | Traditional Chinese | zh-TW |
| Hungarian | hu | Turkish | Tr |
| Iberian Portuguese | pt (pt-PT) | | |
Figure 3 - Abbreviations for each language
Switching the language interface
A user international preference called User Interface was introduced with release 6. Selections offered reflect the languages installed. When installing a translated client, at least two menu picks are available: the translated language and English. With release 6, the foreign language was selected by default. Since release 7, the installation code sets its default to the workstation locale settings.
Corresponding to this setting, a Notes.ini line is added UserInterface=xx, where xx corresponds to the language abbreviation specified in the above table. For instance, for French, the line UserInterface=fr. Switching the User Interface setting modifies the UserInterface=xx line from the Notes.ini. When switching to English, it actually removes the line.
A language switch is not dynamic: it requires a recycle of the client to take effect. But once set, the selected language remains in place for subsequent executions until changed again. This setting refers only to messages and dialogs presented by the user interface.

Figure 4 - Language interface user international preference
An alternate way to call the Notes client in a specific language is to pass a language parameter. For example, with a Notes.ini that does not show the User Interface setting, notes /l = fr invokes the client with the French interface.
How MUI interacts with installation types
On a Single User install, the executable directory is c:\lotus\notes and the data stored in c:\lotus\notes\data. The single Data directory includes unilingual templates, modem and help files of the selected language, installed and used at setup time to create the user’s personal databases. The MUI directories follow the hierarchy c:\lotus\notes\mui\xx.
When the installation completes, this workstation is capable to interact with the users in the selected language and English. Only one set of templates are installed: the set corresponding to the foreign language.
On a multi user installation type, the localized User Interface files are installed under the MUI\xx language-specific directory while their English counterparts are installed in the executable directory. The executable directory shared by users is still c:\lotus\notes but the MUI directories are stored under the hierarchy c:\lotus\notes\Shared\mui\xx.
When the installation completes, this workstation is capable to interact with the user in the foreign language and English. Two se
ts of templates are available: one series in English and the other in the selected language. Dictionaries made available are those corresponding to the languages installed, some exceptions apply.
While it is possible to control which language resources are used for the User Interface, the total experience depends also on the available templates, modem and help files, and relevant Operating System configuration.
If providing local autonomy was at the basis of selecting a Notes client, then having the local templates in the language of choice for the user is a must. The Notes client is designed to provide Multi language support for the Multi user environment: the UI language switches nicely as a user expects including localized templates.
Allowing this to happen through a multi user installation is at the cost of the client footprint, both on local disk space and on the network when distributing the client code over a network. Depending on your needs, this may be worthwhile.
1.3 Templates
A set of client templates are included as part of the client installation. These templates are actually a subset of the templates provided during a Domino server installation: those that support personal productivity.
| Bookmark.ntf | Domadmin.ntf (some languages) | Log.ntf (some languages) |
| Dircat5.ntf | Dsgnsyn.ntf (some languages) | Mail8.ntf |
| Discws7.ntf | Headline.ntf | Mailbox.ntf (some languages) |
| Doclbw7.ntf | Journal6.ntf | Pernames.ntf |
Figure 5: the client templates translated
As discussed previously, when a translated client is installed, one set of templates are installed on single user installations while multi user installs inherit multiple sets. All templates stored on the clients are unilingual, that is, they support a single language. The concept of multilingual templates, with design elements concurrently available in more than one language in a single structure, only applies to the Domino server.
1.4 Help files The Notes client prior to release 8 as well as the Basic client draw its help information from a Notes help database stored in a subdirectory located under the data directory. Depending on the type of installation, one or several help files can be stored.
Starting with the standard client, a new dynamic help is used to provide assistance. For the most part, this help is provided through an Eclipse-based Help System which delivers an enhanced help assistance that adapts to the user’s language preference. The content, which includes information about Notes, Sametime, Productivity tools and other integrated components, is stored in the plugins substructure under the Eclipse (Framework) directory structure. When installing a Notes client, relevant NL jar files are installed to support the language set installed.
When calling help from a dialog box through the F1 key, the content is pulled from a Notes database, cshelp8_client stored in the data directory, in a same fashion as the previous client. Depending on type of installation, one or multiple sets of this database can provide a translated end-user experience.
1.5 Dictionaries The English client is installed by default with the American English dictionary (US.DIC).
Translated clients are set up with the dictionaries corresponding to the languages installed. The exceptions are for Slovakian, Slovenian, Croatian, Romanian, Indonesian, Malaysian Ukrainian and Latvian for which hooks are in place for third party dictionaries.
To install standard dict
ion aries for languages other than those installed and not for the third party dictionaries listed above, use the Notes CD-ROM or the appropriate Notes dictionaries kit. This will install 24 different dictionaries in a directory from which you can take the files needed and place them in the Notes data directory. Language dictionaries (*.DIC) along with an executable (DICTIONARIES.EXE) are found under the Apps\Dictionaries folder.
The Notes client provides for the ability to tag text with language descriptors applied through the text attributes. Once set, when spelling is done, the appropriate dictionary is matched to the sections of text as specified to do the spelling.
Two preferences allow the selection of the default dictionary to use when checking any document or on a per document basis.
1.6 Instant Messaging Instant messaging capabilities started to be embedded in the Notes client with release 6.5. They are delivered by a set of DLLs stored in the data directory. By recognizing the User Interface language setting, these DLLs support the end-user experience for the languages installed.
1.7 Operating System Outside the scope of this document, it is important to just highlight the fact that there are some OS dependencies for some language support. Examples are keyboard drivers, date formats, fonts to display or print, which may be very specific depending on the language we are dealing with.
2. Deployment and maintenance of the localized clients
2.1 Dependencies The translated client kits are installed and maintained with the same tools and procedure as the English client kits. Before delving into the specific tool s, let’s explore the dependencies that impact the use of foreign languages on the Notes client. They are listed in the following table.
| Language feature | Handled via |
Display of foreign characters Keyboard | Operating System. User Preference Regional profile. |
| Common name including foreign characters | Domino server. Creation of alternate names via Certifier IDs. |
| Collaboration application templates in the user language | Domino Server Language Packs. Some multilingual templates can be created. |
| Local templates | According to the Notes client installation type, one or several series of translated templates will be made available depending on the type of installation. Not all templates are translated. |
Notes Dictionaries | By default, languages installed are those of the selected languages except for Slovakian, Slovenian, Croatian, Romanian, Indonesian, Malaysian Ukrainian and Latvian for which hooks are in place for third party dictionaries. All foreign language dictionaries can be installed. It is possible to select a default dictionary under User preferences and within a document. Text language tagging is accomplished through Text attributes. |
| Other client linguistic preferences | There are several other client preferences that pertain to languages available under user preferences. They are mostly found under the International tab. · User Interface: specifies the language of menus and prompts · Sort rules also exist for each language · Import and Export character sets used · Multilingual Internet mail offer different choices for the multilingual fonts to be used when sending e-mails containing foreign characters to Internet recipients ·
&nbs p; General Settings region or country language · General Settings content for multilingual applications · Bi-directional settings such as Menu Direction, Global Text Direction and Cursor Movement are used to change the behavior of the client to change the direction for bi-directional languages such as Arabic and Hebrew. For those languages, you can also change the paragraph reading order under the Text Properties Paragraph Alignment tab.
|
Figure 6 – Other language dependencies
2.2 Installer The release 8 Basic client shares the same installer as the Release 7 Notes client. Built on the Eclipse engine, the Release 8 Standard client has a different installer which sets it apart from the other two clients.
Under all circumstances, translated components are matched with their English counterparts and are release-specific.
2.3 Client full installation kits Full installation client kits are distributed to install the Notes client in a selected language, English being installed as well for the user interface only. The installation type controls whether or not templates in both languages are installed. All translated client installation kits can be installed via a graphical user interface, through a script or using Smart Upgrade.
On the Passport software distribution site, the Notes client products are available under eAssemblies. Some are unilingual and some are organized by groups of languages usually found in a geographical area. An eAssembly groups all of the individual image files (referred to as Products) required to install the software in any of those languages. You will find:
· the English client and server codes,
· the MUI Pack for the Standard client and the one for the Basic client,
· the Server Language Pack for the relevant languages,
· the translated Notes Full Installation clients,
· the translated Notes Designer client (available for all languages),
· the Notes Admin client for selected languages (English, French, German, Japanese, Korean and Simplified Chinese).
| eAssembly | Contains |
| Multilingual (Americas) | English, French, Spanish, Brazilian Portuguese |
| Multilingual Nordics | Danish, Dutch, Finnish, Norwegian, Swedish |
Multilingual West Europe | German, Spanish, French, Italian, Brazilian Portuguese, Catalan |
Figure 7 – examples of eAssemblies (not an exhaustive list)
2.4 Client upgrade and patch kit We introduced client kits and patch kits for translated clients with Release 7. They are included in Upgrade kit assemblies organized in the same fashion as listed above.
The client upgrade kit is a full install kit that only installs on top of an existing installation in the same code stream. The Patch kit is a set of binary changes that will only work on a specific version. It is designed for use where a mix of releases is in production. The users must be at that specific version or the patch will not install. For example, you can install a 6.5.5 Upgrade kit over existing 6.0.x and 6.5.x client. The benefit of the patch kit is that it has a much smaller footprint (a third to half of the upgrade kit), making it a pref
erred cho ice for low bandwidth users. Both kits can be installed manually, via a script or using Smart Upgrade.
2.5 MUI Packs Several Multilingual User Interface (MUI) Packs deliver the files needed to translate to languages organized in groups. After installing the English client, MUI Packs can be applied to add languages on a single or multi user setup.
| MUI Pack Product For release 7 | Support Languages | MUI Pack Product For release 8 |
| Group 1 | Brazilian Portuguese, Catalan, French, German, Italian, Japanese, Korean, Simplified Chinese, Spanish, Traditional Chinese | Group1 |
| Group 2 | Danish, Dutch, Finnish, Norwegian, Swedish | Group 2a |
| Group 3 | Arabic, Czech, Greek, Hebrew, Hungarian, IB Portuguese, Polish, Russian, Turkish | Group 2b |
| Group 3 | Catalan, Slovenian, Slovakian, Thai | Group 3 |
Figure 8 - MUI Packs language support
MUI Packs can be installed manually via a graphical user interface or through a script. Smart Upgrade does not support the installation of MUI Packs. When installing via the GUI, each language available is presented as an option to select or deselect. You can pick any number of them. In order to install languages across different groups, multiple MUI pack installations are needed. |  Figure 9 – Sample UI interface Group 1 |
MUI Packs carry version numbers that are matched with the client release for the installation to take place. If applying MUI pack on hotfixed client, it is possible to use the vercheck=0 switch to bypass release number validation as release # changes. This, of course, needs to be applied with care.
2.6 Dynamic CAB configuration Some languages may not be of use to your organization. A Dynamic CAB configuration is available to remove unused languages, thus reducing footprint when distributing the package. Languages across different MUI Packs cannot be combined in a single package.
| Release 7 | MUI Group 1 | MUI Group 2 | MUI Group 3 |
| data1.cab | German | Danish | Arabic |
| data2.cab | French | Dutch | Greek |
| data3.cab | Ita
lian | Norwegian | Hebrew |
| data4.cab | Spanish | Swedish | IB Portuguese |
| data5.cab | Japanese | Finnish | Thai |
| data6.cab | Korean | | Slovenian |
| data7.cab | Simplified Chinese | | Czech |
| data8.cab | Traditional Chinese | | Hungarian |
| data9.cab | Brazilian Portuguese | | Polish |
| data10.cab | Catalan | | Russian |
| data11.cab | | | Turkish |
| Release 8 | Group 1 | Group 2a | Group 2b | Group 3 |
| data1.cab | German | Danish | Arabic | Catalan |
| data2.cab | French | Dutch | Greek | Slovakian |
| data3.cab | Italian | Norwegian | Hebrew | Slovenian |
| data4.cab | Spanish | Swedish | IB Portuguese | Thai |
| data5.cab | Japanese | Finnish | Czech | |
| data6.cab | Korean | | Hungarian | |
| data7.cab | Simplified Chinese | | Polish
| |
| data8.cab | Traditional Chinese | | Russian | |
| data9.cab | Brazilian Portuguese | | Turkish | |
Figure 10 - List for cab files in each MUI Pack
2.7 Cumulative Client Hotfixes Cumulative Client Hotfixes were introduced with releases 6.0.4 and 6.5.2. They are small packages of qualified important hotfixes for a specific release made available for the Lotus Notes Client. Typically, fixes to translated components are kept outside CCH deliveries so the CCH can be applied across clients of any language. A CCH can be installed manually, via a script or using Smart Upgrade.
Starting with release 8.0.1, important client fixes are delivered via Fix Packs (FP). This is an improvement over CCH as the code is fully tested and quality controlled. Again, these client fixes are language agnostic.
With the Eclipse-based Release 8 Standard client, we occasionally deliver MUI translated components fixes through tiered hotfixes. The English client is fixed by a standard hotfix while we also provide so-called NL1, NL2 and NL3 fixes to take care of the translated clients. These NL fixes apply the corrections to its set of language components as well as the English component. The three groups of Notes Languages (NL) correspond to the languages as detailed above.
3. Troubleshooting
Understanding how MUI is designed can be very helpful in troubleshooting client issues.
3.1 Example of a MUI problem
You install the 6.0.2CF1 French client. When archiving, users are unable to pick a local directory, as show on the left hand screen image, as is normally available in English:
Figure 11 – Sample dialog box for archiving for 6.0.2CF1
By temporarily changing the UI language to English, recycling the client, you get the screen in English and notice all the expected fields are present. Because the behaviour was corrected through changing the User Interface language, we know the problem lies with the French resources only located in the MUI library.
3.2 What is this message in English? Your users receive an error message in a foreign language. You need its exact English equivalence. This is a challenge for an increasing number of administrators managing multilingual environments around the world.
By simply switching the UI language to English and repeating the operation, the message may show in English, depending on its origin.
If it does show in English, then the message is generated by the resources made available in the MUI library and you now know its English equivalent.
If it still shows in the foreign language, then the error message is generated by the database design involved. Replacing the design with the English template will be the next logical step to reveal the English version of the error.
If the problem disappears during this investigation, that is you can no longer generate it once performing either one of these steps, you discovered a translation-specific issue and now know its origin.
4. Review questions
1. An organization needs to deploy the Notes client for French and English users. They would like to distribute a single client package and not two packages. Is that possible? Yes! The French client can work in French or in English. By default, the client will come up in the workstation current locale settings. A user preference allows a user to change his choice of language for upcoming sessions. As you will read later, the selection of the multiple user installation type is a requirement to install the templates for both languages.
2. Are the translated clients exposed to the same errors as the English client? Yes! As explained earlier, the clients are all based on the same core code, so therefore will have similar behaviour. However, since the translated client use specific localized resources to provide a translated end user experience, this may introduce some difference in behaviour which can be detected if the behaviour ends when switching the user interface to English.
3. Does this mean that I can benefit of client cumulative hotfixes made available for translated clients? Yes! Client cumulative hotfixes (CCH) only touch core client code and never translated resources. So they can be applied with confidence on a translated client.
4. Are templates installed on multilingual clients multilingual? No! Templates installed on the Notes client are always unilingual. However, depending on the installation done, a set of templates for multiple languages can be organized under a specific hierarchy to be used upon demand.
5. Does the Single User client installation offer a full end user experience in multiple languages? No! Applying multiple languages on a Single User client installation only provides for the MUI resources so that menus and dialogs of the Notes clients can be delivered in the selected languages. As the full experience of the end user also involves templates, the templates in the appropriate languages are also needed.
6. With release 8, when do I need a Notes Language (NL) specific hotfix?
A NL hotfix is only needed when a translated component needs correction. When applied, it also fixes the English component so there is no need to also apply the English hotfix.
By Diane Morneau, M. Sc.
IBM Senior Premium Support Manager
Prepared December 23rd, 2008