At present we are using ISO 639-1 to identify the languages. Here is a list of correspondences between different coding conventions.

In GNU informations on current locale are stored in LC_* environment variables. This may explain how a locale is defined.

(these notes should be added to the article) --Carlo 00:30, 19 June 2006 (CEST)

Feel free to add them to the article.

About the conversion that we need to do: do we have to build an entire structure and copy all of these win codes and corresponding ISO codes or we simply add a couple of them (like english, italian, german, french and chinese)?

About the codes: I don't think it's sufficient to take only the language part... especially because there are languages that uses different scripts (info found on SortID for windows) and regional differences in the format (in the end we are not only translating eiffel... the objective is i18n and in this there are numeric formats and date formats too)

just to be clear: "it" is not sufficient, we need "it_ch" to have complete information


My suggestion is to design a scalable structure, insert the codes and informations that we need now and let the opportunity to easily add other later on. (e.g. an hash_table of objects, each one representing a code with the related properties)
Sure we need more than just the language code, but for now it's enough to extract it (split language/nation where both available, codesets). On Linux locale (source) data are found at /usr/share/i18n/locales/ but parsing such information is, at present, out of our concern. --Carlo 23:23, 22 June 2006 (CEST)

There is already a feature in eiffel that gets the environment variables, it's called get (in class EXECUTION_ENVIRONMENT)
There is a big problem on windows with the macro (at least on my laptop):
if I run the program step by step eiffel crashes when it arrives at the macro
if I run it with a simple launch command it gives out this error: "Code: 12 (Operating system signal.) Tag: Segmentation violation" and eiffel crashes when it arrives at the print instruction I inserted