SlideShare a Scribd company logo

AD115 -- Best Practice -- Globalizing Your IBM Lotus Notes Applications

D
ddrschiw

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!

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

Recommended

Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Betterddrschiw
 
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...ddrschiw
 
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...ddrschiw
 
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...ddrschiw
 
Traveler preview guide
Traveler preview guideTraveler preview guide
Traveler preview guideddrschiw
 
Traveler preview guide
Traveler preview guideTraveler preview guide
Traveler preview guideddrschiw
 
Ad110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of XpagesAd110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of Xpagesddrschiw
 

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

iOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostingeriOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostingerssuser9354ce
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubShapeBlue
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueShapeBlue
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueShapeBlue
 
AMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes WebinarAMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes WebinarThousandEyes
 
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024BookNet Canada
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Wonjun Hwang
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerSaiLinnThu2
 
Achieving Excellence IESVE for HVAC Simulation.pdf
Achieving Excellence IESVE for HVAC Simulation.pdfAchieving Excellence IESVE for HVAC Simulation.pdf
Achieving Excellence IESVE for HVAC Simulation.pdfIES VE
 
eXtended Reality(XR) Basic introductions
eXtended Reality(XR) Basic introductionseXtended Reality(XR) Basic introductions
eXtended Reality(XR) Basic introductionsElanthirayan Madhavan
 
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Jay Zhao
 
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...SearchNorwich
 
Large Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareLarge Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareAsma Ben Abacha
 
Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...Modality Co
 
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)François
 
Communities, networking and developer culture
Communities, networking and developer cultureCommunities, networking and developer culture
Communities, networking and developer cultureRavi Sanghani
 
Python For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ emPython For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ emNho Vĩnh
 
Roundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdfRoundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdfMostafa Higazy
 
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...Cprime
 
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...ShapeBlue
 

Recently uploaded (20)

iOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostingeriOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostinger
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
 
AMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes WebinarAMER Introduction to ThousandEyes Webinar
AMER Introduction to ThousandEyes Webinar
 
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
 
Achieving Excellence IESVE for HVAC Simulation.pdf
Achieving Excellence IESVE for HVAC Simulation.pdfAchieving Excellence IESVE for HVAC Simulation.pdf
Achieving Excellence IESVE for HVAC Simulation.pdf
 
eXtended Reality(XR) Basic introductions
eXtended Reality(XR) Basic introductionseXtended Reality(XR) Basic introductions
eXtended Reality(XR) Basic introductions
 
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
 
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
 
Large Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareLarge Language Models and Applications in Healthcare
Large Language Models and Applications in Healthcare
 
Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...
 
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
 
Communities, networking and developer culture
Communities, networking and developer cultureCommunities, networking and developer culture
Communities, networking and developer culture
 
Python For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ emPython For Kids - Sách Lập trình cho trẻ em
Python For Kids - Sách Lập trình cho trẻ em
 
Roundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdfRoundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdf
 
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
Improving IT Investment Decisions and Business Outcomes with Integrated Enter...
 
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
 

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