Upload
martinreiterer
View
966
Download
4
Tags:
Embed Size (px)
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