With the aim of reducing the effort of Internationalization tasks, we developed IDE-integrated tools that allow handling of Internationalization as an integral part of day to day development work. Moreover, the process of resource translation is supported with a single-user RCP and multi-user RAP translation application. This session gives an overview of the TapiJI project as well as a live demo of the key features of the TapiJI tool suite and the RAP-based translation application.
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
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
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
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