Source de la présentation « Programmeur, traducteur, lecteur, l'écosystème de la traduction »

\documentclass{beamer}

% $Id: Parinux-2008.tex,v 1.2 2008/09/14 21:50:34 fevrier Exp $
% $Author: fevrier $
% $Date: 2008/09/14 21:50:34 $
% $Revision: 1.2 $

% Cette présentation est distribuée sous la licence
% Creative Commons Paternité 2.0 France.
% http://creativecommons.org/licenses/by/2.0/fr/

\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xspace}
\usepackage{apolline}
\usepackage{beamerthemeAntibes}
\usepackage{beamercolorthemedolphin}

\title{Programmeur, traducteur, lecteur, l'écosystème de la traduction}
\author{Jean-Philippe Guérard}
\institute{Traduc.org}
\date{\today}

\begin{document}

\frame{\titlepage}

\section{Introduction}

\frame
{
  \frametitle{Introduction}

  \begin{itemize}
  \item Traduc.org, c'est quoi\,?
  \item Programmeur, traducteur, lecteur.
  \item Un sombre dessein...
  \end{itemize}
}

\frame
{
  \frametitle{Pourquoi traduire\,?}

  \begin{itemize}
  \item Un logiciel uniquement en anglais aura un public restreint.
  \item Pour rendre les logiciels simples à utiliser... et à aimer.
  \item Pour les débutants... et les autres.
  \end{itemize}
}

\section{Le programmeur}

\frame
{
  \frametitle{Le programmeur et gettext}

  \begin{itemize}
  \item Il lui suffit d'annoter son programme.
  \item Il doit faire attention à la rédaction des textes.
  \item Éviter le saucissonage et les ambiguïtés.
  \item Prenez le temps de lire la documentation de Gettext.
  \end{itemize}

}

\begin{frame}[fragile]

  \frametitle{Un petit programme bien inutile}

\begin{verbatim}
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

print u'Hello, World.'
\end{verbatim}

\end{frame}

\begin{frame}[fragile]

On peut exécuter ce script, qui donne le résultat
attendu~:

\begin{verbatim}
$ ./essai.py
Hello, World.
\end{verbatim}

\end{frame}

\begin{frame}[fragile]

  \frametitle{Les lourds secrets de la traduction}

\begin{verbatim}
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import gettext
gettext.bindtextdomain('essai', '.')
gettext.textdomain('essai')
_ = gettext.gettext

# TRADUCTEURS : ce message ne doit pas
# dépasser 72 caractères
print _(u'Hello, World.')
\end{verbatim}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Un dernier effort}

Il ne reste qu'à extraire le texte à traduire~:

\begin{verbatim}
xgettext -L python -o essai.pot \
         --add-comments='TRADUCTEURS :' \
         essai.py
\end{verbatim}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Roulements de tambours...}

Le résultat sera la base du travail du traducteur~:

\begin{verbatim}
#. TRADUCTEURS : ce message ne doit pas
#. dépasser 72 caractères
#: essai.py:13
msgid "Hello, World."
msgstr ""
\end{verbatim}

Ce fichier, renommé \texttt{essai.po} sera envoyé aux
traducteurs.

\end{frame}

\frame
{
  \frametitle{Que faire avec ce machin\,?}

  \begin{itemize}
  \item Trouver des traducteurs (et vice-versa).
  \item Intégrer les traducteurs (si, si, vraiment).
  \item Motiver et conserver les traducteurs.
  \item Organiser les traductions.
  \item Comment contrôler la qualité du résultat\,?
  \end{itemize}
}

\section{Le traducteur}

\frame
{
  \frametitle{Le traducteur et les renards véloces}

  \begin{itemize}
  \item Comprendre, puis reformuler.
  \item On ne peut traduire ce que l'on ne comprend pas.
  \item Un travail de recherche.
  \item Comment expliqueriez ça en français\,?
  \item Produire un texte simple et qui sera instinctivement
        compris.
  \end{itemize}

}

\frame
{
  \frametitle{Résister à l'envie de coller à l'original}

  \begin{itemize}
  \item Une force puissante.
  \item L'objectif est d'être compris.
  \item Attention à la perspective du lecteur\,!
  \item L'objectif est d'être utile, pas de reprendre
  fidèlement les erreurs.
  \item Signaler les erreurs à l'auteur.
  \end{itemize}
}

