SlideShare a Scribd company logo
1 of 24
Download to read offline
TapiJI
Smart I18N assistance and resource translation tools




          INSO - Industrial Software
          Institut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien
Outline



1   The TapiJI project

2   I18N Tool Suite

3   Stand-alone translation apps

4   Whats next / Future work

5   Links / References / Documentation




                                         2
Outline



1   The TapiJI project

2   I18N Tool Suite

3   Stand-alone translation apps

4   Whats next / Future work

5   Links / References / Documentation




                                         3
The TapiJI project - Vision

Make I18N more convenient for agile software development
  ▪ Consider I18N as integral part of initial development
  ▪ Reduce effort of corresponding tasks
  ▪ Reduce the risk of bugs in the initial translation
  ▪ Highlight missing Internationalizations and provide Quick Fixes


Assist process of resource translation
  ▪ Provide application for resource translation
  ▪ Allow to edit Resource-Bundle without file format conversion
  ▪ Integrated into the dev tool landscape and process
  ▪ Assist cooperative translation work


                                                                      4
The TapiJI project - Timeline

06/2010 Starting work on TapiJI
10/2010 Sources are hosted on EclipseLabs
11/2010 Presenting I18N tools and RCP-based translation
         application at the DemoCamp in Vienna
02/2011 Article in the German Eclipse Magacine
06/2011 TapiJI provides an extensible architecture
11/2011 Presentation of new features at the DemoCamp in Vienna
08/2012 Finalized I18N refacotring support & RAP translator
10/2012 Contribution to the Eclipse Babel project
11/2012 Today‘s presentation




                                                              5
Architecture – Tool Suite

TapiJI Tool Suite
  ▪ Extends the Eclipse IDE with smart Internationalization helps
  ▪ Integrates with the existing Babel Messages Editor
  ▪ Assists developers during day-to-day coding work
  ▪ Provides an extensible architecture

                    Java ext.   RB ext.   JSF ext.    …

                         TapiJI Tools Core plug-ins


                           Editor Enhancements
                       Eclipse Babel Messages Editor


                                Eclipse IDE




                                                                    6
Architecture - Babel contribution

Parts have been contributed to the Eclipse Babel project:
  ▪ TapiJI specific enhancements of Messages Editor
  ▪ The Tool Suite‘s core plug-ins
  ▪ Java and RB extension plug-ins



                    Java ext.   RB ext.   JSF ext.    …

                         TapiJI Tools Core plug-ins


                           Editor Enhancements
                       Eclipse Babel Messages Editor


                                Eclipse IDE




                                                            7
Architecute – RCP/RAP Translator

TapiJI Translator
  ▪ Standalone application for translation of Java Resource-Bundles
  ▪ Implementation for multiple target platforms
      RCP based single-user translator
      RAP based translator for cooperative resource translation


                    RCP Translator        RAP Translator


                          TapiJI Generic Translator


                           Editor Enhancements
                       Eclipse Babel Messages Editor


                     Eclipse RCP           Eclipse RAP




                                                                   8
Outline



1   The TapiJI project

2   I18N Tool Suite

3   Stand-alone translation apps

4   Whats next / Future work

5   Links / References / Documentation




                                         9
I18N Tool Suite

Avoid typical problems of Java Internationalization
  ▪ Export of culture-neutral configuration strings
  ▪ Hard-coded UI literals
  ▪ Incomplete export of constant string literals


These problems are addressed by IDE-integrated assistance
  ▪ Present I18N tasks more transparent
  ▪ Highlight I18N errors
  ▪ Provide Quick Fix resolutions for reported problems
  ▪ Supports refactoring of resource keys




                                                          10
I18N Tool Suite

Refactoring support
  ▪ Refactoring of Resource Bundle keys
      Proposal Context menu of Resource Bundle view
      Context menu in Babel Messages editor
      Short cut


  ▪ Consistently modifies resource references


  ▪ Provides preview for inspecting refactoring changes


  ▪ Cal10n Refactoring support




                                                          11
Live Demo




            12
Openness

 Builder allows to register additional resource parsers



                        C     parse resources
                        O
Modified resource       R
 Modified resource
   Modified resource    E
    Modified resource
                        B
                                                Extension plug-in
                        U
                        I
                        L
                        D     Internationalization errors
                        E
                        R    Quick-fix resolutions




                                                                13
