Babel

The project has been created. Please visit the project page.

Introduction

The Eclipse Babel Project is a proposed open source project under the Eclipse Technology Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.babel newsgroup.

Background

Eclipse is a global community. It is in everyone’s interest to ensure that Eclipse is available and translated in as many locales as possible. We are proposing a set of tools to make the job of globalizing Eclipse projects easier. We also want to provide ways for people world wide, who are interested, to contribute translations in their language of choice.

Description

IBM and BEA are jointly proposing a globalization project at Eclipse. The project will include tools and activities that are needed to adapt the Eclipse deliverables to properly run in multiple locales and to translate selected Eclipse projects into multiple different languages (French, Japanese, German, etc). The project could include tools to aid in the following areas: Enablement testing (E.g. can the software run in different language environments and handle multiple scripts, etc.), translatability testing (is it ready for translation?), preparation for translation (preparation of resource bundles), Translation testing (Is the translation acceptable?), etc.

Scope

Software globalization is more than just translating strings! The following are the potential features for the Eclipse Babel Project:

Stream line the creation of National Language (NL) fragments

  • JDT Editor currently has the function to globalize strings in Java programs. PDE also has the ability to create NL fragment project for any plug-in project. However, the two functions are not very well streamlined together. Eclipse Babel Project will better integrate the functions together to make it easier for programmers to create the NL fragment project for the plug-in project they are working on.

Translation File Preparation Tools

  • Validate syntax of resource bundle files
    • to list a few common Java resource bundle files syntax problems: missing "=" in Java resource bundle files, missing continuation chars, hard-coded font in html files (hard-coded font may not be available in other locales)
  • Spell check resource bundle files
    • spell checked resource bundle files will improve software quality and reduce translation questions
  • Add translation instructions
    • need ability to add translation instructions. For example, instructions telling translators not to translate certain keywords
  • Mark non-translatable strings or files
    • need ability to mark certain strings or files to be non-translatable
  • Indicate single and double quote handling
    • depending on whether the strings would be processed by Java MessageFormat class, quotes may need to be duplicated in order to be displayed correctly

Globalization Enablement Test Tools

  • pseudo translation generation tool for testing layout, encoding, and unexternalized strings
  • find the enablement problems that hinder translations

Translation Tools

  • host the translation files on server
  • allow contributors to translate strings in translation files
  • allow contributors to search the translation repository for common translated terms
  • protect keys, non-translatable strings and files
  • committers review and release translation files back to repository
  • build NL fragments

Translation Verification Tools

  • display and check if the translation make sense in the context of the use case
  • display and check if the translations are consistent from project to project

Organization

The work of the Eclipse Babel Project can be organized under 2 broad umbrellas:
  1. A community and process framework via which translations to existing components of the platform can be contributed and organized into the production of localized releases. This infrastructure would allow various interested and capable parties to contribute translations for different parts of different components, and define a process by which those translations are verified, approved merged, and ultimately delivered in a localized release.
  2. Technology (tools and features both standalone and incorporated into other projects) which ensures that the ongoing development of the Eclipse Platform results in artifacts that are easily localized.

Project Mentors

  • Richard Gronback, Borland
  • John Graham, Sybase

Proposed Initial Committers

The following companies will contribute initial committers to get the project started:

We welcome additional committers to the project.

Interested Parties

IBM and BEA, as the submitter of this proposal, welcomes interested parties to post to the newsgroup and ask to be added to the list as interested parties or to suggest changes to this document. A number of companies have expressed interest in the project and/or its components thus far. This list will be updated periodically to reflect the growing interest in this project:

Code Contributions

Aptana will contribute localization tools to start the project.

Tentative Plan

The details of the development/release plan will depend upon the level of participation, as well as the composition of the contributors. IBM is currently working with BEA on the target features for the Eclipse Babel Project. A development/release plan will be provided when it becomes available. Current plan is to deliver localized versions of the Europa platform release in several major languages in the future.