23
T Tooling for a agile and p process i integrated J Java I Internationalization Stefan Strobl & Martin Reiterer Research Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Embed Size (px)

DESCRIPTION

Our talk at the Eclipse DemoCamp.

Citation preview

Page 1: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

TTooling for aagile and pprocess iintegrated JJava

IInternationalization

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 2: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

1. Mission

2. What is Internationalization

3. Problems in practice

4. Our solution

5. Roadmap of future tasks

6. Involving the community

Outline

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 3: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

We aim to make the concept of Java Internationalization more convenient

for agile software development projects.

Mission

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 4: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Concept for building multilingual software:

– Separate culture-sensitive content

– Culture-sensitive resources are provided in multiple translations

Internationalization

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 5: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Results in one single version of software:

– Reduces effort of maintainance, support and evolution

– That can dynamically adopt its output language

– Support for new cultural regions can be added by plugging in new resource translations.

Why Internationalization?

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 6: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Problems in Practice

1. Internationalization increases the complexity of development and the resulting product

2. Requires well-founded knowledge of cultural differences

3. Needs to be lived by the entire development team

4. It‘s hard to keep language specific artifacts up-to-date

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 7: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Typical Faults 1/3

Hard coded constant string literals within source code

Translation requires source code changes. Only one language per version of the source file possible

constant string literal

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 8: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Typical Faults 2/3

Reuse externalized string literals in different contexts

Meaning of phrases depends on contextual information

Example:to focus to concentrate to focus to zoom in on sth.

Typically, it‘s hard/impossible to find a translation that covers all contexts!

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 9: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Incomplete Internationalization of program sections

High effort in refactoring! Hard to detect through testing.

Typical Faults 3/3

constant literal

externalized literal

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 10: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

The Vision

Address previously described problems

Provide assistance for Internationalization

Make it easier to handle

Increase the quality of the product

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 11: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

TapiJI

Productive environment integrated in the Java IDE

Offers context-sensitive and interactive assistence

No additional framework required

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 12: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

The Architecture

TapiJI Core

TapiJI ToolsEclipse PDE based Tooling

TapiJI TranslatorEclipse RCP Application

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 13: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

TapiJI Core

TapiJI Core:1. Resource auditing2. Detection of broken Internationalizations3. Resource-Bundle management

Core

Tools Translator

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 14: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

On-the-fly coding assistance:1. Auto-completion of Resource-Bundle keys

TapiJI Tools

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Core

Tools Translator

Page 15: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

On-the-fly coding assistance:2. In-code inspection/browsing of Resource Bundles

TapiJI Tools

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Core

Tools Translator

Page 16: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

TapiJI Tools

On-the-fly coding assistance:3. Reporting of broken Internationalizations4. Quick-fixes for addressing these problems

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Core

Tools Translator

Page 17: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

TapiJI Tools

Resource Bundle View:– Browsing– Searching / Fuzzy matching

Core

Tools Translator

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 18: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

TapiJI Tools

Extended version of the Essiembre1 Resource-Bundle editor

Core

Tools Translator

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

1) http://eclipse-rbe.sourceforge.net

Page 19: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

TapiJI Translator

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Core

Tools Translator

Page 20: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Roadmap

Replacing the current Resource-Bundle editor Licence TapiJI under Eclipse Public License (EPL)

Increase openness and extensability for– Easily enhancing support for new editors– Add new context-sensitive smart helps

Involving the community for:– Getting feedback about the current work– Cooperatively working on new ideas

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 21: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Involving the Community

Open sourcing and hosting at EclipseLabs

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

http://code.google.com/a/eclipselabs.org/p/tapiji/

Page 22: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Involving the Community

Hopefully we will meet at the EclipseCon 2011

Publicity within the community

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology

Page 23: TapiJI on the Eclipse DemoCamp Vienna (November 2010)

The end

Thank you for your attention!

Stefan Strobl & Martin ReitererResearch Group for Industrial Software (INSO) | Faculty of Informatics | Vienna University of Technology