aboutsummaryrefslogtreecommitdiffstats
path: root/doc/manual_nl.html
blob: bf5f9bf3c75abd54e8fb48718c5a146c5ad22d8e (plain) (blame)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//NL">
<!--
/*
 *	$calcurse: manual_nl.html,v 1.13 2008/10/15 16:15:40 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 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_colors">5.2 Kleurenschema's</a></li>
	<li><a href="#options_layout">5.3 Layout configuratie</a></li>
	<li><a href="#options_notify">5.4 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. 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>

<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&iuml;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.3.tar.gz</pre>
<p>
	Zodra de benodigde pakketten ge&iuml;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 &lt;file&gt;, --calendar &lt;file&gt;</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 &lt;date|num&gt;, --day &lt;date|num&gt;</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 zoals volgt 'mm/dd/yyyy'.</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.
	    <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 &lt;dir&gt;, --directory &lt;dir&gt;</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 &lt;file&gt;, --import &lt;file&gt;</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.
	    <p class="rq"><span class="valorise">Noot:</span> 
	    het nummer van de prioriteit moet liggen tussen 1
	    (hoogste) en 9 (laagste).</p>
	    </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>
<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
 |                                    ||                            |   |
 |                                    ||                            |   |
 |                                    ||                            |&lt;--.
 |                                    ||                            |
 +------------------------------------++----------------------------+
 |---[  Ma 2006-11-22 | 10:11:43 ]---(apts)----&gt; 01:20 :: lunch &lt;---|&lt;--.
 +------------------------------------------------------------------+ informatie
 | ? Help     R Herteken  H/L -/+1 Dag      G Ga Naar    C Config   | balk
 | Q Einde    S Opslaan   J/K -/+1 Week   Tab Schakelen             |&lt;-. 
 +------------------------------------------------------------------+  |
                                                                       |
                                                                 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 '&gt;', '*', or '&lt;' 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
           |___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>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&iuml;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 4
	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, 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>
		<dt><code>einde_bevestigen</code>
		(standaard: <span class="emp">ja</span>)</dt>
		<dd>Bij het be&euml;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 drie keuzes: <ol>
                  <li>mm/dd/yyyy</li>
                  <li>dd/mm/yyyy</li>
                  <li>yyyy/mm/dd</li>
                  </ol>
                </dd>
	</dl>

<h2>5.2 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.3 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.4 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&ouml;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&iuml;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 &lt;frederic@culot.org&gt;\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&iuml;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&iuml;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&iuml;mplementeerd</li>
	<li>en de mensen die de software geschreven hebben die ik goed vind
	en mij ge&iuml;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 (c) 2004-2008 Frédéric Culot<br>
	Calcurse version 2.3 - Last change: September 21, 2008<br>
</div>
</div>

</body>
</html>