ad115 -- best practice -- globalizing your ibm lotus notes applications

37
AD115 Best Practice – Globalizing Lotus Notes Application Mike O’Brien | STSM Xiao Feng Ji | Staff Software Engineer

Upload: ddrschiw

Post on 21-Nov-2014

1.572 views

Category:

Technology


0 download

DESCRIPTION

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!

TRANSCRIPT

Page 1: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

AD115 Best Practice – Globalizing Lotus Notes ApplicationMike O’Brien | STSMXiao Feng Ji | Staff Software Engineer

Page 2: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

Financial DisclaimerThe 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

Page 3: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 4: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 5: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 6: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

6

General software globalization (cont.)● Programming Model

▬ Translatable strings are separated from the source code.

Page 7: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

7

General software globalization (cont.)● Single Source Single Executable

Base Product

enzh-TW de pt-

BR

fr es ja

it zh ko

... xx

Language Resource

zh-TW

Page 8: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 9: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

9

Notes application multilingual support

Tuesday, February 1 , 2000Price : US$150.00

English UI

Chinese UI

Page 10: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 11: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 12: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

12

Difficulties in Notes application globalization● Program with messages, menus and culture behaviours are embedded

into their code

Script

Folder

ViewFormu

la

Notes application

Page 13: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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.

Page 14: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 15: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 16: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 17: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

17

(1) Extract translatable strings into properties file

Tag

Translation

Source Application Translatable Resource(Properties files)

Page 18: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 19: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

19

(2) Add DNT flags while programming● The terms within DNT flags will not be extracted into translatable

resource.

Page 20: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 21: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 22: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

22

(4) Preserve layout setting from previous versions by layout property file● When to generate the layout properties file?

Language application

Testing

Released language application

Layout InformationLayout Properties file

Export

Page 23: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Export

Form.(wFolderRemove)_|_FolderRemove.Button.OK.Width =5.080cm

Hierarchical Key

Page 24: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 25: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 26: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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.

Page 27: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

27

Notes application globalization process

Extract Terms from Design Note

DGW (Design Note Translator)

Original (English) template

Layout.properties

DNT.properties

LanguageTemplate

Language properties

DGW

English.properties

Original (English) template

Translation

Translation Memory

DNT.properties

1

23

4

5

Pre-processing Translation Post-processing

Send translation package to Translation companies

Receive translation and compile into Language templates

27

Extract Term from Design Note

Page 28: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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 Notesapplication 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.

Page 29: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

29

Notes application globalization process – for customized application

29

DGW (Design Note Translator)

Customized (English) template

Layout.properties

LanguageTemplate

DGW Tagger

Customized (English) template

Translation

Customers’ Translation

Memory

Customized DNT.properties

1

2

3

4

5

Preprocessing Translation Post-processing

Send translation package to Translation companies

Receive translation and compile into Language templates

English properties

DNT.properties

Customer Properties (EN) Customer’s Language

properties

IBM’s Language properties

Extract Term from Design Note

Page 30: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

30

Upgrade the customized Notes application

30

English template(Higher version)

2

Reapply the design changes

Customized template(Higher version)

Customers’ Language properties file(Previous version)

IBM’s Language properties files(Higher version)

1

DGW (Design Note Translator)

Language

Customized Template(Higher version)

Page 31: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 32: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 33: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 34: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

34

Demo1. Install Domino Global Workbench 8.5.x2. Create properties files from source application3. Build language application from source application and translated

properties files4. Update language application by UPD file5. Update language application by changed properties file

Page 35: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 36: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

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

Page 37: AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

37

Legal Disclaimer© IBM Corporation 2009. All Rights Reserved.

The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.

IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

UNIX is a registered trademark of The Open Group in the United States and other countries.If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.Other company, product, or service names may be trademarks or service marks of others.