diff options
author | Frederic Culot <calcurse@culot.org> | 2006-07-31 21:00:02 +0000 |
---|---|---|
committer | Frederic Culot <calcurse@culot.org> | 2006-07-31 21:00:02 +0000 |
commit | ac36e94341ca73d581f0df39f1c7bbf2138b2845 (patch) | |
tree | 47de561cd962ff8f47f6d811109907f15b9ff989 /doc/manual_fr.html | |
download | calcurse-ac36e94341ca73d581f0df39f1c7bbf2138b2845.tar.gz calcurse-ac36e94341ca73d581f0df39f1c7bbf2138b2845.zip |
Initial revision
Diffstat (limited to 'doc/manual_fr.html')
-rwxr-xr-x | doc/manual_fr.html | 898 |
1 files changed, 898 insertions, 0 deletions
diff --git a/doc/manual_fr.html b/doc/manual_fr.html new file mode 100755 index 0000000..d7fbf6e --- /dev/null +++ b/doc/manual_fr.html @@ -0,0 +1,898 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!-- +/* + * $calcurse: manual_fr.html,v 1.1 2006/07/31 21:00:05 culot Exp $ + * + * Calcurse - text-based organizer + * Copyright (c) 2004-2006 Frederic Culot + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Send your feedback or comments to : calcurse@culot.org + * Calcurse home page : http://culot.org/calcurse + * + */ +--> + +<html> +<head> +<title>documentation de CALCURSE</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +</head> +<body bgcolor="white" text="black" link="blue" vlink="navy"> + +<h1><code>CALCURSE - organiseur en mode texte</code></h1> +<p> +<p><hr><p> + +<h1>Table des matières</h1> +<ul> +<li><a href="#intro">Introduction</a> +<li><a href="#overview">Aperçu du logiciel</a> +<ul> +<li><a href="#overview_history">Origine de Calcurse</a> +<li><a href="#overview_features">Caractéristiques importantes</a> +</ul> +<li><a href="#install">Installation</a> +<ul> +<li><a href="#install_requirements">Pré-requis</a> +<ul> +<li><a href="#install_requirements_ncurses">Librairie <code>ncurses</code></a> +<li><a href="#install_requirements_gettext">Librairie <code>gettext</code></a> +</ul> +<li><a href="#install_process">Processus d'installation</a> +</ul> +<li><a href="#basics">Présentation générale</a> +<ul> +<li><a href="#basics_invocation">Invocation</a> +<ul> +<li><a href="#basics_invocation_commandline">Arguments en ligne de commande</a> +<li><a href="#basics_invocation_variable">Variable d'environnement pour l'i18n</a> +</ul> +<li><a href="#basics_interface">Interface utilisateur</a> +<ul> +<li><a href="#basics_interface_noninteractive">Mode non-interactif</a> +<li><a href="#basics_interface_interactive">Mode Interactif</a> +</ul> +<li><a href="#basics_files">Fichiers</a> +<li><a href="#basics_help">Aide en ligne</a> +</ul> +<li><a href="#options">Options</a> +<ul> +<li><a href="#options_general">Options générales</a> +<li><a href="#options_colors">Thèmes graphiques</a> +<li><a href="#options_layout">Disposition des panneaux</a> +</ul> +<li><a href="#known_bugs">Bogues connus</a> +<li><a href="#bugs">Rapporter les bogues et commentaires</a> +<li><a href="#contribute">Comment contribuer?</a> +<ul> +<li><a href="#contribute_documentation">Traduction de la documentation</a> +<li><a href="#contribute_i18n">Traduction de <code>calcurse</code></a> +<ul> +<li><a href="#contribute_i18n_overview">Aperçu</a> +<li><a href="#contribute_i18n_translator">Etapes de la traducion</a> +<li><a href="#contribute_i18n_po-files">Fichiers <em>po</em></a> +</ul> +</ul> +<li><a href="#links">Liens</a> +<ul> +<li><a href="#links_homepage">Site internet de <code>calcurse</code></a> +<li><a href="#links_list">Liste de diffusion de <code>calcurse</code></a> +</ul> +<li><a href="#thanks">Remerciements</a> +</ul> +<p><hr><p> + + +<a name="intro"></a><h1>Introduction</a></h1> +<p> + <code>calcurse</code> est un organiseur personnel en mode texte, + qui a pour but de gérer les rendez-vous et les tâches + à faire. Il est composé d'un calendrier, d'une + liste de tâches, et classe les rendez-vous. + L'interface utilisateur est configurable, et l'on peut + choisir entre différents thèmes graphiques (couleur et + disposition des élements de l'interface). + Toutes les commandes sont documentées dans un système + d'aide en ligne. + + +<a name="overview"></a><h1>Aperçu du logiciel</h1> +<a name="overview_history"></a><h2>Origine de Calcurse</h2> +<p> + J'ai commencé à penser à ce projet à la fin de mon doctorat + en astrophysique... Je commençais en effet à avoir de plus + en plus de mal à m'organiser, et j'avais vraiment besoin d'un + bon outil pour m'aider dans cette tâche difficile ;)<br> + D'autre part, j'apprécie beaucoup les logiciels qui font + appel à des Interfaces en Mode Texte, parce que je les trouve + plus simples, plus rapides, plus portables et plus efficaces. + J'ai alors commencé à programmer un calendrier rudimentaire + qui utilisait une interface de ce type. + En plus de cela, je voulais améliorer mes connaissances en + <code>C</code>, langage de programmation que je n'avais + utilisé jusqu'alors que dans le cadre de petits projets pendant + mes études. J'ai donc pensé que ce serait une bonne chose de me + lancer dans ce projet, puisque cela me permettrait à la fois de + mieux m'organiser, et d'apprendre à mieux programmer en + <code>C</code>! + Malheureusement, j'ai obtenu mon doctorat avant de terminer + <code>calcurse</code>, mais j'ai tout de même voulu continuer + à travailler + sur ce projet, en espérant que ce programme serait utile à + d'autres personnes. Voilà comment est né + <code>calcurse</code>...<br> + <br> + Mais au fait, pourquoi 'calcurse' ? Et bien ce nom provient + simplement de la concaténation de 'CALendrier' et de 'nCURSEs', + qui est le nom de la librairie utilisée pour construire + l'interface utilisateur. + + +<a name="overview_features"></a><h2>Caractéristiques importantes</h2> +<p> + <code>Calcurse</code> est multi-plateformes et est conçu pour + être léger, rapide et fiable. Il doit être utilisé dans un + terminal ou une console, soit localement ou bien sur une + machine distante par l'intermediaire d'une liaison ssh (ou + similaire).<br> + <code>Calcurse</code> peut être lancé dans deux modes différents: + soit interactif, soit non-interactif. Le premier mode permet + de visualiser son organiseur personnel pratiquement sous + n'importe quel environnement, grâce à l'interface en mode texte. + Le deuxième mode permet de créer facilement des penses-bête en + ajoutant <code>calcurse</code> avec les arguments appropriés dans + la table cron ou dans le script d'initialisation du shell.<br> + De plus, <code>calcurse</code> a été créé en prenant en compte + l'utilisateur final à chaque étape de sa conception, c'est-à-dire + en essayant d'être le plus intuitif possible. Cela implique + la présence d'une aide en ligne exhaustive, ainsi que le rappel de + toutes les commandes possibles dans la barre de status. + L'interface utilisateur est également configurable, et l'on peut + choisir parmis de nombreuses combinaisons possibles de couleurs + et de positions des fenêtres. + + +<a name="install"></a><h1>Installation</h1> +<a name="install_requirements"></a><h2>Pré-requis</h2> +<a name="install_requirements_ncurses"></a><h3>Librairie <code>ncurses</code></h3> +<p> + L'installation de <code>Calcurse</code> ne nécessite qu'un + compilateur <code>C</code>, comme <code>cc</code> ou <code>gcc</code>, + et la librairie <code>ncurses</code>. + Il serait très surprenant que vous n'ayez pas déjà la librairie + <code>ncurses</code> d'installée sur votre machine, mais si + c'est le cas, vous pourrez la trouver à l'adresse suivante :<br> + <pre> + http://ftp.gnu.org/pub/gnu/ncurses/ + </pre> + + +<a name="install_requirements_gettext"></a><h3>Librairie <code>gettext</code></h3> +<p> + <code>calcurse</code> s'aide de la librairie + <code>gettext</code> pour le support de l'internationalisation + (noté <em>i18n</em> ci-après). + Cela signifie que <code>calcurse</code> peut fournir des + messages multilingues si il est compilé avec le support + NLS (<em>Native Language Support</em> - <em>Support de Langage + Natif</em>). Cependant, ce support est optionnel et si vous + n'avez pas besoin de la traduction des messages + affichés, vous pouvez sésactiver cette option. + La désactivation du support <em>NLS</em> s'effectue en + passant l'option <code>--disable-nls</code> à + <code>configure</code> (voir la section <a + href="#install_process">Processus d'Installation</a>). <br> + Pour vérifier que les utilitaires <code>gettext</code> + sont bien installés sur votre systsème, vous + pouvez par exemple vérifier la présence du + fichier <code>libintl.h</code> en tapant : + <pre> + locate libintl.h + </pre> + Dans l'éventualité où ce fichier ne + serait pas trouvé, vous pouvez obtenir les sources de + <code>gettext</code> à l'adresse suivante :<br> + <pre> + http://ftp.gnu.org/pub/gnu/gettext/ + </pre> + <u>Remarque:</u> Même si <code>libintl.h</code> est bien + localisé par la commande précédente, il + peut être utile de spécifier son emplacement au + moment de lancer le <a href="#install_process">processus + d'installation</a>, en passant l'option + <code>--with-libintl-prefix</code> au script + <code>configure</code>. En effet, ce script pourrait + ne pas trouver le fichier <code>libintl.h</code> si celui-ci + n'est pas installé dans un endroit usuel. + + +<a name="install_process"></a><h2>Processus d'installation</h2> +<p> + Vous devez tout d'abord décompresser l'archive source de la + manière suivante : + <pre> + tar zxvf calcurse-1.4.tar.gz + </pre> + Une fois que vous remplissez tous les pré-requis nécessaires à + l'installation, le processus de compilation est simple et suit + les trois étapes usuelles : + <OL> + <li><code>./configure</code> + <li><code>make</code> + <li><code>make install</code> (peut nécessiter les privilèges + super-utilisateur) + </OL> + Vous pouvez obtenir la liste des options possibles en tapant + <code>./configure --help</code>. + + +<a name="basics"></a><h1>Présentation générale</h1> +<a name="basics_invocation"></a><h2>Invocation</h2> +<a name="basics_invocation_commandline"></a><h3>Arguments en ligne de commande</h3> +<p> + Lors de son appel en ligne de commande, <code>calcurse</code> + accepte les arguments suivants : + + <dl compact> + <dt><code>-a</code> + <dd> + Affiche les rendez-vous pour la date du jour, puis quitte.<br> + <u>Remarque:</u> le calendrier à utiliser peut être + spécifié en utilisant l'option '-c'.<br> + <br> + <dt><code>-c</code> + <dd> + Spécifie le fichier calendrier à uiliser.<br> + Le calendrier par défaut est celui contenu dans + <code>~/.calcurse/apts</code> + (voir la section <a href="#basics_files">Fichiers</a>).<br> + <br> + <dt><code>-d</code> + <dd> + Affiche les rendez-vous pour la date ou pour le nombre de + jours indiqués, suivant le format de l'argument. Deux + formats différents sont acceptés : + <ul> + <li>une date sous la forme 'mm/jj/aaaa'. + <li>un nombre 'n'. + </ul> + Dans le premier cas, la liste des rendez-vous pour la + date spécifiée sera affichée, alors que dans le + deuxième cas, la liste des rendez-vous pour les 'n' + jours à venir sera retournée.<br> + Par exemple, taper <code>calcurse -d 3</code> fera + s'afficher les rendez-vous pour aujourd'hui, demain + et après-demain.<br> + <u>Remarque:</u> comme pour l'option '-a', le fichier + contenant le calendrier à lire peut être spécifié en + utilisant l'option '-c'.<br> + <br> + <dt><code>-h</code> + <dd> + Affiche l'aide décrivant les options en ligne de commande, + puis quitte.<br> + <br> + <dt><code>-t</code> + <dd> + Affiche la liste des 'todo', puis quitte.<br> + <br> + <dt><code>-v</code> + <dd> + Affiche la version de <code>calcurse</code>, puis quitte. + </DL> + + +<a name="basics_invocation_variable"></a><h3>Variable d'environnement +pour l'i18n</h3> +<p> + <code>calcurse</code> peut être compilé avec le + support <em>NLS</em> (voir <a + href="#install_requirements_gettext">Librairie + <code>gettext</code></a>). Ainsi, si vous voulez que les + messages affichés apparaissent dans votre langue + natale, assurez-vous tout d'abord que celle-ci est + présente dans le fichier <code>po/LINGUAS</code>. + Ce fichier indique toutes les traductions disponibles par + l'intermédiaire d'un code de deux lettres (par exemple, + <em>fr</em> représente le français). Si vous ne + trouvez pas votre langue, il serait très + apprécié que vous apportiez votre aide pour + traduire <code>calcurse</code> (voir la partie <a + href="#contribute">Comment contribuer?</a>).<br> + Si votre langue est disponible, lancez <code>calcurse</code> + en utilisant la commande suivante : + <pre> + LC_ALL=fr_FR calcurse + </pre> + où <em>fr_FR</em> doit être remplacé par + la <em>locale</em> (code de la langue suivi du code pays) + correspondant à la traduction voulue. + + +<a name="basics_interface"></a><h2>Interface utilisateur</h2> +<a name="basics_interface_noninteractive"></a><h3>Mode non-interactif</h3> +<p> + Lorsque il est appelé avec au moins un des arguments suivants:<br> + <code>-a</code>, <code>-d</code>, <code>-t</code>, + <code>-h</code>, <code>-v</code><br> + <code>calcurse</code> est lancé en mode non-interactif. + Cela signifie que l'information demandée sera affichée, + puis <code>calcurse</code> quittera et vous serez ramené + au prompt de l'interpréteur de commandes.<br> + De ce manière, il est possible de rajouter une ligne telle + que <code>'calcurse -ta'</code> dans le fichier d'initialisation + de son environnement, afin de faire s'afficher à chaque + début de session la liste des tâches à faire et des rendez-vous + planifiés pour la journée. + + +<a name="basics_interface_interactive"></a><h3>Mode interactif</h3> +<p> + Lorsqu'il est appelé sans aucun argument ou uniquement avec + l'option <code>'-c'</code>, <code>calcurse</code> est lancé + en mode interactif. Dans ce mode s'affiche une interface qui + contient trois panneaux différents, qu'il est possible de + sélectionner cycliquement en utilisant la touche 'TAB', ainsi + que d'une barre de status (voir la figure ci-dessous). + <pre> + + panneau rendez-vous---. .---panneau calendrier + | | + v v + +------------------------------------++----------------------------+ + | Rendez-vous || Calendrier | + |------------------------------------||----------------------------| + | Avril 6, 2006 || Avril 2006 | + | ||Lun Mar Mer Jeu Ven Sam Dim | + | || 1 2 | + | || 3 4 5 6 7 8 9 | + | || 10 11 12 13 14 15 16 | + | || 17 18 19 20 21 22 23 | + | || 24 25 26 27 28 29 30 | + | || | + | |+----------------------------+ + | |+----------------------------+ + | || Tâches | panneau + | ||----------------------------| tâches à + | || | faire + | || | | + | || |<--. + | || | + | || | + | || | + +------------------------------------++----------------------------+ + | ? Aide R Retracer H/L -+1 Jour G Aller à C Config | + | Q Quitter S Sauver J/K -+1 Sem. Tab Chg vue |<-. + +------------------------------------------------------------------+ | + | + barre de status + + </pre> + Le premier panneau représente un calendrier qui permet de + sélectionner un jour en particulier. Le second panneau contient + une liste d'évènements et les rendez-vous du jour, et le dernier + contient une liste des tâches à faire, mais qui ne sont pas + assignée à une journée en particulier. + En bas de l'écran on retrouve une barre de status, qui indique + les actions possibles en fonction du contexte, ainsi que la + touche qui doit être pressée pour effectuer cette action. + + +<a name="basics_files"></a><h2>Fichiers</h2> +<p> + La structure de fichiers suivante est créée dans le répertoire + <code>$HOME</code> de l'utilisateur la première fois que + <code>calcurse</code> est lancé : + <pre> + $HOME/.calcurse/ + |___conf + |___apts + |___todo + </pre> + Le fichier <em>conf</em> contient la configuration de l'utilisateur.<br> + Le fichier <em>apts</em> contient tous les évenements ainsi que + les rendez-vous de l'utilisateur.<br> + Le fichier <em>todo</em> contient la liste des tâches à effectuer. + + +<a name="basics_help"></a><h2>Aide en ligne</h2> +<p> + A n'importe quel moment, le système d'aide en ligne peut être + appelé en pressant la touche '?'. Une fois rentré dans l'aide, + les informations sur une commande spécifique peuvent être + obtenues en appuyant sur la touche correspondant à cette + commande. + + +<a name="options"></a><h1>Options</h1> +<p> + Tous les paramètres de <code>calcurse</code> sont configurables + à partir du menu <em>Configuration</em>, accessible en appuyant + sur 'C'. L'utilisateur se voit alors présenté un second menu + avec trois choix possibles : appuyer à nouveau sur 'C' amène + au menu de sélection des couleurs de l'interface, appuyer sur + 'L' permet de choisir parmis différents emplacements pour les + panneaux de la fenêtre principale de <code>calcurse</code>, + et enfin les options générales peuvent être fixées en pressant + 'G'. + + +<a name="options_general"></a><h2>Options générales</h2> +<p> + Ces options contrôlent le comportement général de + <code>calcurse</code>, comme décrit ci-dessous : + <ul> + <li><code>sauvegarde_automatique</code> (valeur par défaut: <em>oui</em>)<br> + Cette option permet de sauvegarder automatiquement les + données de l'utilisateur avant de quitter, si elle est + fixée à <em>oui</em>.<br> + <em>attention:</em> Aucune donnée ne sera automatiquement + sauvegardée si cette variable est fixée à <em>non</em>. + Cela signifie que l'utilisateur doit appuyer sur 'S' + (pour sauvegarder) pour retrouver ses modifications au prochain + lancement de <code>calcurse</code>.<br> + <br> + <li><code>confirmer_pour_quitter</code> (valeur par défaut: <em>oui</em>)<br> + Si cette option est fixée à <em>oui</em>, la confirmation + de l'utilisateur est nécessaire avant de pouvoir quitter. + Autrement, appuyer sur 'Q' provoquera l'arrêt de + <code>calcurse</code> sans demander confirmation.<br> + <br> + <li><code>confirmer_pour_effacer</code> (valeur par défaut: <em>oui</em>)<br> + Si cette option est fixée à <em>oui</em>, appuyer sur 'D' + pour effacer un élement (soit une tâche, un rendez-vous ou bien + un évenement) provoquera l'apparition d'un message demandant + la confirmation de l'utilisateur avant d'effacer cet élement. + Si cette option est fixée à <em>non</em>, aucune confirmation + ne sera demandée avant l'effacement d'un élement.<br> + <br> + <li><code>masquer_messages_système</code> (valeur par défaut: <em>non</em>)<br> + Fixer cette option à <em>oui</em> provoque la disparition des + messages relatifs aux enregistrements ou lectures des fichiers + de données. Ceci peut être utile pour accélerer les processus + d'entrées/sorties.<br> + <br> + <li><code>masquer_barre_progression</code> (valeur par défaut: <em>non</em>)<br> + Si elle est fixée à <em>oui</em>, cette option provoque la + disparition de la barre de progression qui est normalement chargée + d'indiquer l'étât d'avancement de l'enregistrement des fichiers + de données. Si cette option est fixée à <em>non</em>, cette barre + sera affichée, en même temps que le nom du fichier de données + actuellement en cours d'écriture + (voir la section <a href="#basics_files">Fichiers</a>).<br> + <br> + <li><code>semaine_commence_lundi</code> (valeur par défaut: <em>oui</em>)<br> + Il est possible dans <code>calcurse</code> d'indiquer quel est le premier + jour de la semaine, à savoir soit le lundi, soit le dimanche. + Si l'option <em>semaine_commence_lundi</em> est fixée à + <em>oui</em>, les semaines du calendrier commenceront le lundi. + Par contre si cette option est fixée à <em>non</em>, + les semaines débuteront le dimanche. + </ul> + + +<a name="options_colors"></a><h2>Thèmes graphiques</h2> +<p> + Le thème graphique de <code>calcurse</code> est + configurable et doit être choisi en appuyant sur le + numéro correspond à la couleur voulue. Cette + couleur est alors appliquée à la bordure des + panneaux, aux titres, aux combinaisons de touches, et aux + informations générales affichées dans la + barre de status. Un thème en noir et blanc est + également disponible, afin de supporter les terminaux + monochromes.<br> + <u>Remarques:</u> + <ul> + <li> Suivant le type de terminal que vous utilisez, et suivant + la valeur de la variable d'environnement <code>$TERM</code>, + la couleur peut être supportée ou non. Un message + d'erreur apparaîtra si vous essayez d'appliquer un + thème graphique en couleur alors que votre terminal est + monochrome.<br> + <br> + <li> Si vous savez que votre terminal supporte les couleurs + mais que <code>calcurse</code> ne veut pas les afficher, + essayez de changer la valeur de la variable d'environnement + <code>$TERM</code> (appliquez par exemple la valeur + <em>xterm-xfree86</em>). + </ul> + + +<a name="options_layout"></a><h2>Disposition des panneaux</h2> +<p> + La disposition des panneaux à l'intérieur de la fenêtre de + <code>calcurse</code> peut être paramétrée. Par défaut, le + panneau contenant le calendrier se situe en haut à droite de + la fenêtre, le panneau contenant la liste des tâches est situé + en bas à droite, et le panneau contenant les rendez-vous se + trouve sur la partie gauche de l'écran (voir la figure dans la + section <a href="#basics_interface_interactive">Mode interactif</a> + pour un exemple de la disposition par défaut).<br> + En choisissant une autre disposition pour les éléments composants + la fenêtre de <code>calcurse</code>, l'utilisateur peut adapter + à ses besoins l'interface du programme. + + +<a name="known_bugs"></a><h1>Bogues connus</h1> +<p> + Une coloration incorrecte des objets peut résulter + d'une utilisation conjointe d'un thème graphique en + noir et blanc et d'une variable <code>$TERM</code> + fixée à <em>xterm-color</em>. Pour supprimer ce + bogue, et comme le conseille Thomas E. Dickey (le + résponsable du projet <code>xterm</code>), + <em>xterm-xfree86</em> devrait être assigné + à la variable <code>$TERM</code> en lieu et place de + <em>xterm-color</em> : + <blockquote> + "La valeur xterm-color pour la variable $TERM est un mauvais + choix pour les terminaux XFree86 parce qu'elle est couramment + utilisée pour les entrées terminfo qui ne + supportent pas bce. Utilisez plutôt l'entrée + xterm-xfree86 qui est distribuée avec le xterm + d'XFree86 (ou par celui, similaire, distribué avec ncurses)." + </blockquote> + + +<a name="bugs"></a><h1>Rapporter les bogues et commentaires</h1> +<p> + Merci de renvoyer vos rapports de bogues et vos commentaires à + l'adresse suivante : + <pre> + calcurse@culot.org + </pre> + ou directement à l'auteur : + <pre> + frederic@culot.org + </pre> + +<a name="contribute"></a><h1>Comment contribuer?</h1> +<p> + Si vous désirez contribuer au projet, vous pouvez tout d'abord + envoyer vos commentaires sur ce qui vous plais ou déplais ou sur + ce qui vous manque dans <code>calcurse</code>.<br> + Pour le moment, les contributions possibles concernent + la traduction des messages de <code>calcurse</code> ainsi que + de la documentation.<br> + <br> + <u>Remarque:</u> toute contribution à la traduction de + <code>calcurse</code> serait très + appréciée, mais avant tout, envoyez un mail + à <code>calcurse-i18n@culot.org</code> pour savoir si + quelqu'un a déjà commencé le processus de + traduction dans votre langue. + + +<a name="contribute_documentation"></a><h2>Traduction de la documentation</h2> +<p> + Le répertoire <em>doc/</em> du paquet source contient + déjà des versions traduites de la documentation. + Cependant, si celle-ci n'est pas encore disponible dans votre + langue, votre aide pour sa traduction serait très + appréciée.<br> + Pour cela, il suffit de copier un des fichiers existant et de + renommer cette copie en <code>manual_XX.html</code>, où + <em>XX</em> représente votre langue. Il faut ensuite + traduire ce fichier nouvellement créé et de + l'envoyer à l'auteur (voir <a href="#bugs">Rapporter + les bogues et commentaires</a>), pour qu'il soit inclus dans + la prochaine version de <code>calcurse</code>. + + +<a name="contribute_i18n"></a><h2>Traduction de <code>calcurse</code></h2> +<p> + Comme mentionné plus haut, les utilitaires + <code>gettext</code> sont utilisés par + <code>calcurse</code> pour produire des messages + multilingues. Cette section explique comment traduire ces + messages dans votre langue. Cependant, cette notice est + délibérément incomplète, + puisqu'elle ne se concentre que sur l'utilisation de + <code>gettext</code> avec <code>calcurse</code>. Pour avoir + une vision plus large du Support de Langage Natif + (<em>NLS</em>), il est préférable de se + référer au manuel de <code>GNU gettext</code> + que l'on peut trouver à l'adresse suivante : + <pre> + http://www.gnu.org/software/gettext/manual/ + </pre> + Pour résumer, trois catégories de personnes sont + impliquées dans la chaîne de traduction : les + programmeurs, les coordinateurs de la traduction, et les + traducteurs. Après un rapide aperçu de la + manière de procéder pour traduire le logiciel, + nous décrirons plus en détails les tâches du + traducteur. + + +<a name="contribute_i18n_overview"></a><h3>Aperçu</h3> +<p> + Afin de pouvoir afficher du texte dans la langue natale de + l'utilisateur, deux étapes sont nécessaires : + l'<em>internationalisation</em> (i18n), et la + <em>localisation</em> (l10n). + l'i18n permet à <code>calcurse</code> d'être + multilingues. C'est un processus qui est mis en place par les + programmeurs, qui marquent les phrases à traduire au + sein du code source, et qui fournissent les outils pour que + ces phrases soient traduites automatiquement pendant le + déroulement du programme. + La l10n correspond quant à elle au processus qui permet + à <code>calcurse</code> de s'adapter à la langue + de l'utilisateur. C'est-à-dire qu'il traduit les + phrases précédemment marquée par les + programmeurs, et qu'il fixe correctement les variables + d'environnement afin que <code>calcurse</code> puisse utiliser + les résultats de cette traduction.<br> + <br> + Ainsi, les phrases traduisibles sont tout d'abord + marquées par les programmeurs dans le code source, puis + rassemblées dans un fichier référence + (<code>calcurse.pot</code> - l'extension <em>pot</em> signifiant + <em>portable object template</em>, objet portable de + référence). Le contenu de ce fichier est alors + associé aux fichiers contenant la traduction pour + chacune des différentes langues (fichier <em>fr.po</em> + pour le français par exemple - <em>po</em> siginifiant + <em>portable object</em>, objet portable - qui peut être + lu par les humains). Le traducteur devra se servir de ce + fichier, et traduira les phrases qu'il contient, puis + l'enverra auw développeurs. Ensuite, au niveau de la + compilation du programme, une version binaire de ce fichier + sera produite (pour des raisons d'efficacité), puis + installée. Cette version binaire a pour extension + <em>.mo</em>, où <em>mo</em> signifie <em>machine + object</em> - objet machine, c'est-à-dire qui peut + être lu par le programme. Pour finir, + <code>calcurse</code> se servira de ce fichier <em>mo</em> + lors de son execution pour traduire les phrases dans la langue + de l'utilisateur. + + +<a name="contribute_i18n_translator"></a><h3>Etapes de la traduction</h3> +<p> + Supposons que quelqu'un veuille commencer une traduction dans + une nouvelle langue. Voici les étapes à suivre + pour ce faire : + <ul> + <li>Premièrement, trouver quel est le nom de la locale + correspondant à la langue à traduire. Par + exemple, pour le français, il s'agit de 'fr_FR', ou + simplement 'fr'. C'est cette valleur que l'utilisateur devra + mettre dans la variable d'environnement <code>LC_ALL</code> + pour obtenir la version traduite du logiciel (voir <a + + href="#basics_invocation_variable">Variable d'environnement + pour l'i18n</a>).<br> + <br> + <li>Ensuite, il faut se rendre dans le répertoire + <em>po/</em>, et créer un nouveau fichier <em>.po</em> + à partir du fichier de référence en + utilisant la commande suivante : + <pre> + 'msginit -i calcurse.pot -o fr.po -l fr --no-translator' + </pre> + Si vous n'avez pas <code>msginit</code> installé sur + votre système, vous pouvez plus simplement copier + <em>calcurse.pot</em> en <em>fr.po</em> par exemple, et editer + l'en-tête du fichier nouvellement créé + manuellement.<br> + Maintenant, ayant à disposition ce fichier + <em>fr.po</em>, la traduction peut commencer. + </ul> + + +<a name="contribute_i18n_po-files"></a><h3>Fichiers <em>po</em></h3> +<p> + Le format des fichiers <em>po</em> est assez simple. En effet, + ils ne contiennent que quatre éléments + différents : + <ol> + <li><em>ligne d'emplacement:</em> renseigne sur l'emplacement + de la phrase dans le fichier source (donne le nom du fichier + ainsi que le numéro de ligne), afin de retrouver + simplement le contexte d'où est issu la phrase à + traduire. + <li><em>ligne msgid:</em> indique la phrase à traduire. + <li><em>ligne msgstr:</em> ligne indiquant la phrase traduite. + <li><em>lignes commençant par '#'</em>: indiquent des + commentaires (certains ont une signification spéciale, + comme nous le verrons plus tard). + </ol> + Pour résumer, un traducteur doit simplement remplir les + champs <em>msgstr</em> avec la traduction des lignes + trouvées juste au dessus dans la partie <em>msgid</em>. + <p> + <u>Remarques:</u> + <ul> + <li><em>Phrases marquées Fuzzy</em><br> + Vous pourrez rencontrer des phrases commençant par le + commentaire <code>"#, fuzzy"</code>. + <code>calcurse</code> n'utilisera pas les traductions + commençant par ce commentaire, à moins que vous + ne transformiez ces phrases. En effet, le commentaire + <em>fuzzy</em> signifie que la phrase a déjà + été traduite mais qu'elle a depuis + été changée dans le source du programme, + ou bien que <em>gettext</em> a effectué lui-même + uen traduction, en se basant sur une phrase similaire. Cela + implique donc que vous devez vérifier la traduction. + Parfois, la phrase originale a changé suite à + une correction de faute de frappe. Dans ce cas, vous n'aurez + pas besoin de modifier la traduction. Mais dans d'autres cas, + cette traduction peut ne plus être valable et + nécessitera alors une mise à jour. Une fois + cette mise à jour effectuée, vous pouvez + supprimer + le commentaire <code>"#, fuzzy"</code>, et la traduction sera + alors à nouveau prise en compte par <code>calcurse</code>.<br> + <br> + <li><em>Lignes au format C et séquences spéciales</em><br> + Certaines phrases ont le commentaire suivant: <code>"#, + c-format"</code>. Cela signifie que des parties du texte + à traduire ont une signification particulière + pour le programme, et qu'il ne faut pas les modifier. Par + exemple, les séquences contenant des <em>%</em>, comme + <code>"%s"</code>. Cela signifie que <code>calcurse</code> + remplacera ces séquences par d'autres expressions. Il + est donc important de ne pas les modifier. Il existe + également des séquences contenant des + <em>/</em>, comme <code>\n</code> ou <code>\t</code>. Il ne + faut pas les modifier non plus. En effet, la première + séquence représente une fin de ligne, et la + deuxième une tabulation.<br> + <br> + <li><em>Découpage des traductions</em><br> + Si certaines lignes sont trop longues, il est possible de + découper les phrases comme dans l'exemple ci-après: + <pre> + msgid "" + "une ligne très longue" + "une autre ligne" + </pre> + <li><em>En-tête des fichiers po</em><br> + Au tout début du fichier <em>po</em>, la + première phrase forme un en-tête où + différentes informations doivent être + renseignées. La plus importante est le jeu de + caractès utilisé. Cette information devrait + ressembler à + <pre> + "Content-Type: text/plain; charset=utf-8\n" + </pre> + Il est également nécessaire de remplir le champ + <em>Last-Translator</em> - <em>Dernier Traducteur</em>, afin + que d'autres traducteurs potentiels puissent se mettre en + relation avec la dernière personne ayant + retouché le fichier. De cette manière, il est + plus simple de coordonner les efforts de traduction. Il est + possible de rajouter son adresse de courrier + électronique, par exemple: + <pre> + "Last-Translator: Frederic Culot <frederic@culot.org>\n" + </pre> + <li><em>Commentaires</em><br> + Ajouter des commentaires (lignes commençant par '#') + peut être un bon moyen de signaler des problèmes ou + difficultés de traduction aux autres traducteurs.<br> + <br> + <li><em>Taille des phrases</em><br> + <code>calcurse</code> est un programme comportant une + interface console/curses, il dépend donc de la taille + du terminal utilisé (plus particulièrement du + nombre de colonnes). Il est important de garder ceci en + mémoire au moment de la traduction. Souvent, la phrase + à traduire doit tenir dans une seule ligne (soit en + général 80 caractères). Il faut en tenir + compte, et essayer de voir où la phrase sera + placée pour adapter sa traduction.<br> + <br> + <li><em>Quelques outils utiles</em><br> + Le format des fichiers <em>po</em> est relativement simple, et + ils peuvent être modifiés avec un éditeur + de texte standard. Mais il est également possible + d'utiliser des outils spécialisés pour cette + tâche: + <ul> + <li><code>poEdit</code> (<a + href="http://www.poedit.org/" target="_blank"> + http://www.poedit.org/</a>) + <li><code>KBabel</code> (<a + href="http://i18n.kde.org/tools/kbabel/" target="_blank"> + http://i18n.kde.org/tools/kbabel/</a>) + <li><code>GTranslator</code> (<a + href="http://gtranslator.sourceforge.net/" target="_blank"> + http://gtranslator.sourceforge.net/</a>) + <li><code>Emacs</code> et son mode <em>po</em> + <li><code>Vim</code> et son mode <em>po</em> + </ul> + <br> + <li><em>Finallement...</em><br> + J'éspère que vous prendrez plaisir à + contribuer à l'internationalisation du monde des + logiciels libres. :) Si vous avez d'autres questions + concernant ce processus, n'hésitez pas à me + contacter à l'adresse <em>frederic@culot.org</em>. + </ul> + + +<a name="links"></a><h1>Liens</h1> +<p> + Cette section contient des liens en relation avec + <code>calcurse</code> qui peuvent vous être utiles. + + +<a name="links_homepage"></a><h2>Site internet de <code>calcurse</code></h2> +<p> + La page web de <code>calcurse</code> est à l'adresse suivante : + <pre> + http://culot.org/calcurse + </pre> + +<a name="links_list"></a><h2>Liste de diffusion de <code>calcurse</code></h2> +<p> + Si vous êtes interessé par ce projet et que vous souhaitez + être prévenu lorsqu'une nouvelle version est diffusée, vous + pouvez souscrire à la liste de diffusion de <code>calcurse</code>. + De cette manière, vous recevrez un mél dès qu'une nouvelle + version est disponible.<br> + Pour souscrire à cette liste, envoyez un message à l'adresse + <code>calcurse-announce@culot.org</code> avec "subscribe" dans + le sujet du mél. + + +<a name="thanks"></a><h1>Remerciements</a></h1> +<p> + Je voudrais remercier ici toutes les personnes sans qui ce projet + n'aurait jamais pu voir le jour! En particulier : + <ul> + <li>Alex pour ses patches, aides et conseils sur la programmation en + <code>C</code> + <li>Gwen pour les tests et les discussions sur la manière d'améliorer + <code>calcurse</code> + <li>Kevin et Ryan pour la maintenance du paquet <code>calcurse</code> + pour Debian + <li>Steffen pour la maintenance du paquet <code>calcurse</code> pour + Archlinux + <li>Alexandre pour la maintenance du paquet <code>calcurse</code> pour + Mac OsX + <li>Joel pour son script de calendrier qui a inspiré celui de + <code>calcurse</code> + <li>Michael Schulz pour la traduction allemande du manuel de <code>calcurse</code> + <li>les personnes qui écrivent des logiciels que j'apprécie et qui + m'ont inspiré lors de la conception de ce projet, en particulier : + <ul> + <li><code>vim</code> pour les touches de déplacement + <li><code>orpheus</code> et <code>abook</code> pour la documentation + <li><code>pine</code> et <code>aptitude</code> + pour l'interface en mode texte + </ul> + </ul> + Et pour terminer, un très grand merci à tous les utilisateurs de + <code>calcurse</code> qui m'ont fait parvenir leur commentaires. + +<hr> +<small><em> +Copyright (c) 2004-2006 Frédéric Culot<br> +Calcurse version 1.4 - Dernière modification: 7 Mai 2006 +<em></small> + + +</body> +</html> |