• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
I18N refactoring support and the TapiJI online translator
 

I18N refactoring support and the TapiJI online translator

on

  • 416 views

 

Statistics

Views

Total Views
416
Views on SlideShare
416
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    I18N refactoring support and the TapiJI online translator I18N refactoring support and the TapiJI online translator Presentation Transcript

    • TapiJIRefactoring support and the TapiJI online Translator INSO - Industrial Software Institut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien
    • Outline1 The TapiJI project2 Refactoring of resource references3 Stand-alone translation tools4 Whats next / Future work5 Links / References / Documentation 2
    • Outline1 The TapiJI project2 Refactoring of resource references3 Stand-alone translation tools4 Whats next / Future work5 Links / References / Documentation 3
    • The TapiJI project - VisionMake 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 FixesAssist 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 4
    • TapiJI Tool SuiteArchitecture ▪ 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 Java ext. RB ext. JSF ext. … TapiJI Tools Core plug-ins Editor Enhancements Eclipse Babel Messages Editor Eclipse IDE 5
    • TapiJI Tool SuiteFeature 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 6
    • TapiJI Tool Suite - Babel contributionParts 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 Java ext. RB ext. JSF ext. … TapiJI Tools Core plug-ins Editor Enhancements Eclipse Babel Messages Editor Eclipse IDE 7
    • Outline1 The TapiJI project2 Refactoring of resource references3 Stand-alone translation tools4 Whats next / Future work5 Links / References / Documentation 8
    • Refactoring supportRefactoring of Resource Bundle keys ▪ Proposal Context menu of Resource Bundle view ▪ Context menu in Babel Messages editor ▪ Short cutFeatures ▪ Consistently modifies resource references ▪ Provides preview for inspecting refactoring changes ▪ Cal10n Refactoring support ▪ Abstract Syntax Tree (AST) & Visitor pattern 9
    • Refactoring support 10
    • Live Demo 11
    • Outline1 The TapiJI project2 Refactoring of resource references3 Stand-alone translation tools4 Whats next / Future work5 Links / References / Documentation 12
    • TapiJI TranslatorAssists translation personellStand-alone application for editing Resource-Bundleswithout the knowledge of a programming languageGeneric translator with two platform specificimplementations ▪ RCP based single-user translator ▪ RAP based multi-user translator 13
    • RCP Translator 14
    • RAP TranslatorAdditional 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 15
    • Live Demo 16
    • RAP TranslatorStorage 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 resourcesExample 17
    • Outline1 The TapiJI project2 Refactoring of resource references3 Stand-alone translation tools4 Whats next / Future work5 Links / References / Documentation 18
    • Future EnhancementsInternationalization workflow ▪ Development and Evaluation of a best practice I18N process ▪ Adapt tool suite for supporting the developed workflowMylyn integration ▪ Allow the creation of Internationalization tasks ▪ SCM/Diff integration to communicate change setsIntegration of mobile frameworks ▪ Allows the Internationalization of mobile Applications ▪ Planned for Android and iOS 19
    • Future EnhancementsCal10n Support ▪ Enhance Tool Suite with support for Compiler assisted L10N ▪ Resource keys are mapped to enum valuesIntegration 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 20
    • Questions & Answers 21
    • Links / References / DocumentationProject 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/OverviewProject page @Babel ▪ http://www.eclipse.org/projects/project.php?id=technology.babel ▪ Messages Editor: http://www.eclipse.org/babel/messages_editor/ 22