<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- /* * $calcurse: manual_de.html,v 1.20 2008/09/21 14:08:59 culot Exp $ * * Calcurse - text-based organizer * Copyright (c) 2004-2008 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"> <style type="text/css" media="all"> @import url(manual.css); </style> </head> <body> <div id="mainContent"> <h1 id="title"> <span class="main">CALCURSE - textbasierter Terminkalender</span></h1> <div class="warn"> <div class="todo"> <h1>Abstract</h1> This manual describes <code>calcurse</code> functionnalities, and how to use them. The installation from source is first described, together with the available command line arguments. The user interface is then presented, with all of the customizable options that change <code>calcurse</code> behavior. Last, bug reporting procedure is explained, as well as the way one can contribute to <code>calcurse</code> development. </div> </div> <div id="toc"> <h1>Inhaltsverzeichnis</h1> <ul> <li><a href="#intro">1. Einleitung</a></li> <li><a href="#overview">2. Überblick</a> <ul> <li><a href="#overview_history">2.1 Anlass</a></li> <li><a href="#overview_features">2.2 Wichtige Eigenschaften</a></li> </ul></li> <li><a href="#install">3. Installation</a> <ul> <li><a href="#install_requirements">3.1 Voraussetzungen</a> <ul> <li><a href="#install_requirements_ncurses">3.1.1 <code>ncurses</code> Bibliothek</a></li> <li><a href="#install_requirements_gettext">3.1.2 <code>gettext</code> Bibliothek</a></li> </ul></li> <li><a href="#install_process">3.2 Installationsprozess</a></li> </ul></li> <li><a href="#basics">4. <code>calcurse</code> Grundlagen</a> <ul> <li><a href="#basics_invocation">4.1 Programmaufruf</a> <ul> <li><a href="#basics_invocation_commandline">4.1.1 Programmargumente</a></li> <li><a href="#basics_invocation_variable">4.1.2 Umgebungsvariable für i18n</a></li> <li><a href="#basics_invocation_environment"><span class="todo">4.1.3 Other environment variables</span></a></li> </ul></li> <li><a href="#basics_interface">4.2 Benutzer-Interface</a> <ul> <li><a href="#basics_interface_noninteractive">4.2.1 Nicht-interaktiver Modus</a></li> <li><a href="#basics_interface_interactive">4.2.2 Interaktiver Modus</a></li> </ul></li> <li><a href="#basics_files">4.3 <code>calcurse</code> Dateien</a></li> <li><a href="#basics_import_export"><span class="todo">4.4 Import/Export capabilities</span></a> <ul> <li><a href="#basics_import"><span class="todo">4.4.1 Import</span></a></li> <li><a href="#basics_export"><span class="todo">4.4.2 Export</span></a></li> </ul></li> <li><a href="#basics_help">4.5 Onlinehilfe</a></li> </ul></li> <li><a href="#options">5. Optionen</a> <ul> <li><a href="#options_general">5.1 Allgemeine Optionen</a></li> <li><a href="#options_colors">5.2 Einstellen der Terminalfarben</a></li> <li><a href="#options_layout">5.3 Einstellen des Layouts</a></li> <li><a href="#options_notify">5.4 Einstellen der Benachrichtigungszeile</a></li> </ul></li> <li><a href="#known_bugs">6. Bekannte Fehler</a></li> <li><a href="#bugs">7. Mitteilung von Fehlern und Anregungen</a></li> <li><a href="#contribute">8. Wie kann ich einen Beitrag leisten?</a> <ul> <li><a href="#contribute_documentation">8.1 Übersetzung der Dokumentation</a></li> <li><a href="#contribute_i18n">8.2 <code>calcurse</code> i18n</a> <ul> <li><a href="#contribute_i18n_overview">8.2.1 Überblick</a></li> <li><a href="#contribute_i18n_translator">8.2.2 Aufgaben des Übersetzers</a></li> <li><a href="#contribute_i18n_po-files">8.2.3 po-Dateien</a></li> </ul></li> </ul></li> <li><a href="#links">9. Links</a> <ul> <li><a href="#links_homepage">9.1 <code>calcurse</code> Internetseite</a></li> <li><a href="#links_list">9.2 <code>calcurse</code> Ankündigungsliste</a></li> <li><a href="#links_rss">9.3 <code>calcurse</code> RSS</a></li> <li><a href="#links_others"><div class="todo">9.4 Other links</div></a></li> </ul></li> <li><a href="#thanks">10. Danksagungen</a></li> </ul> </div> <h1>1. Einleitung<a name="intro"></a></h1> <p> <code>calcurse</code> ist ein textbasierender Kalender, der Ihnen bei der Organisation von Ereignissen, Terminen und täglichen Aufgaben hilft. Ein konfigurierbares Notitzsystem erinnert Benutzer an bevorstehende Termine. Die curses basierende Benutzeroberflache kann auf eigene die Bedürfnisse angepaßt werden. Alle Programmbefehle sind in einem online Hilfesystem dokumentiert. </p> <h1>2. Überblick<a name="overview"></a></h1> <h2>2.1 Anlass<a name="overview_history"></a></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öten. ;) </p> <p> Ich mag Programme mit Textinterfaces, weil sie einfach, schnell, portabel und effizient sind. Also dachte ich darüber nach ein Programm mit textorientiertem Benutzer-Interface zu entwickeln. Darü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! </p> <p> 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ür andere von Nutzen sein wird. Also hier ist es... </p> <p> Doch warum nenne ich es 'calcurse'? Nun, es ist einfach zusammengesetzt aus den Wörtern 'CALendar' und 'nCurses', dem Namen der Bibliothek die für das Benutzer-Interface verwendet wird. </p> <h2>2.2 Wichtige Eigenschaften<a name="overview_features"></a></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 Ähnlichem). </p> <p> <code>Calcurse</code> kann in zwei unterschiedlichen Modi gestartet werden: Im interaktiven und im nicht-interaktiven Modus. Der erste Modus erzeugt Dank des textbasierten Interfaces die Ansicht eines eigenen persönlichen Terminkalenders. Mit dem zweiten Modus ist es möglich sich ein Erinnerungstool (Reminder) zu erstellen, wenn <code>calcurse</code> mit den entsprechenden Argumenten in 'cron tab' oder einem 'init script' eingebunden wird. </p> <p> Darüber hinaus ist <code>calcurse</code> für Benutzer erstellt worden, mit der Absicht so benutzerfreundlich wie möglich zu sein. Das bedeutet, dass eine komplette Onlinehilfe im Programm zu Verfügung steht, sowie alle mögliche Aktionen jederzeit in einer Statuszeile ersichtlich sind. Das Benutzer-Interface ist ebenfalls einstellbar. Ebenso kann man verschiedene Textfarben und Layouts wählen. Ein konfigurierbares Notizsystem erinnert den Benutzer an bevorstehende Termine. </p> <h1>3. Installation<a name="install"></a></h1> <h2>3.1 Voraussetzungen<a name="install_requirements"></a></h2> <h3>3.1.1 <code>ncurses</code> Bibliothek<a name="install_requirements_ncurses"></a></h3> <p> <code>Calcurse</code> benötigt einen C-Compiler wie etwa <code>cc</code> oder <code>gcc</code>. Ferner wird die ncurses-Bibliothek benötigt, die jedoch auf den meisten Unix-Systemen verfügbar sein sollte. Falls nicht, können Sie sie von folgender URL herunter laden:</p> <pre>http://ftp.gnu.org/pub/gnu/ncurses/</pre> <h3>3.1.2 <code>gettext</code> Bibliothek<a name="install_requirements_gettext"></a></h3> <p> <code>calcurse</code> unterstützt die Internationalisierung (künftig <span class="emp">i18n</span>) durch <code>gettext</code>. Das bedeutet, dass <code>calcurse</code> mehrsprachige Mitteilungen erzeugen kann, wenn es mit der entsprechenden Sprachunterstützung kompiliert wurde (z.B. <span class="emp">NLS</span>). </p> <p> Dennoch, <span class="emp">NLS</span> ist optional und wenn keine mehrsprachigen Mitteilungen gewünscht sind, kann diese Eigenschaft abgestellt werden. Rufen Sie hierzu einfach das <code>configure</code> Skript mit der Option <code>--disable-nls</code> auf (siehe Abschnitt <ahref="#install_process"> Installationsprozess</a>). Um zu überprüfen, ob <code>gettext</code> auf dem System installiert ist, kann man nach der <code>libintl.h</code> Datei suchen:</p> <pre>locate libintl.h</pre> <p> Wurde diese Datei nicht gefunden, kann <code>gettext</code> von folgender URL herunter geladen werden:</p> <pre>http://ftp.gnu.org/pub/gnu/gettext/</pre> <p> <p class="rq"><span class="valorize">Beachte:</span> Auch wenn <code>libintl.h</code> auf dem System gefunden wurde, kann es erforderlich sein den Pfad dieser Datei während des <ahref="#install_process"> Installationsprozesses</a> anzugeben. Die entsprechende Option für das <code>configure</code> Skript lautet dann <code>--with-libintl-prefix</code>. Das <code>configure</code> Skript wird natürlich vorzeitig abbrechen, wenn die dazugehörige Bibliothek nicht gefunden wurde.</p> <h2>3.2 Installationsprozess<a name="install_process"></a></h2> <p> Als erstes müssen die Dateien entpackt werden:</p> <pre>tar zxvf calcurse-2.3.tar.gz</pre> <p> Ist diese Voraussetzung erfüllt und das Archiv entpackt, sind nur noch die drei üblichen Schritte erforderlich:</p> <ol> <li><code>./configure</code></li> <li><code>make</code></li> <li><code>make install</code> (mit Root-Rechten)</li> </ol> <p> Rufen Sie <code>./configure --help</code> auf, um die verfügbaren Optionen aufgelistet zu bekommen. </p> <h1>4. <code>calcurse</code> Grundlagen<a name="basics"></a></h1> <h2>4.1 Programmaufruf<a name="basics_invocation"></a></h2> <h3>4.1.1 Programmargumente<a name="basics_invocation_commandline"></a></h3> <p> <code>Calcurse</code> kann mit den folgenden Optionen aufgerufen werden. Es werden sowohl kurze als auch lange Optionsangaben unterstützt.</p> <p> <dl> <dt><code>-a, --appointment</code></dt> <dd>Gibt die Termine des heutigen Tags aus. <p class="rq"><span class="valorise">Beachte:</span> Die Kalender-Datei, aus der die Termine gelesen werden sollen, kann mit mit Hilfe der '-c' Option angegeben werden.</p> </dd> <dt><code>-c <file>, --calendar <file></code></dt> <dd>Gibt die zu lesende Kalender-Datei an. Der Standardkalender ist <code>~/.calcurse/apts</code> (beachte auch Abschnitt: <a href="#basics_files"><code>calcurse</code> Dateien</a>). </dd> <dt><code>-d <date|num>, --day <date|num></code></dt> <dd>Gibt die Termine eines angegebenen Datums oder alle Termine der anzugebenden nachfolgenden Tage aus. Somit sind zwei Formate möglich: <ul> <li>Datum: 'MM/TT/JJJJ' (Monat, Tag, Jahr).</li> <li>Anzahl der Tage: 'n'.</li> </ul> Im ersten Fall wird eine Liste mit allen Terminen des angegebenen Datums ausgegeben. Der zweite Fall listet alle folgenden Termine auf, die in den nächsten 'n' Tagen zu erledigen sind. Beispiel: Die Eingabe <code>calcurse -d 3</code> gibt alle Termine des heutigen und der beiden folgenden Tage aus. </dd> <dt><code>-D <dir>, --directory <dir></code></dt> <dd> <div class="todo"> Specify the data directory to use. This option is incompatible with -c. If not specified, the default directory is <code>'~/.calcurse/'</code>. </div> </dd> <dt><code>-h, --help</code></dt> <dd>Gibt eine Hilfe zu den unterstützten Optionen aus. </dd> <dt><code>-i <file>, --import <file></code></dt> <dd> <div class="todo"> Import the icalendar data contained in <code>file</code>. </div> </dd> <dt><code>-n, --next</code></dt> <dd>Gibt den Termin aus, der innerhalb der kommenden 24 Stunden als nächstes stattfindet. Die dargestellte Zeitangabe weist darauf hin, in wie viel Stunden und Minuten der Termin beginnen wird. <p class="rq"><span class="valorise">Beachte:</span> Die Kalender-Datei, aus der die Termine gelesen werden sollen, kann mit mit Hilfe der '-c' Option angegeben werden.</p> </dd> <dt><code>-N, --note</code></dt> <dd> <div class="todo"> When used with the '-a' or '-t' flag, also print note content if one is associated with the displayed item. </div> </dd> <dt><code>-r[num], --range[=num]</code></dt> <dd> <div class="todo"> Print events and appointments for the num number of days and exit. If no num is given, a range of 1 day is considered. </div> </dd> <dt><code>-s[date], --startday[=date]</code></dt> <dd> <div class="todo"> Print events and appointments from date and exit. If no date is given, the current day is considered. </div> </dd> <dt><code>-t[num], --todo[=num]</code></dt> <dd>Gibt die 'todo' Liste aus. Wird die optionale Angabe <code>num</code> übergeben, werden nur diejenigen Aufgaben angezeigt, denen die Prioriät <code>num</code> zugewiesen wurde.<br> <p class="rq"><span class="valorise">Beachte:</span> Die angegebene Priorität muss zwischen 1 (höchste) und 9 (niedrigste) liegen.</p> </dd> <dt><code>-v, --version</code></dt> <dd>Gibt die aktuelle Version von Calcurse aus. </dd> <dt><code>-x[format], --export[=format]</code></dt> <dd><div class="todo"> Export user data to specified format. Events, appointments and todos are converted and echoed to stdout. Two possible formats are available: ical and pcal (see section <a href="#links_others">Links</a> below). If the optional argument <code>format</code> is not given, ical format is selected by default. </div> <p class="rq"><span class="valorise">Beachte:</span> leiten Sie die Ausgabe in eine Datei, etwa wie im folgenden Beispiel: <code>$ calcurse --export > my_data.dat</code></p> </dd> </dl> <h3>4.1.2 Umgebungsvariable für i18n<a name="basics_invocation_variable"></a></h3> <p> <code>calcurse</code> kann mit Unterstützung für verschiedene Sprachen kompiliert werden (siehe <a href="#install_requirements_gettext"><code>gettext</code> Bibliothek</a>). Um Meldungen in anderen Sprachen zu erhalten, sollte zunächst geprüft werden, ob die <code>po/LINGUAS</code> Datei verfügbar ist. Diese Datei zeigt alle verfügbaren Sprachen durch zweibuchstabige Kürzel an (beispielsweise steht <span class="emp">fr</span> für Französisch). Ist Ihre Muttersprache nicht aufgeführt, wäre es natürlich großartig, wenn Sie sich an der Übersetzung von <code>calcurse</code> in andere Sprachen beteiligen könnten (siehe Abschnitt <a href="#contribute">Wie kann ich einen Beitrag leisten?</a>).</p> <p> Wird Ihre Sprache bereits unterstützt, können Sie <code>calcurse</code> mit dem folgenden Aufruf starten:</p> <pre>LC_ALL=fr_FR calcurse</pre> <p> wobei <span class="emp">fr_FR</span> der Name der gewünschten Spracheausgabe ist und durch das Kürzel Ihrer Sprache ersetzt werden kann.</p> <p> Zusätzlich sollten Sie den verwendeten Zeichensatz angeben, da in einigen Fällen Sonderzeichen wie etwa Akzente und Umlaute nicht korrekt dargestellt werden. Auf den der entsprechende Sprache gewünschten Zeichensatz wird am Anfang der po-Datei hingewiesen. Der Datei fr.po können Sie beispielsweise entnehmen, dass der Zeichensatz iso-8859-1 verwendet wird. Sie könnten <code>calcurse</code> folgendermaßen aufrufen:</p> <pre>LC_ALL=fr_FR.ISO8859-1 calcurse</pre> <div class="todo"> <h3>4.1.3 Other environment variables<a name="basics_invocation_environment"></a></h3> <p> The following environment variables affect the way <code>calcurse</code> operates:</p> <dl> <dt><code>VISUAL</code></dt> <dd>Specifies the external editor to use for writing notes. </dd> <dt><code>EDITOR</code></dt> <dd>If the <code>VISUAL</code> environment variable is not set, then <code>EDITOR</code> will be used as the default external editor. If none of those variables are set, then <code>/usr/bin/vi</code> is used instead. </dd> <dt><code>PAGER</code></dt> <dd>Specifies the default viewer to be used for reading notes. If this variable is not set, then <code>/usr/bin/less</code> is used. </dd> </dl> </div> <h2>4.2 Benutzer-Interface<a name="basics_interface"></a></h2> <h3>4.2.1 Nicht interaktiver Modus<a name="basics_interface_noninteractive"></a></h3> <p> Wird <code>calcurse</code> mit den Optionen: <code>-a</code>, <code>-d</code>, <code>-h</code>, <code>-n</code>, <code>-t</code>, <code>-v</code>, <code>-x</code> gestartet, wird das Programm im nicht-interaktiven Modus ausgeführt. Das bedeutet, dass die gewünschten Informationen ausgegeben werden und das Programm anschließend sofort wieder beendet wird.</p> <p> Durch das Einbinden von <code>calcurse --todo --appointment</code> in eine init config Datei ist es beispielsweise möglich, sich seine zu erledigenden Aufgaben und alle Termine des heutigen Tages beim Logon anzeigen zu lassen.</p> <h3>4.2.2 Interaktiver Modus<a name="basics_interface_interactive"></a></h3> <p> Wird keine, oder nur Option -c angegeben, startet <code>calcurse</code> im interaktiven Modus. In diesem Modus erhält man ein Interface mit drei unterschiedlichen Panels, einer Benachrichtigungszeile, sowie einer Status-Zeile (siehe unten). Die einzelnen Panels lassen sich durch die 'TAB'-Taste ansteuern.</p> <pre> Termin-Panel---. .---Kalender-Panel | | v v +------------------------------------++----------------------------+ | Termine || Kalender | |------------------------------------||----------------------------| | (|) 6. April 2006 || April 2006 | | || Mo Di Mi Do Fr Sa So | | || 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 | | || | | |+----------------------------+ | |+----------------------------+ | || Aufgaben | todo- | ||----------------------------| Panel | || | | | || | | | || |<--. | || | +------------------------------------++----------------------------+ |---[ So 2006-10-22 | 10:11:43 ]---(apts)----> 01:20 :: lunch <---|<--. +------------------------------------------------------------------+ Benachrichtigungszeile | ? Hilfe S Speichern H/L -/+1 Tag Tab ändere Ansicht | | Q Beenden G Gehe zu J/K -/+1 Woche C Einstellung |<-. +------------------------------------------------------------------+ | | Statuszeile </pre> <p> Das Kalender-Panel hebt den gewünschten Tag farblich hervor, wä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.</p> <p> Im Termin-Panel kann man <span class="emp">'(|)'</span> Symbol vor das Datum setzen. Dies zeigt die aktuelle Mondfase. Je nach Mondfase können die folgenden Symbole erscheinen: <dl class="compact"> <dt>'<code> |) </code>':</dt> <dd>Halbmond, erste Hälfte</dd> <dt>'<code> (|) </code>':</dt> <dd>Vollmond</dd> <dt>'<code> (| </code>':</dt> <dd>Halbmond, letzte Hälfte</dd> <dt>'<code> | </code>':</dt> <dd>Neumond</dd> <dt>Kein Symbol:</dt> <dd>die Mondfase ist keinem der oberen zuzuordnen</dd> </dl> </p> <p> Die letzten beiden Zeilen des Interfaces zeigen die Status-Zeile, die über die möglichen Befehle und ihre entsprechenden Tasten informiert.</p> <p> Direkt über der Statuszeile befindet sich die Benachrichtigungszeile, die von links nach rechts gesehen die folgenden Elemente anzeigt: Das aktuelle Datum, die aktuelle Uhrzeit, die momentan verwendete Kalenderdatei (im obigen Beispiel die standardmäßig verwendete Kalenderdatei apts [Vergleiche hierzu den folgenden Abschnitt]) und der nächste Termin, der in den kommenden 24 Stunden ansteht. Im Beispiel ist dies der Termin lunch, der in 1 Stunde und zwanzig Minuten beginnt.</p> <p class="rq"><span class="valorise">Beachte:</span> Einige Handlungen, wie beispielsweise das Verändern oder Hinzufügen eines Termins, benötigen Texteingaben, die mithilfe des eingebauten Eingabeeditors eingegeben werden.</p> <p> Geht eine Zeile über die Bildschirmzeile hinaus, wird dies innerhalb des Editors durch die Zeichen '>', '*', und '<' dargestellt. Dadurch wird in der letzten Spalten darauf hingewiesen, dass sich vor, vor und hinter, beziehungsweise nur hinter der momentanten Position weiterer Text befindet. Gegebenenfalls wird Zeile horizontal gescrollt.</p> <p> Darüberhinaus sind einigen Editierfunktionen spezielle Tastenkürzel zugewiesen, die in der folgenden Übersicht zusammengefasst sind. Hierbei steht '^' für die Taste 'Strg' beziehungsweise 'Ctrl': <dl class="compact"> <dt><code>^a</code>:</dt> <dd>Positioniert den Cursor an den Anfang der Eingabezeile</dd> <dt><code>^b</code>:</dt> <dd>Bewegt den Cursor rückwärts</dd> <dt><code>^d</code>:</dt> <dd>Löscht das folgende Zeichen</dd> <dt><code>^e</code>:</dt> <dd>Positioniert den Cursor an das Ende der Eingabezeile</dd> <dt><code>^h</code>:</dt> <dd>Löscht das vorhergehende Zeichen</dd> <dt><code>^k</code>:</dt> <dd>Löscht die Eingabe von der aktuellen Cursorposition bis an das Zeileende</dd> <dt><code>ESCAPE</code>:</dt> <dd>Bricht die Bearbeitung ab</dd> </dl> </p> <h2>4.3 <code>calcurse</code> Dateien<a name="basics_files"></a></h2> <p> Die folgende Verzeichnisstruktur wird im $HOME-Verzeichnis angelegt, <div class="todo">(or in the directory you specified with the -D option)</div> wenn <code>calcurse</code> das erste Mal gestartet wird:</p> <pre> $HOME/.calcurse/ |___notes/ |___conf |___apts |___todo </pre> <dl class="compact"> <dt><code>notes/</code>:</dt> <dd><span class="todo">this subdirectory contains descriptions of the notes which are attached to appointments, events or todos. One text file is created per note, whose name is built using mkstemp(3) and should be unique, but with no relation with the corresponding item's description.</span></dd> <dt><code>conf</code>:</dt> <dd>Datei enthält die Informationen zur Benutzerkonfiguration.</dd> <dt><code>apts</code>:</dt> <dd>Datei enthält alle Termine.</dd> <dt><code>todo</code>:</dt> <dd>Datei enthält die todo-Liste.</dd> </dl> <h2>4.3 <code>calcurse</code> files<a name="basics_files"></a></h2> <p> The following structure is created in your <code>$HOME</code> directory (or in the directory you specified with the -D option) the first time <code>calcurse</code> is run :</p> <pre> $HOME/.calcurse/ |___notes/ |___conf |___apts |___todo </pre> <dl class="compact"> <dt><code>notes/</code>:</dt> <dd>this subdirectory contains descriptions of the notes which are attached to appointments, events or todos. One text file is created per note, whose name is built using mkstemp(3) and should be unique, but with no relation with the corresponding item's description.</dd> <dt><code>conf</code>:</dt> <dd>this file contains the user configuration</dd> <dt><code>apts</code>:</dt> <dd>this file contains all of the events and user's appointments</dd> <dt><code>todo</code>:</dt> <dd>this file contains the todo list</dd> </dl> <div class="todo"> <h2>4.4 Import/Export capabilities<a name="basics_import_export"></a></h2> <p> The import and export capabilities offered by <code>calcurse</code> are described below. </p> <h3>4.4.1 Import<a name="basics_import"></a></h3> <p> Data in icalendar format as described in the rfc2445 specification (see <a href="#links_others">links</a> section below) can be imported into calcurse. Calcurse ical parser is based on version 2.0 of this specification, but for now on, only a subset of it is supported. </p> <p> The following icalendar properties are handled by calcurse: <ul> <li><code>VTODO</code> items:<br> "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"</li> <li><code>VEVENT</code> items:<br> "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY", "DESCRIPTION"</li> </ul> </p> <p> The icalendar "DESCRIPTION" property will be converted into calcurse format by adding a note to the item. If a "VALARM" property is found, the item will be flagged as important and the user will get a notification (this is only applicable to appointments). </p> <p> Here are the properties that are not implemented: <ul> <li>negative time durations are not taken into account (item is skipped)</li> <li>some recurence frequences are not recognize:<br> "SECONDLY" / "MINUTELY" / "HOURLY"</li> <li>some recurrence keywords are not recognized (all those starting with 'BY'):<br> "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"<br> "BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"<br> plus "WKST"</li> <li>the recurrence exception keyword "EXRULE" is not recognized</li> <li>timezones are not taken into account</li> </ul> </p> <h3>4.4.2 Export<a name="basics_export"></a></h3> <p> Two possible export formats are available: <code>ical</code> and <code>pcal</code> (see section <a href="#links_others">Links</a> below to find out about those formats). </p> </div> <h2>4.5 Online Hilfe<a name="basics_help"></a></h2> <p> Das integrierte Hilfe-System kann jederzeit mit '?' aufgerufen werden. Informationen über bestimmte Befehle können mit der entsprechenden Taste des Befehls aufgerufen werden. </p> <h1>5. Optionen<a name="options"></a></h1> <p> Sämtliche in <code>calcurse</code> veränderbaren Parameter lassen sich Konfigurationsmenü einstellen. Drücken Sie hierzu die Taste 'C'. Daraufhin erscheint ein Untermenü mit vier weiteren Wahlmöglichkeiten: Das erneute Betätigen von 'C' führt Sie zu den Farbeinstellungen und über 'L' gelangen Sie in ein Untermenü, in dem Sie die Anordnung der drei Panel ändern können. Drücken Sie 'G' um ins Auswahlmenü der allgemeinen Optionen zu gelangen. Zu guter Letzt können Sie die Einstellungen der Benachrichtigungszeile ändern, indem Sie die Taste 'N' betätigen.</p> <h2>5.1 Allgemeine Optionen<a name="options_general"></a></h2> <p> Die im Folgenden beschriebenen Optionen steuern <code>calcurse</code>s allgemeines Verhalten.</p> <dl> <dt><code>automatisches_Speichern</code> (Voreinstellung: <span class="emp">ja</span>)</dt> <dd>Ist diese Option aktiviert, werden die Benutzerdaten automatisch beim Verlassen gespeichert. <p class="rq"><span class="valorise">warnung:</span> Beim Verlassen werden keine Daten gespeichert, wenn <code>automatisches_Speichern</code> auf <span class="emp">nein</span> gesetzt wurde. Um Ihre Eingaben dennoch zu speichern, müssen Sie als Nutzer die Taste 'S' betätigen.</p> </dd> <dt><code>Beenden_bestätigen</code> (Voreinstellung: <span class="emp">ja</span>)</dt> <dd>Wenn <span class="emp">ja</span> eingestellt worden ist, wird nachgefragt, ob das Programm wirklich beenden werden soll. Wurde <span class="emp">nein</span> gewählt, wird das Programm durch die Eingabe von 'Q' ohne Nachfrage sofort beendet.</dd> <dt><code>Löschen_bestätigen</code> (Voreinstellung: <span class="emp">ja</span>)</dt> <dd>Wurde <span class="emp">ja</span> eingestellt, fragt das Programm nach, ob ein Eintrag wirklich gelöscht werden soll (entweder ein todo-Eintrag oder ein Termin). Wurde <span class="emp">nein</span> gewählt, wird beim Drücken von 'D' ohne Nachfrage gelöscht.</dd> <dt><code>Systemdialoge_überspringen</code> (Voreinstellung: <span class="emp">nein</span>)</dt> <dd>Durch Setzen auf <span class="emp">ja</span> werden die Dialoge beim Speichern und Laden umgangen. Nützlich, wenn es mal schnell gehen muss.</dd> <dt><code>Fortschrittsanzeige_überspringen</code> (Voreinstellung: <span class="emp">nein</span>)</dt> <dd>Wird diese Option aktiviert, wird die beim Speichern von Daten normalerweise erscheinende Fortschrittsanzeige nicht mehr angezeigt. Ist diese Option auf <span class="emp">nein</span> gesetzt, werden ein Zustandsbalken und der Name der zu speichernden Datei (siehe Abschnitt <a href="#basics_files">Calcurse Dateien</a>) angezeigt.</dd> <dt><code>Wochenbeginn_am_Montag</code> (Voreinstellung: <span class="emp">ja</span>)</dt> <dd>Es ist möglich zwischen Montag und Sonntag als ersten Tag der Woche zu wählen. Wird die Option auf <span class="emp">ja</span> gesetzt, wird Montag als erster Tag der Woche festgelegt. Ist <span class="emp">nein</span> gewählt, beginnt die Woche sonntags.</dd> <div class="todo"> <dt><code>output_datefmt</code> (default: <span class="emp">%D</span>)</dt> <dd>This option indicates the format to be used when displaying dates in non-interactive mode. Using the default values, dates are displayed the following way: <span class="emp">mm/dd/aa</span>. You can see all of the possible formats by typing <code>man 3 strftime</code> inside a terminal.</dd> <dt><code>input_datefmt</code> (default: <span class="emp">1</span>)</dt> <dd>This option indicates the format that will be used to enter dates in <span class="emp">calcurse</span>. Three choices are available: <ol> <li>mm/dd/yyyy</li> <li>dd/mm/yyyy</li> <li>yyyy/mm/dd</li> </ol> </dd> </div> </dl> <h2>5.2 Textfarben einstellen<a name="options_colors"></a></h2> <p> <code>calcurse</code> Textfarben können nach eigenen Vorlieben eingestellt werden. Um die Standartfarben zu wechseln, zeigt die Konfigurationsseite mögliche Farbwerte für Vordergrund und Hintergrund. Benutze die Pfeiltasten zum bewegen und 'X' bzw. die Leertaste um eine Farbe zu wählen. Benutzer können das gewählte Farbschema vorher betrachten. Die Liste enthält auch den Eintrag für die Standartfarben des Terminals.</p> <div class="todo"> <p> The chosen color theme 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.</p> </div> <p class="rq"><span class="valorise">Beachte:</span> Der Farbunterstützung ist vom verwendeten Terminal und des der Umgebungsvariablen <code>$TERM</code> zugewiesenen Werts abhängig. Es erscheint eine Fehlermeldung, wenn versucht wird die Farbeinstellung zu ändern, obwohl das Terminal keine Farben unterstützt. Wenn sie sicher sind, dass ihr Terminal Farben darstellen kann, in <code>calcurse</code> aber keine Farben erscheinen, versuchen Sie die <code>$TERM</code> Variable auf einen anderen Wert zu setzen (etwa <span class="emp">xterm-xfree86</span>). </p> <h2>5.3 Layout einstellen<a name="options_layout"></a></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 (vgl. die im Abschnitt <a href="#basics_interface_interactive">Interaktiver Modus</a> dargestellte Zeichnung des Standard-Layouts). Durch Auswahl eines anderen Layouts kann der Benutzer das Erscheinungsbild von <code>calcurse</code> seinen eigenen Wünschen entsprechend anpassen.</p> <h2>5.4 Benachrichtigungszeile einstellen<a name="options_notify"></a></h2> <p> Folgende Optionen ändern das Verhalten der Benachrichtigungszeile:</p> <dl> <dt><code>Benachrichtigungszeile_anzeigen</code> (Voreinstellung: <span class="emp">ja</span>)</dt> <dd>Mit dieser Option legen Sie fest, ob die Benachrichtigungszeile anzeigt werden soll. </dd> <dt><code>Benachrichtigungszeile_Datum</code> (Voreinstellung: <span class="emp">%a %F</span>)</dt> <dd>Hiermit kann das Format festgelegt werden, wie das aktuelle Datum innerhalb der Benachrichtigungszeile angezeigt werden soll. Die möglichen Formatdefinitionen können Sie sich durch die Eingabe von <code>man 3 strftime</code> auf der Kommandozeile anzeigen lassen.</dd> <dt><code>Benachrichtigungszeile_Uhrzeit</code> (Voreinstellung: <span class="emp">%T</span>)</dt> <dd>Hiermit kann das Format festgelegt werden, wie die aktuelle Uhrzeit innerhalb der Benachrichtigungszeile angezeigt werden soll. Die möglichen Formatdefinitionen können Sie sich durch die Eingabe von <code>man 3 strftime</code> auf der Kommandozeile anzeigen lassen.</dd> <dt><code>Benachrichtigungszeile_Alarm</code> (Voreinstellung: <span class="emp">300</span>)</dt> <dd>Beginnt ein Termin innerhalb der nächsten, in 'Benachrichtigungszeile_Alarm' festgelegten Sekunden, wird der Termin innerhalb der Benachrichtigungszeile blinkend dargestellt. Auf diese Weise wird der Nutzer auf einen baldigen Termin hingewiesen. Außerdem wird der Befehl, der durch <code>Benachrichtigungszeile_Befehl</code> definiert ist, ausgeführt.</dd> <dt><code>Benachrichtigungszeile_Befehl</code> (Voreinstellungt: <span class="emp">printf '\a'</span>)</dt> <dd>Diese Option zeigt an, welcher Befehl ausgeführt wird, wenn ein bevorstehender Termin durch 'wichtig' gekennzeichnet ist. Dieser Befehl wird auf dem Terminal des Benutzers ausgeführt. Die <code>$SHELL</code> Umgebungsvariable wird bei der Wahl des richtigen Terminals berücksichtigt. Ist diese Variable nicht gesetzt, wird stattdessen <code>/bin/sh</code> zur Ausführung gewählt. <p class="rq"><span class="valorise">Beispiel:</span> Der <code>mail</code> Befehl ist auf dem System des Benutzer verfügbar. Man kann den folgenden Befehl benutzen, um an bevorstehende Termine erinnert zu werden (die Beschreibung des Termins wird ebenso berücksichtigt im Mailkopf):</p> <code> calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com </code> </dd> </dl> <h1>6. Bekannte Fehler<a name="known_bugs"></a></h1> <p> Es kommt vor, dass Wörter bei Verwendung der schwarz/weißen Farbkombination falsch hervorgehoben werden, wenn die <code>$TERM</code> Variable auf <span class="emp">xterm-color</span> gesetzt ist. Um diesen Fehler zu vermeiden, sollte nach Aussage von Thomas E. Dickey (zuständig für <code>xterm</code>), <span class="emp">xterm-xfree86</span> an Stelle für <span class="emp">xterm-color</span> als <code>$TERM</code> Variable gesetzt werden:</p> <blockquote class="rq"> "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> <h1>7. Mitteilung von Fehlern und Anregungen<a name="bugs"></a></h1> <p> Bitte mailen Sie Fehler oder auch Anregungen an:</p> <pre>calcurse @ culot . org</pre> <p> Oder an den Autor:</p> <pre>frederic @ culot . org</pre> <h1>8. Wie kann ich einen Beitrag leisten?<a name="contribute"></a></h1> <p> Wenn Sie gerne dieses Projekt unterstützen möchten, können Sie mir zuerst eine kurze Rückmeldung geben. Was finden Sie an diesem Programm gut oder was könnte besser sein? Gibt es vielleicht Programmeigenschaften, die Sie vermissen? Teilen Sie sie mir mit!</p> <p> Von nun an ist es auch möglich, sich an der Übersetzung der Programmmitteilungen und der Dokumentation von <code>calcurse</code> zu beteiligen. </p> <p class="rq"><span class="valorise">Beachte:</span> Jegliche Unterstützung <code>calcurse</code> in andere Sprachen zu übersetzen ist sehr willkommen. Bevor Sie beginnen, sollten Sie jedoch eine E-Mail an <code>calcurse-i18n @ culot . org</code> senden: So erfahren Sie, ob jemand die Übersetzung in Ihrer Sprache schon begonnen hat.</p> <h2>8.1 Übersetzung der Dokumentation<a name="contribute_documentation"></a></h2> <p> Das <span class="emp">doc/</span> Verzeichnis des Quellcodearchivs enthält bereits übersetzte Versionen des <code>calcurse</code> Handbuchs. Ist eine Übersetzung in Ihrer Sprache noch nicht vorhanden, wäre es großartig, wenn Sie eine solche erstellen könnten.</p> <p> Kopieren Sie dazu eine der vorhandenen Version mit dem Dateinamen <code>manual_XX.html</code>, wobei <span class="emp">XX</span> das entsprechende Kürzel Ihrer Sprache ist. Übersetzen Sie diese Datei anschließend und senden Sie sie dann an den Autor (siehe <a href="#bugs">Mitteilung von Fehlern und Anregungen</a>), damit Ihre Übersetzung der nächsten <code>calcurse</code> Version hinzugefügt werden kann.</p> <h2>8.2 <code>calcurse</code> i18n<a name="contribute_i18n"></a></h2> <p> Wie bereits erwähnt, verwendet <code>calcurse</code> die <code>gettext</code> Utilities um mehrsprachige Programmmitteilungen zu erzeugen. Dieser Abschnitt informiert Sie darüber, wie Programmmitteilungen in Ihre Muttersprache übersetzt werden. Dieses Howto zur Übersetzung von <code>calcurse</code> mittels <code>gettext</code> ist natürlich nur als Einstieg gedacht und mit Absicht recht knapp gehalten. Um umfassendere Informationen zu erhalten und sich die große weite Welt der Internationalisierung von Software zu erschließen, sollten Sie die Seite der <code>GNU gettext</code>-Anleitung besuchen:</p> <pre>http://www.gnu.org/software/gettext/manual/</pre> <p> An der Übersetzung sind im Grunde drei verschiedene Entwickler beteiligt: Programmierer, Sprachkoordinator und Übersetzer. Nach einem kurzen Überblick, wie so etwas funktioniert, werden anschließend die Aufgaben des Übersetzers beschrieben.</p> <h3>8.2.1 Überblick<a name="contribute_i18n_overview"></a></h3> <p> Um Text in der Muttersprache des Benutzers erscheinen zu lassen, sind zwei Schritte nötig: <span class="emp">Internationalisierung</span> (i18n) und <span class="emp">Lokalisierung</span> (l10n).</p> <p> Bei der i18n geht es darum, <code>calcurse</code> auf die Unterstützung mehrerer Sprachen vorzubereiten. Dies ist die Aufgabe des Programmierers, der die zu übersetzenden Texte markiert und andererseits sicherstellen muss, dass zur Laufzeit des Programms der übersetzt Text erscheint.</p> <p> Bei der l10n geht es darum, dem bereits internationalisierten - also i18n markierten - <code>calcurse</code> die entsprechende Übersetzung des Benutzers zur Verfügung zu stellen. Gemäß den Umgebungsvariablen ersetzt <code>calcurse</code> die zuvor vom Programmierer markierten Texte durch die entsprechenden Übersetzungen.</p> <p> Die zu übersetzenden Texte werden also zunächst vom Programmierer im <code>C</code>-Quellcode markiert und in einem Template (<span class="emp">calcurse.pot</span> - die Dateierweiterung <span class="emp">pot</span> steht für <span class="emp">portable object template</span>) gesammelt. Anschließend wird der Inhalt dieses Templates mit den Dateien, die die Übersetzungen enthalten zusammengeführt (<span class="emp">fr.po</span> enthält beispielsweise die Französische Übersetzung (<span class="emp">po</span> steht hierbei für <span class="emp">portable object</span>, also ein von Menschen les- und veränderbares Dateiformat), Der Übersetzer kann diese Datei öffnen, die enthaltenen Texte übersetzen und sie dann an den Programmierer zurück senden. Wird das Programm compiliert, erzeugt der Compiler (aus Gründen der Effizienz) eine binäre Version dieser Datei, die später installiert wird (<span class="emp">fr.mo</span> - <span class="emp">mo</span> steht für <span class="emp">machine object</span>; dieses Format kann nur von Programmen gelesen werden). <code>calcurse</code> nutzt diese Datei zur Laufzeit, um die Texte in Abhängigkeit der lokalen Einstellungen des Benutzers zu übersetzen.</p> <h3>8.2.2 Aufgaben des Übersetzers<a name="contribute_i18n_translator"></a></h3> <p> Wenn Sie mit der Übersetzung in eine neue Sprache beginnen möchten, finden Sie hierzu die nötigen Schritte:</p> <ul> <li>Finden Sie zunächst das Kürzel Ihrer Sprache heraus. Beispielsweise ist das Kürzel für Französisch 'fr_FR', oder einfach nur 'fr'. Diesen Wert muss der Benutzer der Umgebungsvariablen <code>LC_ALL</code> zuweisen, um die Software übersetzt starten zu können (siehe <a href="#basics_invocation_variable">Umgebungsvariable für i18n</a>).</li> <li>Wechseln Sie dann ins <span class="emp">po/</span> Verzeichnis und erzeugen Sie aus dem Template mit dem folgendem Aufruf eine neue po-Datei: <code>'msginit -i calcurse.pot -o fr.po -l fr --no-translator'</code> Sollte <code>msginit</code> nicht auf Ihrem System installiert sein, kopieren Sie einfach die Datei <span class="emp">calcurse.pot</span> nach <span class="emp">fr.po</span> und änderen Sie den Inhalt am Anfang der Datei von Hand.</li> </ul> <p> Wurde die Datei <span class="emp">fr.po</span> erstellt, kann mit der eigentlichen Übersetzung begonnen werden.</p> <h3>8.2.3 po-Dateien<a name="contribute_i18n_po-files"></a></h3> <p> Das Format der po-Dateien ist relativ einfach. po-Dateien gliedern sich in lediglich vier Bestandteile:</p> <ol> <li><span class="emp">location Zeilen:</span> geben an, wo sich der Text befindet (Name der Datei und Zeilennummer).</li> <li><span class="emp">msgid Zeilen:</span> der ursprüngliche, also zu übersetzende Text.</li> <li><span class="emp">msgstr Zeilen:</span> der übersetzte Text.</li> <li><span class="emp">Zeilen, die mit '#' beginnen:</span> Kommentare (einige mit spezieller Bedeutung, wie wir weiter unten noch sehen werden).</li> </ol> <p> Übersetzen Sie die <span class="emp">msgid</span> Zeilen und tragen Sie den übersetzten Text in die sich direkt darunterbefindlichen, mit <span class="emp">msgstr</span> gekennzeichneten Zeilen ein.</p> <p> <span class="valorise">Einige Anmerkungen:</span> <dl> <dt><span class="emp">Fuzzy Texte</span></dt> <dd>Einige Texte sind mit <code>"#, fuzzy"</code> kommentiert. <code>calcurse</code> nutzt derart markierte Texte nicht. Ein als fuzzy markierter Text deutet entweder darauf hin, dass der Text schon übersetzt wurde, aber die Stelle im Programmcode verändert wurde, oder aber es handelt sich um einen neuen Text, für welchen <code>gettext</code> eine sog. 'wild guess' vornimmt, also selbst eine Übersetzung versucht. Das bedeutet, die Übersetzung sollte noch einmal überarbeitet werden. Manchmal wurde der Originaltext verändert, weil ein Rechtschreibfehler korrigiert wurde. In einem solchen Fall muss nichts geändert werden. Mitunter ist die Übersetzung aber nicht mehr passend oder schlichtweg falsch und muss abgeändert werden. Entfernen Sie die <code>"#, fuzzy"</code>-Zeilen, wenn Sie mit Ihrer Übersetzung fertig sind, damit <code>calcurse</code> die übersetzten Zeilen wieder verwendet und anzeigt.</dd> <dt><span class="emp">c-Format Texte und besondere Sequenzen</span></dt> <dd>Einige Texte haben folgende Kommentare: <code>"#, c-format"</code>. Dieser Kommentar weist darauf hin, dass Teile dieses Textes eine besondere Bedeutung haben und dieser Text nicht verändert werden sollte. Beispielsweise bedeuten die %-Sequenzen, wie <code>"%s"</code>, dass <code>calcurse</code> dort Text einfügen wird. Es ist also wichtig, diese nicht zu verändern. Ebenso kommen \-Sequenzen , wie etwa <code>\n</code> oder <code>\t</code> vor. Bitte nehmen Sie auch hier keine Veränderungen vor. Erstere stellt das Zeilenende dar, letztere einen Tabulator.</dd> <dt><span class="emp">Übersetzungen können in Blöcke geschrieben werden</span></dt> <dd>Sollten Zeilen zu lang werden, können sie auf mehrere verteilt werden: <pre> msgid "" "some very long line" "another line" </pre> <dt><span class="emp">po-Header</span></dt> <dd>Ganz zu Anfang einer po-Datei befindet sich der Header, der einige Informationen enthält. Die wichtigste Information ist der Zeichensatz. Er sollte diesem ähnlich sein <pre> "Content-Type: text/plain; charset=utf-8\n" </pre> Auch das Übersetzer-Feld sollte ausgefüllt sein, damit potentielle Mitstreiter, die sich an der Übersetzung beteiligen wollen, mit Ihnen Kontakt aufnehmen können. Ebenso können von anderen entdeckte Fehler an den Übersetzer gemeldet werden. Geben Sie Ihren Namen an, oder tragen Sie Ihre E-Mail-Adresse ein. Zum Beispiel folgendermaßen: <pre> "Last-Translator: Frederic Culot <frederic@culot.org>\n" </pre></dd> <dt><span class="emp">Kommentare</span></dt> <dd>Das Hinzufügen von Kommentaren (Zeilen beginnen mit dem '#' Zeichen) ist eine gute Möglichkeit, um Probleme und Übersetzungsschwierigkeiten anderen besser mitteilen zu können.</dd> <dt><span class="emp">Längen der Texte</span></dt> <dd><code>calcurse</code> ist ein curses/Konsolen Programm und ist somit stark von der Größe des Terminals (Anzahl der Spalten) abhängig. Dies sollte bei der Übersetzung berücksichtigt werden. Häufig müssen Texte in eine einzige Zeile passen (Standardlänge ist 80 Zeichen). Übersetzen Sie nicht blindlings darauf los! Versuchen Sie herauszufinden, wo der Text angezeigt wird, um die Übersetzung entsprechend anzupassen.</dd> <dt><span class="emp">Ein paar nützliche Programme</span></dt> <dd>Das po-Dateiformat ist sehr einfach und kann mit jedem Standard-Editor bearbeitet werden. Es gibt aber auch einige spezielle Tools die das Erstellen und Änder der po-Dateien vereinfachen: <ul> <li><code>poEdit</code> (<a href="http://www.poedit.org/" target="_blank"> http://www.poedit.org/</a>)</li> <li><code>KBabel</code> (<a href="http://i18n.kde.org/tools/kbabel/" target="_blank"> http://i18n.kde.org/tools/kbabel/</a>)</li> <li><code>GTranslator</code> (<a href="http://gtranslator.sourceforge.net/" target="_blank"> http://gtranslator.sourceforge.net/</a>)</li> <li><code>Emacs</code> po mode</li> <li><code>Vim</code> po mode</li> </ul> </dd> <dt><span class="emp">Zu Schluss noch</span></dt> <dd>Ich hoffe es wird Ihnen Freude bereiten, wenn Sie sich an diesem Projekt und seiner Internationalisierung beteiligen :). Bitte scheuen Sie sich nicht, mir eine E-Mail, <span class="emp">frederic @ culot . org</span>, zu schreiben, sollten noch Fragen offen sein.</dd> </dl> <h1>9. Links<a name="links"></a></h1> <p> Dieser Abschnitt enthält Links und Angaben, die Sie interessieren könnten.</p> <h2>9.1 <code>calcurse</code> Internetseite<a name="links_homepage"></a></h2> <p> Die Internetseite des Projekts <code>calcurse</code> lautet:</p> <pre>http://culot.org/calcurse</pre> <h2>9.2 <code>calcurse</code> Ankündigungsliste<a name="links_list"></a></h2> <p> Wenn Sie an <code>calcurse</code> Interesse gefunden haben und Sie gerne über Neuerscheinungen informiert werden möchten, können Sie sich gerne in <code>calcurse</code>s Ankündigungsliste eintragen.</p> <p> Sobald eine neue Version veröffentlicht wird, werden Sie per E-Mail über die neusten Eigenschaften von <code>calcurse</code> informiert<br> Um sich in die Liste einzutragen, schicken Sie einfach eine E-Mail mit dem Betreff "subscribe" an <span class="emp">calcurse-announce @ culot . org</span>.</p> <h2>9.3 <code>calcurse</code> RSS feed<a name="links_rss"></a></h2> <p> Um über neue Programmversionen informiert zu werden, können Sie auch einfach den folgenden RSS-Feed aufrufen:</p> <pre>http://culot.org/calcurse/news_rss.xml</pre> <p> Sobald eine neue <code>calcurse</code>-Version verfügbar ist wird der RSS-Feed aktualisiert und enthält eine Beschreibung der neu hinzugekommenen Programmfunktionen.</p> <h2><div class="todo">9.4 Other links</div><a name="links_others"></a></h2> <div class="todo"> <p> You may want to look at the ical format specification (rfc2445) at: <pre>http://tools.ietf.org/html/rfc2445</pre> <p> The pcal project page can be found at: <pre>http://pcal.sourceforge.net/</pre> </div> <h1>10. Danksagungen<a name="thanks"></a></h1> <p> Folgenden Leuten möchte ich gerne für Ihre Unterstützung danken, ohne die dieses Projekt nicht möglich gewesen wäre. Hier ist die Liste derjenigen, denen ich Danke sagen möchte: <ul> <li>Alex für die Patches, Hilfen und Erläuterungen zur <code>C</code> Programmierung.</li> <li>Gwen fürs Testen und die Anregungen, wie <code>calcurse</code> verbessert werden kann.</li> <li>Herbert für das Binary-Packet auf FreeBSD</li> <li>Zul für das Binary-Packet auf NetBSD</li> <li>Wain, Steffen und Ronald für das Binary-Packet auf Archlinux</li> <li>Kevin, Ryan, und fEnIo für das Binary-Packet auf Debian und Ubuntu.</li> <li>Pascal für das Binary-Packet auf Slackware</li> <li>Alexandre für das Binary-Packet auf Mac OsX und Darwin.</li> <li>Igor für das Binary-Packet auf ALT Linux</li> <li>Joel für sein Kalender-Skript, das mich zum Calcurse-Layout inspiriert hat.</li> <li>Michael Schulz und Chris M. für die Übersetzung der Dokumentation ins Deutsche.</li> <li>Jose Lopez für die Übersetzung der Dokumentation ins Spanische.</li> <li>Neil Williams für die Übersetzung ins Englische.</li> <li>Leandro Noferini für die Übersetzung ins Italienisches.</li> <li>Tony für seine Patches, welche die Funktion recur_item_inday() verbessern half <span class="todo">, and for implementing the date format configuration options</span></li> <li>Jeremy Roon für die Übersetzung ins Dutch.</li> <li><div class="todo">Erik Saule for its patch implementing the '-N', '-s', '-r' and '-D' flags</div></li> <li>Leute die Programme geschrieben haben, die ich mag und mich inspiriert haben, insbesondere: <ul> <li><code>vim</code> für die Befehlssteuerung</li> <li><code>orpheus</code> und <code>abook</code> für die Dokumentation</li> <li><code>pine</code> und <code>aptitude</code> für das Text-Benutzer-Interface</li> </ul></li> </ul> </p> <p> Und zuletzt, vielen vielen Dank an alle <code>calcurse</code> Benutzer, die mir Ihr Feedback mitgeteilt haben.</p> <div class="footer"> Copyright (c) 2004-2008 Fr�d�ric Culot<br> German translation by Michael Schulz <code><bloodshower .at. web .dot. de></code>, and Chris.<br> Calcurse version 2.3 - Last change: September 21, 2008<br> </div> </div> </body> </html>