Difference between revisions of "Internationalization SA project"
(old Internationalization page - copy/paste move because I don't have proper move permissions) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Projects]] | [[Category:Projects]] | ||
− | |||
[[Category:Internationalization SA project]] | [[Category:Internationalization SA project]] | ||
[[Image:ebabylon.png|right|frame| Our Eiffel Tower of Babylon]] | [[Image:ebabylon.png|right|frame| Our Eiffel Tower of Babylon]] | ||
Line 38: | Line 37: | ||
==M4: June 28 == | ==M4: June 28 == | ||
* internationalization of EiffelStudio: surround strings with our functions | * internationalization of EiffelStudio: surround strings with our functions | ||
− | * [[Internationalization/translation|translation]] of EiffelStudio in some languages, for demo purposes (Italian, German, Chinese, ...) (see [http://slhk.ath.cx/projects/estudio/ pootle]) | + | * [[Internationalization/translation|translation]] of EiffelStudio in some languages, for demo purposes (Italian, German, Chinese, ...) (see [http://slhk.ath.cx/projects/estudio/ pootle] ''Note: this is dead now -Leo'') |
* [[Internationalization/code_parser|code parser]]: extract strings to be translated from source code and generate .pot file ''(Leo)'' | * [[Internationalization/code_parser|code parser]]: extract strings to be translated from source code and generate .pot file ''(Leo)'' | ||
* language selection: add an entry in the preferences system | * language selection: add an entry in the preferences system | ||
Line 57: | Line 56: | ||
* [[Internationalization/requirements_specification|Requirements specification]] | * [[Internationalization/requirements_specification|Requirements specification]] | ||
− | * [[Internationalization/ | + | * [[Internationalization/SA_developer_manual|Developer manual]] |
* [[Internationalization/obstacles|Obstacles]]: why can't achieve all of our goals | * [[Internationalization/obstacles|Obstacles]]: why can't achieve all of our goals | ||
Latest revision as of 15:26, 15 August 2006
Contents
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.
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.
Milestones
M2: May 5
- feasibility: look at string classes (unicode and not) and how strings are used in EiffelStudio (creation, composition) (Ivano, Carlo, Leo, Hong)
- file format: compare existing file formats for dictionaries (Etienne, Andreas)
- tool evaluation: list and compare existing translation tools (Christian, Martino)
M3: June 13
- write an initial .po to start translating and have a .mo for testing (Leo, Carlo)
- mo parser: extract translated strings from .mo files (Etienne, Martino)
- translation function: map hard-coded strings to translated strings (Martino)
- find a solution with templates
- globality: how to implement, the object should be shared between all modules (see class structure)
- find out how to use plurals (see plural forms)
- Test unicode support in Vision2. [See test application in the SVN repository]
- compile a list of basic features to provide (e.g. date/time format, system locale) [deferred]
M4: June 28
- internationalization of EiffelStudio: surround strings with our functions
- translation of EiffelStudio in some languages, for demo purposes (Italian, German, Chinese, ...) (see pootle Note: this is dead now -Leo)
- code parser: extract strings to be translated from source code and generate .pot file (Leo)
- language selection: add an entry in the preferences system
- create a function to detect current environment language and settings (aka locale)
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)
- Compile a list of basic features to provide (e.g. date/time format, system locale) (deferred from M3)
Possible future developments
- collaborate with the ESWizard team. Create wizards for programs with translation facilities.
Documentation
- Requirements specification
- Developer manual
- Obstacles: why can't achieve all of our goals
l10n: completed and on the work
Language | Status |
---|---|
Arabic | Active |
Chinese | Active |
Italian | Active |
Rhaeto-Romanic | Active - Ready for use |
Relevant Links
What other people have done
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