Outline



1   The TapiJI project

2   I18N Tool Suite

3   Stand-alone translation apps

4   Whats next / Future work

5   Links / References / Documentation




                                         14
TapiJI Translator

Assists translation personell


Stand-alone application for editing Resource-Bundles
without the knowledge of a programming language


Generic translator with two platform specific
implementations
  ▪ RCP based single-user translator
  ▪ RAP based multi-user translator




                                                       15
RCP Translator




                 16
RAP Translator

Additional features in contrast to RCP translator
  ▪ Web application
      No local installation required
      Always up-to-date
      Multiple users
  ▪ Upload & Download of Resource-Bundles
  ▪ Simple user management
  ▪ Resource-Bundles are stored and maintained on the server
  ▪ Each user has an overview of his bundles
  ▪ File sharing
      Simultaneous translation of Resource-Bundles




                                                               17
Live Demo




            18
Outline



1   The TapiJI project

2   I18N Tool Suite

3   Stand-alone translation apps

4   Whats next / Future work

5   Links / References / Documentation




                                         19
Future Enhancements


Internationalization workflow
  ▪ Development and Evaluation of a best practice I18N process
  ▪ Adapt tool suite for supporting the developed workflow


Mylyn integration
  ▪ Allow the creation of Internationalization tasks
  ▪ SCM/Diff integration to communicate change sets


Integration of mobile frameworks
  ▪ Allows the Internationalization of mobile Applications
  ▪ Planned for Android and iOS


                                                                 20
Future Enhancements


Cal10n Support
 ▪ Enhance Tool Suite with support for Compiler assisted L10N
 ▪ Resource keys are mapped to enum entries

RAP Translator enhancements
 ▪ Optional GIT integration for user and storage management
 ▪ Event-driven user notification




                                                                21
Questions & Answers




                      22
Outline



1   The TapiJI project

2   I18N Tool Suite

3   Stand-alone translation apps

4   Whats next / Future work

5   Links / References / Documentation




                                         23
Links / References / Documentation


Project page @EclipseLabs
  ▪ http://code.google.com/a/eclipselabs.org/p/tapiji/wiki/Overview
  ▪ Demo Video: http://www.youtube.com/watch?v=9gDQeeIR5eU
  ▪ User & development documentation:
    http://code.google.com/a/eclipselabs.org/p/tapiji/wiki/Overview


Project page @Babel
  ▪ http://www.eclipse.org/projects/project.php?id=technology.babel
  ▪ Messages Editor: http://www.eclipse.org/babel/messages_editor/




                                                                      24

More Related Content

What's hot

Introduction to domino_global_workbench_8.5
Introduction to domino_global_workbench_8.5Introduction to domino_global_workbench_8.5
Introduction to domino_global_workbench_8.5hepeiwei
 
Zarafa sc 2012_ogg
Zarafa sc 2012_oggZarafa sc 2012_ogg
Zarafa sc 2012_oggEmiel Brok
 
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zarafa
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarskyoscon2007
 
Building a Language Server for Eclipse MicroProfile
Building a Language Server for Eclipse MicroProfileBuilding a Language Server for Eclipse MicroProfile
Building a Language Server for Eclipse MicroProfileYK Chang
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayAlex Baitov
 
Translating Apereo Software: A Case Study using Sakai and Transifex
Translating Apereo Software:  A Case Study using Sakai and TransifexTranslating Apereo Software:  A Case Study using Sakai and Transifex
Translating Apereo Software: A Case Study using Sakai and Transifexyuji tokiwa
 
UI5 Tooling & Ecosystem
UI5 Tooling & EcosystemUI5 Tooling & Ecosystem
UI5 Tooling & EcosystemPeter Muessig
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project Managementbarakdanin
 
Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15Eric Foertsch
 
Programmatic Load of the Oracle Clinical Global Library
Programmatic Load of the Oracle Clinical Global LibraryProgrammatic Load of the Oracle Clinical Global Library
Programmatic Load of the Oracle Clinical Global LibraryPerficient
 
Julia vs Python 2020
Julia vs Python 2020Julia vs Python 2020
Julia vs Python 2020Devathon
 
Software development made serious
Software development made seriousSoftware development made serious
Software development made seriousDanilo Pianini
 
