SlideShare a Scribd company logo
1 of 22
Download to read offline
TapiJI
Refactoring support and the TapiJI online Translator




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



1   The TapiJI project

2   Refactoring of resource references

3   Stand-alone translation tools

4   Whats next / Future work

5   Links / References / Documentation




                                         2
Outline



1   The TapiJI project

2   Refactoring of resource references

3   Stand-alone translation tools

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
TapiJI Tool Suite

Architecture
  ▪ 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




                                                                    5
TapiJI Tool Suite

Feature overview
  ▪ Reporting of I18N problems
  ▪ Quick Fix support for semi-automatically resolving reported
    problems
  ▪ Marking configuration strings with NON-NLS comments
  ▪ Generation of Resource Bundle references
  ▪ Live preview of resource definitions
  ▪ Refactoring support for Resource Bundle references
  ▪ Resource Bundle view/explorer




                                                                  6
TapiJI Tool Suite - Babel contribution

Parts 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
Outline



1   The TapiJI project

2   Refactoring of resource references

3   Stand-alone translation tools

4   Whats next / Future work

5   Links / References / Documentation




                                         8
Refactoring support

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


Features
  ▪ Consistently modifies resource references
  ▪ Provides preview for inspecting refactoring changes
  ▪ Cal10n Refactoring support
  ▪ Abstract Syntax Tree (AST) & Visitor pattern




                                                          9
Refactoring support




                      10
Live Demo




            11
Outline



1   The TapiJI project

2   Refactoring of resource references

3   Stand-alone translation tools

4   Whats next / Future work

5   Links / References / Documentation




                                         12
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




                                                       13
RCP Translator




                 14
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




                                                               15
Live Demo




            16
RAP Translator

Storage Management
  ▪ Eclipse workspace used as storage location
  ▪ Each user has his own project
     User projects (name == username)
     Temporary projects (name == session id)
  ▪ Resource Bundles are stored as project resources


Example




                                                       17
Outline



1   The TapiJI project

2   Refactoring of resource references

3   Stand-alone translation tools

4   Whats next / Future work

5   Links / References / Documentation




                                         18
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


                                                                 19
Future Enhancements


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

Integration of message and number formatters
 ▪ Use ICU4J provided features for encoding and formatting
 ▪ Enables target language specific formatting of messages,
   numbers, currency, …

RAP Translator enhancements
 ▪ Optional GIT integration for user and storage management
 ▪ Translation glossary
 ▪ Event-driven user notification
                                                                20
Questions & Answers




                      21
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/




                                                                      22

More Related Content

What's hot

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
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
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
 
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...ZendCon
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
UI5 Tooling - Open and Extensible
UI5 Tooling - Open and ExtensibleUI5 Tooling - Open and Extensible
UI5 Tooling - Open and ExtensiblePeter Muessig
 
Developing a mobile cross-platform library
Developing a mobile cross-platform libraryDeveloping a mobile cross-platform library
Developing a mobile cross-platform libraryKostis Dadamis
 
UI5conBE 2020 - Keynote
UI5conBE 2020 - KeynoteUI5conBE 2020 - Keynote
UI5conBE 2020 - KeynotePeter Muessig
 
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
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarskyoscon2007
 
White Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository ManagementWhite Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository ManagementSonatype
 
#JavaOne What's in an object?
#JavaOne What's in an object?#JavaOne What's in an object?
#JavaOne What's in an object?Charlie Gracie
 
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
 
TAUS USER CONFERENCE 2010, Collaborative Translation Platform
TAUS USER CONFERENCE 2010, Collaborative Translation PlatformTAUS USER CONFERENCE 2010, Collaborative Translation Platform
TAUS USER CONFERENCE 2010, Collaborative Translation PlatformTAUS - The Language Data Network
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowDmitry Kornilov
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentBrad Rippe
 
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseRalf Sternberg
 
The Open eHealth Integration Platform
The Open eHealth Integration PlatformThe Open eHealth Integration Platform
The Open eHealth Integration Platformkrasserm
 

What's hot (20)

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...
 
Top 6 php framework
Top 6 php frameworkTop 6 php framework
Top 6 php framework
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
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
 
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
UI5 Tooling - Open and Extensible
UI5 Tooling - Open and ExtensibleUI5 Tooling - Open and Extensible
UI5 Tooling - Open and Extensible
 
Developing a mobile cross-platform library
Developing a mobile cross-platform libraryDeveloping a mobile cross-platform library
Developing a mobile cross-platform library
 
UI5conBE 2020 - Keynote
UI5conBE 2020 - KeynoteUI5conBE 2020 - Keynote
UI5conBE 2020 - Keynote
 
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
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
 
White Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository ManagementWhite Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository Management
 
#JavaOne What's in an object?
#JavaOne What's in an object?#JavaOne What's in an object?
#JavaOne What's in an object?
 
Real World Technologies
Real World TechnologiesReal World Technologies
Real World Technologies
 
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
 
TAUS USER CONFERENCE 2010, Collaborative Translation Platform
TAUS USER CONFERENCE 2010, Collaborative Translation PlatformTAUS USER CONFERENCE 2010, Collaborative Translation Platform
TAUS USER CONFERENCE 2010, Collaborative Translation Platform
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 Development
 
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
 
The Open eHealth Integration Platform
The Open eHealth Integration PlatformThe Open eHealth Integration Platform
The Open eHealth Integration Platform
 

Viewers also liked

Viewers also liked (8)

Lets Localize Your Plugins
Lets Localize Your PluginsLets Localize Your Plugins
Lets Localize Your Plugins
 
Storyboard
Storyboard Storyboard
Storyboard
 