\frame
{
  \frametitle{Quelques conseils (1)}

  \begin{itemize}
  \item Traduisez des logiciels que vous utilisez.
  \item Une fois le logiciel traduit, restez.
  \item Attachez-vous à traduire les documents associés.
  \item Traduisez des documents qui vous intéressent.
  \end{itemize}
}

\frame
{
  \frametitle{Quelques conseils (2)}

  \begin{itemize}
  \item Toujours se relire soi-même.
  \item Toujours demander en cas de doute.
  \item Ne jamais, jamais traduire sans comprendre.
  \item Toujours signer son travail.
  \item Créer et entretenir un lexique. Le publier.
  \end{itemize}
}

\begin{frame}[fragile]
  \frametitle{Un petit exemple...}

On ajoute \emph{simplement} la chaîne manquante au-dessous du texte
original~:

\begin{verbatim}
#. TRADUCTEURS : ce message ne doit pas
#. dépasser 72 caractères
#: essai.py:13
msgid "Hello, World."
msgstr "Bonjour, Monde."
\end{verbatim}

\end{frame}

\begin{frame}[fragile]
  \frametitle{Un petit exemple...}

Reste à installer la traduction~:

\begin{verbatim}
mkdir -p fr/LC_MESSAGES
msgfmt -c -o fr/LC_MESSAGES/essai.mo essai.po
\end{verbatim}

On peut ensuite essayer le logiciel~:

\begin{verbatim}
$ ./essai.py
Bonjour, Monde.
\end{verbatim}

\end{frame}

\frame
{
  \frametitle{Relire}

  \begin{itemize}
  \item Utiliser un correcteur orthographique.
  \item Valider le fichier «~.po~».
  \item Lancer le logiciel traduit et essayer de retrouver tous les
        textes dans leur contexte original.
  \item Seule la relecture permet de savoir si la traduction est
        bonne.
  \end{itemize}
}

\frame
{
  \frametitle{Les projets de traduction (1)}

  \begin{itemize}
  \item Manque chronique de traducteurs.
  \item L'effort est mis sur les traductions plutôt que sur les
        relectures.
  \item Chaque projet a un domaine d'intervention limité
        (distribution, environnement de bureau, documents
        spécifiques).
  \end{itemize}
}

\frame
{
  \frametitle{Les projets de traduction (2)}

  \begin{itemize}
  \item Manque de visibilité.
  \item Chacun réinvente la poudre de son côté.
  \item Un outil commun~: \texttt{glossaire.traduc.org}.
  \item Il manque un méta-projet international.
  \end{itemize}
}

\frame
{
  \frametitle{Monter son projet de traduction}

  \begin{itemize}
  \item Regardez d'abord les projets existants.
  \item Quelques pages de wiki suffisent.
  \item Faites-vous connaître.
  \item Soyez prêt à tout faire vous-même, au moins au début.
  \end{itemize}
}

\section{Le lecteur}

\frame
{
  \frametitle{Le lecteur et les traductions}

  \begin{itemize}
  \item Il a tendance à voir les logiciels libres comme
        un produit du commerce.
  \item Frustration et insatisfaction devant l'absence
        de traduction ou les mauvaises traductions.
  \item Il a du mal à savoir qui fait quoi.
  \end{itemize}
}

\frame
{
  \frametitle{Le lecteur~: consommateur passif\,?}

  \begin{itemize}
  \item Philosophie du libre~: l'utilisateur est responsable
        de la qualité du logiciel. Il doit signaler les problèmes.
  \item L'utilisateur est responsable de la qualité
        des traductions.
  \item Un rôle accru des utilisateurs permettrait d'améliorer
        la qualité.
  \item Peu de systèmes de retour utilisateur accessibles.
  \item Quelles solutions\,? (entrées de menus, formulaires en
        français, et cætera.)
  \end{itemize}
}

\section{Conclusion}

\frame
{
  \frametitle{On se réveille\,!}

  \begin{itemize}
  \item Lecteurs~: ne soyez pas consommateurs passifs, impliquez-vous.
  \item Programmeurs~: intégrez les traducteurs à votre processus de
        développement.
  \item Traducteurs et programmeurs~: donnez aux lecteurs les moyens de
        vous aider\,!
  \end{itemize}
}

\section{Vos questions}

\frame
{
  \frametitle{Vos questions}
}

\end{document}