Building Good Containers for Python Applications
Building Good Containers for Python ApplicationsBuilding Good Containers for Python Applications
Building Good Containers for Python ApplicationsAll Things Open
 

What's hot (20)

Introduction to domino_global_workbench_8.5
Introduction to domino_global_workbench_8.5Introduction to domino_global_workbench_8.5
Introduction to domino_global_workbench_8.5
 
Zarafa sc 2012_ogg
Zarafa sc 2012_oggZarafa sc 2012_ogg
Zarafa sc 2012_ogg
 
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
 
Introduction to Kotlin
Introduction to KotlinIntroduction to Kotlin
Introduction to Kotlin
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
 
Building a Language Server for Eclipse MicroProfile
Building a Language Server for Eclipse MicroProfileBuilding a Language Server for Eclipse MicroProfile
Building a Language Server for Eclipse MicroProfile
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Since the release of c
Since the release of cSince the release of c
Since the release of c
 
Translating Apereo Software: A Case Study using Sakai and Transifex
Translating Apereo Software:  A Case Study using Sakai and TransifexTranslating Apereo Software:  A Case Study using Sakai and Transifex
Translating Apereo Software: A Case Study using Sakai and Transifex
 
UI5 Tooling & Ecosystem
UI5 Tooling & EcosystemUI5 Tooling & Ecosystem
UI5 Tooling & Ecosystem
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
 
Embarcadero RAD server Launch Webinar
Embarcadero RAD server Launch WebinarEmbarcadero RAD server Launch Webinar
Embarcadero RAD server Launch Webinar
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project Management
 
Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15
 
Programmatic Load of the Oracle Clinical Global Library
Programmatic Load of the Oracle Clinical Global LibraryProgrammatic Load of the Oracle Clinical Global Library
Programmatic Load of the Oracle Clinical Global Library
 
Julia vs Python 2020
Julia vs Python 2020Julia vs Python 2020
Julia vs Python 2020
 
Software development made serious
Software development made seriousSoftware development made serious
Software development made serious
 
LabDocumentation
LabDocumentationLabDocumentation
LabDocumentation
 
resume
resumeresume
resume
 
Building Good Containers for Python Applications
Building Good Containers for Python ApplicationsBuilding Good Containers for Python Applications
Building Good Containers for Python Applications
 

Viewers also liked

Viewers also liked (8)

The primary research pictures
The primary research pictures The primary research pictures
The primary research pictures
 
Lets Localize Your Plugins
Lets Localize Your PluginsLets Localize Your Plugins
Lets Localize Your Plugins
 
Evaluation 4
Evaluation 4 Evaluation 4
Evaluation 4
 
Horror sub genre locations pictures
Horror sub genre locations pictures Horror sub genre locations pictures
Horror sub genre locations pictures
 
Evaluation 3 3 3
Evaluation 3 3 3 Evaluation 3 3 3
Evaluation 3 3 3
 
Storyboard
Storyboard Storyboard
Storyboard
 
Machine Translation Tools webinar
Machine Translation Tools webinarMachine Translation Tools webinar
Machine Translation Tools webinar
 
Multilizer Enterprise - Quick Introduction
Multilizer Enterprise - Quick IntroductionMultilizer Enterprise - Quick Introduction
Multilizer Enterprise - Quick Introduction
 

Similar to Smart I18N assistance and resource translation tools

Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tychojsievers
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangriaJorge Morales
 
Internationalisation In Rails
Internationalisation In RailsInternationalisation In Rails
Internationalisation In RailsRishav Dixit
 
Flutter vs react native – from developer point
Flutter vs react native – from developer pointFlutter vs react native – from developer point
Flutter vs react native – from developer pointBOSC Tech Labs
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
 
The Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdfThe Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdfAppdeveloper10
 
Revamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupRevamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupMailjet
 
4.LanguageProcessors and language Processing Activities.pdf
4.LanguageProcessors and language Processing Activities.pdf4.LanguageProcessors and language Processing Activities.pdf
4.LanguageProcessors and language Processing Activities.pdfSwapnaliPawar27
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportAcquia
 
Programming tools for developers
Programming tools for developersProgramming tools for developers
Programming tools for developersBBVA API Market
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181Mahmoud Samir Fayed
 
15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend Development15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend DevelopmentYour Team in India
 
Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Flink Forward
 
