Internationalization

Revision as of 06:15, 16 October 2006 by Leo (Talk | contribs)

Our Eiffel Tower of Babylon

Overview

"Many [people] would simply love seeing their computer screen showing a lot less of English, and far more of their own language." -- gettext doc

Our aim is not only to provide a framework to ease the translation of Eiffel-written applications, allowing the user to chose his/her preferred language at runtime, but also to let the developer access information and formats based on users' locale.

Brief history

Orginally the internationalisation (i18n) project was started as a required project for an ETH Software Architecture course. The result was less then perfect; pages referring to this first version have been given an 'SA' prefix. Some members of this SA project team decided to rewrite the library as a semester project. Pages on the wiki not prefixed with 'SA' are either applicable to both or to the semester project.

What is internationalisation?

The first thing that comes to mind is translation. But internationalisation isn't restricted to enabling translation: it includes making it possible to localise notations (time, date, numbers), measures, paper size, and much more.

What should we achieve?

  • Applications should be able to load localized strings at runtime and be provided with localized format strings (e.g date format).
  • Developers can use tools that automagically extract strings from source code and can try to get them translated in a file to distribute along with the application.
  • Users will still be unhappy and get depressed but in their own language, which we can all agree is a significant step forward.

Specific goals of the semester project

to be completed

Milestones

add milestones of semesterproject

Mx: ???

  • Write a summary of how POSIX locale information is stored
  • Write a summary of how NLS (Windows) locale infomation is stored
  • Write a summary of how .NET locale information is stored
  • Write a small summary of date and time classes in EiffelBase
  • Examine the .ts file format, notably plural form handling
  • Examine the .xliff file format, notably plural form handling (we did some of this already)
  • Enter classes & features into EiffelStudio so we have a starting point and a BON diagram
  • Sit down and think about the current class names. Some of them need improving.

M5: July ??

  • Refactoring of whole library
  • Use our library for EiffelStudio
  • Clean up Wiki and improve Developer manual
  • Add support for other aspects of localisation - dates, number format etc. (possibly we can defer this a bit)

Documentation

Relevant Links

Introduction to i18n

What other people have done

internationalisation with QT

howto for internationalisation of KDE programs

another KDE howto (doesn't Gnome do any internationalisation?)

Team

Everyone interested in this project is welcome to join our mailinglist es-i18n@origo.ethz.ch

Semester project


Old SA project team