The primary research pictures
The primary research pictures The primary research pictures
The primary research pictures
 
Evaluation 3 3 3
Evaluation 3 3 3 Evaluation 3 3 3
Evaluation 3 3 3
 
Horror sub genre locations pictures
Horror sub genre locations pictures Horror sub genre locations pictures
Horror sub genre locations pictures
 
Evaluation 4
Evaluation 4 Evaluation 4
Evaluation 4
 
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 I18N refactoring support and the TapiJI online translator

Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenTycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenPascal Rapicault
 
Revamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupRevamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupMailjet
 
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
 
Tiki Addons
Tiki AddonsTiki Addons
Tiki Addonsnkoth
 
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
 
Tadpole DB Hub for Altibase
Tadpole DB Hub for AltibaseTadpole DB Hub for Altibase
Tadpole DB Hub for AltibaseSunyoung Han
 
Cloud Foundry at Rakuten
Cloud Foundry at RakutenCloud Foundry at Rakuten
Cloud Foundry at RakutenPlatform CF
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
Kibana globalization at the RTP meetup
Kibana globalization at the RTP meetupKibana globalization at the RTP meetup
Kibana globalization at the RTP meetupShikha Srivastava
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)yalini97
 
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
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayAlex Baitov
 
[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework Project
[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework Project[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework Project
[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework ProjectRakuten Group, Inc.
 
Resume_2016Aug
Resume_2016AugResume_2016Aug
Resume_2016AugI-Fan Chu
 
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
 
Writing Services with ZF2
Writing Services with ZF2Writing Services with ZF2
Writing Services with ZF2Mike Willbanks
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source ContributionsNeev Technologies
 

Similar to I18N refactoring support and the TapiJI online translator (20)

Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenTycho - Building plug-ins with Maven
Tycho - Building plug-ins with Maven
 
Revamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetupRevamping Mailjet API documentation @ ParisAPI meetup
Revamping Mailjet API documentation @ ParisAPI meetup
 
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
 
Tiki Addons
Tiki AddonsTiki Addons
Tiki Addons
 
Sling IDE Tooling
Sling IDE ToolingSling IDE Tooling
Sling IDE Tooling
 
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
 
Technical Publication Process
Technical Publication ProcessTechnical Publication Process
Technical Publication Process
 
Tadpole DB Hub for Altibase
Tadpole DB Hub for AltibaseTadpole DB Hub for Altibase
Tadpole DB Hub for Altibase
 
Cloud Foundry at Rakuten
Cloud Foundry at RakutenCloud Foundry at Rakuten
Cloud Foundry at Rakuten
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Kibana globalization at the RTP meetup
Kibana globalization at the RTP meetupKibana globalization at the RTP meetup
Kibana globalization at the RTP meetup
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
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
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework Project
[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework Project[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework Project
[Rakuten TechConf2014] [E-4] Rakuten Front-end Framework Project
 
Resume_2016Aug
Resume_2016AugResume_2016Aug
Resume_2016Aug
 
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...
 
Writing Services with ZF2
Writing Services with ZF2Writing Services with ZF2
Writing Services with ZF2
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
 

I18N refactoring support and the TapiJI online translator

  • 1. TapiJI Refactoring support and the TapiJI online Translator 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 Refactoring of resource references 3 Stand-alone translation tools 4 Whats next / Future work 5 Links / References / Documentation 2
  • 3. Outline 1 The TapiJI project 2 Refactoring of resource references 3 Stand-alone translation tools 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. TapiJI Tool Suite Architecture ▪ 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 5
  • 6. TapiJI Tool Suite Feature overview ▪ Reporting of I18N problems ▪ Quick Fix support for semi-automatically resolving reported problems ▪ Marking configuration strings with NON-NLS comments ▪ Generation of Resource Bundle references ▪ Live preview of resource definitions ▪ Refactoring support for Resource Bundle references ▪ Resource Bundle view/explorer 6
  • 7. TapiJI Tool Suite - Babel contribution Parts 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. Outline 1 The TapiJI project 2 Refactoring of resource references 3 Stand-alone translation tools 4 Whats next / Future work 5 Links / References / Documentation 8
  • 9. Refactoring support Refactoring of Resource Bundle keys ▪ Proposal Context menu of Resource Bundle view ▪ Context menu in Babel Messages editor ▪ Short cut Features ▪ Consistently modifies resource references ▪ Provides preview for inspecting refactoring changes ▪ Cal10n Refactoring support ▪ Abstract Syntax Tree (AST) & Visitor pattern 9
  • 11. Live Demo 11
  • 12. Outline 1 The TapiJI project 2 Refactoring of resource references 3 Stand-alone translation tools 4 Whats next / Future work 5 Links / References / Documentation 12
  • 13. 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 13
  • 15. 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 15
  • 16. Live Demo 16
  • 17. RAP Translator Storage Management ▪ Eclipse workspace used as storage location ▪ Each user has his own project  User projects (name == username)  Temporary projects (name == session id) ▪ Resource Bundles are stored as project resources Example 17
  • 18. Outline 1 The TapiJI project 2 Refactoring of resource references 3 Stand-alone translation tools 4 Whats next / Future work 5 Links / References / Documentation 18
  • 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 19
  • 20. Future Enhancements Cal10n Support ▪ Enhance Tool Suite with support for Compiler assisted L10N ▪ Resource keys are mapped to enum values Integration of message and number formatters ▪ Use ICU4J provided features for encoding and formatting ▪ Enables target language specific formatting of messages, numbers, currency, … RAP Translator enhancements ▪ Optional GIT integration for user and storage management ▪ Translation glossary ▪ Event-driven user notification 20
  • 22. 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/ 22