Should you choose react native or swift for i os app development
Should you choose react native or swift for i os app development Should you choose react native or swift for i os app development
Should you choose react native or swift for i os app development MoonTechnolabsPvtLtd
 
Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenTycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenPascal Rapicault
 
Cloud Foundry at Rakuten
Cloud Foundry at RakutenCloud Foundry at Rakuten
Cloud Foundry at RakutenPlatform CF
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...Heiko Voigt
 

Similar to Smart I18N assistance and resource translation tools (20)

Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tycho
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangria
 
Internationalisation In Rails
Internationalisation In RailsInternationalisation In Rails
Internationalisation In Rails
 
Flutter vs react native – from developer point
Flutter vs react native – from developer pointFlutter vs react native – from developer point
Flutter vs react native – from developer point
 
OpenNTF Essentials
OpenNTF EssentialsOpenNTF Essentials
OpenNTF Essentials
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
The Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdfThe Best Python IDEs and Code Editors.pdf
The Best Python IDEs and Code Editors.pdf
 
Revamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupRevamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetup
 
4.LanguageProcessors and language Processing Activities.pdf
4.LanguageProcessors and language Processing Activities.pdf4.LanguageProcessors and language Processing Activities.pdf
4.LanguageProcessors and language Processing Activities.pdf
 
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual SupportDrupal 7 vs. Drupal 8: A Contrast of Multilingual Support
Drupal 7 vs. Drupal 8: A Contrast of Multilingual Support
 
Programming tools for developers
Programming tools for developersProgramming tools for developers
Programming tools for developers
 
Top 6 php framework
Top 6 php frameworkTop 6 php framework
Top 6 php framework
 
Sling IDE Tooling
Sling IDE ToolingSling IDE Tooling
Sling IDE Tooling
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181
 
15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend Development15 Top reasons to choose Java for Backend Development
15 Top reasons to choose Java for Backend Development
 
Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Should you choose react native or swift for i os app development
Should you choose react native or swift for i os app development Should you choose react native or swift for i os app development
Should you choose react native or swift for i os app development
 
Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenTycho - Building plug-ins with Maven
Tycho - Building plug-ins with Maven
 
