<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//NL">
<!--
/*
* $calcurse: manual_nl.html,v 1.18 2009/07/05 20:32:49 culot Exp $
*
* Copyright (c) 2004-2009 Frederic Culot <frederic@culot.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the
* following disclaimer.
*
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
-->
<html>
<head>
<title>CALCURSE documentatie</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 - tekst-gebaseerde organizer</span></h1>
<div class="warn">
<h1>Abstract</h1> Deze handleiding beschrijft de functionaliteit van calcurse
en hoe die te gebruiken. Als eerste wordt de installatie vanaf de broncode
beschreven, samen met de commandoregel-argumenten. Daarna, wordt de interface
met alle instellingen die de werking van <code>calcurse</code> wijzigen,
besproken. Als laatste wordt zowel de procedure van het melden van fouten in
<code>calcurse</code> uitgelegd, alsook de manier waarop men kan meehelpen om
<code>calcurse</code> te verbeteren.
</div>
<div id="toc">
<h1>Inhoudsopgave</h1>
<ul>
<li><a href="#intro">1. Introductie</a></li>
<li><a href="#overview">2. Overzicht</a>
<ul>
<li><a href="#overview_history">2.1 Inleiding</a></li>
<li><a href="#overview_features">2.2 Belangrijke kenmerken</a></li>
</ul></li>
<li><a href="#install">3. Installatie</a>
<ul>
<li><a href="#install_requirements">3.1 Afhankelijkheden</a>
<ul>
<li><a href="#install_requirements_ncurses">3.1.1 <code>ncurses</code> bibliotheek</a></li>
<li><a href="#install_requirements_gettext">3.1.2 <code>gettext</code> bibliotheek</a></li>
</ul></li>
<li><a href="#install_process">3.2 Installatieprocedure</a></li>
</ul></li>
<li><a href="#basics">4. <code>calcurse</code> basis</a>
<ul>
<li><a href="#basics_invocation">4.1 Calcurse starten</a>
<ul>
<li><a href="#basics_invocation_commandline">4.1.1 Commandoregel-opties</a></li>
<li><a href="#basics_invocation_variable">4.1.2 Omgevingsvariabele voor i18n</a></li>
<li><a href="#basics_invocation_environment">4.1.3 Andere omgevingsvariabelen</a></li>
</ul></li>
<li><a href="#basics_interface">4.2 Gebruikers-interface</a>
<ul>
<li><a href="#basics_interface_noninteractive">4.2.1 Niet-interactieve modus</a></li>
<li><a href="#basics_interface_interactive">4.2.2 Interactieve modus</a></li>
</ul></li>
<li><a href="#basics_files">4.3 <code>calcurse</code> bestanden</a></li>
<li><a href="#basics_import_export">4.4 Import/Export mogelijkheden</a>
<ul>
<li><a href="#basics_import">4.4.1 Importeren</a></li>
<li><a href="#basics_export">4.4.2 Exporteren</a></li>
</ul></li>
<li><a href="#basics_help">4.5 Online hulp</a></li>
</ul></li>
<li><a href="#options">5. Opties</a>
<ul>
<li><a href="#options_general">5.1 Algemene opties</a></li>
<li><a href="#options_keys"><span class="todo">5.2 Key bindings</span></a>
<li><a href="#options_colors">5.3 Kleurenschema's</a></li>
<li><a href="#options_layout">5.4 Layout configuratie</a></li>
<li><a href="#options_notify">5.5 Informatiebalk instellingen</a></li>
</ul></li>
<li><a href="#known_bugs">6. Bekende bugs</a></li>
<li><a href="#bugs">7. Rapporteren bugs en aanmerkingen</a></li>
<li><a href="#contribute">8. Hoe kan ik mee helpen?</a>
<ul>
<li><a href="#contribute_documentation">8.1 Vertalen van documentatie</a></li>
<li><a href="#contribute_i18n">8.2 <code>calcurse</code> i18n</a>
<ul>
<li><a href="#contribute_i18n_overview">8.2.1 Overzicht</a></li>
<li><a href="#contribute_i18n_translator">8.2.2 Vertaal stappen</a></li>
<li><a href="#contribute_i18n_po-files">8.2.3 Po-bestanden</a></li>
</ul></li>
</ul></li>
<li><a href="#links">9. Links</a>
<ul>
<li><a href="#links_homepage">9.1 <code>Calcurse</code> homepage</a></li>
<li><a href="#links_list">9.2 <code>Calcurse</code> nieuws lijst</a></li>
<li><a href="#links_rss">9.3 <code>Calcurse</code> RSS feed</a></li>
<li><a href="#links_others">9.4 Links</a></li>
</ul></li>
<li><a href="#thanks">10. Dankwoord</a></li>
</ul>
</div>
<h1>1. Introductie<a name="intro"></a></h1>
<p>
<code>calcurse</code> is een tekstgebaseerde kalender en planner. Het
helpt om overzicht te houden over afspraken en alledaagse taken. Een
aan te passen meldingssysteem herinnert de gebruiker aan komende
deadlines, en de curses-gebaseerde interface kan aangepast worden aan
de wensen van de gebruiker. Alle commando's zijn gedocumenteerd in een
online hulpsysteem.
</p>
<h1>2. Overzicht<a name="overview"></a></h1>
<h2>2.1 Inleiding<a name="overview_history"></a></h2>
<p>
Ik begon te denken aan dit project toen ik bijna afgestudeerd was in
de astrofysica... Het werd moeilijk om alles georganiseerd te houden
en ik had behoefte aan een goed hulpmiddel om me daar bij te helpen.
;)
</p>
<p>
Ik hou van programma's die gebruik maken van de tekst-interface, omdat
ze simpel, snel, overdraagbaar en efficient zijn, dus ik dacht eraan
om een simpele tekst-interface kalender te programmeren. Ook wilde ik
graag verder leren programmeren in de programmeertaal <code>C</code>,
welke ik alleen in mijn vooropleiding had gebruikt. Zodoende zou ik
dus leren programmeren in <code>C</code>, en mijn zaakjes voor elkaar
krijgen.
</p>
<p>
Helaas studeerde ik af voordat ik klaar was met <code>calcurse</code>,
maar ik was nog steeds geboeid door het project, in de hoop dat het
ook voor anderen een handig programma zou zijn. En hier is dan het
resultaat...
</p>
<p>
Waarom de naam 'calcurse', vraagt u zich af? Het is simpelweg een
samentrekking van 'CALendar' en 'nCURSEs', de naam van de bibliotheek
die gebruikt wordt om de gebruikers-interface aan te sturen.
</p>
<h2>2?2 Belangrijke kenmerken<a name="overview_features"></a></h2>
<p>
<code>Calcurse</code> is multi-platform, neemt weinig systeembronnen
in beslag, en is snel en betrouwbaar. Het moet gebruikt worden binnen
een console of terminal, lokaal of op een aparte computer door middel
van een connectie met een programma zoals ssh.
</p>
<p>
<code>Calcurse</code> kan op twee verschillende manieren gebruikt
worden: interactieve of niet-interactieve modus. De eerste modus zorgt
er voor dat men zijn eigen agenda bijna overal kan bekijken, dankzij
de tekst-gebaseerde interface. Met de tweede modus, kan men makkelijk
met geheugensteuntjes werken door <code>calcurse</code> met de juiste
commandoregel-opties in een cron tab of shell init script te
zetten.
</p>
<p>
Bovendien, is <code>calcurse</code> geschreven met de
eindgebruiker in gedachten, en is dus zo gebruikersvriendelijk
mogelijk. Dit betekent dat er een volledige hulp-functie is, en de
beschikbare acties altijd op het scherm staan in de statusbalk. De
gebruikers-interface is ook aan te passen, en men kan tussen
verschillende kleurenschema's en layout-combinaties kiezen.
<span class="todo">Key bindings are also configurable, to fit everyone's needs.</span>
En als laatste, is er het configurabele meldingssysteem, dat gebruikers
verwittigt van op handen zijnde afspraken.
</p>
<h1>3. Installatie<a name="install"></a></h1>
<h2>3.1 Benodigheden<a name="install_requirements"></a></h2>
<h3>3.1.1 <code>ncurses</code> bibliotheek<a name="install_requirements_ncurses"></a></h3>
<p>
<code>Calcurse</code> maakt alleen gebruik van een <code>C</code>
compiler, zoals <code>cc</code> of <code>gcc</code>, en de
<code>ncurses</code> bibliotheek. Het is onwaarschijnlijk dat er nog
geen juiste versie van <code>ncurses</code> op uw computer staat, maar
indien het niet zo is, is het via de volgende url te vinden:</p>
<pre>http://ftp.gnu.org/pub/gnu/ncurses/</pre>
<div class="todo">
<p class="rq"><span class="valorize">Note:</span>
It is also possible to link <code>calcurse</code> against the
<code>ncursesw</code> library (ncurses with support for unicode).
However, UTF-8 is not yet supported by <code>calcurse</code>.</p>
</div>
<h3>3.1.2 <code>gettext</code> bibliotheek<a name="install_requirements_gettext"></a></h3>
<p>
<code>calcurse</code> ondersteunt internationalisatie
(<span class="emp">i18n</span>
genoemd hierna) door middel van <code>gettext</code>. Dit betekent
dat <code>calcurse</code> berichten in verschillende talen kan
weergeven, indien gecompileerd met native language support
(<span class="emp">NLS</span>).
</p>
<p>
<span class="emp">NLS</span> is optioneel en als het niet nodig is,
kan het uitgeschakeld worden. Dit wordt gedaan door
<code>--disable-nls</code> als optie mee te geven aan
<code>configure</code> (zie sectie <a
href="#install_process">Installatieprocedure</a>). Om te zien of
gettext op het systeem aanwezig is, kan er gezocht worden naar het
<code>libintl.h</code> header bestand b.v.:</p>
<pre>locate libintl.h</pre>
<p>
Indien het header bestand niet gevonden wordt, kan het via de volgende
url verkregen worden:</p>
<pre>http://ftp.gnu.org/pub/gnu/gettext/</pre>
<p>
<p class="rq"><span class="valorize">Noot:</span>
Zelfs als <code>libintl.h</code> gevonden wordt, is het
misschien beter om de lokatie van het bestand tijdens de <a
href="#install_process">Installatieprocedure</a>) mee te geven aan
<code>configure</code> door middel van
<code>--with-libintl-prefix</code>. Het zou kunnen, dat
<code>configure</code> de bibliotheek niet kan vinden, als het op een
niet-gangbare plaats geïnstalleerd is.
</p>
<h2>3.2 Installatieprocedure<a name="install_process"></a></h2>
<p>
Als eerste moet het volgende archief uitgepakt worden met gunzip en
untar:</p>
<pre>tar zxvf calcurse-2.6.tar.gz</pre>
<p>
Zodra de benodigde pakketten geïnstalleerd zijn en het archief
uitgepakt is, is de installatieprocedure vrij simpel, via de
standaard drie stappen:
<ol>
<li><code>./configure</code></li>
<li><code>make</code></li>
<li><code>make install</code> (mogelijk root privileges nodig)</li>
</ol>
</p>
<p>
Typ <code>./configure --help</code> om een lijst te zien van mogelijke
opties.
</p>
<h1>4. <code>calcurse</code> basis<a name="basics"></a></h1>
<h2>4.1 Het aanroepen van calcurse<a name="basics_invocation"></a></h2>
<h3>4.1.1 Commandoregel-opties<a name="basics_invocation_commandline"></a></h3>
<p>
<code>calcurse</code> accepteert de volgende opties op de
commandoregel (zowel korte en lange opties worden ondersteund):</p>
<p>
<dl>
<dt><code>-a, --appointment</code></dt>
<dd>
Geeft de afspraken van vandaag weer en verlaat het programma.
<p class="rq"><span class="valorise">Noot:</span>
de te gebruiken kalender waaruit de afspraken gelezen
moeten worden, kan gekozen worden met de '-c' vlag.</p>
</dd>
<dt><code>-c <file>, --calendar <file></code></dt>
<dd>
Kies het te gebruiken kalenderbestand. De standaardkalender is
<code>~/.calcurse/apts</code> (zie sectie <a
href="#basics_files"><code>calcurse</code> bestanden</a>).
</dd>
<dt><code>-d <date|num>, --day <date|num></code></dt>
<dd>
Geef de afspraken weer van de gegeven datum of van het gegeven aantal
komende dagen, afhankelijk van de opties. Er zijn twee mogelijkheden:
<ul>
<li>een datum <span class="todo">(possible formats described below).</li>
<li>een nummer 'n'.</li>
</ul>
In het eerste geval, wordt een lijst met afspraken voor de gegeven
datum weergegeven, terwijl in het tweede geval, een lijst met
afspraken voor de komende 'n' aantal dagen wordt weergegeven.
Als je bijvoorbeeld <code>calcurse -d 3</code> intypt, zullen de
afpraken voor vandaag, morgen en overmorgen worden weergegeven.
<div class="todo">
Possible formats for specifying the date are defined inside the
general configuration menu (see
<a href="#options_general">General options</a>), using the
<code>input_datefmt</code> variable.
</div>
<p class="rq"><span class="valorise">Noot:</span>
Net zoals bij de '-a' vlag, kan de te gebruiken kalender
worden gekozen met de '-c' vlag.</p>
</dd>
<dt><code>-D <dir>, --directory <dir></code></dt>
<dd>
Specificeer de te gebruiken directory. Deze optie kan niet samen
met -c gebruikt worden. Als geen directory is gegeven, wordt
standaard <code>'~/.calcurse/'</code> gebruikt.
</dd>
<dt><code>-h, --help</code></dt>
<dd>
Geeft een korte hulptekst weer, met de ondersteunde
commandoregel-opties en verlaat het programma.
</dd>
<dt><code>-i <file>, --import <file></code></dt>
<dd>
Importeer de icalender-data uit <code>file</code>.
</dd>
<dt><code>-n, --next</code></dt>
<dd>
Geeft de eerstvolgende afspraak weer die binnen 24 uur valt en verlaat
het programma.
De weergegeven tijd is het aantal uren en minuten tot de afspraak.
<p class="rq"><span class="valorise">Noot:</span>
de te gebruiken kalender met de afspraken, kan gekozen
worden met de '-c' vlag.</p>
</dd>
<dt><code>-N, --note</code></dt>
<dd>
Indien gebruikt met de '-a' of 't' vlag, wordt ook de inhoud van de
gerelateerde noot weergegeven.
</dd>
<dt><code>-r[num], --range[=num]</code></dt>
<dd>
Geeft de gebeurtenissen en afspraken voor num aantal dagen weer.
Als num niet is gegeven wordt een dag gebruikt.
</dd>
<dt><code>-s[date], --startday[=date]</code></dt>
<dd>
Print gebeurtenissen en afspraken voor datum en stopt. Als er geen
datum wordt gegeven, wordt de huidige datum gebruikt.
</dd>
<dt><code>-t[num], --todo[=num]</code></dt>
<dd>
Geef de 'todo' lijst weer en verlaat het programma. Als het optionele
nummer <code>num</code> wordt meegegeven, zullen alleen de todo's met
de prioriteit gelijk aan <code>num</code> worden weergegeven.
<div class="todo">
The priority number must be between 1 (highest) and 9 (lowest). It is also possible
to specify '0' for the priority, in which case only completed tasks will be shown.</p>
</div>
</dd>
<dt><code>-v, --version</code></dt>
<dd>
Geeft het versienummer van <code>calcurse</code> weer en verlaat het
programma.
</dd>
<dt><code>-x[format], --export[=format]</code></dt>
Exporteer data van de gebruiker naar een bepaald formaat.
Gebeurtenissen, afspraken en taken worden geconverteerd en naar
stdout gezonden. Er is een keuze uit twee formaten: ical en pcal
(zie sectie <a href="#links_others">Links</a> beneden). Als het
optionele argument <code>formaat</code> niet is gegeven, zal het
ical formaat worden gebruikt.
<p class="rq"><span class="valorise">Noot:</span>
Om de data te exporteren naar een bestand, kan men de
standaard output omleiden met een commando zoals:
<code>$ calcurse --export > my_data.dat</code></p>
</dd>
</dl>
<h3>4.1.2 Omgevingsvariabele voor i18n<a name="basics_invocation_variable"></a></h3>
<p>
<code>calcurse</code> kan gecompileerd worden met native language
support (zie <a
href="#install_requirements_gettext"><code>gettext</code>
bibliotheek</a>). Als je berichten wilt zien in je moedertaal, kijk
dan eerst na of het beschikbaar is door naar het
<code>po/LINGUAS</code> bestand te kijken. Dit bestand geeft de
beschikbare talen weer door middel van twee letters. (Voorbeeld,
<span class="emp">fr</span> duidt frans aan). Indien je je taal niet vindt, zouden we
het op prijs stellen, als je meehelpt met het vertalen van
<code>calcurse</code> (zie <a href="#contribute">Hoe kan ik
helpen?</a>).</p>
<p>
Als je taal beschikbaar is, start <code>calcurse</code> met het
volgende commando:</p>
<pre>LC_ALL=fr_FR calcurse</pre>
<p>
waar <span class="emp">fr_FR</span> de locale naam van dit voorbeeld is, maar
veranderd moet worden naar de locale van de gewenste taal.</p>
<p>
De te gebruiken karakterset zou ook gespecificeerd moeten worden,
omdat anders in bepaalde gevallen de accenten en dergelijke niet
correct weergegeven worden. De karakterset wordt gekozen in het begin
van het po bestand, dat overeenkomt met de gewenste taal. Je kan
bijvoorbeeld in het fr.po bestand zien dat het gebruik maakt van de
iso-8859-1 karakterset, dus om <code>calcurse</code> te starten, kan
het volgende commando worden gebruikt:</p>
<pre>LC_ALL=fr_FR.ISO8859-1 calcurse</pre>
<h3>4.1.3 Andere omgevingsvariabelen<a name="basics_invocation_environment"></a></h3>
<p>
De volgende omgevingsvariabelen bepalen hoe <code>calcurse</code> werkt:</p>
<dl>
<dt><code>VISUAL</code></dt>
<dd>Specificeert welke externe editor wordt gebruikt voor het
schrijven van een noot.
</dd>
<dt><code>EDITOR</code></dt>
<dd>als de <code>VISUAL</code> omgevingsvariabele niet is ingesteld,
zal de inhoud van <code>EDITOR</code> worden gebruikt voor het
bepalen van de externe editor. Als beide variabelen niet zijn
ingesteld zal <code>/usr/bin/vi</code> worden gebruikt.
</dd>
<dt><code>PAGER</code></dt>
<dd>Specificeert met welk programma een noot wordt weergegeven.
Als de variabele leeg is, zal <code>/usr/bin/less</code> gebruikt
worden.
</dd>
</dl>
<h2>4.2 Gebruikers-interface<a name="basics_interface"></a></h2>
<h3>4.2.1 Niet-interactieve modus<a name="basics_interface_noninteractive"></a></h3>
<p>
<code>calcurse</code> wordt in niet-interactieve modus gestart, als
ten minste een van de volgende opties wordt gebruikt:
<code>-a</code>, <code>-d</code>, <code>-h</code>, <code>-n</code>,
<code>-t</code>, <code>-v</code>, <code>-x</code>,
Dit betekent dat de gewenste informatie wordt getoond, en dat daarna
<code>calcurse</code> simpelweg wordt verlaten en men weer terug is
bij de shell prompt.</p>
<p>
Op deze manier, kan men een regel zoals <code>'calcurse --todo
--appointment'</code> in zijn init config bestand zetten, zodat
bij het inloggen de takenlijst en afspraken van vandaag worden
weergegeven.</p>
<h3>4.2.2 Interactieve modus<a name="basics_interface_interactive"></a></h3>
<div class="todo">
<p class="rq"><span class="valorise">Note:</span>
Key bindings that are indicated in this manual correspond to
the default ones, defined when <code>calcurse</code> is launched
for the first time. If those key bindings do not suit user's needs,
it is possible to change them within the keys configuration menu
(see <a href="#options_keys">key bindings</a>).</p>
</div>
<p>
Als <code>calcurse</code> zonder opties of alleen met de
<code>-c</code> optie wordt aangeroepen, wordt <code>calcurse</code>
in interactieve modus gestart. In deze modus, wordt er een interface
getoond, dat drie verschillende panels (panelen) bevat, waartussen je
kan schakelen door middel van de 'TAB' toets, een notify-bar
(informatiebalk), en een statusbar (statusbalk) (zie onderstaand
figuur).</p>
<pre>
afspraken panel---. .---kalender panel
| |
v v
+------------------------------------++----------------------------+
| Afspraken || Kalender |
|------------------------------------||----------------------------|
| (|) April 6, 2006 || April 2006 |
| || Ma Di Wo Do Vr Za Zo |
| || 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 |
| || |
| |+----------------------------+
| |+----------------------------+
| || Taken | taken
| ||----------------------------| panel
| || | |
| || | |
| || |<--.
| || |
+------------------------------------++----------------------------+
|---[ Ma 2006-11-22 | 10:11:43 ]---(apts)----> 01:20 :: lunch <---|<--.
+------------------------------------------------------------------+ informatie
| ? Help R Herteken H/L -/+1 Dag G Ga Naar C Config | balk
| Q Einde S Opslaan J/K -/+1 Week Tab Schakelen |<-.
+------------------------------------------------------------------+ |
|
statusbalk
</pre>
<p>
Het eerste panel geeft een kalender weer, die het mogelijk maakt om
een bepaalde datum te kiezen. Het tweede panel bevat de afspraken en
gebeurtenissen van die dag. Het laatste panel bevat een lijst met
taken (todo's) die nog moeten gebeuren, maar niet aan een bepaalde dag
zijn toegewezen.</p>
<p>
In het afspraken panel, staat vlak voor de datum het <span class="emp">'(|)'</span>
teken. Dit geeft de huidige fase van de maan aan. Afhankelijk van de
fase, kunnen de volgende tekens worden gezien:
<dl class="compact">
<dt>'<code> |) </code>':</dt>
<dd>eerste kwartier</dd>
<dt>'<code> (|) </code>':</dt>
<dd>volle maan</dd>
<dt>'<code> (| </code>':</dt>
<dd>laatste kwartier</dd>
<dt>'<code> | </code>':</dt>
<dd>nieuwe maan</dd>
<dt>geen teken:</dt>
<dd>huidige fase van de maan correspondeert met geen
van bovenstaande fases</dd>
</dl>
</p>
<p>
Aan de onderkant van het scherm is de statusbalk, die de mogelijke
acties en de daarbij horende toetscombinaties weergeeft.</p>
<p>
Net boven de statusbalk is de informatiebalk, die van links naar
rechts het volgende toont: de huidige datum, de huidige tijd, het
kalenderbestand dat in gebruik is (apts in het bovenstaand voorbeeld,
dat het standaardkalender bestand is, zie de volgende sectie), en de
volgende afspraak binnen 24 uur. In het voorbeeld staat dat het over
een uur en twintig minuten tijd is voor de lunch.</p>
<p>
<p class="rq"><span class="valorise">Noot:</span>
Voor sommige acties, zoals het bewerken of toevoegen van
een item, is het nodig dat er tekst wordt ingevoerd. Dit wordt gedaan
met de hulp van de ingebouwde editor.</p>
<p>
Als een regel met tekst langer is dan de breedte van het scherm, wordt
er in de editor een '>', '*', or '<' karakter getoond in de
laatste kolom, wat aanduid dat er respectievelijk meer karakters
achter, voor en achter, of voor de huidige positie staan. De
tekstregel schuift horizontaal mee als het nodig is.</p>
<p>
Sommige bewerkingscommando's zijn gebonden aan speciale controle
karakters. Hierna zijn de beschikbare bewerkingscommando's weergegeven
('^' staat voor de control-toets):
<dl class="compact">
<dt><code>^a</code>:</dt>
<dd>verplaats de cursor naar het begin van de invoerregel</dd>
<dt><code>^b</code>:</dt>
<dd>verplaats de cursor terug</dd>
<dt><code>^d</code>:</dt>
<dd>verwijder een karakter voorwaarts</dd>
<dt><code>^e</code>:</dt>
<dd>verplaats de cursor naar het einde van de invoerregel</dd>
<dt><code>^f</code>:</dt>
<dd>verplaats de cursor voorwaarts</dd>
<dt><code>^h</code>:</dt>
<dd>verwijder een karakter terug</dd>
<dt><code>^k</code>:</dt>
<dd>verwijder de invoer vanaf de cursor naar het einde van
de regel</dd>
<dt><code>ESCAPE</code>:</dt>
<dd>annuleert het bewerken</dd>
</dl>
</p>
<h2>4.3 <code>calcurse</code> bestanden<a name="basics_files"></a></h2>
<p>
De volgende structuur wordt in je <code>$HOME</code> directory
aangemaakt, of in de door -D aangeduide directory)
als <code>calcurse</code> voor de eerste keer wordt gestart:</p>
<pre>
$HOME/.calcurse/
|___notes/
|___conf
|___keys
|___apts
|___todo
</pre>
<dl class="compact">
<dt><code>notes/</code>:</dt>
<dd>deze subdirectory bevat de beschrijvingen van de noten die
zijn bijgesloten bij afspraken, gebeurtenissen of taken. Voor
elke noot wordt er een tekstbestand aangemaakt. Dit bestand
heeft een unieke naam dat bepaald wordt door mkstemp(3). Deze
naam heeft echter geen enkel verband met de beschrijving van
het corresponderende item.</dd>
<dt><code>conf</code>:</dt>
<dd>bevat de configuratie van de gebruiker.</dd>
<dt><code>keys</code>:</dt>
<dd><span class="todo">this file contains the user-defined key bindings</span></dd>
<dt><code>apts</code>:</dt
<dd>bevat alle gebeurtenissen en afspraken van de gebruiker.</dd>
<dt><code>todo</code>:</dt>
<dd>bevat de takenlijst.</dd>
</dl>
<h2>4.4 Import/Export mogelijkheden<a name="basics_import_export"></a></h2>
<p>
De import en export mogelijkheden van <code>calcurse</code> zijn als
volgt:
</p>
<h3>4.4.1 Import<a name="basics_import"></a></h3>
<p>
Data in icalender formaat, zoals beschrevein in de rfc2445 specificatie
(zie <a href="#links_others">links</a> sectie beneden), kan
geïmporteerd worden in calcurse. De Calcurse ical parser is op
versie 2.0 van deze specificatie gebaseerd. Van nu af aan echter, zal
alleen een subset worden ondersteund.
</p>
<p>
Hier volgt het icalendar formaat zoals calcurse het gebruikt:
<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>
Het icalender "DESCRIPTION"-veld (omschrijving) zal worden geconverteerd naar
het eigen formaat van calcurse, door het toevoegen van een noot. Als
een "VALARM"-veld is gevonden, zal het worden gemarkeerd als belangrijk
en zal de gebruiker een melding krijgen (alleen bij afspraken).
</p>
<p>
Hier zijn de velden die niet worden gebruikt:
<ul>
<li>negatief tijdsduur zal niet herkend worden (item wordt
overgeslagen)
</li> <li>sommige herhalings frequenties worden niet
herkend:<br>
"SECONDLY" / "MINUTELY" / "HOURLY"</li>
<li>Sommige herhalingssleutelwoorden worden niet herkend (degene
die starten met 'BY'):<br>
"BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"<br>
"BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"<br>
plus "WKST"</li>
<li>het exceptie herhalingssleutelwoord "EXRULE" wordt niet
herkend</li>
<li>er wordt geen rekening gehouden met timezones</li>
</ul>
</p>
<h3>4.4.2 Export<a name="basics_export"></a></h3>
<p>
Twee export formaten zijn voorradig: <code>ical</code> en
<code>pcal</code> (zie sectie <a href="#links_others">Links</a> beneden
voor meer informatie over deze formaten).
</p>
<h2>4.5 Online hulp<a name="basics_help"></a></h2>
<p>
De ingebouwde hulp kan waar nodig aangeroepen worden door middel van
de '?' toets. Tijdens het gebruik van de hulpschermen kan een
specifiek commando opgevraagd worden door op de toetscombinatie te
drukken van dat commando.
</p>
<h1>5. Opties<a name="options"></a></h1>
<p>
Alle opties van <code>calcurse</code> zijn aan te passen vanuit het
Configuratie menu. Als je op 'C' drukt, kom je in een submenu met 5
keuzes: Druk opnieuw 'C' om naar de configuratie van de
kleurenschema's te gaan, druk op 'L' om naar de hoofdindeling van
<code>calcurse</code> te gaan (in andere woorden, waar de 3 panels op
het scherm komen), druk op 'G' om een aantal algemene opties in te
stellen,
<span class="todo">pressing 'K' opens the key bindings configuration
menu,</span>
en als laatste kan de informatiebalk worden aangepast worden
met de toets 'N'.
</p>
<h2>5.1 Algemene opties<a name="options_general"></a></h2>
<p>
Met de volgende opties kan <code>calcurse</code> naar wens ingesteld
worden:</p>
<dl>
<dt><code>automatisch_opslaan</code>
(standaard: <span class="emp">ja</span>)</dt>
<dd>Door deze optie wordt de data van de gebruiker automatisch opgeslagen
(indien ingesteld op <span class="emp">ja</span>) bij het
afsluiten.
<p class="rq"><span class="valorise">Let op:</span>
De data wordt niet automatisch opgeslagen als
<code>automatisch_opslaan</code> ingesteld is op <span class="emp">nee</span>. Dit
betekent dat de gebruiker op 'S' moet drukken om de gewijzigde data te
bewaren.</p>
</dd>
<div class="todo">
<dt><code>periodic_save</code>
(default: <span class="emp">0</span>)</dt>
<dd>If different from '0', user's data will be automatically
saved every <span class="emp">periodic_save</span> minutes.
When an automatic save is performed, two asterisks
(i.e. '<code>**</code>') will appear on the top right-hand side
of the screen).</p>
</dd>
</div>
<dt><code>einde_bevestigen</code>
(standaard: <span class="emp">ja</span>)</dt>
<dd>Bij het beëindigen van <code>calcurse</code>, zal er om een
bevestiging worden gevraagd, als de optie op <span class="emp">ja</span> is ingesteld.
Zoniet, dan zal <code>calcurse</code> zonder bevestigingsvraag
eindigen, als er op 'Q' wordt gedrukt.
</dd>
<dt><code>bevestig_verwijderen</code>
(standaard: <span class="emp">ja</span>)</dt>
<dd>Als deze optie op <span class="emp">ja</span> is ingesteld, zal er om een bevestiging
gevraagd worden voor het wissen van een item door middel van een
toetsdruk op 'D' (dit kan een <span class="emp">todo</span>, <span class="emp">afspraak</span>, of
<span class="emp">gebeurtenis</span> zijn. Anders zal er geen bevestiging nodig zijn
voor het wissen van een item.
</dd>
<dt><code>overslaan_systeem_dialoog</code>
(standaard: <span class="emp">nee</span>)</dt>
<dd>Als deze optie ingesteld is op <span class="emp">ja</span> zullen de systeem dialogen
gerelateerd aan het opslaan en laden van data worden overgeslagen. Dit
zorgt ervoor dat <code>calcurse</code> sneller opstart en afsluit.
</dd>
<dt><code>overslaan_progressie_balk</code>
(standaard: <span class="emp">nee</span>)</dt>
<dd>Indien ingesteld op <span class="emp">ja</span>, zal deze optie er voor zorgen dat de
progressie balk, die normaal gesproken getoond wordt bij het opslaan
van data naar bestand, verdwijnt. Ingesteld op <span class="emp">ja></span>, wordt de
progressie balk getoond samen met de bestandsnaam. (zie sectie <a
href="#basics_files"><code>calcurse</code> bestanden</a>).
</dd>
<dt><code>week_begint_op_maandag</code>
(standaard: <span class="emp">ja</span>)</dt>
<dd>Er kan gekozen worden tussen maandag en zondag als de eerste dag van
de week. Als <span class="emp">week_begint_op_maandag</span> ingesteld is op
<span class="emp">ja</span>, dan zal maandag als eerste staan in het kalender
overzicht. Anders staat zondag als eerste dag van de week.
</dd>
<dt><code>output_datefmt</code>
(standaard: <span class="emp">%D</span>)</dt>
<dd>Deze optie geeft het te gebruiken formaat aan bij datums in
niet-interactieve modus. Standaard worden de datums als volgt
weergegeven: <span class="emp">mm/dd/aa</span>. Het is
mogelijk om alle mogelijke formaten te zien, door <code>man 3
strftime</code> in een terminal in te typen.</dd>
<dt><code>input_datefmt</code>
(standaard: <span class="emp">1</span>)</dt>
<dd>Met deze optie wordt het formaat aangeven dat zal worden
gebruikt om datums in te voern in <span
class="emp">calcurse</span>. Er zijn <span class="todo">four</span> keuzes: <ol>
<li>mm/dd/yyyy</li>
<li>dd/mm/yyyy</li>
<li>yyyy/mm/dd</li>
<li>yyyy-mm-dd</li>
</ol>
</dd>
</dl>
<div class="todo">
<h2>5.2 Key bindings<a name="options_keys"></a></h2>
<p>
One can define it's own keybindings within the 'Keys' configuration
menu. The default keys look like the one used by the <code>vim</code>
editor, especially the displacement keys. Anyway, within this
configuration menu, users can redefine all of the keys available from
within calcurse's user interface.</p>
<p>
To define new keybindings, first highlight the action to which it will
apply. Then, delete the actual key binding if necessary, and add a new
one. You will then be asked to press the key corresponding to the new
binding. It is possible to define more than one key binding for a single
action.</p>
<p>
An automatic check is performed to see if the new key binding
is not already set for another action. In that case, you will be asked
to choose a different one. Another check is done when exiting from this
menu, to make sure all possible actions have a key associated with it.</p>
<p>
The following keys can be used to define bindings:
<ul>
<li>lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'</li>
<li>CONTROL-key followed by one of the above letters</li>
<li>escape, horizontal tab, and space keys</li>
<li>arrow keys (up, down, left, and right)</li>
<li>'HOME' and 'END' keys</li>
</ul> </p>
<p>
While inside the key configuration menu, an online help is available for
each one of the available actions. This help briefly describes what the
highlighted action is used for.</p>
</div>
<h2>5.3 Kleurenschema's<a name="options_colors"></a></h2>
<p>
De kleurenschema's van <code>calcurse</code> zijn aan te passen aan de
wensen van de gebruiker. Om het standaard schema te wijzigen, zijn er
in het configuratiescherm de mogelijke opties weergegeven voor voor-
en achtergrondkleuren. Door met de pijltjes-toetsen of de
<code>calcurse</code>-toetsen de cursor te verplaatsen, en met 'X' of
spatie een kleur te selecteren, kan de gebruiker de kleur toegepast
zien. Het is ook mogelijk om de standaard kleuren van de terminal te
gebruiken. Selecteer hiervoor de corresponderende optie.
</p>
<p>
De kleuren van de randen, titels, toetshulp, en algemene informatie
binnen de statusbalk zullen worden aangepast. Er is ook een zwart-wit
schema, voor terminals die geen kleuren ondersteunen.</p>
<p class="rq"><span class="valorise">Noot:</span>
Afhankelijk van het type terminal en van de <code>$TERM</code>
omgevingsvariabele, is het mogelijk dat kleur wel of niet wordt
ondersteund. Indien gepoogd wordt de kleuren te veranderen, terwijl de
terminal geen kleuren ondersteund, zal er een foutbericht
verschijnen.
Als bekend is dat de terminal kleuren ondersteund, maar niet
getoond worden door <code>calcurse</code>, probeerd dan om de waarde
van de <code>$TERM</code> variabele te veranderen in iets anders
(zoals bijvoorbeeld <span class="emp">xterm-xfree86</span>)
</p>
<h2>5.4 Layout configuratie<a name="options_layout"></a></h2>
<p>
De layout stelt de positie van de panels van <code>calcurse</code> in.
Bij de standaard layout is de positie van het kalender panel in de
terminal rechtsboven, het todo-panel rechtsonder, en het afspraken
panel wordt aan de linkerkant van het scherm getoond (zie het figuur
in sectie <a href="#basics_interface_interactive">Interactieve
modus</a> voor een voorbeeld van de standaard layout).
Door een andere layout te kiezen in het configuratie scherm, kan de
gebruiker <code>calcurse</code> zo het beste aan zijn behoeftes
aanpassen.</p>
<h2>5.5 Informatiebalk instellingen<a name="options_notify"></a></h2>
<p>
De volgende opties stelt het gedrag van de informatiebalk in:</p>
<dl>
<dt><code>informatiebalk_toon</code>
(standaard: <span class="emp">ja</span>)</dt>
<dd>Deze optie stelt in of de informatiebalk getoond wordt op het scherm
of niet.</dd>
<dt><code>informatiebalk_datum</code>
(standaard: <span class="emp">%a %F</span>)</dt>
<dd>Door middel van deze optie, kan ingesteld worden hoe de datum wordt
weergegeven in de informatiebalk. Alle mogelijkheden kunnen gezien
worden door <code>man 3 strftime</code> in de terminal te typen.</dd>
<dt><code>informatiebalk_tijd</code>
(standaard: <span class="emp">%T</span>)</dt>
<dd>Door middel van deze optie, kan insteld worden hoe de huidige tijd
wordt weergegeven in de informatiebalk. weergegeven in de
informatiebalk. Alle mogelijkheden kunnen gezien worden door
<code>man 3 strftime</code> in de terminal te typen.</dd>
<dt><code>informatiebalk_waarschuwing</code>
(standaard: <span class="emp">300</span>)</dt>
<dd>Indien een afspraak binnen de tijd valt die is ingesteld in
'informatiebalk_waarschuwing', begint de weergave van die boodschap te
knipperen. Zo wordt de gebruiker gewaarschuwd, dat er een op handen
zijnde afspraak is. Bovendien zal het commando uitgevoerd worden dat
is gedefinieerd door informatiebalk_commando.</dd>
<dt><code>informatiebalk_commando</code>
(standaard: <span class="emp">printf '\a'</span>)</dt>
<dd>Deze optie geeft het commando weer dat wordt uitgevoerd wanneer er een
op handen zijnde afspraak is, die gemarkeerd is als 'belangrijk'. Het
commando zal naar de shell van de gebruiker gestuurd worden, waar het
door de shell uitgevoerd wordt. Om van de gewenste shell gebruik te
maken, wordt gebruik gemaakt van de <code>$SHELL</code>
omgevingsvariabele. Er wordt gebruik gemaakt van <code>/bin/sh</code>,
indien de variabele leeg is.
<p class="rq"><span class="valorise">Voorbeeld:</span>
Stel dat het commando <code>mail</code> uit te
voeren is op het systeem van de gebruiker. Men kan dan het volgende
commando gebruiken om op de hoogte gesteld te worden van een op handen
zijnde afspraak (de beschrijving van de afspraak zal ook te zien zijn
in de body van de mail):</p>
<code>
calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com
</code>
</dd>
</dl>
<h1>6. bekende bugs<a name="bekende_bugs"></a></h1>
<p>
Wanneer <code>calcurse</code> gebruikt maakt van een zwart-wit schema
terwijl de <code>$TERM</code> variabele is ingesteld op
<span class="emp">xterm-color</span>, zullen er verkeerde items gemarkeerd worden.
Gebruik om deze bug op te lossen, <span class="emp">xterm-xfree86</span> in plaats van
<span class="emp">xterm-color</span> in de variabele <code>$TERM</code>,
adviseert Thomas E. Dickey (<code>xterm</code> maintainer):</p>
<blockquote class="rq">
"De waarde van xterm-color voor $TERM is geen goede keuze voor XFree86
xterm, omdat het vaak gebruikt wordt voor een optie in terminfo, dat
bce niet ondersteunt. Maak gebruik van de xterm-xfree86 optie die met
de xterm van XFree86 wordt gedistribueerd (of eenzelfde die wordt
gedistribueerd met ncurses)."
</blockquote>
<h1>7. Het melden van bugs en aanmerkingen<a name="bugs"></a></h1>
<p>
Meldt bugs en aanmerkingen alstublieft aan:</p>
<pre>calcurse @ culot . org</pre>
<p>
Of aan de auteur:</p>
<pre>frederic @ culot . org</pre>
<h1>8. Hoe kan ik helpen?<a name="contribute"></a></h1>
<p>
Mocht je mee willen helpen aan het project, dan kan je ten eerste
laten weten wat je wel en niet goed vindt, en of er nog dingen zijn
die je mist in <code>calcurse</code>.
Ook wordt het vertalen van <code>calcurse</code> berichten en
documentatie zeer gewaardeerd.</p>
<p class="rq"><span class="valorise">Noot:</span>
Alle hulp bij het 'internationaliseren' van
<code>calcurse</code> wordt zeer op prijs gesteld, maar voordat je
begint, mail dan eerst naar <code>calcurse-i18n @ culot . org</code>, om
te weten te komen of iemand anders al met een vertaling naar jouw taal
bezig is.</p>
<h2>8.1 Vertalen van de documentatie<a name="contribute_documentation"></a></h2>
<p>
De <span class="emp">doc/</span> directory van het bronpakket bevat alle vertalingen
van de handleidingen van <code>calcurse</code>. Als de handleiding van
je moedertaal echter nog niet aanwezig is, wordt het zeer op prijs
gesteld als je kunt helpen met de vertaling.</p>
<p>
Kopieer eenvoudig de bestaande handleiding naar
<code>manual_XX.html</code>, waar <span class="emp">XX</span> de code is van je taal.
Vertaal dan het zojuist aangemaakte bestand en zend het naar de
auteur (zie <a href="#bugs">Het melden van bugs en aanmerkingen</a>),
zodat het bij de volgende versie van <code>calcurse</code> gevoegd can
worden.</p>
<h2>8.2 <code>calcurse</code> i18n<a name="contribute_i18n"></a></h2>
<p>
Zoals eerder gezegd, maakt <code>calcurse</code> gebruikt van
<code>gettext</code> om berichten weer te geven in meerdere talen.
Deze sectie informeert hoe de berichten te vertalen in je moedertaal.
Deze howto is echter met opzet incompleet, en verlegt de focus op het
werken met <code>gettext</code> voor <code>calcurse</code>. Voor meer
gespecificeerde informatie of om het grotere geheel te begrijpen, is
er de <code>GNU gettext</code> handleiding:</p>
<pre>http://www.gnu.org/software/gettext/manual/</pre>
<p>
In principe, zijn er drie verschillende mensen bezig in de
vertaalketen: programmeurs, de vertaal coördinator, en de vertalers.
Na in vogelvlucht uit te leggen hoe dingen werken, zal de taak van de
vertaler beschreven worden.</p>
<h3>8.2.1 Overzicht<a name="contribute_i18n_overview"></a></h3>
<p>
Om het mogelijk te maken om teksten weer te geven in de taal van de
gebruiker, zijn er twee stappen vereist: <span class="emp">internationalisatie</span>
(i18n) en <span class="emp">localisatie</span> (l10n).</p>
<p>
i18n zorgt ervoor dat
<code>calcurse</code> meerdere talen ondersteund. De programmeurs
markeren de te vertalen tekst (strings genaamd) en bieden een manier
aan om deze direct te vertalen als <code>calcurse</code> gestart is.</p>
<p>
l10n zorgt ervoor dat de i18n-de <code>calcurse</code> zich instelt op
de taal van de gebruiker, dus worden de door de programmeurs
gemarkeerde strings vertaald, en wordt de omgeving correct ingesteld,
zodat <code>calcurse</code> gebruik kan maken van de vertaling.</p>
<p>
Dus, de te vertalen strings worden eerst gemarkeerd door de
programmeurs binnen in de <code>C</code> broncode, dan worden ze
verzameld in een sjabloon bestand (<span class="emp">calcurse.pot</span> - de
<span class="emp">pot</span> extensie staat voor <span class="emp">portable object template</span>,
wat zoiets als overdraagbaar object sjabloon betekent). De inhoud van
deze sjabloonbestanden worden dan samengevoegd met de vertaalbestanden
van elke taal (<span class="emp">fr.po</span> voor frans, bijvoorbeeld - waar
<span class="emp">po</span> voor <span class="emp">portable object</span> staat, dus bedoeld om
gelezen en gewijzigd te worden door mensen). Dit bestand wordt door een
vertaalteam vertaald, en verzonden naar de ontwikkelaars. Bij het
compileren wordt voor efficientie een binaire versie van dit bestand
gemaakt (<span class="emp">fr.mo</span> - <span class="emp">mo</span> staat voor <span class="emp">machine
object</span>, dus met als doel gelezen te worden door programma's), en
geïnstalleerd. <code>calcurse</code> gebruikt dit bestand dan, om de
strings te vertalen volgende de instellingen van de locale van de
gebruiker.</p>
<h3>8.2.2 Taken van de vertaler<a name="contribute_i18n_translator"></a></h3>
<p>
Stel dat iemand met het vertalen naar een nieuwe taal wil beginnen.
Dan zijn dit de stappen die gevolgd moeten worden:</p>
<ul>
<li>Vindt eerst uit wat de naam van de locale is. Voor frans
bijvoorbeeld is het 'fr_FR', of simpelweg 'fr'. Dit is de waarde die
in de omgevingsvariabele <code>LC_ALL</code> moet staan om software te
vertalen (zie <a href="#basics_invocation_variable">De i18n
omgevingsvariabele</a>).</li>
<li>Ga dan naar de <span class="emp">po/</span> directory, en maak nieuwe
po-bestanden aan met het volgende commando:
<code>'msginit -i calcurse.pot -o fr.po -l fr --no-translator'</code>
Indien <code>msginit</code> niet aanwezig is op het systeem, kopieer
dan simpelweg het <span class="emp">calcurse.pot</span> bestand en hernoem het naar
bijvoorbeeld <span class="emp">fr.po</span> en wijzig de header
handmatig.</li>
</ul>
<p>
Nu <span class="emp">fr.po</span> aangemaakt is, kan de vertaler beginnen.</p>
<h3>8.2.3 po-bestanden<a name="contribute_i18n_po-files"></a></h3>
<p>
De indeling van de po-bestanden is vrij simpel. Po-bestanden bestaan
uit vier onderdelen:</p>
<ol>
<li><span class="emp">locatie regels:</span> informeert waar de strings gevonden
kunnen worden (bestandsnaam en regelnummer), in het geval dat je het
een beetje in context wilt zien.</li>
<li><span class="emp">msgid regels:</span> de te vertalen strings.</li>
<li><span class="emp">msgstr regels:</span> de vertaalde strings.</li>
<li><span class="emp">regels met een '#' ervoor:</span> commentaar (sommige met een
speciale betekenis, zoals we verderop zullen zien).</li>
</ol>
<p>
Eigenlijk, hoef je alleen de <span class="emp">msgstr</span> regels te vullen met de
vertaling van bovenstaande <span class="emp">msgid</span> regels.</p>
<p>
<span class="valorise">Een paar aanmerkingen:</span>
<dl>
<dt><span class="emp">Fuzzy strings</span></dt>
<dd>Wanneer je een string tegenkomt die gemarkeerd is met <code>"#,
fuzzy"</code>, zal <code>calcurse</code> de vertaling niet gebruiken
totdat je iets verandert. 'Fuzzy' betekent dat de string al vertaald
is, maar sindsdien is veranderd in de broncode van het programma, of
dat het een nieuwe string is, waar <code>gettext</code> zelf een ruwe
vertaling van heeft gemaakt, gebaseerd op andere strings in het
bestand. Het komt erop neer dat je de vertaling moet nakijken. Soms is
er een kleine verandering in de originele string, omdat er een typfout
is verbeterd. In dit geval hoeft er niets te veranderen. Maar het kan
ook zo zijn dat de vertaling niet juist meer is, en een verandering
noodzakelijk is. Als de vertaling weer in orde is, wis dan de regel
met <code>"#, fuzzy"</code>, en dan zal de vertaling weer gebruikt
worden in <code>calcurse</code>.</dd>
<dt><span class="emp">c-format strings en speciale tekens</span></dt>
<dd>Sommige string hebben het volgende commentaar: <code>"#,
c-format"</code>. Dit betekent dat een deel van de te vertalen string
een speciale betekenis heeft voor het programma, en niet veranderd mag
worden. Bijvoorbeeld, het teken %, gebruikt als <code>"%s"</code>. Dit
betekent dat <code>calcurse</code> dit teken zal vervangen met een
andere string. Het is dus belangrijk dat het niet verwijderd wordt. Er
zijn ook andere tekens zoals \, gebruikt als <code>\n</code> of
<code>\t</code>. Verander ook deze niet. Het zijn respectievelijk
tekens voor einde-van-de-regel, en een tab.</dd>
<dt><span class="emp">Vertalingen mogen afgebroken worden</span></dt>
<dd>Zodra een regel te lang wordt, kan je hem splitsen als volgt:
<pre>
msgid ""
"een hele lange regel"
"de volgende regel"
</pre></dd>
<dt><span class="emp">het begin van het po-bestand</span></dt>
<dd>Aan het begin van het po-bestand, vormt de eerste string de 'header',
waar verschillende soorten informatie kan worden ingevuld. Het
belangrijkste is de karakterset. Het zou er als volgt uit moeten zien:
<pre>
"Content-Type: text/plain; charset=utf-8\n"
</pre>
Het is ook belangrijk dat het Last-Translator veld wordt ingevuld,
zodat nieuwe vertalers zich bij je kunnen aanmelden, of dat mensen
contact kunnen opnemen als ze aanvullingen hebben of typfouten
gevonden hebben. Je kan zowel een naam/bijnaam, of email adres
invulllen, zoals bijvoorbeeld:
<pre>
"Last-Translator: Frederic Culot <frederic@culot.org>\n"
</pre></dd>
<dt><span class="emp">Commentaar</span></dt>
<dd>Het toevoegen van commentaar (regels die beginnen met het karakter
'#', is een juiste manier om problemen met vertalingen te markeren
voor proeflezers of andere vertalers.</dd>
<dt><span class="emp">De lengte van strings</span></dt>
<dd><code>calcurse</code> is een curses/console programma, dus het is nauw
verbonden met het aantal kolommen dat de terminal gebruikt. Dit is
iets om in gedachten te houden bij het vertalen. Vaak moet een string
op een enkele regel passen. Het beste is dus om niet zomaar de strings
te vertalen, maar om eerst te kijken waar ze weergegeven worden in het
programma, en pas dan te vertalen.</dd>
<dt><span class="emp">Een paar nuttige hulpmiddelen</span></dt>
<dd>Het po-bestandsformaat is vrij simpel, en het bestand kan gewijzigd
worden met een standaard tekst-editor. Maar er zijn een paar
gespecialiseerde hulpmiddelen, die je misschien handig vindt bij het
vertalen:
<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">En als laatste</span></dt>
<dd>Ik hoop dat je het leuk vindt om bij te dragen aan een
'geïnternationaliseerde' wereld. :) Mocht je nog vragen hebben,
schroom dat niet om contact met me op te nemen via
<span class="emp">frederic @ culot . org</span>. </dd>
</dl>
<h1>9. Links<a name="links"></a></h1>
<p>
Deze sectie bevat links en referenties welke je misschien interesseren.</p>
<h2>9.1 <code>calcurse</code> homepage<a name="links_homepage"></a></h2>
<p>
De <code>calcurse</code> homepage is hier te vinden:</p>
<pre>http://culot.org/calcurse</pre>
<h2>9.2 <code>calcurse</code> mededelingenlijst<a name="links_list"></a></h2>
<p>
Mocht je interesse hebben in het project, en op de hoogte wilt worden
gehouden als er een nieuwe versie uitkomt, kan je jezelf inschrijven
op de <code>calcurse</code> mededelingenlijst. Je ontvangt dan een
email zodra er iets nieuws is in <code>calcurse</code>.</p>
<p>
Om je in te schrijven, zend dan een email naar
<code>calcurse-announce @ culot . org</code> met "subscribe"
ingevuld bij 'onderwerp'.</p>
<h2><code>9.3 calcurse</code> RSS feed<a name="links_rss"></a></h2>
<p>
Nog een mogelijkheid om op de hoogte te blijven over nieuwe versies
is om de RSS feed te volgen:</p>
<pre>http://culot.org/calcurse/news_rss.xml</pre>
<p>
Deze RSS feed wordt iedere keer vernieuwd als er een nieuwe versie van
calcurse beschikbaar is, waarbij ook de nieuwe opties beschreven
worden. </p>
<h2>9.4 Links<a name="links_others"></a></h2>
<p>
Voor meer informatie over het ical-formaatspecificatie (rfc2445):
<pre>http://tools.ietf.org/html/rfc2445</pre>
<p>
De pcal projectpagina kan hier gevonden worden:
<pre>http://pcal.sourceforge.net/</pre>
<h1>10. Dankwoord<a name="thanks"></a></h1>
<p>
Het is tijd om de mensen te bedanken, zonder wie dit programma niet
zou bestaan! Hier is een lijst met mensen die ik graag wil bedanken:
<ul>
<li>Alex voor zijn patches, hulp en advies met het programmeren in
<code>C</code> </li>
<li>Gwen voor het testen en voor de discussies om
<code>calcurse</code> te verbeteren</li>
<li>Herbert voor het maken van een pakket voor <code>calcurse</code>
voor FreeBSD </li>
<li>Zul voor het maken van een pakket voor <code>calcurse</code> voor
NetBSD</li>
<li>Wain, Steffen and Ronald voor het maken van een pakket voor <code>calcurse</code> voor
Archlinux</li>
<li>Kevin, Ryan, en fEnIo voor het maken van een pakket voor
<code>calcurse</code> voor Debian en Ubuntu</li>
<li>Pascal voor het maken van een pakket voor <code>calcurse</code>
voor Slackware</li>
<li>Alexandre en Markus voor het maken van een pakket voor
<code>calcurse</code> voor Mac OsX en Darwin</li>
<li>Igor voor het maken van een pakket voor <code>calcurse</code> for
ALT Linux</li>
<li>Joel voor zijn kalender script waarop de kalenderview van
<code>calcurse</code> geïnspireerd is</li>
<li>Michael Schulz en Chris M. voor de duitse vertaling van
<code>calcurse</code> en handleiding</li>
<li>Jose Lopez voor de spaanse vertaling van <code>calcurse</code> en
handleiding</li>
<li>Neil Williams voor de engelse vertaling</li>
<li>Leandro Noferini voor de italian vertaling</li>
<li>Tony voor zijn patch die de recur_item_inday functie verbeterde
, en voor het implementeren van de datumformaat
configuratie-opties</span></li>
<li>Jeremy Roon voor de nederlandse vertaling van
<code>calcurse</code> en handleiding</li>
<li>Erik Saule voor zijn patch, waarmee de '-N', '-s', '-r' en '-D'
vlaggen zijn geïmplementeerd</li>
<li>en de mensen die de software geschreven hebben die ik goed vind
en mij geïnspireerd hebben zoals:
<ul>
<li><code>vim</code> voor de toetsen die de cursor verplaatsen</li>
<li><code>orpheus</code> en <code>abook</code> voor de
documentatie</li>
<li><code>pine</code> en <code>aptitude</code>
voor de tekstinterface</li>
</ul></li>
</ul>
</p>
<p>
En als laatste wil ik graag de mensen bedanken die
<code>calcurse</code> gebruiken, en mij aanvullingen en opbouwende
kritiek stuurden.</p>
<div class="footer">
Copyright © 2004-2009 Frédéric Culot<br>
Calcurse version 2.6 - Last change: June 27, 2009<br>
</div>
</div>
</body>
</html>