24
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

Smart Internationalization assistance and resource translation tools

Embed Size (px)

Citation preview

Page 1: Smart Internationalization assistance and resource translation tools

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

Page 2: Smart Internationalization assistance and resource translation tools

2

Outline

I18N Tool Suite 2

Stand-alone translation apps 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 3: Smart Internationalization assistance and resource translation tools

3

Outline

I18N Tool Suite 2

Stand-alone translation apps 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 4: Smart Internationalization assistance and resource translation tools

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

Page 5: Smart Internationalization assistance and resource translation tools

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

Page 6: Smart Internationalization assistance and resource translation tools

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

Page 7: Smart Internationalization assistance and resource translation tools

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

Page 8: Smart Internationalization assistance and resource translation tools

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

Page 9: Smart Internationalization assistance and resource translation tools

9

Outline

I18N Tool Suite 2

Stand-alone translation apps 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 10: Smart Internationalization assistance and resource translation tools

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

Page 11: Smart Internationalization assistance and resource translation tools

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

Page 12: Smart Internationalization assistance and resource translation tools

12

Live Demo

Page 13: Smart Internationalization assistance and resource translation tools

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

Page 14: Smart Internationalization assistance and resource translation tools

14

Outline

I18N Tool Suite 2

Stand-alone translation apps 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 15: Smart Internationalization assistance and resource translation tools

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

Page 16: Smart Internationalization assistance and resource translation tools

16

RCP Translator

Page 17: Smart Internationalization assistance and resource translation tools

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

Page 18: Smart Internationalization assistance and resource translation tools

18

Live Demo

Page 19: Smart Internationalization assistance and resource translation tools

19

Outline

I18N Tool Suite 2

Stand-alone translation apps 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 20: Smart Internationalization assistance and resource translation tools

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

Page 21: Smart Internationalization assistance and resource translation tools

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

Page 22: Smart Internationalization assistance and resource translation tools

22

Questions & Answers

Page 23: Smart Internationalization assistance and resource translation tools

23

Outline

I18N Tool Suite 2

Stand-alone translation apps 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 24: Smart Internationalization assistance and resource translation tools

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/