SlideShare a Scribd company logo
1 of 37
Download to read offline
AD115 Best Practice – Globalizing Lotus Notes
Application
Mike O’Brien | STSM
Xiao Feng Ji | Staff Software Engineer
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
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
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
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
General software globalization (cont.)
●   Programming Model
     ▬   Translatable strings are separated from the source code.




                 6
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
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
Notes application multilingual support



                                  English UI




Tuesday, February 1 , 200 0
P rice : US $1 50.0 0




                                  Chinese UI




                              9
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
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
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
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
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
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
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
(1) Extract translatable strings into
properties file
     Source Application         Translatable Resource
                                (Properties files)




                          Tag




                                       Translation




           17
(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
(2) Add DNT flags while programming
●   The terms within DNT flags will not be extracted into translatable
    resource.




              19
(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
(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
(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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.




                                         37

More Related Content

More from ddrschiw

AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
 
Ad109 - XPages Performance and Scalability
Ad109 - XPages Performance and ScalabilityAd109 - XPages Performance and Scalability
Ad109 - XPages Performance and Scalabilityddrschiw
 
Ad107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPagesAd107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPagesddrschiw
 
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designer
Ad103 - Have it Your Way: Extending IBM Lotus Domino DesignerAd103 - Have it Your Way: Extending IBM Lotus Domino Designer
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designerddrschiw
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!ddrschiw
 
LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...
LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...
LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...ddrschiw
 
Webform Server 351 Architecture and Overview
Webform Server 351 Architecture and OverviewWebform Server 351 Architecture and Overview
Webform Server 351 Architecture and Overviewddrschiw
 
Introduction To IBM Lotus Forms Viewer
Introduction To IBM Lotus Forms ViewerIntroduction To IBM Lotus Forms Viewer
Introduction To IBM Lotus Forms Viewerddrschiw
 
XPages Workshop: Concepts And Exercises
XPages Workshop:   Concepts And ExercisesXPages Workshop:   Concepts And Exercises
XPages Workshop: Concepts And Exercisesddrschiw
 
Building A Cool Web 2.0 Application With XPages
Building A Cool Web 2.0 Application With XPagesBuilding A Cool Web 2.0 Application With XPages
Building A Cool Web 2.0 Application With XPagesddrschiw
 
Domino X Pages
Domino X PagesDomino X Pages
Domino X Pagesddrschiw
 
Lotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & ArchitectureLotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & Architectureddrschiw
 
Lotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & ArchitectureLotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & Architectureddrschiw
 

More from ddrschiw (16)

AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
 
Ad109 - XPages Performance and Scalability
Ad109 - XPages Performance and ScalabilityAd109 - XPages Performance and Scalability
Ad109 - XPages Performance and Scalability
 
Ad107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPagesAd107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPages
 
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designer
Ad103 - Have it Your Way: Extending IBM Lotus Domino DesignerAd103 - Have it Your Way: Extending IBM Lotus Domino Designer
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designer
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...
LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...
LotusSphere 2010 - Leveraging IBM Lotus® Forms™ with IBM WebSphere® Process S...
 
Webform Server 351 Architecture and Overview
Webform Server 351 Architecture and OverviewWebform Server 351 Architecture and Overview
Webform Server 351 Architecture and Overview
 
Introduction To IBM Lotus Forms Viewer
Introduction To IBM Lotus Forms ViewerIntroduction To IBM Lotus Forms Viewer
Introduction To IBM Lotus Forms Viewer
 
XPages Workshop: Concepts And Exercises
XPages Workshop:   Concepts And ExercisesXPages Workshop:   Concepts And Exercises
XPages Workshop: Concepts And Exercises
 
Building A Cool Web 2.0 Application With XPages
Building A Cool Web 2.0 Application With XPagesBuilding A Cool Web 2.0 Application With XPages
Building A Cool Web 2.0 Application With XPages
 
Domino X Pages
Domino X PagesDomino X Pages
Domino X Pages
 
Mlb Demo1
Mlb Demo1Mlb Demo1
Mlb Demo1
 
Lotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & ArchitectureLotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & Architecture
 
Lotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & ArchitectureLotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & Architecture
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

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
  • 6. General software globalization (cont.) ● Programming Model ▬ Translatable strings are separated from the source code. 6
  • 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
  • 9. Notes application multilingual support English UI Tuesday, February 1 , 200 0 P rice : US $1 50.0 0 Chinese UI 9
  • 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
  • 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. 37