From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id JAA26274 for caml-redistribution@pauillac.inria.fr; Fri, 12 Nov 1999 09:59:28 +0100 (MET) Resent-Message-Id: <199911120859.JAA26274@pauillac.inria.fr> Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id WAA20060 for ; Tue, 9 Nov 1999 22:45:15 +0100 (MET) Received: from enst.enst.fr (enst.enst.fr [137.194.2.16]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id WAA15948 for ; Tue, 9 Nov 1999 22:45:13 +0100 (MET) Received: from email.enst.fr (muse.enst.fr [137.194.2.33]) by enst.enst.fr (8.9.1a/8.9.1) with ESMTP id WAA04245 for ; Tue, 9 Nov 1999 22:45:12 +0100 (MET) Received: from galois.enst.fr (galois.enst.fr [137.194.34.110]) by email.enst.fr (8.9.3/8.9.3) with ESMTP id WAA26383 for ; Tue, 9 Nov 1999 22:45:12 +0100 (MET) Received: from localhost (debourse@localhost) by galois.enst.fr (8.8.8+Sun/8.8.8) with SMTP id WAA09401 for ; Tue, 9 Nov 1999 22:45:12 +0100 (MET) X-Authentication-Warning: galois.enst.fr: debourse owned process doing -bs Date: Tue, 9 Nov 1999 22:45:11 +0100 (MET) From: Benoit de Boursetty X-Sender: debourse@galois.enst.fr Reply-To: Benoit.de-Boursetty@polytechnique.org To: caml-list@inria.fr Subject: I18n again (oh no, not that guy again!) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Content-Transfer-Encoding: QUOTED-PRINTABLE Resent-From: weis@pauillac.inria.fr Resent-Date: Fri, 12 Nov 1999 09:59:28 +0100 Resent-To: caml-redistribution@pauillac.inria.fr =09Hi, =09This message first announces a webpage in French for the two *very*little* tools that I have written recently in OCaML: - a library for raw PPM/PGM image files I/O - a parser and pretty-printer for O'CaML with keywords in French. =09Both are available at: http://www.stud.enst.fr/~debourse/caml_fr.html (French) http://www.stud.enst.fr/~debourse/caml.html =09Collisions between keywords and user-defined bindings may occur during translations. An escape mechanism exists for printing (a value called "let" will be printed out as "let__"). Currently, no unescape mechanism exists (the __ tail is not removed) for parsing. =09Second, I must acknowledge that what I did, localizing the O'CaML parser for the French language, is not very useful because keywords are not really English, they are symbols that are used verbosely in every country. Like, one could say, the sum character (cap. sigma) in math is not really Greek, and certainly nobody wants to write sums with a Roman "S". (*) =09However, it seems to me everybody likes to have identifiers in their native language. And whenever you find you have done something valuable and want to share it with the community, you start translating identifiers / type constructors / etc. that appear in the interface. But if it has already occured to you, you must know it's not really simple: you also have to translate *every occurence* of such identifiers /... in your implementation file. And if you want to give away the compiled module but not the source, you must do the translation work alone. =09Most modern GUI toolkits allow localization. Well, my point is that the 'I' in GUI stands for Interface, so a modern module Interface should also provide the same functionality. Like for GUIs, localizing wouldn't require that translaters have the code of the implementation. I don't know how to do it best, but don't you think it could be useful? Haven't some people here experienced the painful search/replace loops when translating a piece of code? =09Best regards =09Beno=EEt de Boursetty. (*) ...and this was one of P. Weis' contradictions to my proposition. =09Still, I have noticed that all of the French profs in CS whom I had the priviledge to learn from are *very much* used to writing algorithms in what is called "pseudo-code" at board. The only difference with O'CaML code being only that keywords are in French... So with the parser I wrote they'd be able to write almost direct "pseudo-code" into O'CaML. =09So there's a little paradox: we use a "globally consensual" language for math expressions and nobody feels like using another one; but we also use "pseudo-code" for algorithms, which is generally just a translation of the original keywords from English to the native language. Maybe because math expressions are rather graphical and abstract, so that you understand them directly in your language, whereas when you see "while" written somewhere, you read it in English first. ---