SlideShare a Scribd company logo
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_ogg
Emiel 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
 
Introduction to Kotlin
Introduction to KotlinIntroduction to Kotlin
Introduction to Kotlin
T.M. Ishrak Hussain
 
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 MicroProfile
YK Chang
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
Alex 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 Transifex
yuji tokiwa
 
UI5 Tooling & Ecosystem
UI5 Tooling & EcosystemUI5 Tooling & Ecosystem
UI5 Tooling & Ecosystem
Peter 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 Tulach
PROIDEA
 
Embarcadero RAD server Launch Webinar
Embarcadero RAD server Launch WebinarEmbarcadero RAD server Launch Webinar
Embarcadero RAD server Launch Webinar
Embarcadero Technologies
 
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 2020
Devathon
 
Software development made serious
Software development made seriousSoftware development made serious
Software development made serious
Danilo Pianini
 
Building Good Containers for Python Applications
Building Good Containers for Python ApplicationsBuilding Good Containers for Python Applications
Building Good Containers for Python Applications
All 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

The primary research pictures
The primary research pictures The primary research pictures
The primary research pictures BesaAlili
 
Lets Localize Your Plugins
Lets Localize Your PluginsLets Localize Your Plugins
Lets Localize Your Plugins
guesta950cdd8d
 
Evaluation 4
Evaluation 4 Evaluation 4
Evaluation 4 BesaAlili
 
Horror sub genre locations pictures
Horror sub genre locations pictures Horror sub genre locations pictures
Horror sub genre locations pictures BesaAlili
 
Evaluation 3 3 3
Evaluation 3 3 3 Evaluation 3 3 3
Evaluation 3 3 3 BesaAlili
 
Multilizer Enterprise - Quick Introduction
Multilizer Enterprise - Quick IntroductionMultilizer Enterprise - Quick Introduction
Multilizer Enterprise - Quick Introduction
Multilizer
 

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 Internationalization 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 & sangria
Jorge Morales
 
Internationalisation In Rails
Internationalisation In RailsInternationalisation In Rails
Internationalisation In Rails
Rishav 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 point
BOSC Tech Labs
 
OpenNTF Essentials
OpenNTF EssentialsOpenNTF Essentials
OpenNTF Essentials
Christian Güdemann
 
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.pdf
Appdeveloper10
 
Revamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupRevamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetup
Mailjet
 
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
SwapnaliPawar27
 
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
Acquia
 
Programming tools for developers
Programming tools for developersProgramming tools for developers
Programming tools for developers
BBVA API Market
 
Top 6 php framework
Top 6 php frameworkTop 6 php framework
Top 6 php framework
Narola Infotech
 
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
Mahmoud 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 Development
Your 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 Maven
Pascal 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 Internationalization 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

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 

Smart Internationalization 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