Today's business requirement often mean your applications have to support a global workforce or customer base. Globalizing Lotus Notes applications can be challenging since text strings are embedded in your source code. Thankfully, we have a solution to help you. By combining IBM Lotus Domino Global Workbench along with good development guidelines, developers can realize their globalization objectives. If you haven't looked at Lotus Domino Global Workbench in a while, it's time to look again!
AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications
1. AD115 Best Practice – Globalizing Lotus Notes
Application
Mike O’Brien | STSM
Xiao Feng Ji | Staff Software Engineer
2. Financial Disclaimer
The information on the new product is intended to outline our general
product direction and it should not be relied on in making a purchasing
decision. The information on the new product is for informational purposes
only and may not be incorporated into any contract. The information on
the new product is not a commitment, promise, or legal obligation to
deliver any material, code or functionality. The development, release, and
timing of any features or functionality described for our products remains
at our sole discretion
3. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
3
4. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
4
5. General software globalization
● The provision of a single software solution that has
▬ Multicultural support
▬ A user interface and documentation that is available in one or more languages.
● Globalization = Multicultural support + translation
5
7. General software globalization (cont.)
● Single Source Single Executable
Language Resource
zh- pt-
zh- de
en TW BR
TW
Base
Product
fr es ja ... xx
it zh ko
7
8. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
8
10. Notes application multilingual support (cont.)
● Server Language Pack
▬ ‘Replace’ mode to replace Notes template design with one language
▬ ‘Add’ mode to add more than one language into Notes template
● Create a multilingual template through Notes client
10
11. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
11
12. Difficulties in Notes application globalization
● Program with messages, menus and culture behaviours are embedded
into their code
Script
View
Formu
la Folder
Notes application
12
13. Difficulties in Notes application globalization
(Cont.)
● Notes application is developed in RAD, WYSIWYG model, and it could
be customized easily.
● Notes application is developed in various programming languages and
design elements.
● There are big challenges to globalize Notes application.
13
14. Difficulties in Notes application globalization
(Cont.)
● Difficult to identify translatable terms in source code
● Difficult to identify which terms are prohibited from translation
● Difficult to preserve layout setting from previous versions
● Reuse translation and avoid translation inconsistency
14
15. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
15
16. Our solution
● Extract translatable strings into properties file
● Add DNT flags while programming and do not extract them into
translation resource
● Utilize translation memory to handle translation work
● Preserve layout setting from previous versions by layout property file
16
17. (1) Extract translatable strings into
properties file
Source Application Translatable Resource
(Properties files)
Tag
Translation
17
18. (1) Extract translatable strings into
properties file
● The translatable strings will be externalized by Domino Global
Workbench
▬The ‘Key’ of translation term is generated
automatically
▬ The ‘Key’ contains the context information
that helps translators understanding
▬Hierarchical key can help locate terms when
building
▬Property file approach is in line with Java
application and Xpages
18
19. (2) Add DNT flags while programming
● The terms within DNT flags will not be extracted into translatable
resource.
19
20. (3) Utilize translation memory to handle
translation work
● Create translation memory based on existing translated resource
● Benefits of reusing translation
▬ Save translation cost significantly
▬ The fuzzy match can help save translation efforts, and it’s cost-effective.
▬ Translation will have a better quality for consistency
● Recommended tool
▬ IBM Translation Manager
20
21. (4) Preserve layout setting from previous
versions by layout property file
▬ To ensure a good layout in most
of the user-interfaces in any
languages, we need to adjust
the layout setting by the length
of translation string.
▬ To reduce the manual effort in
later versions, we need to inherit
layout setting from previous
versions.
Button width is different from English
21
22. (4) Preserve layout setting from previous
versions by layout property file
● When to generate the layout properties file?
Language application Released language application
Testing
Export
Layout
Layout Information Properties file
22
23. (4) Preserve layout setting from previous
versions by layout property file
▬ Could be customized easily
▬ Inherit layout settings from
previous versions
▬ Reduce manual efforts
significantly
Hierarchical Key
Export
Form.(wFolderRemove)_|_FolderRemove.Button.OK.Width =5.080cm
23
24. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
24
25. Domino Global Workbench 8.5.1 Overview
● Domino Global Workbench 8.5 is a set of software tools which can help
you to manage the localization (translation) of Domino applications.
● It automatically extracts terminology from your application and stores
them in glossaries or properties ready for translation.
● It builds localized versions of applications automatically using the
translated glossaries or properties files.
● It is sim-shipped with Notes client so you can find it in Notes Client CD.
Note: we would like to cover “properties version” only in this session
25
26. The workbench does followings:
● Creates properties files from their respective source applications.
● Builds localized language applications from the source application and
its associated translation properties.
● Updates the properties files and the language applications if the design
of the source application changes.
● Logs process messages to a log window, and, optionally, to a reports
database.
26
27. Notes application globalization process
Original (English)
template
1
Extract Term Translation
from Design
Terms from Memory
Note Note
Design
DGW Receive translation
4 and compile into
Language templates
English.properties Translation Language properties
DNT.properties
3 Send translation Layout.properties
2 package to
Translation
DGW (Design
Note Translator)
companies
DNT.properties
5
Language
Original (English) template
Template
Pre-processing Translation Post-processing
27
27
28. How does DGW globalize your customization?
You might customize IBM standard Notes application, and it is a challenge
to translate your customization and re-apply your translation into IBM Notes
application in later versions. There is a recommended steps in DGW 8.5.x:
● Obtain EN properties files from IBM
● Set customproperties=1 in the config.ini of DGW installation folder
● Extract customized strings into customer.properties
● Then you should be able to reuse/update customer.properties in later versions
even based Notes application is changed.
28
29. Notes application globalization process –
for customized application
English properties
Customized (English)
template DNT.properties
1
Extract Term Customers’
from Design Translation
Note Memory
Receive translation and compile into
DGW Tagger
4 Language templates
IBM’s Language properties
Translation
Customer
Properties (EN) Customer’s Language
properties
3 Send translation
package to
Customized Layout.properties DGW (Design Note
DNT.properties Translation Translator)
companies
2 5
Customized (English) Language
template Template
Preprocessing Translation Post-processing
29
29
30. Upgrade the customized Notes application
English template
1 (Higher version)
Reapply the
design changes
Customized template
(Higher version)
2
Language
IBM’s Language properties files DGW (Design Note
Translator) Customized Template
(Higher version)
(Higher version)
Customers’ Language properties file
(Previous version)
30
30
31. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
31
32. Future Direction of DGW
● Deliver properties files rather than language templates to our customers
● Customers run an action (e.g. ‘replace translation’) to get Notes application
translated.
● Shorten the gap of ship time between US version and language version.
Financial Disclaimer:
The information on the new product is intended to outline our general product direction and it should not be relied on in
making a purchasing decision. The information on the new product is for informational purposes only and may not be
incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to
deliver any material, code or functionality. The development, release, and timing of any features or functionality
described for our products remains at our sole discretion
32
33. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
33
34. Demo
1. Install Domino Global Workbench 8.5.x
2. Create properties files from source application
3. Build language application from source application and translated
properties files
4. Update language application by UPD file
5. Update language application by changed properties file
34
35. References
● Best practices in globalization: Developing IBM Lotus Notes Applications
▬ http://www.ibm.com/developerworks/lotus/library/notes-global-pt2
● Helping customers globalize their IBM Lotus Notes applications
▬ http://www.ibm.com/developerworks/lotus/library/notes-global-pt1/index.html
35
36. Agenda
● General software globalization
● Notes application multilingual support
● Difficulties in Notes application globalization
● Our solution
● Domino Global Workbench 8.5.1 Introduction
● Future Direction of DGW
● Demo & References
● Q&A
36