aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorFrederic Culot <calcurse@culot.org>2006-07-31 21:00:02 +0000
committerFrederic Culot <calcurse@culot.org>2006-07-31 21:00:02 +0000
commitac36e94341ca73d581f0df39f1c7bbf2138b2845 (patch)
tree47de561cd962ff8f47f6d811109907f15b9ff989 /doc
downloadcalcurse-ac36e94341ca73d581f0df39f1c7bbf2138b2845.tar.gz
calcurse-ac36e94341ca73d581f0df39f1c7bbf2138b2845.zip
Initial revision
Diffstat (limited to 'doc')
-rwxr-xr-xdoc/manual_de.html728
-rwxr-xr-xdoc/manual_en.html783
-rwxr-xr-xdoc/manual_fr.html898
3 files changed, 2409 insertions, 0 deletions
diff --git a/doc/manual_de.html b/doc/manual_de.html
new file mode 100755
index 0000000..1568096
--- /dev/null
+++ b/doc/manual_de.html
@@ -0,0 +1,728 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!--
+/*
+ * $calcurse: manual_de.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>CALCURSE documentation</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 - textbasierender Terminkalender</code></h1>
+<p>
+<p><hr><p>
+
+<h1>Inhaltsverzeichnis</h1>
+<ul>
+<li><a href="#intro">Einleitung</a>
+<li><a href="#overview">&Uuml;berblick</a>
+<ul>
+<li><a href="#overview_history">Anlass</a>
+<li><a href="#overview_features">Wichtige Eigenschaften</a>
+</ul>
+<li><a href="#install">Installation</a>
+<ul>
+<li><a href="#install_requirements">Vorraussetzungen</a>
+<ul>
+<li><a href="#install_requirements_ncurses"><code>ncurses</code> Bibliothek</a>
+<li><a href="#install_requirements_gettext"><code>gettext</code> Bibliothek</a>
+</ul>
+<li><a href="#install_process">Installationsprozess</a>
+</ul>
+<li><a href="#basics"><code>calcurse</code> Grundlagen</a>
+<ul>
+<li><a href="#basics_invocation">Programmaufruf</a>
+<ul>
+<li><a href="#basics_invocation_commandline">Programmargumente</a>
+<li><a href="#basics_invocation_variable">Umgebungsvariable f&uuml;r i18n</a>
+</ul>
+<li><a href="#basics_interface">Benutzer-Interface</a>
+<ul>
+<li><a href="#basics_interface_noninteractive">Nicht-interaktiver Modus</a>
+<li><a href="#basics_interface_interactive">Interaktiver Modus</a>
+</ul>
+<li><a href="#basics_files"><code>calcurse</code> Dateien</a>
+<li><a href="#basics_help">Onlinehilfe</a>
+</ul>
+<li><a href="#options">Optionen</a>
+<ul>
+<li><a href="#options_general">Allgemeine Optionen</a>
+<li><a href="#options_colors">Einstellen der Terminalfarben</a>
+<li><a href="#options_layout">Einstellen des Layouts</a>
+</ul>
+<li><a href="#known_bugs">Bekannte Fehler</a>
+<li><a href="#bugs">Mitteilung von Fehlern und Anregungen</a>
+<li><a href="#contribute">Wie kann ich einen Beitrag leisten?</a>
+<ul>
+<li><a href="#contribute_documentation">&Uuml;bersetzung der Dokumentation</a>
+<li><a href="#contribute_i18n"><code>calcurse</code> i18n</a>
+<ul>
+<li><a href="#contribute_i18n_overview">&Uuml;berblick</a>
+<li><a href="#contribute_i18n_translator">Aufgaben des &Uuml;bersetzers</a>
+<li><a href="#contribute_i18n_po-files">po-Dateien</a>
+</ul>
+</ul>
+<li><a href="#links">Links</a>
+<ul>
+<li><a href="#links_homepage"><code>calcurse</code> Internetseite</a>
+<li><a href="#links_list"><code>calcurse</code> Ank&uuml;ndigungsliste</a>
+</ul>
+<li><a href="#thanks">Danksagungen</a>
+</ul>
+<p><hr><p>
+
+
+<a name="intro"></a><h1>Einleitung</a></h1>
+<p>
+<code>calcurse</code> ist ein textbasierender pers&ouml;nlicher Terminkalender, der
+Ihnen bei der Organisation von Terminen und t&auml;glichen Aufgaben
+hilft. Er beinhaltet einen Kalender sowie eine 'todo'-Liste, die Ihre
+Termine ordnet. Das Benutzer-Interface ist einstellbar. Terminalfarben
+und Layout lassen sich individuell anpassen. Alle Kommandos sind
+dokumentiert und k&ouml;nnen zur Laufzeit jederzeit erfragt werden.
+
+
+<a name="overview"></a><h1>&Uuml;berblick</h1>
+<a name="overview_history"></a><h2>Anlass</h2>
+<p>
+Nachdem ich mein Diplom in Astrophysik absolviert hatte, kam mir die
+Idee dieses Programm zu schreiben. Alles begann etwas unorganisiert zu
+werden. Ein Programm, dass mir bei meiner Terminplanung etwas hilft,
+war wirklich vonn&ouml;ten. ;)<br>
+Ich mag Programme mit Textinterfaces, weil sie einfach, schnell,
+portabel und effizient sind. Also dachte ich dar&uuml;ber nach ein
+Programm mit textorientiertem Benutzer-Interface zu entwickeln.
+Dar&uuml;ber hinaus wollte ich meine Kenntnisse in der Programmiersprache
+<code>C</code> erweitern. Im Grundstudium kam ich mit <code>C</code>
+erstmals in Kontakt. Ich denke es ist eine gute Idee ein solches
+Projekt zu beginnen und dabei meine Kenntnisse in <code>C</code> zu
+erweitern! Mein Diplom habe ich nun absolviert, <code>calcurse</code>
+ist aber noch immer nicht fertig. Nach wie vor entwickle ich dieses
+Programm weiter, in der Hoffnung, dass es f&uuml;r andere von Nutzen sein
+wird. Also hier ist es...<br>
+<br>
+Doch warum nenne ich es 'calcurse'? Nun, es ist einfach
+zusammengesetzt aus den W&ouml;rtern 'CALendar' und 'nCurses', dem Namen
+der Bibliothek die f&uuml;r das Benutzer-Interface verwendet wird.
+
+
+<a name="overview_features"></a><h2>Wichtige Eigenschaften</h2>
+<p>
+<code>Calcurse</code> ist portabel und setzt sich zum Ziel klein,
+schnell und sicher zu sein. Es ist auf einer Konsole oder einem
+Terminal zu verwenden, entweder lokal oder auf einem entfernten System
+mithilfe einer ssh-Verbindung (oder &auml;hnlichem).<br>
+<code>Calcurse</code> kann in zwei unterschiedlichen Modi gestartet
+werden: ein interaktiver und nicht-interaktiver Modus. Der erste Modus
+erzeugt Dank des textbasierenden Interfaces die Ansicht eines eigenen
+pers&ouml;nlichen Terminkalenders. Mit dem zweiten Modus ist es m&ouml;glich
+sich ein Erinnerungstool (Reminder) zu erstellen, wenn
+<code>calcurse</code> mit den entsprechenden Argumenten in 'cron tab'
+oder einem 'init script' eingebunden wird.<br>
+Dar&uuml;ber hinaus ist <code>calcurse</code> f&uuml;r Benutzer erstellt worden,
+mit der Absicht so benutzerfreundlich wie m&ouml;glich zu sein. Das
+bedeutet, dass eine komplette Onlinehilfe im Programm zu Verf&uuml;gung
+steht, sowie alle m&ouml;gliche Aktionen zu jeder Zeit in einer Statuszeile
+ersichtlich sind. Das Benutzer-Interface ist ebenfalls
+einstellbar. Ebenso kann man verschiedene Textfarben und Layouts
+w&auml;hlen.
+
+
+<a name="install"></a><h1>Installation</h1>
+<a name="install_requirements"></a><h2>Voraussetzungen</h2>
+<a name="install_requirements_ncurses"></a><h3><code>ncurses</code> Bibliothek</h3>
+<p>
+<code>Calcurse</code> ben&ouml;tigt einen C-Compiler wie etwa
+<code>cc</code> oder <code>gcc</code>. Ferner wird die
+ncurses-Bibliothek ben&ouml;tigt, dass aber auf den meisten Unix-Systemen
+verf&uuml;gbar sein sollte. Falls nicht, kann es von folgender URL herunter
+laden:<br>
+<pre>
+ http://ftp.gnu.org/pub/gnu/ncurses/
+</pre>
+
+<a name="install_requirements_gettext"></a><h3><code>gettext</code> Bibliothek</h3>
+<p>
+
+ <code>calcurse</code> unterst&uuml;tzt die Internationalisierung
+ (k&uuml;nftig <em>i18n</em>) durch <code>gettext</code>.
+ Das bedeutet, dass <code>calcurse</code> mehrsprachige Mitteilungen
+ erzeugen kann, wenn es mit der entsprechenden Sprachunterst&uuml;tzung
+ kompiliert wurde (z.B. <em>NLS</em>).
+ Dennoch, <em>NLS</em> ist optional und wenn keine mehrsprachigen Mitteilungen
+ gew&uuml;nscht sind, kann diese Eigenschaft abgestellt werden. Einfach die Option <code>--disable-nls</code> dem <code>configure</code> Skript &uuml;bergeben
+ (siehe Abschnitt <ahref="#install_process">Installationsprozess</a>). <br>
+ Um zu &uuml;berpr&uuml;fen, ob <code>gettext</code> auf dem System installiert ist,
+ kann man nach der <code>libintl.h</code> Datei suchen:
+ <pre>
+ locate libintl.h
+ </pre>
+ Wenn diese Datei nicht gefunden wird, kann <code>gettext</code> von folgender URL herunter geladen werden:<br>
+ <pre>
+ http://ftp.gnu.org/pub/gnu/gettext/
+ </pre>
+ <u>Beachte:</u> Auch wenn <code>libintl.h</code> auf dem System
+ gefunden wurde, kann es erforderlich sein den Pfad dieser Datei w&auml;hrend des <ahref="#install_process"> Installationsprozesses</a> anzugeben. Die entsprechende
+ Option f&uuml;r das <code>configure</code> Skript lautet dann <code>--with-libintl-prefix</code>.
+ Das <code>configure</code> Skript wird nat&uuml;rlich vorzeitig abbrechen, wenn die dazugeh&ouml;rige Bibliothek nicht gefunden wurde.
+
+
+<a name="install_process"></a><h2>Installationsprozess</h2>
+<p>
+Als erstes m&uuml;ssen die Dateien entpackt werden:
+<pre>
+ tar zxvf calcurse-1.4.tar.gz
+</pre>
+Wenn Sie die Voraussetzungen erf&uuml;llen und das Archiv entpackt
+vorliegen, sind nur noch die drei &uuml;blichen Schritte erforderlich:
+<OL>
+ <li><code>./configure</code>
+ <li><code>make</code>
+ <li><code>make install</code> (mit Root-Rechten)
+</OL>
+Benutzen Sie <code>./configure --help</code> um eine Liste mit den
+verf&uuml;gbaren Optionen zu erhalten.
+
+
+<a name="basics"></a><h1><code>calcurse</code> Grundlagen</h1>
+<a name="basics_invocation"></a><h2>Programmaufruf</h2>
+<a name="basics_invocation_commandline"></a><h3>Programmargumente</h3>
+<p>
+<code>Calcurse</code> kann mit folgenden Optionen aufgerufen werden:
+
+<dl compact>
+<dt><code>-a</code>
+<dd>Gibt die Termine eines anzugebenen Tags aus.<br>
+<u>Beachte:</u> Die Kalender-Datei, von der die Termine gelesen
+werden sollen, kann mit mithilfe der -c Option angegeben werden.<br>
+<br>
+<dt><code>-c</code>
+<dd>
+Gibt die zu lesende Kalender-Datei an.<br>
+Der Standardkalender ist <code>~/.calcurse/apts</code> (beachte auch
+Abschnitt: <a href="#basics_files"><code>calcurse</code> Dateien</a>).<br>
+<br>
+<dt><code>-d</code>
+<dd>
+Gibt die Termine eines angegebenen Datums aus oder gibt alle Termine
+der anzugebenen nachfolgenden Tage aus. Somit sind zwei m&ouml;gliche
+Formate m&ouml;glich:
+<ul>
+<li>Datum: 'MM/TT/JJJJ' (Monat, Tag, Jahr).
+<li>Anzahl der Tage: 'n'.
+</ul>
+Im ersten Fall wird eine Liste mit allen Terminen des anzugebenen
+Datums ausgegeben. Der zweite Fall listet alle folgenden Termine auf,
+die in den n&auml;chsten 'n' Tagen zu erledigen sind.<br>
+Beispiel: die Eingabe <code>calcurse -d 3</code> gibt alle Termine von
+heute, morgen und &uuml;bermorgen aus.<br>
+<br>
+<dt><code>-h</code>
+<dd>
+Gibt eine Hilfe zu den Unterst&uuml;tzten Optionen aus.<br>
+<br>
+<dt><code>-t</code>
+<dd>
+Gibt die 'todo' Liste aus.<br>
+<br>
+<dt><code>-v</code>
+<dd>
+Gibt die aktuelle Version von Calcurse aus.
+</dl>
+
+
+<a name="basics_invocation_variable"></a><h3>Umgebungsvariable f&uuml;r i18n</h3>
+<p>
+
+ <code>calcurse</code> kann mit einer Unterst&uuml;tzung f&uuml;r die Muttersprache
+ kompiliert werden (siehe <a
+ href="#install_requirements_gettext"><code>gettext</code>
+ Bibliothek</a>). Wenn Meldungen in der Muttersprache gew&uuml;nscht sind,
+ sollte zunacht gepr&uuml;ft werden, ob die <code>po/LINGUAS</code> Datei verf&uuml;gbar ist.
+ Diese Datei zeigt alle verf&uuml;gbaren Sprachen durch
+ zweibuchstabige K&uuml;rzel an (z. B., <em>fr</em>
+ steht f&uuml;r franz&ouml;sisch). Wenn Ihre Sprache nicht aufgef&uuml;hrt ist, w&auml;re es
+ nat&uuml;rlich grossartig, wenn Sie sich an der &Uuml;bersetzung von <code>calcurse</code>
+ in andere Sprachen beteiligen k&ouml;nnten (siehe Abschnitt <a href="#contribute">Wie kann
+ ich einen Beitrag leisten?</a>).<br>
+ Wenn Ihre Sprache verf&uuml;gbar ist, starten Sie
+ <code>calcurse</code> mit dem folgenden Aufruf:
+ <pre>
+ LC_ALL=fr_FR calcurse
+ </pre>
+ wobei <em>fr_FR</em> der Name der gew&uuml;nschten Spracheausgabe ist und durch
+ das K&uuml;rzel Ihrer Sprache ersetzt werden kann.
+
+
+<a name="basics_interface"></a><h2>Benutzer-Interface</h2>
+<a name="basics_interface_noninteractive"></a><h3>Nicht interaktiver Modus</h3>
+<p>
+Wird <code>calcurse</code> mit den Optionen:<br>
+<code>-a</code>, <code>-d</code>, <code>-t</code>,
+<code>-h</code>, <code>-v</code><br>
+gestartet, wird das Programm im nicht-interaktiven Modus
+ausgef&uuml;hrt. Das bedeutet, dass die gew&uuml;nschten Informationen
+ausgegeben werden und das Programm anschlie&szlig;end sofort wieder beendet
+wird. So ist es m&ouml;glich mit dem Aufruf <code>calcurse -ta</code> eine
+Liste aller Termine eines bestimmten Tages zu erhalten.
+
+
+<a name="basics_interface_interactive"></a><h3>Interaktiver Modus</h3>
+<p>
+Ohne Angabe einer Option oder nur die Option -c startet
+<code>calcurse</code> im interaktiven Modus. In diesem Modus erh&auml;lt
+man ein Interface mit drei unterschiedlichen Panels, die mit der
+'TAB'-Taste angesteuert werden k&ouml;nnen, sowie eine Status-Zeile (siehe
+unten).
+<pre>
+
+ Termin-Panel---. .---Kalender-Panel
+ | |
+ v v
+ +------------------------------------++----------------------------+
+ | Termine || Kalender |
+ |------------------------------------||----------------------------|
+ | 6. April 2006 || April 2006 |
+ | ||Mon Die Mit Don Frei Sam Son|
+ | || 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 |
+ | || |
+ | |+----------------------------+
+ | |+----------------------------+
+ | || Zu erledigen | todo-
+ | ||----------------------------| Panel
+ | || | |
+ | || | |
+ | || |<--.
+ | || |
+ | || |
+ | || |
+ +------------------------------------++----------------------------+
+ | ? Hilfe R Neu zeichnen H/L -/+1 Tag G Gehe zu C Einstellung |
+ | Q Verlassen S Speichern J/K -/+1 Woche Tab ändere Ansicht |<-.
+ +------------------------------------------------------------------+ |
+ |
+ Statuszeile
+
+</pre>
+
+Das Kalender-Panel hebt den gew&uuml;nschten Tag farblich hervor, w&auml;hrend
+das Termin-Panel die Liste mit Terminen des angesteuerten Tags
+anzeigt. Das todo-Panel dagegen zeigt eine Liste mit den zu
+erledigenden Aufgaben, die keinem bestimmten Tage zugeordnet sind.
+Die letzten beiden Zeilen des Interfaces zeigen die Status-Zeile, die
+&uuml;ber die m&ouml;glichen Befehle und ihre entsprechenden Tasten informiert.
+
+
+<a name="basics_files"></a><h2><code>calcurse</code> Dateien</h2>
+<p>
+
+Die folgende Verzeichnisstruktur wird im $HOME-Verzeichnis angelegt,
+wenn <code>calcurse</code> das erste mal gestartet wird:
+<pre>
+ $HOME/.calcurse/
+ |___conf
+ |___apts
+ |___todo
+</pre>
+
+
+Die <em>conf</em> Datei enth&auml;lt die Informationen zur Benutzerkonfiguration.<br>
+Die <em>apts</em> Datei enth&auml;lt alle Termine.<br>
+Die <em>todo</em> Datei enth&auml;lt die todo-Liste.
+
+
+<a name="basics_help"></a><h2>Online Hilfe</h2>
+<p>
+Das integrierte Hilfe-System kann jederzeit mit '?' aufgerufen
+werden. Informationen &uuml;ber bestimmte Befehle k&ouml;nnen mit der
+entsprechenden Taste des Befehls aufgerufen werden.
+
+
+<a name="options"></a><h1>Optionen</h1>
+<p>
+Alle <code>calcurse</code> Parameter sind im Konfigurationsmen&uuml;
+einstellbar. Dr&uuml;cke Sie dazu die 'C'-Taste. Ein weiteres Untermen&uuml;
+erscheint mit drei weiteren Auswahlpunkten: Ein erneutes Bet&auml;tigen der
+'C'-Taste f&uuml;hrt zur Farbeinstellung, die 'L'-Taste erlaubt die Auswahl
+eines anderen Layouts, das heisst die Anordnung der drei Panel kann
+hier ge&auml;ndert werden. Mit der 'G'-Taste gelangt man zur Auswahl
+allgemeiner Optionen.
+
+
+<a name="options_general"></a><h1>Allgemeine Optionen</h1>
+<p>
+Diese Optionen steuert das allgemeine Verhalten von
+<code>calcurse</code> wie im folgenden beschrieben wird:
+<ul>
+<li><code>auto_save</code> (Voreinstellung: <em>yes</em>)<br>
+Diese Option erlaubt es die Benutzerdaten automatisch beim Verlassen
+zu speichern. Warnung: Es werden keine Daten gespeichert, wenn die
+auto_save Option auf <em>no</em> gesetzt wird. Das bedeutet, dass der Benutzer
+'s' bet&auml;tigen muss, wenn Eingaben gespeichert werden sollen.<br>
+<br>
+<li><code>confirm_quit</code> (Vorenstellung: <em>yes</em>)<br>
+Wenn diese Option auf <em>yes</em> eingestellt ist, wird nachgefragt, ob das
+Programm wirklich beenden werden soll. Ist die Option auf <em>no</em> gestellt,
+wird das Programm durch Eingabe von 'Q' ohne Nachfrage sofort beendet.<br>
+<br>
+<li><code>confirm_delete</code> (Voreinstellung: <em>yes</em>)<br>
+Ist diese Option auf <em>yes</em> eingestellt, fragt das Programm nach, ob ein
+Eintrag wirklich gel&ouml;scht werden soll (entweder ein todo-Eintrag oder
+ein Termin). Ist confirm_delete auf <em>no</em>, wird durch Bet&auml;tigung der
+'D'-Taste ohne Nachfrage gel&ouml;scht.<br>
+<br>
+<li><code>skip_system_dialogs</code> (Voreinstellung: <em>no</em>)<br>
+Durch setzen auf <em>yes</em> werden die Dialoge beim Speichern und
+Laden umgangen. N&uuml;tzlich, wenn es mal schnell gehen muss.<br>
+<br>
+<li><code>skip_progress_bar</code> (Voreinstellung: <em>no</em>)<br>
+Wenn auf <em>yes</em> gesetzt ist, erscheint der Zustandsbalken nicht
+mehr, der gew&ouml;hnlich angezeigt wird, wenn Daten gespeichert
+werden. Ist diese Option auf <em>yes</em> eingestellt, erscheint ein
+Zustandsbalken zusammen mit dem Namen der zu speichernden Datei (siehe
+Abschnitt <a href="#basics_files">Calcurse Dateien</a>).<br>
+<br>
+<li><code>week_begins_on_monday</code> (Voreinstellung: <em>yes</em>)<br>
+Es ist möglich zwischen Montag und Sonntag als ersten Wochentag zu wählen.
+Wird die Option <em>week_begins_on_monday</em> auf yes gesetzt, erscheint Montag als
+erster Wochentag. Ist diese Option auf no gesetzt, beginnt die Woche mit Sonntag.
+</ul>
+
+
+<a name="options_colors"></a><h2>Textfarben einstellen</h2>
+<p>
+Die verwendeten Textfarben k&ouml;nnen nach eigenen Vorlieben eingestellt
+werden. Durch Bet&auml;tigung der entsprechenden Taste kann die gew&uuml;nschte
+Farbkombination ausgew&auml;hlt werden. Die gew&auml;hlte Farbkombination werden
+dem Rahmen, dem Titel und der Status-Zeilen zugeordnet.
+
+ Eine schwarz/weiss Kombination ist ebenfalls verf&uuml;gbar, um Terminals ohne Farben zu unterst&uuml;tzen.<br>
+ <u>Beachte:</u>
+ <ul>
+ <li> In Abh&auml;ngigkeit des verwendeten Terminals und dem zugeordneten Wert der Umgebungsvariable <code>$TERM</code> werden Farben unterst&uuml;tzt oder nicht.
+ Eine Fehlermeldung erscheint, wenn versucht wird die Farben zu &auml;ndern obwohl
+ das Terminal keine Farben unterst&uuml;tzt.<br>
+ <br>
+ <li> Wenn sie sicher sind, dass ihr Terminal Farben darstellen kann aber keine Farben
+ in <code>calcurse</code> erscheinen, versuchen sie die <code>$TERM</code> Variable
+ auf einen anderen Wert zu setzen (wie etwa <em>xterm-xfree86</em>).
+ </ul>
+
+
+<a name="options_layout"></a><h2>Layout einstellen</h2>
+<p>
+Das Layout bezieht sich auf die Positionen der einzelnen Panel. Das
+Standard-Layout zeigt das Kalender-Panel in der oberen linken Ecke des
+Terminals, das todo-Panel befindet sich in der unteren rechten Ecke
+und das Termin-Panel auf der linken Seite des Terminals (siehe die
+Zeichnung im Abschnitt <a
+href="#basics_interface_interactive">Interaktiver Modus</a>, die das
+Beispiel des Standard-Layouts zeigt).<br>
+Durch Auswahl eines anderen Layouts kann der Benutzer das
+Erscheinungsbild von <code>calcurse</code> nach seinen W&uuml;nschen
+anpassen.
+
+
+<a name="known_bugs"></a><h1>Bekannte Fehler</h1>
+<p>
+
+ Es kommt vor, dass W&ouml;rter bei Verwendung der schwarz/weiss Farbkombination
+ falsch hervorgehoben werden, wenn die <code>$TERM</code>
+ Variable auf <em>xterm-color</em> gesetzt ist.
+ Um diesen Fehler zu umgehen, sollte nach Aussage von
+ Thomas E. Dickey (zust&auml;ndig f&uuml;r das <code>xterm</code>),
+ <em>xterm-xfree86</em> an Stelle f&uuml;r <em>xterm-color</em> als
+ <code>$TERM</code> Variable gesetzt werden:<br>
+ <blockquote>
+ "The xterm-color value for $TERM is a bad choice for XFree86 xterm
+ because it is commonly used for a terminfo entry which happens to
+ not support bce. Use the xterm-xfree86 entry which is distributed
+ with XFree86 xterm (or the similar one distributed with ncurses)."
+ </blockquote>
+
+
+
+<a name="bugs"></a><h1>Mitteilung von Fehlern und Anregungen</h1>
+<p>
+Bitte mailt Fehler oder auch Anregungen an:
+<pre>
+ calcurse@culot.org
+</pre>
+oder an den Autor:
+<pre>
+ frederic@culot.org
+</pre>
+
+
+<a name="contribute"></a><h1>Wie kann ich einen Beitrag leisten?</h1>
+<p>
+Wenn Sie gerne dieses Projekt unterst&uuml;tzen m&ouml;chten, k&ouml;nnen Sie mir
+zuerst eine kurze R&uuml;ckmeldung geben. Was finden Sie gut an diesem
+Programm oder was k&ouml;nnte besser sein. Gibt es vielleicht Programmeigenschaften,
+die Sie vermissen? Teilen Sie es mir mit!<br>
+
+ Von nun an ist es auch m&ouml;glich sich an der &Uuml;bersetzung der Prgrammmitteilungen
+ und der Dokumentation von <code>calcurse</code> zu beteiligen. <br>
+ <br>
+ <u>Beachte:</u> Jegliche Unterst&uuml;tzung <code>calcurse</code>
+ in andere Sprachen zu &uuml;bersetzen ist sehr willkommen. Doch bevor Sie beginnen, sollten
+ Sie eine Mail an <code>calcurse-i18n@culot.org</code> senden, um zu erfahren, ob jemand
+ die &Uuml;bersetzung in Ihrer Sprache schon begonnen hat.
+
+
+
+<a name="contribute_documentation"></a><h2>&Uuml;bersetzung der Dokumentation</h2>
+<p>
+
+ Das <em>doc/</em> Verzeichnis des Source-Packets enth&auml;lt bereits
+ &uuml;besetzte Versionen der <code>calcurse</code> Anleitung.
+ Wenn eine &Uuml;bersetzung in Ihrer Sprache noch nicht vorhanden ist,
+ w&auml;re es grossartig, wenn Sie eine solche erstellen k&ouml;nnten.<br>
+ Kopieren Sie dazu eine der vorhandenen Version mit dem Dateinamen
+ <code>manual_XX.html</code>, wobei <em>XX</em>
+ das entsprechende K&uuml;rzel Ihrer Sprache ist. Anschliessend &uuml;bersetzen Sie diese
+ Datei und senden Sie dann an den Author (siehe <a href="#bugs">Mitteilung von Fehlern und Anregungen</a>), so dass Ihre &Uuml;bersetzung f&uuml;r die n&auml;chste Ausgabe von <code>calcurse</code> ins Packet integriert werden kann.
+
+<a name="contribute_i18n"></a><h2><code>calcurse</code> i18n</h2>
+<p>
+ Wie bereits erw&auml;hnt, verwendet <code>calcurse</code> die <code>gettext</code> Utilities um mehrsprachige Programmmitteilungen zu erzeugen.
+ Dieser Abschnitt informiert dar&uuml;ber, wie Programmmitteilungen in Ihrer Muttersprache
+ &uuml;bersetzt werden. Dieses howto zur &Uuml;bersetzung von <code>calcurse</code> mit <code>gettext</code> ist nat&uuml;rlich nur ein Einstieg und wohl zu kurz. Um umfassendere Informationen
+ zu erhalten und sich die weite Welt der Sprach&uuml;bersetzung f&uuml;r Software zu erschliessen,
+ sollten Sie die Seite der <code>GNU gettext</code> Anleitung besuchen:
+ <pre>
+ http://www.gnu.org/software/gettext/manual/
+ </pre>
+ Eigentlich sind drei verschiedene Entwickler an der &Uuml;bersetzung beteiligt:
+ Programmierer, Sprachkoordinator und &Uuml;bersetzer.
+ Nach einem kurzen &Uuml;berblick, wie so etwas funktioniert, werden anschliessend die
+ Aufgaben des &Uuml;bersetzers beschrieben.
+
+
+<a name="contribute_i18n_overview"></a><h3>&Uuml;berblick</h3>
+<p>
+Um Text in der Muttersprache des Benutzers erscheinen zu lassen, sind zwei Schritte n&ouml;tig:
+ <em>Internationalisierung</em>
+ (i18n) und <em>Lokalisierung</em> (l10n).
+ Bei der i18n geht es darum ein Buch f&uuml;r mehrere Sprachen vorzubereiten.
+ Das wird vom Programmierer durchgef&uuml;hrt, der die zu &uuml;bersetzenden Texte markiert
+ und es somit erm&ouml;glicht, dass zur Laufzeit des Programms der Text &uuml;bersetzt erscheint.
+ Bei der l10n geht es darum, dem i18n markierten Pragramm <code>calcurse</code> die entsprechende &Uuml;bersetzung des Benutzers zukommen zu lassen. Die zuvor vom Programmierer
+ markierten Texte werden durch das richtige Setzen der Umgebung f&uuml;r <code>calcurse</code> &uuml;bersetzt.<br>
+ <br>
+
+ Also, die zu &uuml;bersetzenden Texte werden zun&auml;chst vom Programmierer in der <code>C</code> Source-Datei markiert und in einer Template
+ Datei (<em>calcurse.pot</em> - die <em>pot</em> Dateierweiterung bedeutet
+ <em>portable object template</em>) gesammelt.
+ Der Inhalt dieser Template Datei wird dann mit den Dateien, die die &Uuml;bersetzungen enthalten
+ (<em>fr.po</em> f&uuml;r franz&ouml;sisch, hier steht <em>po</em> f&uuml;r <em>portable object</em>,
+ dieses Format kann man lesen und ver&auml;ndern),
+ zusammengef&uuml;hrt. Ein &Uuml;bersetzer kann diese Datei dazu &ouml;ffnen, die enthaltenen Texte &uuml;bersetzen
+ und sie dann an den Programmierer zur&uuml;ck senden.
+ Wenn das Programm kompiliert wird, erzeugt der Kompiler (aus Gr&uuml;nden der Effizienz)
+ eine bin&auml;re Version dieser Datei (<em>fr.mo</em> - <em>mo</em> steht f&uuml;r <em>machine
+ object</em>, dieses Format kann nur von Programmen gelesen werden), die dann installiert wird. <code>calcurse</code> nutzt diese Datei zur Laufzeit, um die
+ Texte in Abh&auml;ngigkeit zur lokalen Einstellung des Benutzers zu &uuml;bersetzen.
+
+
+<a name="contribute_i18n_translator"></a><h3>Aufgaben des &Uuml;bersetzers</h3>
+<p>
+ Wenn Sie mit der &Uuml;bersetzung in eine neue Sprache beginnen m&ouml;chte sind hier die Schritte dazu:
+ <ul>
+ <li>Finden Sie zun&auml;chst heraus, wie die K&uuml;rzel der Sprache definiert sind.
+ Beispielsweise sind die K&uuml;rzel f&uuml;r die franz&ouml;sische 'fr_FR', oder einfacher
+ 'fr'. Das ist der Wert, den der Benutzer als Umgebungsvariable <code>LC_ALL</code> f&uuml;r die Programme setzen muss (siehe <a href="#basics_invocation_variable">Umgebungsvariable f&uuml;r i18n</a>).<br>
+ <br>
+ <li>Wechseln Sie dann ins <em>po/</em> Verzeichnis und erzeugen Sie eine neue po-Datei aus der Template Datei mit folgendem Aufruf:
+ <pre>
+ 'msginit -i calcurse.pot -o fr.po -l fr --no-translator'
+ </pre>
+ Wenn <code>msginit</code> nicht auf Ihrem System installiert ist, kopieren Sie einfach die Datei <em>calcurse.pot</em> nach <em>fr.po</em> und &auml;nderen Sie den Dateikopf manuel.<br>
+ Wenn die Datei <em>fr.po</em> erstellt ist, kann mit der eigentlichen &Uuml;bersetzung begonnen werden.
+ </ul>
+
+
+<a name="contribute_i18n_po-files"></a><h3>po-Dateien</h3>
+<p>
+ Das Format der po-Dateien ist relativ einfach. po-Dateien bestehen aus f&uuml;nf Teilen:
+ <ol>
+ <li><em>location Zeilen:</em> geben an, wo sich der Text befindet (Name der Datei und Zeilennummer).
+ <li><em>msgid Zeilen:</em> der zu &uuml;bersetzende Text.
+ <li><em>msgstr Zeilen:</em> der &uuml;bersetzte Text.
+ <li><em>Zeilen, die mit '#' beginnen:</em> Kommentare (einige mit spezieller Bedeutung,
+ wie wir weiter unten noch sehen werden).
+ </ol>
+ &Uuml;bersetzen Sie die <em>msgid</em> Zeilen und tragen Sie den &uuml;bersetzten Text in die mit
+ <em>msgstr</em> gekennzeichneten Zeilen ein.
+ <p>
+ <u>Einige Anmerkungen:</u>
+ <ul>
+ <li><em>Fuzzy Texte</em><br>
+ Einige Texte sind mit <code>"#, fuzzy"</code>
+ kommentiert. <code>calcurse</code> nutzt derart markierte Texte nicht.
+ Ein Text, der als fuzzy markiert ist, deutet entweder darauf hin, dass
+ der Text schon &uuml;bersetzt wurde, aber die Stelle im Programmcode ver&auml;ndert wurde, oder
+ aber es handelt sich um einen neuen Text, f&uuml;r welchen <code>gettext</code> eine sog. 'wild guess' vornimmt, also selbst eine &Uuml;bersetzung versucht.
+ Das beduetet, die &Uuml;bersetzung sollte noch einmal &uuml;berarbeitet werden.
+ Manchmal wurde der Originaltext ver&auml;ndert, weil ein Rechtschreibfehler korrigiert wurde. In einem solchen Fall muss nichts ver&auml;ndert werden.
+ Manchmal ist die &Uuml;bersetzung aber nicht optimal gelungen und muss dann ver&auml;ndert werden.
+ Wenn die &Uuml;bersetzung fertig ist, entferne die <code>"#, fuzzy"</code> Zeilen. Die &Uuml;bersetzung
+ wird wieder in <code>calcurse</code> verwendet.<br>
+ <br>
+ <li><em>c-Format Texte and besondere Sequenzen</em><br>
+ Einige Texte haben folgende Kommentare: <code>"#,
+ c-format"</code>.
+ Dieser Kommentar bedeutet, dass Teile dieses Textes eine besondere Bedeutung haben
+ und dieser Text unver&auml;ndert bleiben werden sollte.
+ Beispielsweise die %-Sequenzen, wie <code>"%s"</code>.
+ Diese bedeuten, dass <code>calcurse</code> dort Text einf&uuml;gen wird.
+ Es ist also wichtig, diese nicht zu ver&auml;ndern.
+ Ebenso kommen \-Sequenzen vor, wie <code>\n</code> oder
+ <code>\t</code>. Auch nicht ver&auml;ndern.
+ Das erste stellt das Zeilenende dar, das zweite eine Tabulation.<br>
+ <br>
+ <li><em>&Uuml;bersetzungen k&ouml;nnen in Bl&ouml;cke geschrieben werden</em><br>
+ Wenn Zeilen zu lang werden, k&ouml;nnen sie auf mehrere verteilt werden:
+ <pre>
+ msgid ""
+ "some very long line"
+ "another line"
+ </pre>
+ <li><em>po-Dateikopf</em><br>
+ Ganz zu Anfang einer po-Datei befindet sich der Kopf. Dort stehen einige Informationen.
+ Die wichtigste Information dort ist der Zeichensatz. Er sollte diesem &auml;hnlich sein
+ <pre>
+ "Content-Type: text/plain; charset=utf-8\n"
+ </pre>
+
+ Auch das &Uuml;bersetzer-Feld sollte ausgef&uuml;llt sein, damit andere potentielle Mitstreiter, die sich an der &Uuml;bersetzung beteiligen wollen, Kontakt mit Ihnen aufnehmen k&ouml;nnen. Ebenso k&ouml;nnen von anderen entdeckte Fehler an den &Uuml;bersetzer gemeldet werden. Man kann entweder seinen Namen oder seine Mail dort angeben:
+ <pre>
+ "Last-Translator: Frederic Culot <frederic@culot.org>\n"
+ </pre>
+ <li><em>Kommentare</em><br>
+ Das Hinzuf&uuml;gen von Kommentaren (Zeilen beginnen mit dem '#' Zeichen) ist eine gute M&ouml;glichkeit
+ Probleme und &Uuml;bersetzungsschwierigkeiten besser zu l&ouml;sen. Die &Uuml;bersetzungsarbeit wird besser
+ lesbar.<br>
+ <br>
+ <li><em>L&auml;ngen der Texte</em><br>
+ <code>calcurse</code>
+ ist ein curses/Konsolen Programm und kann somit von der Gr&ouml;sse des Terminals (Anzahl der
+ Zeilen) abh&auml;ngen. Dies sollte bei der &Uuml;bersetzung ber&uuml;cksichtigt werden.
+ H&auml;ufig m&uuml;ssen Texte in eine Zeile passen (Standardl&auml;nge ist 80 Zeichen).
+ &Uuml;bersetzen Sie nicht blind, versuchen Sie herauszufinden, wo der Text erscheint um die &Uuml;bersetzung richtig anzupassen.
+ <br>
+ <br>
+ <li><em>Ein paar n&uuml;tzliche Programme</em><br>
+ Das po-Dateiformat ist sehr einfach und kann mit einem Editor ge&auml;ndert werden.
+ Es gibt aber auch einige spezielle Tools die das Erstellen und &Auml;nder der po-Dateien
+ vereinfachen:
+ <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> po mode
+ <li><code>Vim</code> po mode
+ </ul>
+ <br>
+ <li><em>Zu Schluss noch</em><br>
+ Ich hoffe es wird Ihnen Freude bereiten, wenn Sie sich an diesem Projekt und
+ seiner Internationalisierung beteiligen :). Wenn noch Fragen offen sind,
+ scheuen Sie sich nicht mir eine Mail zu schreiben, <em>frederic@culot.org</em>.
+ </ul>
+
+
+<a name="links"></a><h1>Links</h1>
+<p>
+Dieser Abschnitt enth&auml;lt Links und Angaben, die Sie interessieren
+k&ouml;nnten.
+
+
+<a name="links_homepage"></a><h2><code>calcurse</code> Internetseite</h2>
+<p>
+Die Internetseite des Projekts <code>calcurse</code> lautet:
+<pre>
+ http://culot.org/calcurse
+</pre>
+
+
+<a name="links_list"></a><h2><code>calcurse</code> Ank&uuml;ndigungsliste</h2>
+<p>
+Wenn Interesse an Calcurse besteht und Sie gerne &uuml;ber Neuerscheinungen
+informiert werden m&ouml;chten, k&ouml;nnen Sie gerne auf eine Liste gesetzt
+werden, die Sie per Mail &uuml;ber die neusten Eigenschaften von
+<code>calcurse</code> informiert, sobald ein neuer Release
+erscheint.<br>
+Um sich in die Liste eintragen zu lassen, senden Sie eine Mail an
+<ode>calcurse-announce@culot.org</code> mit "subscribe" im Betreff.
+
+
+<a name="thanks"></a><h1>Danksagungen</h1>
+<p>
+Folgenden Leuten m&ouml;chte ich gerne f&uuml;r Ihre Unterst&uuml;tzung danken, ohne
+die dieses Projekt nicht m&ouml;glich gewesen w&auml;re. Hier ist die Liste
+derjenigen, denen ich Danke sagen m&ouml;chte:
+<ul>
+<li>Alex f&uuml;r die Patches, Hilfen und Erl&auml;uterungen zur <code>C</code> Programmierung.
+<li>Gwen f&uuml;rs Testen und Anregungen, wie <code>calcurse</code> verbessert werden kann.
+<li>Kevin und Ryan f&uuml;r das Binary-Packet auf Debian.
+<li>Steffen f&uuml;r das Binary-Packet auf Archlinux
+<li>Alexandre f&uuml;r das Binary-Packet auf Mac OsX.
+<li>Joel f&uuml;r sein Kalender-Skript das mich zum Calcurse-Layout inspiriert hat.
+<li>Michael Schulz f&uuml;r die deutsche &uuml;bersetzung der Dokumentation
+<li>Leute die Programme geschrieben haben, die ich mag und mich inspiriert haben, insbesondere :
+<ul>
+<li><code>vim</code> f&uuml;r die Befehlssteuerung
+<li><code>orpheus</code> und <code>abook</code> f&uuml;r die Dokumentation
+<li><code>pine</code> und <code>aptitude</code> f&uuml;r das Text-Benutzer-Interface
+</ul>
+</ul>
+Und zuletzt, vielen vielen Dank an alle <code>calcurse</code>
+Benutzer, die mir Ihr Feedback mitgeteilt haben.
+
+
+<hr>
+<small><em>
+Copyright (c) 2004-2006 Fr&eacute;d&eacute;ric Culot<br>
+German translation by Michael Schulz <code>&lt;bloodshower.at.web.dot.de&gt;</code><br>
+Calcurse version 1.4 - Last change: May 07, 2006
+<em></small>
+
+
+</body>
+</html>
diff --git a/doc/manual_en.html b/doc/manual_en.html
new file mode 100755
index 0000000..3b1420b
--- /dev/null
+++ b/doc/manual_en.html
@@ -0,0 +1,783 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!--
+/*
+ * $calcurse: manual_en.html,v 1.1 2006/07/31 21:00:04 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>CALCURSE documentation</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 - text-based organizer</code></h1>
+<p>
+<p><hr><p>
+
+<h1>Table of Contents</h1>
+<ul>
+<li><a href="#intro">Introduction</a>
+<li><a href="#overview">Overview</a>
+<ul>
+<li><a href="#overview_history">Creation history</a>
+<li><a href="#overview_features">Important features</a>
+</ul>
+<li><a href="#install">Installation</a>
+<ul>
+<li><a href="#install_requirements">Requirements</a>
+<ul>
+<li><a href="#install_requirements_ncurses"><code>ncurses</code> library</a>
+<li><a href="#install_requirements_gettext"><code>gettext</code> library</a>
+</ul>
+<li><a href="#install_process">Install process</a>
+</ul>
+<li><a href="#basics"><code>calcurse</code> basics</a>
+<ul>
+<li><a href="#basics_invocation">Invocation</a>
+<ul>
+<li><a href="#basics_invocation_commandline">Command line arguments</a>
+<li><a href="#basics_invocation_variable">Environment variable for i18n</a>
+</ul>
+<li><a href="#basics_interface">User interface</a>
+<ul>
+<li><a href="#basics_interface_noninteractive">Non-interactive mode</a>
+<li><a href="#basics_interface_interactive">Interactive mode</a>
+</ul>
+<li><a href="#basics_files"><code>calcurse</code> files</a>
+<li><a href="#basics_help">Online help</a>
+</ul>
+<li><a href="#options">Options</a>
+<ul>
+<li><a href="#options_general">General options</a>
+<li><a href="#options_colors">Color themes</a>
+<li><a href="#options_layout">Layout configuration</a>
+</ul>
+<li><a href="#known_bugs">Known bugs</a>
+<li><a href="#bugs">Reporting bugs and feedback</a>
+<li><a href="#contribute">How to contribute?</a>
+<ul>
+<li><a href="#contribute_documentation">Translating documentation</a>
+<li><a href="#contribute_i18n"><code>calcurse</code> i18n</a>
+<ul>
+<li><a href="#contribute_i18n_overview">Overview</a>
+<li><a href="#contribute_i18n_translator">Translator tasks</a>
+<li><a href="#contribute_i18n_po-files">po-files</a>
+</ul>
+</ul>
+<li><a href="#links">Links</a>
+<ul>
+<li><a href="#links_homepage"><code>calcurse</code> homepage</a>
+<li><a href="#links_list"><code>calcurse</code> announce list</a>
+</ul>
+<li><a href="#thanks">Thanks</a>
+</ul>
+<p><hr><p>
+
+
+<a name="intro"></a><h1>Introduction</a></h1>
+<p>
+ <code>calcurse</code> is a text-based personal organizer
+ which helps keeping track of events and everyday tasks.
+ It contains a calendar, a 'todo' list, and puts your
+ appointments in order. The user interface is configurable,
+ and one can choose between different color schemes and
+ layouts. All of the commands are documented within an
+ online help system.
+
+
+<a name="overview"></a><h1>Overview</h1>
+<a name="overview_history"></a><h2>Creation history</h2>
+<p>
+ I started thinking about this project when I was finishing
+ my Ph.D. in Astrophysics... It started to be a little hard
+ to organize myself, and I really needed a good tool to help
+ me in that difficult task ;)<br>
+ I like programs which use Text User Interfaces, because they
+ are simple, fast, portable and efficient, so I thought about
+ working on coding a simple calendar using such an interface.
+ Moreover, I wanted to go on learning the <code>C</code>
+ language, which I only used for a while during my undergraduate
+ studies. So I thought that would be the good project to start
+ in order to get organized and to learn about a few
+ <code>C</code> things !
+ Unfortunately, I finished my Ph.D. before finishing
+ <code>calcurse</code>,
+ but anyway, I still wanted to work on it, hoping it would
+ be helpful to other people. So here it is...<br>
+ <br>
+ But why 'calcurse' anyway ? Well, it is simply the
+ concatenation of 'CALendar' and 'nCURSEs', the name of the
+ library used to build the user interface.
+
+
+<a name="overview_features"></a><h2>Important features</h2>
+<p>
+ <code>Calcurse</code> is multi-platform and intended to be
+ lightweight, fast and reliable. It is to be used inside a
+ console or terminal, locally or on a distant machine within
+ an ssh (or similar) connection. <br>
+ <code>Calcurse</code> can be run in two different modes :
+ interactive or non-interactive mode. The first mode allows
+ oneself to view its own personal organizer almost everywhere,
+ thanks to the text-based interface.
+ The second mode permits to easily build reminders just by adding
+ <code>calcurse</code> with appropriate command line arguments
+ inside a cron tab or within a shell init script.<br>
+ Moreover, <code>calcurse</code> was created with the end-user
+ in mind, and tends to be as friendly as possible. This means
+ a complete on-line help system, together with having all of
+ the possible actions displayed at any time inside a status bar.
+ The user interface is also configurable, and one can choose
+ between several color and layout combinations.
+
+
+<a name="install"></a><h1>Installation</h1>
+<a name="install_requirements"></a><h2>Requirements</h2>
+<a name="install_requirements_ncurses"></a><h3><code>ncurses</code> library</h3>
+<p>
+ <code>Calcurse</code> requires only a <code>C</code> compiler, such as
+ <code>cc</code> or <code>gcc</code>, and the <code>ncurses</code>
+ library.
+ It would be very surprising not to have a valid <code>ncurses</code>
+ library already installed on your computer, but if not, you can
+ find it at the following url :<br>
+ <pre>
+ http://ftp.gnu.org/pub/gnu/ncurses/
+ </pre>
+
+<a name="install_requirements_gettext"></a><h3><code>gettext</code> library</h3>
+<p>
+ <code>calcurse</code> supports internationalization
+ (<em>i18n</em> hereafter) through the <code>gettext</code>
+ utilities. This means <code>calcurse</code> can produce
+ multi-lingual messages if compiled with native language
+ support (i.e. <em>NLS</em>). However, <em>NLS</em> is
+ optionnal and if you do not want to have support for
+ multi-lingual messages, you can disable this feature. This is
+ done by giving the <code>--disable-nls</code> option to
+ <code>configure</code> (see section <a
+ href="#install_process">Install process</a>). <br>
+ To check if the <code>gettext</code> utilities are
+ installed on your system, you can search for the
+ <code>libintl.h</code> header file for instance:
+ <pre>
+ locate libintl.h
+ </pre>
+ If this header file is not found, then you can obtain the
+ <code>gettext</code> sources at the following url :<br>
+ <pre>
+ http://ftp.gnu.org/pub/gnu/gettext/
+ </pre>
+ <u>Note:</u> Even if <code>libintl.h</code> is found on your
+ system, it can be wise to specify its location during the <a
+ href="#install_process">install process</a>, by using the
+ <code>--with-libintl-prefix</code> option with
+ <code>configure</code>. Indeed, the <code>configure</code>
+ could fail to locate this library if installed in an uncommon
+ place.
+
+
+<a name="install_process"></a><h2>Install process</h2>
+<p>
+ First you need to gunzip and untar the source archive:
+ <pre>
+ tar zxvf calcurse-1.4.tar.gz
+ </pre>
+ Once you meet the requirements and have extracted the archive,
+ the install process is quite simple, and follows the standard
+ three steps process:
+ <OL>
+ <li><code>./configure</code>
+ <li><code>make</code>
+ <li><code>make install</code> (may require root privilege)
+ </OL>
+ Use <code>./configure --help</code> to obtain a list of
+ possible options.
+
+
+<a name="basics"></a><h1><code>calcurse</code> basics</h1>
+<a name="basics_invocation"></a><h2>Invocation</h2>
+<a name="basics_invocation_commandline"></a><h3>Command line arguments</h3>
+<p>
+ <code>calcurse</code> takes the following options from the
+ command line:
+
+ <dl compact>
+ <dt><code>-a</code>
+ <dd>
+ Print the appointments for the current day and exit.<br>
+ <u>Note:</u> the calendar from which to read the appointments
+ can be specified using the '-c' flag.<br>
+ <br>
+ <dt><code>-c</code>
+ <dd>
+ Specify the calendar file to use.<br>
+ The default calendar is <code>~/.calcurse/apts</code>
+ (see section <a href="#basics_files"><code>calcurse</code> files</a>).<br>
+ <br>
+ <dt><code>-d</code>
+ <dd>
+ Print the appointments for the given date or for the
+ given number of upcoming days, depending on the argument
+ format. Two possible formats are supported:
+ <ul>
+ <li>a date of the form 'mm/dd/yyyy'.
+ <li>a number 'n'.
+ </ul>
+ In the first case, the appointment list for the
+ specified date will be returned, while in the second
+ case the appointment list for the 'n' upcoming days
+ will be returned.<br>
+ As an example, typing <code>calcurse -d 3</code>
+ will display your appointments for today, tomorrow,
+ and the day after tomorrow.<br>
+ <u>Note:</u> as for the '-a' flag, the calendar from
+ which to read the appointments can be specified using
+ the '-c' flag.<br>
+ <br>
+ <dt><code>-h</code>
+ <dd>
+ Print a short help text describing the supported
+ command-line options, and exit.<br>
+ <br>
+ <dt><code>-t</code>
+ <dd>
+ Print the 'todo' list and exit.<br>
+ <br>
+ <dt><code>-v</code>
+ <dd>
+ Display <code>calcurse</code> version and exit.
+ </DL>
+
+<a name="basics_invocation_variable"></a><h3>Environment variable for i18n</h3>
+<p>
+ <code>calcurse</code> can be compiled with native language
+ support (see <a
+ href="#install_requirements_gettext"><code>gettext</code>
+ library</a>). Thus, if you wish to have messages displayed
+ into your native language, first make sure it is available by
+ looking at the <code>po/LINGUAS</code> file.
+ This file indicates the set of available languages by showing
+ the two-letters corresponding code (for exemple, <em>fr</em>
+ stands for french). If you do not find your language, it
+ would be greatly appreciated if you could help translating
+ <code>calcurse</code> (see the <a href="#contribute">How to
+ contribute?</a> section).<br>
+ If your language is available, run
+ <code>calcurse</code> with the following command:
+ <pre>
+ LC_ALL=fr_FR calcurse
+ </pre>
+ where <em>fr_FR</em> is the locale name in this exemple, but
+ should be replaced by the locale corresponding to the desired
+ language.
+
+<a name="basics_interface"></a><h2>User interface</h2>
+<a name="basics_interface_noninteractive"></a><h3>Non-interactive mode</h3>
+<p>
+ When called with at least one of the following arguments:<br>
+ <code>-a</code>, <code>-d</code>, <code>-t</code>,
+ <code>-h</code>, <code>-v</code><br>
+ <code>calcurse</code> is started in non-interactive mode.
+ This means the desired information will be displayed, and
+ after that, <code>calcurse</code> simply quits and you are
+ driven back to the shell prompt.<br>
+ That way, one can add a line such as <code>'calcurse -ta'</code>
+ in its init config file to display at logon the list of tasks
+ and appointments scheduled for the current day.
+
+
+<a name="basics_interface_interactive"></a><h3>Interactive mode</h3>
+<p>
+ When called without any argument or only with the
+ <code>-c</code> option, <code>calcurse</code> is started in
+ interactive mode. In this mode, you are shown an interface
+ containing three different panels which you can browse using
+ the 'TAB' key, plus a status bar (see figure below).
+ <pre>
+
+ appointment panel---. .---calendar panel
+ | |
+ v v
+ +------------------------------------++----------------------------+
+ | Appointments || Calendar |
+ |------------------------------------||----------------------------|
+ | April 6, 2006 || April 2006 |
+ | ||Mon Tue Wed Thu Fri Sat Sun |
+ | || 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 |
+ | || |
+ | |+----------------------------+
+ | |+----------------------------+
+ | || ToDo | todo
+ | ||----------------------------| panel
+ | || | |
+ | || | |
+ | || |<--.
+ | || |
+ | || |
+ | || |
+ +------------------------------------++----------------------------+
+ | ? Help R Redraw H/L -/+1 Day G GoTo C Config |
+ | Q Quit S Save J/K -/+1 Week Tab Chg View |<-.
+ +------------------------------------------------------------------+ |
+ |
+ status bar
+
+ </pre>
+ The first panel represents a calendar which allows to highligth
+ a particular day, the second one contains the list of the events
+ and appointments on that day, and the last one contains a list
+ of tasks to do but which are not assigned to any specific day.
+ In the bottom line of the screen there is a status bar, which
+ indicates the possible actions and the corresponding keystrokes.
+
+
+<a name="basics_files"></a><h2><code>calcurse</code> files</h2>
+<p>
+ The following structure is created in your <code>$HOME</code>
+ directory the first time <code>calcurse</code> is run :
+ <pre>
+ $HOME/.calcurse/
+ |___conf
+ |___apts
+ |___todo
+ </pre>
+ The <em>conf</em> file contains the user configuration.<br>
+ The <em>apts</em> file contains all of the events and
+ user's appointments.<br>
+ The <em>todo</em> file contains the todo list.
+
+
+<a name="basics_help"></a><h2>Online help</h2>
+<p>
+ At any time, the built-in help system can be invoked by
+ pressing the '?' key. Once viewing the help screens,
+ informations on a specific command can be accessed by pressing
+ the keystroke corresponding to that command.
+
+<a name="options"></a><h1>Options</h1>
+<p>
+ All of the <code>calcurse</code> parameters are configurable from the
+ Configuration menu available when pressing 'C'. You are then
+ driven to a submenu with three possible choices : pressing 'C'
+ again will lead you to the Color scheme configuration,
+ pressing 'L' allows you to choose the layout of the main
+ <code>calcurse</code> screen (in other words, where to put the three
+ different panels on screen), and last you can choose between
+ different general options by pressing 'G'.
+
+<a name="options_general"></a><h2>General options</h2>
+<p>
+ These options control <code>calcurse</code> general behavior,
+ as described below:
+ <ul>
+ <li><code>auto_save</code> (default: <em>yes</em>)<br>
+ This option allows to automatically save the user's data
+ (if set to <em>yes</em>) when quitting.<br>
+ <em>warning:</em> No data will be automatically saved if
+ <code>auto_save</code> is set to <em>no</em>. This means
+ the user must press 'S' (for saving) in order to retrieve its
+ modifications.<br>
+ <br>
+ <li><code>confirm_quit</code> (default: <em>yes</em>)<br>
+ If set to <em>yes</em>, confirmation is required before
+ quitting, otherwise pressing 'Q' will cause <code>calcurse</code>
+ to quit without prompting for user confirmation.<br>
+ <br>
+ <li><code>confirm_delete</code> (default: <em>yes</em>)<br>
+ If this option is set to <em>yes</em>, pressing 'D' for
+ deleting an item (either a <em>todo</em>, <em>appointment</em>,
+ or <em>event</em>), will lead to a prompt asking for user
+ confirmation before removing the selected item from the list.
+ Otherwise, no confirmation will be needed before deleting the
+ item.<br>
+ <br>
+ <li><code>skip_system_dialogs</code> (default: <em>no</em>)<br>
+ Setting this option to <em>yes</em> will result in skipping the
+ system dialogs related to the saving and loading of data.
+ This can be useful to speed up the input/output processes.<br>
+ <br>
+ <li><code>skip_progress_bar</code> (default: <em>no</em>)<br>
+ If set to <em>yes</em>, this will cause the disappearing of the
+ progress bar which is usually shown when saving data to file.
+ If set to <em>no</em>, this bar will be displayed, together with
+ the name of the file being saved
+ (see section <a href="#basics_files"><code>calcurse</code> files</a>).<br>
+ <br>
+ <li><code>week_begins_on_monday</code> (default: <em>yes</em>)<br>
+ One can choose between Monday and Sunday as the first day of the
+ week. If the option <em>week_begins_on_monday</em> is set to
+ <em>yes</em>, Monday will be first in the calendar view. Else if
+ the option is set to <em>no</em>, then Sunday will be the first
+ day of the week.
+ </ul>
+
+
+<a name="options_colors"></a><h2>Color themes</h2>
+<p>
+ <code>calcurse</code> color theme is configurable and is to be
+ chosen by typing the number corresponding to the desired
+ theme. This color will then be applied to the panel borders,
+ to the titles, to the keystrokes, and to general informations
+ displayed inside status bar. A black and white theme is also
+ available, in order to support non-color terminals.<br>
+ <u>Notes:</u>
+ <ul>
+ <li> Depending on your terminal type and on the value of the
+ <code>$TERM</code> environnement variable, color could or
+ could not be supported. An error message will appear if you
+ try to change colors whereas your terminal does not support
+ this feature.<br>
+ <br>
+ <li> If you do know your terminal supports colors but could
+ not get <code>calcurse</code> to display them, try to set your
+ <code>$TERM</code> variable to another value (such as
+ <em>xterm-xfree86</em> for instance).
+ </ul>
+
+
+<a name="options_layout"></a><h2>Layout configuration</h2>
+<p>
+ The layout corresponds to the position of the panels inside
+ <code>calcurse</code> screen. The default layout makes the
+ calendar panel to be displayed on the top-right corner of the
+ terminal, the todo panel on the bottom-right corner, while the
+ appointment panel is displayed on the left hand-side of the
+ screen (see the figure in section
+ <a href="#basics_interface_interactive">Interactive mode</a>
+ for an exemple of the default layout).<br>
+ By choosing another layout in the configuration screen, user
+ can customize <code>calcurse</code> appearence to best suit
+ his needs by placing the different panels where needed.
+
+
+<a name="known_bugs"></a><h1>Known bugs</h1>
+<p>
+ Incorrect highlighting of items appear when using calcurse
+ black and white theme together with a <code>$TERM</code>
+ variable set to <em>xterm-color</em>.
+ To fix this bug, and as advised by Thomas E. Dickey
+ (<code>xterm</code> maintainer), <em>xterm-xfree86</em>
+ should be used instead of <em>xterm-color</em> to set
+ the <code>$TERM</code> variable:<br>
+ <blockquote>
+ "The xterm-color value for $TERM is a bad choice for XFree86 xterm
+ because it is commonly used for a terminfo entry which happens to
+ not support bce. Use the xterm-xfree86 entry which is distributed
+ with XFree86 xterm (or the similar one distributed with ncurses)."
+ </blockquote>
+
+<a name="bugs"></a><h1>Reporting bugs and feedback</h1>
+<p>
+ Please send bug reports and feedback to:
+ <pre>
+ calcurse@culot.org
+ </pre>
+ or to the author:
+ <pre>
+ frederic@culot.org
+ </pre>
+
+<a name="contribute"></a><h1>How to contribute?</h1>
+<p>
+ If you would like to contribute to the project,
+ you can first send your feedback on what you like or dislike,
+ and if there are features you miss in <code>calcurse</code>.
+ For now on, possible contributions concern the translation
+ of <code>calcurse</code> messages and documentation. <br>
+ <br>
+ <u>Note:</u> Any help in getting <code>calcurse</code>
+ internationalized would be very welcomed, but before
+ contributing, send a mail to
+ <code>calcurse-i18n@culot.org</code> to know if someone
+ already started the translation process into your language.
+
+<a name="contribute_documentation"></a><h2>Translating documentation</h2>
+<p>
+ The <em>doc/</em> directory of the source package already
+ contains translated version of <code>calcurse</code>
+ manual. However, if the manual is not yet available into your
+ native language, it would be appreciated if you could help
+ translating it.<br>
+ To do so, just copy one of the existing manual
+ file to <code>manual_XX.html</code>, where <em>XX</em>
+ identifies your language. Then translate this newly created
+ file and send it to the author (see <a href="#bugs">Reporting
+ bugs and feeback</a>), so that it can be included in the
+ next <code>calcurse</code> release.
+
+<a name="contribute_i18n"></a><h2><code>calcurse</code> i18n</h2>
+<p>
+ As already mentioned, <code>gettext</code> utilities are used
+ by <code>calcurse</code> to produce multi-lingual
+ messages. This section provides informations about how to
+ translate those messages into your native language. However,
+ this howto is deliberately incomplete, focusing on working
+ with <code>gettext</code> for <code>calcurse</code>
+ specifically. For more comprehensive informations or to grasp
+ the Big Picture of Native Language Support, you should refer
+ to the <code>GNU gettext</code> manual at:
+ <pre>
+ http://www.gnu.org/software/gettext/manual/
+ </pre>
+ Basically, three different people get involved in the
+ translation chain: coders, language coordinator, and
+ translators. After a quick overview of how things work, the
+ translator tasks will be described hereafter.
+
+
+<a name="contribute_i18n_overview"></a><h3>Overview</h3>
+<p>
+ To be able to display texts in the native language of the
+ user, two steps are required: <em>internationalization</em>
+ (i18n) and <em>localization</em> (l10n). i18n is about making
+ <code>calcurse</code> support multiple languages. It is
+ performed by coders, who will mark translatable texts and
+ provide a way to display them translated at runtime. l10n is
+ about making the i18n'ed <code>calcurse</code> adapt to the
+ specific language of the user, ie translating the strings
+ previously marked by the developers, and setting the
+ environment correctly for <code>calcurse</code> to use the
+ result of this translation.<br> <br>
+
+ So, translatable strings are first marked by the coders within
+ the <code>C</code> source files, then gathered in a template
+ file (<em>calcurse.pot</em> - the <em>pot</em> extension
+ meaning <em>portable object template</em>). The content of
+ this template file is then merged with the translation files
+ for each language (<em>fr.po</em> for french, for instance -
+ with <em>po</em> standing for <em>portable object</em>, ie
+ meant to be read and edited by humans). A given translation
+ team will take this file, translate its strings, and send it
+ back to the developers. At compilation time, a binary version
+ of this file (for efficiency reasons) will be produced
+ (<em>fr.mo</em> - <em>mo</em> stands for <em>machine
+ object</em>, ie meant to be read by programs), and then
+ installed. Then <code>calcurse</code> will use this file at
+ runtime, translating the strings according to the locale
+ settings of the user.
+
+
+<a name="contribute_i18n_translator"></a><h3>Translator tasks</h3>
+<p>
+ Suppose someone wants to initiate the translation of a new
+ language. Here are the steps to follow:
+ <ul>
+ <li>First, find out what the locale name is. For instance, for
+ french, it is 'fr_FR', or simply 'fr'. This is the value the
+ user will have to put in his <code>LC_ALL</code> environment
+ variable for software to be translated (see <a
+ href="#basics_invocation_variable">Environment variable for
+ i18n</a>).<br>
+ <br>
+ <li>Then, go into the <em>po/</em> directory, and create a new po-file
+ from the template file using the following command:
+ <pre>
+ 'msginit -i calcurse.pot -o fr.po -l fr --no-translator'
+ </pre>
+ If you do not have <code>msginit</code> installed on your
+ system, simply copy the <em>calcurse.pot</em> file to
+ <em>fr.po</em> and edit the header by hand.<br>
+ Now, having this <em>fr.po</em> file, the translator is ready
+ to begin.
+ </ul>
+
+
+<a name="contribute_i18n_po-files"></a><h3>po-files</h3>
+<p>
+ The format of the po-files is quite simple. Indeed, po-files
+ are made of four things:
+ <ol>
+ <li><em>location lines:</em> tells you where the strings can
+ be seen (name of file and line number), in case you need to
+ see a bit of context.
+ <li><em>msgid lines:</em> the strings to translate.
+ <li><em>msgstr lines:</em> the translated strings.
+ <li><em>lines prefixed with '#':</em> comments (some with a
+ special meaning, as we will see below).
+ </ol>
+ Basically, all you have to do is fill the <em>msgstr</em>
+ lines with the translation of the above <em>msgid</em>
+ line.
+ <p>
+ <u>A few notes:</u>
+ <ul>
+ <li><em>Fuzzy strings</em><br>
+ You will meet strings marked with a <code>"#, fuzzy"</code>
+ comment. <code>calcurse</code> won't use the translations of
+ such strings until you do something about them. A string
+ being fuzzy means either that the string has already been
+ translated but has since been changed in the sources of the
+ program, or that this is a new string for which
+ <code>gettext</code> made a 'wild guess' for the translation,
+ based on other strings in the file. It means you have to
+ review the translation. Sometimes, the original string has
+ changed just because a typo has been fixed. In this case, you
+ won't have to change anything. But sometimes, the translation
+ will no longer be accurate and needs to be changed. Once you
+ are done and happy with the translation, just remove the
+ <code>"#, fuzzy"</code> line, and the translation will be used
+ again in <code>calcurse</code>.<br>
+ <br>
+ <li><em>c-format strings and special sequences</em><br>
+ Some strings have the following comment: <code>"#,
+ c-format"</code>. This tells that parts of the string to
+ translate have a special meaning for the program, and that you
+ should leave them alone. For instance, %-sequences, like
+ <code>"%s"</code>. These means that <code>calcurse</code> will
+ replace them with another string. So it is important it
+ remains. There are also \-sequences, like <code>\n</code> or
+ <code>\t</code>. Leave them, too. The former represents an end
+ of line, the latter a tabulation.<br>
+ <br>
+ <li><em>Translations can be wrapped</em><br>
+ If lines are too long, you can just break them like this:
+ <pre>
+ msgid ""
+ "some very long line"
+ "another line"
+ </pre>
+ <li><em>po-file header</em><br>
+ At the very beginning of the po-file, the first string form a
+ header, where various kind of information has to be filled
+ in. Most important one is the charset. It should resemble
+ <pre>
+ "Content-Type: text/plain; charset=utf-8\n"
+ </pre>
+ You should also fill in the Last-Translator field, so that
+ potential contributors can contact you if they want to join
+ you in the translation team, or have remarks/typo fixes to
+ give about the translations. You can either just give your
+ name/nick, or add an email address, for exemple:
+ <pre>
+ "Last-Translator: Frederic Culot <frederic@culot.org>\n"
+ </pre>
+ <li><em>Comments</em><br>
+ Adding comments (lines begining with the '#' character) can be
+ a good way to point out problems or translation difficulties
+ to proofreaders or other members of your team.<br>
+ <br>
+ <li><em>Strings size</em><br>
+ <code>calcurse</code> is a curses/console program, thus it can
+ be heavily dependant on the terminal size (number of
+ columns). You should think about this when translating. Often,
+ a string must fit into a single line (standard length is 80
+ characters). Don't translate blindly, try to look where your
+ string will be displayed to adapt your translation.<br>
+ <br>
+ <li><em>A few useful tools</em><br>
+ The po-file format is very simple, and the file can be edited
+ with a standard text editor. But if you prefer, there are few
+ specialized tools you may find convenient for translating:
+ <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> po mode
+ <li><code>Vim</code> po mode
+ </ul>
+ <br>
+ <li><em>And finally</em><br>
+ I hope you'll have fun contributing to a more
+ internationalized world. :) If you have any more questions,
+ don't hesitate to contact me at <em>frederic@culot.org</em>.
+ </ul>
+
+
+<a name="links"></a><h1>Links</h1>
+<p>
+ This section contains links and references that may be of
+ interest to you.
+
+
+<a name="links_homepage"></a><h2><code>calcurse</code> homepage</h2>
+<p>
+ The <code>calcurse</code> homepage can be found at
+ <pre>
+ http://culot.org/calcurse
+ </pre>
+
+<a name="links_list"></a><h2><code>calcurse</code> announce list</h2>
+<p>
+ If you are interested in the project and want to be warned
+ when a new release comes out, you can subscribe to the
+ <code>calcurse</code> announce list. In doing so, you will
+ receive an email as soon as a new feature appears in
+ <code>calcurse</code>.<br>
+ To subscribe to this list, send a message to
+ <code>calcurse-announce@culot.org</code> with "subscribe"
+ in the subject field.
+
+
+<a name="thanks"></a><h1>Thanks</a></h1>
+<p>
+ Its time now to thank other people without whom this program
+ would not exist! So here is a list of contributing persons I
+ would like to thank :
+ <ul>
+ <li>Alex for its patches, help and advices with <code>C</code> programming
+ <li>Gwen for testing and general discussions about how to
+ improve <code>calcurse</code>
+ <li>Kevin and Ryan for packaging <code>calcurse</code> for Debian
+ <li>Steffen for packaging <code>calcurse</code> for Archlinux
+ <li>Alexandre for packaging <code>calcurse</code> for Mac OsX
+ <li>Joel for its calendar script which inspired <code>calcurse</code>
+ calendar view
+ <li>Michael Schulz for the german translation of
+ <code>calcurse</code> manual
+ <li>people who write softwares I like and which inspired me,
+ especially :
+ <ul>
+ <li><code>vim</code> for the displacement keys
+ <li><code>orpheus</code> and <code>abook</code> for documentation
+ <li><code>pine</code> and <code>aptitude</code>
+ for the text user interface
+ </ul>
+ </ul>
+ <br>
+ And last, many many thanks to all of the <code>calcurse</code>
+ users who sent me their feedback.
+
+<hr>
+<small><em>
+Copyright (c) 2004-2006 Fr&eacute;d&eacute;ric Culot<br>
+Calcurse version 1.4 - Last change: May 07, 2006
+<em></small>
+
+
+</body>
+</html>
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&egrave;res</h1>
+<ul>
+<li><a href="#intro">Introduction</a>
+<li><a href="#overview">Aper&ccedil;u du logiciel</a>
+<ul>
+<li><a href="#overview_history">Origine de Calcurse</a>
+<li><a href="#overview_features">Caract&eacute;ristiques importantes</a>
+</ul>
+<li><a href="#install">Installation</a>
+<ul>
+<li><a href="#install_requirements">Pr&eacute;-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&eacute;sentation g&eacute;n&eacute;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&eacute;n&eacute;rales</a>
+<li><a href="#options_colors">Th&egrave;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&ccedil;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&eacute;rer les rendez-vous et les t&acirc;ches
+ &agrave; faire. Il est compos&eacute; d'un calendrier, d'une
+ liste de t&acirc;ches, et classe les rendez-vous.
+ L'interface utilisateur est configurable, et l'on peut
+ choisir entre diff&eacute;rents th&egrave;mes graphiques (couleur et
+ disposition des &eacute;lements de l'interface).
+ Toutes les commandes sont document&eacute;es dans un syst&egrave;me
+ d'aide en ligne.
+
+
+<a name="overview"></a><h1>Aper&ccedil;u du logiciel</h1>
+<a name="overview_history"></a><h2>Origine de Calcurse</h2>
+<p>
+ J'ai commenc&eacute; &agrave; penser &agrave; ce projet &agrave; la fin de mon doctorat
+ en astrophysique... Je commen&ccedil;ais en effet &agrave; avoir de plus
+ en plus de mal &agrave; m'organiser, et j'avais vraiment besoin d'un
+ bon outil pour m'aider dans cette t&acirc;che difficile ;)<br>
+ D'autre part, j'appr&eacute;cie beaucoup les logiciels qui font
+ appel &agrave; des Interfaces en Mode Texte, parce que je les trouve
+ plus simples, plus rapides, plus portables et plus efficaces.
+ J'ai alors commenc&eacute; &agrave; programmer un calendrier rudimentaire
+ qui utilisait une interface de ce type.
+ En plus de cela, je voulais am&eacute;liorer mes connaissances en
+ <code>C</code>, langage de programmation que je n'avais
+ utilis&eacute; jusqu'alors que dans le cadre de petits projets pendant
+ mes &eacute;tudes. J'ai donc pens&eacute; que ce serait une bonne chose de me
+ lancer dans ce projet, puisque cela me permettrait &agrave; la fois de
+ mieux m'organiser, et d'apprendre &agrave; mieux programmer en
+ <code>C</code>!
+ Malheureusement, j'ai obtenu mon doctorat avant de terminer
+ <code>calcurse</code>, mais j'ai tout de m&ecirc;me voulu continuer
+ &agrave; travailler
+ sur ce projet, en esp&eacute;rant que ce programme serait utile &agrave;
+ d'autres personnes. Voil&agrave; comment est n&eacute;
+ <code>calcurse</code>...<br>
+ <br>
+ Mais au fait, pourquoi 'calcurse' ? Et bien ce nom provient
+ simplement de la concat&eacute;nation de 'CALendrier' et de 'nCURSEs',
+ qui est le nom de la librairie utilis&eacute;e pour construire
+ l'interface utilisateur.
+
+
+<a name="overview_features"></a><h2>Caract&eacute;ristiques importantes</h2>
+<p>
+ <code>Calcurse</code> est multi-plateformes et est con&ccedil;u pour
+ &ecirc;tre l&eacute;ger, rapide et fiable. Il doit &ecirc;tre utilis&eacute; 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 &ecirc;tre lanc&eacute; dans deux modes diff&eacute;rents:
+ soit interactif, soit non-interactif. Le premier mode permet
+ de visualiser son organiseur personnel pratiquement sous
+ n'importe quel environnement, gr&acirc;ce &agrave; l'interface en mode texte.
+ Le deuxi&egrave;me mode permet de cr&eacute;er facilement des penses-b&ecirc;te en
+ ajoutant <code>calcurse</code> avec les arguments appropri&eacute;s dans
+ la table cron ou dans le script d'initialisation du shell.<br>
+ De plus, <code>calcurse</code> a &eacute;t&eacute; cr&eacute;&eacute; en prenant en compte
+ l'utilisateur final &agrave; chaque &eacute;tape de sa conception, c'est-&agrave;-dire
+ en essayant d'&ecirc;tre le plus intuitif possible. Cela implique
+ la pr&eacute;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 &eacute;galement configurable, et l'on peut
+ choisir parmis de nombreuses combinaisons possibles de couleurs
+ et de positions des fen&ecirc;tres.
+
+
+<a name="install"></a><h1>Installation</h1>
+<a name="install_requirements"></a><h2>Pr&eacute;-requis</h2>
+<a name="install_requirements_ncurses"></a><h3>Librairie <code>ncurses</code></h3>
+<p>
+ L'installation de <code>Calcurse</code> ne n&eacute;cessite qu'un
+ compilateur <code>C</code>, comme <code>cc</code> ou <code>gcc</code>,
+ et la librairie <code>ncurses</code>.
+ Il serait tr&egrave;s surprenant que vous n'ayez pas d&eacute;j&agrave; la librairie
+ <code>ncurses</code> d'install&eacute;e sur votre machine, mais si
+ c'est le cas, vous pourrez la trouver &agrave; 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&eacute; <em>i18n</em> ci-apr&egrave;s).
+ Cela signifie que <code>calcurse</code> peut fournir des
+ messages multilingues si il est compil&eacute; 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&eacute;s, vous pouvez s&eacute;sactiver cette option.
+ La d&eacute;sactivation du support <em>NLS</em> s'effectue en
+ passant l'option <code>--disable-nls</code> &agrave;
+ <code>configure</code> (voir la section <a
+ href="#install_process">Processus d'Installation</a>). <br>
+ Pour v&eacute;rifier que les utilitaires <code>gettext</code>
+ sont bien install&eacute;s sur votre systs&egrave;me, vous
+ pouvez par exemple v&eacute;rifier la pr&eacute;sence du
+ fichier <code>libintl.h</code> en tapant :
+ <pre>
+ locate libintl.h
+ </pre>
+ Dans l'&eacute;ventualit&eacute; o&ugrave; ce fichier ne
+ serait pas trouv&eacute;, vous pouvez obtenir les sources de
+ <code>gettext</code> &agrave; l'adresse suivante :<br>
+ <pre>
+ http://ftp.gnu.org/pub/gnu/gettext/
+ </pre>
+ <u>Remarque:</u> M&ecirc;me si <code>libintl.h</code> est bien
+ localis&eacute; par la commande pr&eacute;c&eacute;dente, il
+ peut &ecirc;tre utile de sp&eacute;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&eacute; dans un endroit usuel.
+
+
+<a name="install_process"></a><h2>Processus d'installation</h2>
+<p>
+ Vous devez tout d'abord d&eacute;compresser l'archive source de la
+ mani&egrave;re suivante :
+ <pre>
+ tar zxvf calcurse-1.4.tar.gz
+ </pre>
+ Une fois que vous remplissez tous les pr&eacute;-requis n&eacute;cessaires &agrave;
+ l'installation, le processus de compilation est simple et suit
+ les trois &eacute;tapes usuelles :
+ <OL>
+ <li><code>./configure</code>
+ <li><code>make</code>
+ <li><code>make install</code> (peut n&eacute;cessiter les privil&egrave;ges
+ super-utilisateur)
+ </OL>
+ Vous pouvez obtenir la liste des options possibles en tapant
+ <code>./configure --help</code>.
+
+
+<a name="basics"></a><h1>Pr&eacute;sentation g&eacute;n&eacute;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 &agrave; utiliser peut &ecirc;tre
+ sp&eacute;cifi&eacute; en utilisant l'option '-c'.<br>
+ <br>
+ <dt><code>-c</code>
+ <dd>
+ Sp&eacute;cifie le fichier calendrier &agrave; uiliser.<br>
+ Le calendrier par d&eacute;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&eacute;s, suivant le format de l'argument. Deux
+ formats diff&eacute;rents sont accept&eacute;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&eacute;cifi&eacute;e sera affich&eacute;e, alors que dans le
+ deuxi&egrave;me cas, la liste des rendez-vous pour les 'n'
+ jours &agrave; venir sera retourn&eacute;e.<br>
+ Par exemple, taper <code>calcurse -d 3</code> fera
+ s'afficher les rendez-vous pour aujourd'hui, demain
+ et apr&egrave;s-demain.<br>
+ <u>Remarque:</u> comme pour l'option '-a', le fichier
+ contenant le calendrier &agrave; lire peut &ecirc;tre sp&eacute;cifi&eacute; en
+ utilisant l'option '-c'.<br>
+ <br>
+ <dt><code>-h</code>
+ <dd>
+ Affiche l'aide d&eacute;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 &ecirc;tre compil&eacute; 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&eacute;s apparaissent dans votre langue
+ natale, assurez-vous tout d'abord que celle-ci est
+ pr&eacute;sente dans le fichier <code>po/LINGUAS</code>.
+ Ce fichier indique toutes les traductions disponibles par
+ l'interm&eacute;diaire d'un code de deux lettres (par exemple,
+ <em>fr</em> repr&eacute;sente le fran&ccedil;ais). Si vous ne
+ trouvez pas votre langue, il serait tr&egrave;s
+ appr&eacute;ci&eacute; 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&ugrave; <em>fr_FR</em> doit &ecirc;tre remplac&eacute; par
+ la <em>locale</em> (code de la langue suivi du code pays)
+ correspondant &agrave; 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&eacute; 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&eacute; en mode non-interactif.
+ Cela signifie que l'information demand&eacute;e sera affich&eacute;e,
+ puis <code>calcurse</code> quittera et vous serez ramen&eacute;
+ au prompt de l'interpr&eacute;teur de commandes.<br>
+ De ce mani&egrave;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 &agrave; chaque
+ d&eacute;but de session la liste des t&acirc;ches &agrave; faire et des rendez-vous
+ planifi&eacute;s pour la journ&eacute;e.
+
+
+<a name="basics_interface_interactive"></a><h3>Mode interactif</h3>
+<p>
+ Lorsqu'il est appel&eacute; sans aucun argument ou uniquement avec
+ l'option <code>'-c'</code>, <code>calcurse</code> est lanc&eacute;
+ en mode interactif. Dans ce mode s'affiche une interface qui
+ contient trois panneaux diff&eacute;rents, qu'il est possible de
+ s&eacute;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&eacute;sente un calendrier qui permet de
+ s&eacute;lectionner un jour en particulier. Le second panneau contient
+ une liste d'&eacute;v&egrave;nements et les rendez-vous du jour, et le dernier
+ contient une liste des t&acirc;ches &agrave; faire, mais qui ne sont pas
+ assign&eacute;e &agrave; une journ&eacute;e en particulier.
+ En bas de l'&eacute;cran on retrouve une barre de status, qui indique
+ les actions possibles en fonction du contexte, ainsi que la
+ touche qui doit &ecirc;tre press&eacute;e pour effectuer cette action.
+
+
+<a name="basics_files"></a><h2>Fichiers</h2>
+<p>
+ La structure de fichiers suivante est cr&eacute;&eacute;e dans le r&eacute;pertoire
+ <code>$HOME</code> de l'utilisateur la premi&egrave;re fois que
+ <code>calcurse</code> est lanc&eacute; :
+ <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 &eacute;venements ainsi que
+ les rendez-vous de l'utilisateur.<br>
+ Le fichier <em>todo</em> contient la liste des t&acirc;ches &agrave; effectuer.
+
+
+<a name="basics_help"></a><h2>Aide en ligne</h2>
+<p>
+ A n'importe quel moment, le syst&egrave;me d'aide en ligne peut &ecirc;tre
+ appel&eacute; en pressant la touche '?'. Une fois rentr&eacute; dans l'aide,
+ les informations sur une commande sp&eacute;cifique peuvent &ecirc;tre
+ obtenues en appuyant sur la touche correspondant &agrave; cette
+ commande.
+
+
+<a name="options"></a><h1>Options</h1>
+<p>
+ Tous les param&egrave;tres de <code>calcurse</code> sont configurables
+ &agrave; partir du menu <em>Configuration</em>, accessible en appuyant
+ sur 'C'. L'utilisateur se voit alors pr&eacute;sent&eacute; un second menu
+ avec trois choix possibles : appuyer &agrave; nouveau sur 'C' am&egrave;ne
+ au menu de s&eacute;lection des couleurs de l'interface, appuyer sur
+ 'L' permet de choisir parmis diff&eacute;rents emplacements pour les
+ panneaux de la fen&ecirc;tre principale de <code>calcurse</code>,
+ et enfin les options g&eacute;n&eacute;rales peuvent &ecirc;tre fix&eacute;es en pressant
+ 'G'.
+
+
+<a name="options_general"></a><h2>Options g&eacute;n&eacute;rales</h2>
+<p>
+ Ces options contr&ocirc;lent le comportement g&eacute;n&eacute;ral de
+ <code>calcurse</code>, comme d&eacute;crit ci-dessous :
+ <ul>
+ <li><code>sauvegarde_automatique</code> (valeur par d&eacute;faut: <em>oui</em>)<br>
+ Cette option permet de sauvegarder automatiquement les
+ donn&eacute;es de l'utilisateur avant de quitter, si elle est
+ fix&eacute;e &agrave; <em>oui</em>.<br>
+ <em>attention:</em> Aucune donn&eacute;e ne sera automatiquement
+ sauvegard&eacute;e si cette variable est fix&eacute;e &agrave; <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&eacute;faut: <em>oui</em>)<br>
+ Si cette option est fix&eacute;e &agrave; <em>oui</em>, la confirmation
+ de l'utilisateur est n&eacute;cessaire avant de pouvoir quitter.
+ Autrement, appuyer sur 'Q' provoquera l'arr&ecirc;t de
+ <code>calcurse</code> sans demander confirmation.<br>
+ <br>
+ <li><code>confirmer_pour_effacer</code> (valeur par d&eacute;faut: <em>oui</em>)<br>
+ Si cette option est fix&eacute;e &agrave; <em>oui</em>, appuyer sur 'D'
+ pour effacer un &eacute;lement (soit une t&acirc;che, un rendez-vous ou bien
+ un &eacute;venement) provoquera l'apparition d'un message demandant
+ la confirmation de l'utilisateur avant d'effacer cet &eacute;lement.
+ Si cette option est fix&eacute;e &agrave; <em>non</em>, aucune confirmation
+ ne sera demand&eacute;e avant l'effacement d'un &eacute;lement.<br>
+ <br>
+ <li><code>masquer_messages_syst&egrave;me</code> (valeur par d&eacute;faut: <em>non</em>)<br>
+ Fixer cette option &agrave; <em>oui</em> provoque la disparition des
+ messages relatifs aux enregistrements ou lectures des fichiers
+ de donn&eacute;es. Ceci peut &ecirc;tre utile pour acc&eacute;lerer les processus
+ d'entr&eacute;es/sorties.<br>
+ <br>
+ <li><code>masquer_barre_progression</code> (valeur par d&eacute;faut: <em>non</em>)<br>
+ Si elle est fix&eacute;e &agrave; <em>oui</em>, cette option provoque la
+ disparition de la barre de progression qui est normalement charg&eacute;e
+ d'indiquer l'&eacute;t&acirc;t d'avancement de l'enregistrement des fichiers
+ de donn&eacute;es. Si cette option est fix&eacute;e &agrave; <em>non</em>, cette barre
+ sera affich&eacute;e, en m&ecirc;me temps que le nom du fichier de donn&eacute;es
+ actuellement en cours d'&eacute;criture
+ (voir la section <a href="#basics_files">Fichiers</a>).<br>
+ <br>
+ <li><code>semaine_commence_lundi</code> (valeur par d&eacute;faut: <em>oui</em>)<br>
+ Il est possible dans <code>calcurse</code> d'indiquer quel est le premier
+ jour de la semaine, &agrave; savoir soit le lundi, soit le dimanche.
+ Si l'option <em>semaine_commence_lundi</em> est fix&eacute;e &agrave;
+ <em>oui</em>, les semaines du calendrier commenceront le lundi.
+ Par contre si cette option est fix&eacute;e &agrave; <em>non</em>,
+ les semaines d&eacute;buteront le dimanche.
+ </ul>
+
+
+<a name="options_colors"></a><h2>Th&egrave;mes graphiques</h2>
+<p>
+ Le th&egrave;me graphique de <code>calcurse</code> est
+ configurable et doit &ecirc;tre choisi en appuyant sur le
+ num&eacute;ro correspond &agrave; la couleur voulue. Cette
+ couleur est alors appliqu&eacute;e &agrave; la bordure des
+ panneaux, aux titres, aux combinaisons de touches, et aux
+ informations g&eacute;n&eacute;rales affich&eacute;es dans la
+ barre de status. Un th&egrave;me en noir et blanc est
+ &eacute;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 &ecirc;tre support&eacute;e ou non. Un message
+ d'erreur appara&icirc;tra si vous essayez d'appliquer un
+ th&egrave;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 &agrave; l'int&eacute;rieur de la fen&ecirc;tre de
+ <code>calcurse</code> peut &ecirc;tre param&eacute;tr&eacute;e. Par d&eacute;faut, le
+ panneau contenant le calendrier se situe en haut &agrave; droite de
+ la fen&ecirc;tre, le panneau contenant la liste des t&acirc;ches est situ&eacute;
+ en bas &agrave; droite, et le panneau contenant les rendez-vous se
+ trouve sur la partie gauche de l'&eacute;cran (voir la figure dans la
+ section <a href="#basics_interface_interactive">Mode interactif</a>
+ pour un exemple de la disposition par d&eacute;faut).<br>
+ En choisissant une autre disposition pour les &eacute;l&eacute;ments composants
+ la fen&ecirc;tre de <code>calcurse</code>, l'utilisateur peut adapter
+ &agrave; ses besoins l'interface du programme.
+
+
+<a name="known_bugs"></a><h1>Bogues connus</h1>
+<p>
+ Une coloration incorrecte des objets peut r&eacute;sulter
+ d'une utilisation conjointe d'un th&egrave;me graphique en
+ noir et blanc et d'une variable <code>$TERM</code>
+ fix&eacute;e &agrave; <em>xterm-color</em>. Pour supprimer ce
+ bogue, et comme le conseille Thomas E. Dickey (le
+ r&eacute;sponsable du projet <code>xterm</code>),
+ <em>xterm-xfree86</em> devrait &ecirc;tre assign&eacute;
+ &agrave; 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&eacute;e pour les entr&eacute;es terminfo qui ne
+ supportent pas bce. Utilisez plut&ocirc;t l'entr&eacute;e
+ xterm-xfree86 qui est distribu&eacute;e avec le xterm
+ d'XFree86 (ou par celui, similaire, distribu&eacute; 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 &agrave;
+ l'adresse suivante :
+ <pre>
+ calcurse@culot.org
+ </pre>
+ ou directement &agrave; l'auteur :
+ <pre>
+ frederic@culot.org
+ </pre>
+
+<a name="contribute"></a><h1>Comment contribuer?</h1>
+<p>
+ Si vous d&eacute;sirez contribuer au projet, vous pouvez tout d'abord
+ envoyer vos commentaires sur ce qui vous plais ou d&eacute;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 &agrave; la traduction de
+ <code>calcurse</code> serait tr&egrave;s
+ appr&eacute;ci&eacute;e, mais avant tout, envoyez un mail
+ &agrave; <code>calcurse-i18n@culot.org</code> pour savoir si
+ quelqu'un a d&eacute;j&agrave; commenc&eacute; le processus de
+ traduction dans votre langue.
+
+
+<a name="contribute_documentation"></a><h2>Traduction de la documentation</h2>
+<p>
+ Le r&eacute;pertoire <em>doc/</em> du paquet source contient
+ d&eacute;j&agrave; 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&egrave;s
+ appr&eacute;ci&eacute;e.<br>
+ Pour cela, il suffit de copier un des fichiers existant et de
+ renommer cette copie en <code>manual_XX.html</code>, o&ugrave;
+ <em>XX</em> repr&eacute;sente votre langue. Il faut ensuite
+ traduire ce fichier nouvellement cr&eacute;&eacute; et de
+ l'envoyer &agrave; 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&eacute; plus haut, les utilitaires
+ <code>gettext</code> sont utilis&eacute;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&eacute;lib&eacute;r&eacute;ment incompl&egrave;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&eacute;f&eacute;rable de se
+ r&eacute;f&eacute;rer au manuel de <code>GNU gettext</code>
+ que l'on peut trouver &agrave; l'adresse suivante :
+ <pre>
+ http://www.gnu.org/software/gettext/manual/
+ </pre>
+ Pour r&eacute;sumer, trois cat&eacute;gories de personnes sont
+ impliqu&eacute;es dans la cha&icirc;ne de traduction : les
+ programmeurs, les coordinateurs de la traduction, et les
+ traducteurs. Apr&egrave;s un rapide aper&ccedil;u de la
+ mani&egrave;re de proc&eacute;der pour traduire le logiciel,
+ nous d&eacute;crirons plus en d&eacute;tails les t&acirc;ches du
+ traducteur.
+
+
+<a name="contribute_i18n_overview"></a><h3>Aper&ccedil;u</h3>
+<p>
+ Afin de pouvoir afficher du texte dans la langue natale de
+ l'utilisateur, deux &eacute;tapes sont n&eacute;cessaires :
+ l'<em>internationalisation</em> (i18n), et la
+ <em>localisation</em> (l10n).
+ l'i18n permet &agrave; <code>calcurse</code> d'&ecirc;tre
+ multilingues. C'est un processus qui est mis en place par les
+ programmeurs, qui marquent les phrases &agrave; traduire au
+ sein du code source, et qui fournissent les outils pour que
+ ces phrases soient traduites automatiquement pendant le
+ d&eacute;roulement du programme.
+ La l10n correspond quant &agrave; elle au processus qui permet
+ &agrave; <code>calcurse</code> de s'adapter &agrave; la langue
+ de l'utilisateur. C'est-&agrave;-dire qu'il traduit les
+ phrases pr&eacute;c&eacute;demment marqu&eacute;e par les
+ programmeurs, et qu'il fixe correctement les variables
+ d'environnement afin que <code>calcurse</code> puisse utiliser
+ les r&eacute;sultats de cette traduction.<br>
+ <br>
+ Ainsi, les phrases traduisibles sont tout d'abord
+ marqu&eacute;es par les programmeurs dans le code source, puis
+ rassembl&eacute;es dans un fichier r&eacute;f&eacute;rence
+ (<code>calcurse.pot</code> - l'extension <em>pot</em> signifiant
+ <em>portable object template</em>, objet portable de
+ r&eacute;f&eacute;rence). Le contenu de ce fichier est alors
+ associ&eacute; aux fichiers contenant la traduction pour
+ chacune des diff&eacute;rentes langues (fichier <em>fr.po</em>
+ pour le fran&ccedil;ais par exemple - <em>po</em> siginifiant
+ <em>portable object</em>, objet portable - qui peut &ecirc;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&eacute;veloppeurs. Ensuite, au niveau de la
+ compilation du programme, une version binaire de ce fichier
+ sera produite (pour des raisons d'efficacit&eacute;), puis
+ install&eacute;e. Cette version binaire a pour extension
+ <em>.mo</em>, o&ugrave; <em>mo</em> signifie <em>machine
+ object</em> - objet machine, c'est-&agrave;-dire qui peut
+ &ecirc;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 &eacute;tapes &agrave; suivre
+ pour ce faire :
+ <ul>
+ <li>Premi&egrave;rement, trouver quel est le nom de la locale
+ correspondant &agrave; la langue &agrave; traduire. Par
+ exemple, pour le fran&ccedil;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&eacute;pertoire
+ <em>po/</em>, et cr&eacute;er un nouveau fichier <em>.po</em>
+ &agrave; partir du fichier de r&eacute;f&eacute;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&eacute; sur
+ votre syst&egrave;me, vous pouvez plus simplement copier
+ <em>calcurse.pot</em> en <em>fr.po</em> par exemple, et editer
+ l'en-t&ecirc;te du fichier nouvellement cr&eacute;&eacute;
+ manuellement.<br>
+ Maintenant, ayant &agrave; 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 &eacute;l&eacute;ments
+ diff&eacute;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&eacute;ro de ligne), afin de retrouver
+ simplement le contexte d'o&ugrave; est issu la phrase &agrave;
+ traduire.
+ <li><em>ligne msgid:</em> indique la phrase &agrave; traduire.
+ <li><em>ligne msgstr:</em> ligne indiquant la phrase traduite.
+ <li><em>lignes commen&ccedil;ant par '#'</em>: indiquent des
+ commentaires (certains ont une signification sp&eacute;ciale,
+ comme nous le verrons plus tard).
+ </ol>
+ Pour r&eacute;sumer, un traducteur doit simplement remplir les
+ champs <em>msgstr</em> avec la traduction des lignes
+ trouv&eacute;es juste au dessus dans la partie <em>msgid</em>.
+ <p>
+ <u>Remarques:</u>
+ <ul>
+ <li><em>Phrases marqu&eacute;es Fuzzy</em><br>
+ Vous pourrez rencontrer des phrases commen&ccedil;ant par le
+ commentaire <code>"#, fuzzy"</code>.
+ <code>calcurse</code> n'utilisera pas les traductions
+ commen&ccedil;ant par ce commentaire, &agrave; moins que vous
+ ne transformiez ces phrases. En effet, le commentaire
+ <em>fuzzy</em> signifie que la phrase a d&eacute;j&agrave;
+ &eacute;t&eacute; traduite mais qu'elle a depuis
+ &eacute;t&eacute; chang&eacute;e dans le source du programme,
+ ou bien que <em>gettext</em> a effectu&eacute; lui-m&ecirc;me
+ uen traduction, en se basant sur une phrase similaire. Cela
+ implique donc que vous devez v&eacute;rifier la traduction.
+ Parfois, la phrase originale a chang&eacute; suite &agrave;
+ 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 &ecirc;tre valable et
+ n&eacute;cessitera alors une mise &agrave; jour. Une fois
+ cette mise &agrave; jour effectu&eacute;e, vous pouvez
+ supprimer
+ le commentaire <code>"#, fuzzy"</code>, et la traduction sera
+ alors &agrave; nouveau prise en compte par <code>calcurse</code>.<br>
+ <br>
+ <li><em>Lignes au format C et s&eacute;quences sp&eacute;ciales</em><br>
+ Certaines phrases ont le commentaire suivant: <code>"#,
+ c-format"</code>. Cela signifie que des parties du texte
+ &agrave; traduire ont une signification particuli&egrave;re
+ pour le programme, et qu'il ne faut pas les modifier. Par
+ exemple, les s&eacute;quences contenant des <em>%</em>, comme
+ <code>"%s"</code>. Cela signifie que <code>calcurse</code>
+ remplacera ces s&eacute;quences par d'autres expressions. Il
+ est donc important de ne pas les modifier. Il existe
+ &eacute;galement des s&eacute;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&egrave;re
+ s&eacute;quence repr&eacute;sente une fin de ligne, et la
+ deuxi&egrave;me une tabulation.<br>
+ <br>
+ <li><em>D&eacute;coupage des traductions</em><br>
+ Si certaines lignes sont trop longues, il est possible de
+ d&eacute;couper les phrases comme dans l'exemple ci-apr&egrave;s:
+ <pre>
+ msgid ""
+ "une ligne très longue"
+ "une autre ligne"
+ </pre>
+ <li><em>En-t&ecirc;te des fichiers po</em><br>
+ Au tout d&eacute;but du fichier <em>po</em>, la
+ premi&egrave;re phrase forme un en-t&ecirc;te o&ugrave;
+ diff&eacute;rentes informations doivent &ecirc;tre
+ renseign&eacute;es. La plus importante est le jeu de
+ caract&egrave;s utilis&eacute;. Cette information devrait
+ ressembler &agrave;
+ <pre>
+ "Content-Type: text/plain; charset=utf-8\n"
+ </pre>
+ Il est &eacute;galement n&eacute;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&egrave;re personne ayant
+ retouch&eacute; le fichier. De cette mani&egrave;re, il est
+ plus simple de coordonner les efforts de traduction. Il est
+ possible de rajouter son adresse de courrier
+ &eacute;lectronique, par exemple:
+ <pre>
+ "Last-Translator: Frederic Culot <frederic@culot.org>\n"
+ </pre>
+ <li><em>Commentaires</em><br>
+ Ajouter des commentaires (lignes commen&ccedil;ant par '#')
+ peut &ecirc;tre un bon moyen de signaler des probl&egrave;mes ou
+ difficult&eacute;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&eacute;pend donc de la taille
+ du terminal utilis&eacute; (plus particuli&egrave;rement du
+ nombre de colonnes). Il est important de garder ceci en
+ m&eacute;moire au moment de la traduction. Souvent, la phrase
+ &agrave; traduire doit tenir dans une seule ligne (soit en
+ g&eacute;n&eacute;ral 80 caract&egrave;res). Il faut en tenir
+ compte, et essayer de voir o&ugrave; la phrase sera
+ plac&eacute;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 &ecirc;tre modifi&eacute;s avec un &eacute;diteur
+ de texte standard. Mais il est &eacute;galement possible
+ d'utiliser des outils sp&eacute;cialis&eacute;s pour cette
+ t&acirc;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'&eacute;sp&egrave;re que vous prendrez plaisir &agrave;
+ contribuer &agrave; l'internationalisation du monde des
+ logiciels libres. :) Si vous avez d'autres questions
+ concernant ce processus, n'h&eacute;sitez pas &agrave; me
+ contacter &agrave; 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 &ecirc;tre utiles.
+
+
+<a name="links_homepage"></a><h2>Site internet de <code>calcurse</code></h2>
+<p>
+ La page web de <code>calcurse</code> est &agrave; 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 &ecirc;tes interess&eacute; par ce projet et que vous souhaitez
+ &ecirc;tre pr&eacute;venu lorsqu'une nouvelle version est diffus&eacute;e, vous
+ pouvez souscrire &agrave; la liste de diffusion de <code>calcurse</code>.
+ De cette mani&egrave;re, vous recevrez un m&eacute;l d&egrave;s qu'une nouvelle
+ version est disponible.<br>
+ Pour souscrire &agrave; cette liste, envoyez un message &agrave; l'adresse
+ <code>calcurse-announce@culot.org</code> avec "subscribe" dans
+ le sujet du m&eacute;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&egrave;re d'am&eacute;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&eacute; celui de
+ <code>calcurse</code>
+ <li>Michael Schulz pour la traduction allemande du manuel de <code>calcurse</code>
+ <li>les personnes qui &eacute;crivent des logiciels que j'appr&eacute;cie et qui
+ m'ont inspir&eacute; lors de la conception de ce projet, en particulier :
+ <ul>
+ <li><code>vim</code> pour les touches de d&eacute;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&egrave;s grand merci &agrave; tous les utilisateurs de
+ <code>calcurse</code> qui m'ont fait parvenir leur commentaires.
+
+<hr>
+<small><em>
+Copyright (c) 2004-2006 Fr&eacute;d&eacute;ric Culot<br>
+Calcurse version 1.4 - Derni&egrave;re modification: 7 Mai 2006
+<em></small>
+
+
+</body>
+</html>