Internationalizing Eiffel

Revision as of 09:34, 30 May 2007 by Manus (Talk | contribs) (Added category)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The I18n library has been written for internationalizing Eiffel applications. Eiffel Studio, itself an Eiffel application, has been internationalized. What next?

I propose internationalization of the Eiffel language itself. A first step in this direction has been taken by the ISO standard, where letters, which are part of the constituent of Eiffel identifiers, may now be any Unicode letter. A second step would be to extend numerals to include any set of Unicode decimal digits (with the proviso that a given numeric literal be confined to having all constituents taken from the same set).

The third, and vital step, need not be in the standard itself (at least for now). What I propose is having non-English languages versions of Eiffel, with automatic translations between them, and semi-automatic translation of entire libraries.

The benefits are potentially enormous. I am talking of 100,000 new Eiffel programmers.

Let us take China (as the obvious example of where these new Eiffel programmers might be found). At present, a Chinese computer programmer has the choices of mastering English sufficiently well to use English-based languages (such as Eiffel, C, C++, Java, C#, Haskell, etc. etc. etc.), or a Chinese-based computer language (I know of none, but that's because I can't read Chinese). I have know idea of what the situation in China is actually like in this respect (comments invited from those in the know, please).

By providing a Chinese-language version of Eiffel, with automatic translations between the two languages, we provide a third radical choice, with mutual advantages all round. Here is how I envision it:

First, a committee of bi-lingual Eiffel programmers would agree Chinese translations of the Eiffel keywords, and the standard library feature names (item, put, extend, etc.). Then Eiffel tools can translate automatically between the two. This provides a start. For full effect, we need to be able to translate variable names and comment text. I think an off-the-shelf automatic translation tool could be employed here. My experience of web pages being translated automatically is that they do well enough. I think this approach will be safe when the two languages use completely different scripts, as is the case with English and Chinese. I think it might be more problematic between two languages both using the Latin script.

There is no guarantee that doing this will bring in hordes of new Eiffel programmers, but I would have thought it was worth a try.