22
INSO - Industrial Software Institut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien Refactoring support and the TapiJI online Translator TapiJI

I18N refactoring support and the TapiJI online translator

Embed Size (px)

Citation preview

Page 1: I18N 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

Refactoring support and the TapiJI online Translator

TapiJI

Page 2: I18N refactoring support and the TapiJI online translator

2

Outline

Refactoring of resource references 2

Stand-alone translation tools 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 3: I18N refactoring support and the TapiJI online translator

3

Outline

Refactoring of resource references 2

Stand-alone translation tools 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 4: I18N refactoring support and the TapiJI online translator

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: I18N refactoring support and the TapiJI online translator

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

Eclipse IDE

TapiJI Tools Core plug-ins

Java ext. RB ext. … JSF ext.

Editor Enhancements

Eclipse Babel Messages Editor

Page 6: I18N refactoring support and the TapiJI online translator

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

Page 7: I18N refactoring support and the TapiJI online translator

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

Eclipse IDE

TapiJI Tools Core plug-ins

Java ext. RB ext. … JSF ext.

Editor Enhancements

Eclipse Babel Messages Editor

Page 8: I18N refactoring support and the TapiJI online translator

8

Outline

Refactoring of resource references 2

Stand-alone translation tools 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 9: I18N refactoring support and the TapiJI online translator

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

Page 10: I18N refactoring support and the TapiJI online translator

10

Refactoring support

Page 11: I18N refactoring support and the TapiJI online translator

11

Live Demo

Page 12: I18N refactoring support and the TapiJI online translator

12

Outline

Refactoring of resource references 2

Stand-alone translation tools 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 13: I18N refactoring support and the TapiJI online translator

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

Page 14: I18N refactoring support and the TapiJI online translator

14

RCP Translator

Page 15: I18N refactoring support and the TapiJI online translator

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

Page 16: I18N refactoring support and the TapiJI online translator

16

Live Demo

Page 17: I18N refactoring support and the TapiJI online translator

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

Page 18: I18N refactoring support and the TapiJI online translator

18

Outline

Refactoring of resource references 2

Stand-alone translation tools 3

Whats next / Future work 4

Links / References / Documentation 5

The TapiJI project 1

Page 19: I18N refactoring support and the TapiJI online translator

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

Page 20: I18N refactoring support and the TapiJI online translator

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

Page 21: I18N refactoring support and the TapiJI online translator

21

Questions & Answers

Page 22: I18N refactoring support and the TapiJI online translator

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/