TapiJI on the Eclipse DemoCamp Vienna (November 2010)

Preview:

DESCRIPTION

Our talk at the Eclipse DemoCamp.

Citation preview

TTooling for aagile and pprocess iintegrated JJava

IInternationalization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TapiJI Translator

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

Core

Tools Translator

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

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/

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

The end

Thank you for your attention!

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

Recommended