Cloud Foundry at Rakuten
Cloud Foundry at RakutenCloud Foundry at Rakuten
Cloud Foundry at Rakuten
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
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
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"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...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
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
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Smart I18N assistance and resource translation tools

  • 1. TapiJI Smart I18N assistance and resource translation tools INSO - Industrial Software Institut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien
  • 2. Outline 1 The TapiJI project 2 I18N Tool Suite 3 Stand-alone translation apps 4 Whats next / Future work 5 Links / References / Documentation 2
  • 3. Outline 1 The TapiJI project 2 I18N Tool Suite 3 Stand-alone translation apps 4 Whats next / Future work 5 Links / References / Documentation 3
  • 4. The TapiJI project - Vision Make I18N more convenient for agile software development ▪ Consider I18N as integral part of initial development ▪ Reduce effort of corresponding tasks ▪ Reduce the risk of bugs in the initial translation ▪ Highlight missing Internationalizations and provide Quick Fixes Assist process of resource translation ▪ Provide application for resource translation ▪ Allow to edit Resource-Bundle without file format conversion ▪ Integrated into the dev tool landscape and process ▪ Assist cooperative translation work 4
  • 5. The TapiJI project - Timeline 06/2010 Starting work on TapiJI 10/2010 Sources are hosted on EclipseLabs 11/2010 Presenting I18N tools and RCP-based translation application at the DemoCamp in Vienna 02/2011 Article in the German Eclipse Magacine 06/2011 TapiJI provides an extensible architecture 11/2011 Presentation of new features at the DemoCamp in Vienna 08/2012 Finalized I18N refacotring support & RAP translator 10/2012 Contribution to the Eclipse Babel project 11/2012 Today‘s presentation 5
  • 6. Architecture – Tool Suite TapiJI Tool Suite ▪ Extends the Eclipse IDE with smart Internationalization helps ▪ Integrates with the existing Babel Messages Editor ▪ Assists developers during day-to-day coding work ▪ Provides an extensible architecture Java ext. RB ext. JSF ext. … TapiJI Tools Core plug-ins Editor Enhancements Eclipse Babel Messages Editor Eclipse IDE 6
  • 7. Architecture - Babel contribution Parts have been contributed to the Eclipse Babel project: ▪ TapiJI specific enhancements of Messages Editor ▪ The Tool Suite‘s core plug-ins ▪ Java and RB extension plug-ins Java ext. RB ext. JSF ext. … TapiJI Tools Core plug-ins Editor Enhancements Eclipse Babel Messages Editor Eclipse IDE 7
  • 8. Architecute – RCP/RAP Translator TapiJI Translator ▪ Standalone application for translation of Java Resource-Bundles ▪ Implementation for multiple target platforms  RCP based single-user translator  RAP based translator for cooperative resource translation RCP Translator RAP Translator TapiJI Generic Translator Editor Enhancements Eclipse Babel Messages Editor Eclipse RCP Eclipse RAP 8
  • 9. Outline 1 The TapiJI project 2 I18N Tool Suite 3 Stand-alone translation apps 4 Whats next / Future work 5 Links / References / Documentation 9
  • 10. I18N Tool Suite Avoid typical problems of Java Internationalization ▪ Export of culture-neutral configuration strings ▪ Hard-coded UI literals ▪ Incomplete export of constant string literals These problems are addressed by IDE-integrated assistance ▪ Present I18N tasks more transparent ▪ Highlight I18N errors ▪ Provide Quick Fix resolutions for reported problems ▪ Supports refactoring of resource keys 10
  • 11. I18N Tool Suite Refactoring support ▪ Refactoring of Resource Bundle keys  Proposal Context menu of Resource Bundle view  Context menu in Babel Messages editor  Short cut ▪ Consistently modifies resource references ▪ Provides preview for inspecting refactoring changes ▪ Cal10n Refactoring support 11
  • 12. Live Demo 12
  • 13. Openness Builder allows to register additional resource parsers C parse resources O Modified resource R Modified resource Modified resource E Modified resource B Extension plug-in U I L D Internationalization errors E R Quick-fix resolutions 13
  • 14. Outline 1 The TapiJI project 2 I18N Tool Suite 3 Stand-alone translation apps 4 Whats next / Future work 5 Links / References / Documentation 14
  • 15. TapiJI Translator Assists translation personell Stand-alone application for editing Resource-Bundles without the knowledge of a programming language Generic translator with two platform specific implementations ▪ RCP based single-user translator ▪ RAP based multi-user translator 15
  • 17. RAP Translator Additional features in contrast to RCP translator ▪ Web application  No local installation required  Always up-to-date  Multiple users ▪ Upload & Download of Resource-Bundles ▪ Simple user management ▪ Resource-Bundles are stored and maintained on the server ▪ Each user has an overview of his bundles ▪ File sharing  Simultaneous translation of Resource-Bundles 17
  • 18. Live Demo 18
  • 19. Outline 1 The TapiJI project 2 I18N Tool Suite 3 Stand-alone translation apps 4 Whats next / Future work 5 Links / References / Documentation 19
  • 20. Future Enhancements Internationalization workflow ▪ Development and Evaluation of a best practice I18N process ▪ Adapt tool suite for supporting the developed workflow Mylyn integration ▪ Allow the creation of Internationalization tasks ▪ SCM/Diff integration to communicate change sets Integration of mobile frameworks ▪ Allows the Internationalization of mobile Applications ▪ Planned for Android and iOS 20
  • 21. Future Enhancements Cal10n Support ▪ Enhance Tool Suite with support for Compiler assisted L10N ▪ Resource keys are mapped to enum entries RAP Translator enhancements ▪ Optional GIT integration for user and storage management ▪ Event-driven user notification 21
  • 23. Outline 1 The TapiJI project 2 I18N Tool Suite 3 Stand-alone translation apps 4 Whats next / Future work 5 Links / References / Documentation 23
  • 24. Links / References / Documentation Project page @EclipseLabs ▪ http://code.google.com/a/eclipselabs.org/p/tapiji/wiki/Overview ▪ Demo Video: http://www.youtube.com/watch?v=9gDQeeIR5eU ▪ User & development documentation: http://code.google.com/a/eclipselabs.org/p/tapiji/wiki/Overview Project page @Babel ▪ http://www.eclipse.org/projects/project.php?id=technology.babel ▪ Messages Editor: http://www.eclipse.org/babel/messages_editor/ 24