Squeak par l'exemple

From OFSET Wiki

Jump to: navigation, search

Cette page est consacrée à la traduction en français du livre Squeak by Example. Pour modifier les pages de ce wiki, vous devez obtenir un mot de passe en envoyant un message à : Serge.Stinckwich [AT] info.unicaen.fr, damien.cassou [AT] laposte.net ou hilaire [AT] ofset.org

Pour participer à la traduction, vous devez avoir quelques notions de Subversion et de LaTeX.

Contents

[edit] Personnes participants à la traduction en français

[edit] Avancement

TODO:

  • Expliquer un peu mieux le role des méthodes hash pour les collections? clés
L'état des chapitres
------------------
Preface -- Traducteur : Serge, Relecteurs : Martial/Rene

[GETTING STARTED]
A Quick Tour of Squeak -- Traducteur : Mathieu+Martial, Relecteur: Rene
A First Application -- Traducteur : Serge, Relecteurs : Martial/Rene
Syntax in a Nutshell -- Traducteur : Rene/Martial, Relecteur : Rene
Understanding Message Syntax -- Traducteur : Serge, Relecteurs : Martial/Rene 

[DEVELOPING IN SQUEAK]
The Smalltalk Object Model -- Traducteur : Martial, Relecteur : Rene 
The Squeak Programming Environment -- Traducteur : Martial, Relecteurs : Serge/Rene
SUnit -- Traducteur : Alain, Relecteurs : Martial/Rene
Basic Classes -- Traducteurs : Nicolas+Alain , Relecteur : Rene
Collections -- Auteur : Martial, Relecteurs : Serge/Rene
Streams -- Auteur : Martial , Relecteur : Rene
Morphic -- Traducteur : Martial , Relecteur : Rene

[ADVANCED SQUEAK]
Classes and Metaclasses -- Auteur : Luc, Relecteurs : Martial/Rene
FAQ -- Auteur : Benoit, Relecteurs : Martial/Rene

[edit] Glossaire des termes Anglais fréquents

Un glossaire des termes fréquents est proposé afin que la traduction de certains termes comme Workspace soit homogène.

Glossaire Traduction Squeak par l exemple

[edit] Conventions pour la traduction

Voici les conventions qui seront à prendre pour l'uniformisation de la traduction. Martial a pris le parti de découper ces conventions en sous-chapitres pour chacun des traducteurs. Initialement il s'agit plutôt d'idée en vrac et de choix arbitraires. A la finalisation de la première version imprimable du livre il ne devrait plus y avoir qu'un seul chapitre unifiant l'ensemble des conventions acceptées par tous les intervenants.

[edit] Convention de Martial

  1. Les applications sont appelés par leur nom (en anglais) avec une capitales (majuscule). Dans le texte, elles sont parfois appelées par leur définition: par exemple,
  • nom en VO => nom en VF, définition
  • debugger => Debugger, un debogueur (mais un bug)
  • workspace => Workspace, un espace de travail (aussi dans l'Inspector)
  • browser => System Browser, un navigateur de classes (les autres: Refactoring Browser, File List Browser... sont aussi nommés navigateur)
  • inspector => Inspector, un inspecteur (mini-inspecteur est utilise dans le Change Sorter)
  • explorer => Object Explorer, un explorateur
  1. Écrire change set en \changeset (\changesets au pluriel); traits en italique (même si le mot est le même en français, j'estime qu'il faut le présenter comme un mot étranger parce que trait définit généralement plutôt un trait de crayon qu'un trait de caractère (ce qui est le sens ici))
  2. Ne pas traduire package, packages, package cache, pretty-print
  3. Les superclass, subclass, metaclass deviennent super-classe, sous-classe, méta-classe avec un tiret (vu dans des docs de S.Ducasse). Pour le class-side et le instance-side, j'utilise coté classe et coté instance.
  4. Les flaps pour moi sont des onglets; les morphs sont masculins; les handles de halo sont des icônes.
  5. Le hello-world constant tout au long du livre est 'Squeak Is Cool'. J'ai pensé à mettre 'Squeak Est Extra' (voir la figure QuickTour/WorkspaceWithText.png, et le texte Collections/Collections.tex)
  6. En latex:
    1. utilisation de \ct{} dans les \importants{}, les : et ; doivent être précedés d'un anti-slash s'ils sont en début de "phrase". ex: \important{\ct{\:}} mais pas \important{\ct{message:}} ou \ct{:} (sans \important}
    2. \ie traduit en c-a-d.
    3. \footnote: je l'utilise beaucoup pour définir des termes anglosaxons, il vaut mieux le préceder d'un ~ (comme dans foo~\footnote{bar}) de façon a obtenir un espace insécable pour éviter d'avoir un exposant de note en debut de ligne.
    4. \caption, \footnote contiennent des phrases avec un point final
    5. dans common.tex: j'ai renommé les références; par exemple, \figref donnera 'la figure'. Donc, dans le texte, je dis 'dans \figref' (comme dans la VO; in \figref}
    6. j'utilise le commentaire %ajout pour spécifier que la ligne suivante est un ajout/complément par rapport à la version originale (souvent pour définir des termes anglosaxons)

[edit] Complément du 9 novembre 2007

Pour la typo francaise, pas de virgule avant les et ou ou. ex: "les classes, et les sous-classes" n'est pas conforme. En latex, le package français (french) de babel prend en compte les espaces insécables automatiquement, donc il n'est pas utile de mettre ~ avant les caractères de ponctuation :;!?. Il n'est pas recommandé non plus de mettre un espace (sinon problème de césure).

[edit] Complément du 23 novembre 2007

La balise ! dans les codes sert d'échappement pour forcer l'insert de mots spéciaux. Originellement Oscar Niestrasz s'en sert pour ajouter des lignes de codes en caractères gras avec \textbf. Avec la francisation, nous nous retrouvons face à deux problèmes:

  • les accents ne peuvent pas être insérés pas même dans les commentaires;
  • les échappements d'Oscar avec \textbf respectent la mise en forme française (en raison du package babel donc il y a un espace avant le double-point (:) ce qui indésirable dans le code).

Pour remédier à tout ça, j'ai pris le parti d'utiliser le ! comme touche d'échappement pour les commentaires avec accents (donc en italique par défaut). Les caractères gras dans le code (minoritaires) seront précédés par \emcode (pour code en emphase) et non plus \textbf.

Ex de poolDictionaries en gras:

  \begin{classdef}[maclasseavec]{mon commentaire de classe}
   MaClasse subclass:#Text
      	instanceVariableNames: 'monIVar'
      	classVariableNames: 
      	!\emcode{poolDictionaries: 'TextConstants'}!
      	category: 'Collections-Text'
  \end{classedef}

\emcode annule l'effet italique par défaut, annule la mise en forme francisée et passe les caractères en gras. Du reste, l'échappement ! convient à toutes les formes de francisation dans les commentaires de code (accents, ponctuation spéciale : ; ! ...}. J'ai créé la balise \normcode pour afficher le code échappé dans le même style que le code Smalltalk. J'ai passé en revue (sans corriger à ce jour) les chapitres: Messages, Model,Environment,Collections,Streams,MetaClasses

Personal tools