Upload
mreiterer
View
485
Download
0
Tags:
Embed Size (px)
Citation preview
INSO - Industrial Software
Institut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien
Smart I18N assistance and resource translation tools
TapiJI
2
Outline
I18N Tool Suite 2
Stand-alone translation apps 3
Whats next / Future work 4
Links / References / Documentation 5
The TapiJI project 1
3
Outline
I18N Tool Suite 2
Stand-alone translation apps 3
Whats next / Future work 4
Links / References / Documentation 5
The TapiJI project 1
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
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
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
Eclipse IDE
TapiJI Tools Core plug-ins
Java ext. RB ext. … JSF ext.
Editor Enhancements
Eclipse Babel Messages Editor
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
Eclipse IDE
TapiJI Tools Core plug-ins
Java ext. RB ext. … JSF ext.
Editor Enhancements
Eclipse Babel Messages Editor
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
Eclipse RCP Eclipse RAP
TapiJI Generic Translator
Editor Enhancements
Eclipse Babel Messages Editor
RCP Translator RAP Translator
9
Outline
I18N Tool Suite 2
Stand-alone translation apps 3
Whats next / Future work 4
Links / References / Documentation 5
The TapiJI project 1
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
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
12
Live Demo
13
Openness
Builder allows to register additional resource parsers
C
O
R
E
B
U
I
L
D
E
R
Modified resource Modified resource Modified resource Modified resource
Extension plug-in
parse resources
Internationalization errors
Quick-fix resolutions
14
Outline
I18N Tool Suite 2
Stand-alone translation apps 3
Whats next / Future work 4
Links / References / Documentation 5
The TapiJI project 1
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
16
RCP Translator
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
18
Live Demo
19
Outline
I18N Tool Suite 2
Stand-alone translation apps 3
Whats next / Future work 4
Links / References / Documentation 5
The TapiJI project 1
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
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
22
Questions & Answers
23
Outline
I18N Tool Suite 2
Stand-alone translation apps 3
Whats next / Future work 4
Links / References / Documentation 5
The TapiJI project 1
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/