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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
/*
* $calcurse: manual_de.html,v 1.5 2006/10/01 18:00:57 culot Exp $
*
* Calcurse - text-based organizer
* Copyright (c) 2004-2006 Frederic Culot
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Send your feedback or comments to : calcurse@culot.org
* Calcurse home page : http://culot.org/calcurse
*
*/
-->
<html>
<head>
<title>CALCURSE documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="white" text="black" link="blue" vlink="navy">
<h1><code>CALCURSE - textbasierter Terminkalender</code></h1>
<p>
<p><hr><p>
<h1>Inhaltsverzeichnis</h1>
<ul>
<li><a href="#intro">Einleitung</a>
<li><a href="#overview">Überblick</a>
<ul>
<li><a href="#overview_history">Anlass</a>
<li><a href="#overview_features">Wichtige Eigenschaften</a>
</ul>
<li><a href="#install">Installation</a>
<ul>
<li><a href="#install_requirements">Voraussetzungen</a>
<ul>
<li><a href="#install_requirements_ncurses"><code>ncurses</code> Bibliothek</a>
<li><a href="#install_requirements_gettext"><code>gettext</code> Bibliothek</a>
</ul>
<li><a href="#install_process">Installationsprozess</a>
</ul>
<li><a href="#basics"><code>calcurse</code> Grundlagen</a>
<ul>
<li><a href="#basics_invocation">Programmaufruf</a>
<ul>
<li><a href="#basics_invocation_commandline">Programmargumente</a>
<li><a href="#basics_invocation_variable">Umgebungsvariable für i18n</a>
</ul>
<li><a href="#basics_interface">Benutzer-Interface</a>
<ul>
<li><a href="#basics_interface_noninteractive">Nicht-interaktiver Modus</a>
<li><a href="#basics_interface_interactive">Interaktiver Modus</a>
</ul>
<li><a href="#basics_files"><code>calcurse</code> Dateien</a>
<li><a href="#basics_help">Onlinehilfe</a>
</ul>
<li><a href="#options">Optionen</a>
<ul>
<li><a href="#options_general">Allgemeine Optionen</a>
<li><a href="#options_colors">Einstellen der Terminalfarben</a>
<li><a href="#options_layout">Einstellen des Layouts</a>
<li><a href="#options_notify">Einstellen der Benachrichtigungszeile</a>
</ul>
<li><a href="#known_bugs">Bekannte Fehler</a>
<li><a href="#bugs">Mitteilung von Fehlern und Anregungen</a>
<li><a href="#contribute">Wie kann ich einen Beitrag leisten?</a>
<ul>
<li><a href="#contribute_documentation">Übersetzung der Dokumentation</a>
<li><a href="#contribute_i18n"><code>calcurse</code> i18n</a>
<ul>
<li><a href="#contribute_i18n_overview">Überblick</a>
<li><a href="#contribute_i18n_translator">Aufgaben des Übersetzers</a>
<li><a href="#contribute_i18n_po-files">po-Dateien</a>
</ul>
</ul>
<li><a href="#links">Links</a>
<ul>
<li><a href="#links_homepage"><code>calcurse</code> Internetseite</a>
<li><a href="#links_list"><code>calcurse</code> Ankündigungsliste</a>
</ul>
<li><a href="#thanks">Danksagungen</a>
</ul>
<p><hr><p>
<a name="intro"></a><h1>Einleitung</a></h1>
<p>
<code>calcurse</code> ist ein textbasierter persönlicher Terminkalender, der
Ihnen bei der Organisation von Terminen und täglichen Aufgaben
hilft. Er beinhaltet einen Kalender sowie eine 'todo'-Liste, die Ihre
Termine ordnen. Die Terminalfarben und das Layout des Benutzer-Interfaces
lassen sich individuell anpassen. Alle Kommandos sind
dokumentiert und können zur Laufzeit jederzeit erfragt werden.
<a name="overview"></a><h1>Überblick</h1>
<a name="overview_history"></a><h2>Anlass</h2>
<p>
Nachdem ich mein Diplom in Astrophysik absolviert hatte, kam mir die
Idee dieses Programm zu schreiben. Alles begann etwas unorganisiert zu
werden. Ein Programm, dass mir bei meiner Terminplanung etwas hilft,
war wirklich vonnöten. ;)<br>
Ich mag Programme mit Textinterfaces, weil sie einfach, schnell,
portabel und effizient sind. Also dachte ich darüber nach ein
Programm mit textorientiertem Benutzer-Interface zu entwickeln.
Darüber hinaus wollte ich meine Kenntnisse in der Programmiersprache
<code>C</code> erweitern. Im Grundstudium kam ich mit <code>C</code>
erstmals in Kontakt. Ich denke es ist eine gute Idee ein solches
Projekt zu beginnen und dabei meine Kenntnisse in <code>C</code> zu
erweitern! Mein Diplom habe ich nun absolviert, <code>calcurse</code>
ist aber noch immer nicht fertig. Nach wie vor entwickle ich dieses
Programm weiter, in der Hoffnung, dass es für andere von Nutzen sein
wird. Also hier ist es...<br>
<br>
Doch warum nenne ich es 'calcurse'? Nun, es ist einfach
zusammengesetzt aus den Wörtern 'CALendar' und 'nCurses', dem Namen
der Bibliothek die für das Benutzer-Interface verwendet wird.
<a name="overview_features"></a><h2>Wichtige Eigenschaften</h2>
<p>
<code>Calcurse</code> ist portabel und setzt sich zum Ziel klein,
schnell und sicher zu sein. Es ist auf einer Konsole oder einem
Terminal zu verwenden, entweder lokal oder auf einem entfernten System
mithilfe einer ssh-Verbindung (oder Ähnlichem).<br>
<code>Calcurse</code> kann in zwei unterschiedlichen Modi gestartet
werden: Im interaktiven und im nicht-interaktiven Modus. Der erste Modus
erzeugt Dank des textbasierten Interfaces die Ansicht eines eigenen
persönlichen Terminkalenders. Mit dem zweiten Modus ist es möglich
sich ein Erinnerungstool (Reminder) zu erstellen, wenn
<code>calcurse</code> mit den entsprechenden Argumenten in 'cron tab'
oder einem 'init script' eingebunden wird.<br>
Darüber hinaus ist <code>calcurse</code> für Benutzer erstellt worden,
mit der Absicht so benutzerfreundlich wie möglich zu sein. Das
bedeutet, dass eine komplette Onlinehilfe im Programm zu Verfügung
steht, sowie alle mögliche Aktionen jederzeit in einer Statuszeile
ersichtlich sind. Das Benutzer-Interface ist ebenfalls
einstellbar. Ebenso kann man verschiedene Textfarben und Layouts
wählen.
<a name="install"></a><h1>Installation</h1>
<a name="install_requirements"></a><h2>Voraussetzungen</h2>
<a name="install_requirements_ncurses"></a><h3><code>ncurses</code> Bibliothek</h3>
<p>
<code>Calcurse</code> benötigt einen C-Compiler wie etwa
<code>cc</code> oder <code>gcc</code>. Ferner wird die
ncurses-Bibliothek benötigt, die jedoch auf den meisten Unix-Systemen
verfügbar sein sollte. Falls nicht, können Sie sie von folgender URL herunter
laden:<br>
<pre>
http://ftp.gnu.org/pub/gnu/ncurses/
</pre>
<a name="install_requirements_gettext"></a><h3><code>gettext</code> Bibliothek</h3>
<p>
<code>calcurse</code> unterstützt die Internationalisierung
(künftig <em>i18n</em>) durch <code>gettext</code>.
Das bedeutet, dass <code>calcurse</code> mehrsprachige Mitteilungen
erzeugen kann, wenn es mit der entsprechenden Sprachunterstützung
kompiliert wurde (z.B. <em>NLS</em>).
Dennoch, <em>NLS</em> ist optional und wenn keine mehrsprachigen Mitteilungen
gewünscht sind, kann diese Eigenschaft abgestellt werden.
Rufen Sie hierzu einfach das <code>configure</code> Skript mit der Option
<code>--disable-nls</code> auf (siehe Abschnitt <ahref="#install_process">
Installationsprozess</a>). <br>
Um zu überprüfen, ob <code>gettext</code> auf dem System installiert ist,
kann man nach der <code>libintl.h</code> Datei suchen:
<pre>
locate libintl.h
</pre>
Wurde diese Datei nicht gefunden, kann <code>gettext</code> von folgender URL herunter
geladen werden:<br>
<pre>
http://ftp.gnu.org/pub/gnu/gettext/
</pre>
<u>Beachte:</u> Auch wenn <code>libintl.h</code> auf dem System
gefunden wurde, kann es erforderlich sein den Pfad dieser Datei während des <ahref="#install_process"> Installationsprozesses</a> anzugeben. Die entsprechende
Option für das <code>configure</code> Skript lautet dann <code>--with-libintl-prefix</code>.
Das <code>configure</code> Skript wird natürlich vorzeitig abbrechen, wenn die dazugehörige Bibliothek nicht gefunden wurde.
<a name="install_process"></a><h2>Installationsprozess</h2>
<p>
Als erstes müssen die Dateien entpackt werden:
<pre>
tar zxvf calcurse-1.6.tar.gz
</pre>
Ist diese Voraussetzung erfüllt und das Archiv entpackt,
sind nur noch die drei üblichen Schritte erforderlich:
<OL>
<li><code>./configure</code>
<li><code>make</code>
<li><code>make install</code> (mit Root-Rechten)
</OL>
Rufen Sie <code>./configure --help</code> auf, um die
verfügbaren Optionen aufgelistet zu bekommen.
<a name="basics"></a><h1><code>calcurse</code> Grundlagen</h1>
<a name="basics_invocation"></a><h2>Programmaufruf</h2>
<a name="basics_invocation_commandline"></a><h3>Programmargumente</h3>
<p>
<code>Calcurse</code> kann mit folgenden Optionen aufgerufen werden:
<dl compact>
<dt><code>-a</code>
<dd>Gibt die Termine des heutigen Tags aus.<br>
<u>Beachte:</u> Die Kalender-Datei, aus der die Termine gelesen
werden sollen, kann mit mit Hilfe der -c Option angegeben werden.<br>
<br>
<dt><code>-c</code>
<dd>
Gibt die zu lesende Kalender-Datei an.<br>
Der Standardkalender ist <code>~/.calcurse/apts</code> (beachte auch
Abschnitt: <a href="#basics_files"><code>calcurse</code> Dateien</a>).<br>
<br>
<dt><code>-d</code>
<dd>
Gibt die Termine eines angegebenen Datums oder alle Termine der
anzugebenden nachfolgenden Tage aus. Somit sind zwei Formate möglich:
<ul>
<li>Datum: 'MM/TT/JJJJ' (Monat, Tag, Jahr).
<li>Anzahl der Tage: 'n'.
</ul>
Im ersten Fall wird eine Liste mit allen Terminen des angegebenen
Datums ausgegeben. Der zweite Fall listet alle folgenden Termine auf,
die in den nächsten 'n' Tagen zu erledigen sind.<br>
Beispiel: Die Eingabe <code>calcurse -d 3</code> gibt alle Termine des
heutigen und der beiden folgenden Tage aus.<br>
<br>
<dt><code>-h</code>
<dd>
Gibt eine Hilfe zu den unterstützten Optionen aus.<br>
<br>
<dt><code>-n</code>
<dd>
Gibt den Termin aus, der innerhalb der kommenden 24 Stunden als
nächstes stattfindet.<br>
<br>
<dt><code>-t</code>
<dd>
Gibt die 'todo' Liste aus.<br>
<br>
<dt><code>-v</code>
<dd>
Gibt die aktuelle Version von Calcurse aus.
</dl>
<a name="basics_invocation_variable"></a><h3>Umgebungsvariable für i18n</h3>
<p>
<code>calcurse</code> kann mit Unterstützung für verschiedene Sprachen
kompiliert werden (siehe <a
href="#install_requirements_gettext"><code>gettext</code>
Bibliothek</a>). Um Meldungen in anderen Sprachen zu erhalten,
sollte zunächst geprüft werden, ob die <code>po/LINGUAS</code> Datei verfügbar ist.
Diese Datei zeigt alle verfügbaren Sprachen durch
zweibuchstabige Kürzel an (beispielsweise steht <em>fr</em>
für Französisch). Ist Ihre Muttersprache nicht aufgeführt, wäre es
natürlich großartig, wenn Sie sich an der Übersetzung von <code>calcurse</code>
in andere Sprachen beteiligen könnten (siehe Abschnitt <a href="#contribute">Wie kann
ich einen Beitrag leisten?</a>).<br>
Wird Ihre Sprache bereits unterstützt, können Sie
<code>calcurse</code> mit dem folgenden Aufruf starten:
<pre>
LC_ALL=fr_FR calcurse
</pre>
wobei <em>fr_FR</em> der Name der gewünschten Spracheausgabe ist und durch
das Kürzel Ihrer Sprache ersetzt werden kann.<br>
Zusätzlich sollten Sie den verwendeten Zeichensatz angeben, da in einigen Fällen Sonderzeichen wie etwa Akzente und Umlaute nicht korrekt dargestellt werden.
Auf den der entsprechende Sprache gewünschten Zeichensatz wird am Anfang der po-Datei hingewiesen.
Der Datei fr.po können Sie beispielsweise entnehmen, dass der Zeichensatz iso-8859-1 verwendet wird.
Sie könnten <code>calcurse</code> folgendermaßen aufrufen:
<pre>
LC_ALL=fr_FR.ISO8859-1 calcurse
</pre>
<a name="basics_interface"></a><h2>Benutzer-Interface</h2>
<a name="basics_interface_noninteractive"></a><h3>Nicht interaktiver Modus</h3>
<p>
Wird <code>calcurse</code> mit den Optionen:<br>
<code>-a</code>, <code>-d</code>, <code>-h</code>,
<code>-n</code>, <code>-t</code>, <code>-v</code><br>
gestartet, wird das Programm im nicht-interaktiven Modus
ausgeführt. Das bedeutet, dass die gewünschten Informationen
ausgegeben werden und das Programm anschließend sofort wieder beendet
wird. Durch das Einbinden von <code>calcurse -ta</code> in eine init config
Datei ist es beispielsweise möglich, sich seine zu erledigenden Aufgaben
und alle Termine des heutigen Tages beim Logon anzeigen zu lassen.
<a name="basics_interface_interactive"></a><h3>Interaktiver Modus</h3>
<p>
Wird keine, oder nur Option -c angegeben, startet
<code>calcurse</code> im interaktiven Modus. In diesem Modus erhält
man ein Interface mit drei unterschiedlichen Panels, einer
Benachrichtigungszeile, sowie einer Status-Zeile (siehe unten).
Die einzelnen Panels lassen sich durch die 'TAB'-Taste ansteuern.
<pre>
Termin-Panel---. .---Kalender-Panel
| |
v v
+------------------------------------++----------------------------+
| Termine || Kalender |
|------------------------------------||----------------------------|
| 6. Oktober 2006 || September 2006 |
| || Mo Di Mi Do Fr Sa So |
| || 1 2 |
| || 3 4 5 6 7 8 9 |
| || 10 11 12 13 14 15 16 |
| || 17 18 19 20 21 22 23 |
| || 24 25 26 27 28 29 30 |
| || |
| |+----------------------------+
| |+----------------------------+
| || Aufgaben | todo-
| ||----------------------------| Panel
| || | |
| || | |
| || |<--.
| || |
+------------------------------------++----------------------------+
|---[ So 2006-10-01 | 10:11:43 ]---(apts)----> 01:20 :: lunch <---|<--.
+------------------------------------------------------------------+ Benachrichtigungszeile
| ? Hilfe S Speichern H/L -/+1 Tag Tab ändere Ansicht |
| Q Beenden G Gehe zu J/K -/+1 Woche C Einstellung |<-.
+------------------------------------------------------------------+ |
|
Statuszeile
</pre>
Das Kalender-Panel hebt den gewünschten Tag farblich hervor, während
das Termin-Panel die Liste mit Terminen des angesteuerten Tags
anzeigt. Das todo-Panel dagegen zeigt eine Liste mit den zu
erledigenden Aufgaben, die keinem bestimmten Tage zugeordnet sind.
Die letzten beiden Zeilen des Interfaces zeigen die Status-Zeile, die
über die möglichen Befehle und ihre entsprechenden Tasten informiert.
Direkt über der Statuszeile befindet sich die Benachrichtigungszeile, die
von links nach rechts gesehen die folgenden Elemente anzeigt: Das aktuelle Datum,
die aktuelle Uhrzeit, die momentan verwendete Kalenderdatei (im obigen Beispiel
die standardmäßig verwendete Kalenderdatei apts [Vergleiche hierzu
den folgenden Abschnitt]) und der nächste Termin, der in den kommenden 24
Stunden ansteht. Im Beispiel ist dies der Termin lunch, der in 1 Stunde und
zwanzig Minuten beginnt.
<a name="basics_files"></a><h2><code>calcurse</code> Dateien</h2>
<p>
Die folgende Verzeichnisstruktur wird im $HOME-Verzeichnis angelegt,
wenn <code>calcurse</code> das erste Mal gestartet wird:
<pre>
$HOME/.calcurse/
|___conf
|___apts
|___todo
</pre>
Die <em>conf</em> Datei enthält die Informationen zur Benutzerkonfiguration.<br>
Die <em>apts</em> Datei enthält alle Termine.<br>
Die <em>todo</em> Datei enthält die todo-Liste.
<a name="basics_help"></a><h2>Online Hilfe</h2>
<p>
Das integrierte Hilfe-System kann jederzeit mit '?' aufgerufen
werden. Informationen über bestimmte Befehle können mit der
entsprechenden Taste des Befehls aufgerufen werden.
<a name="options"></a><h1>Optionen</h1>
<p>
Sämtliche in <code>calcurse</code> veränderbaren Parameter lassen sich
Konfigurationsmenü einstellen. Drücken Sie hierzu die Taste 'C'.
Daraufhin erscheint ein Untermenü mit vier weiteren Wahlmöglichkeiten:
Das erneute Betätigen von 'C' führt Sie zu den Farbeinstellungen und
über 'L' gelangen Sie in ein Untermenü, in dem Sie die Anordnung der
drei Panel ändern können. Drücken Sie 'G' um ins Auswahlmenü
der allgemeinen Optionen zu gelangen. Zu guter Letzt können Sie die
Einstellungen der Benachrichtigungszeile ändern, indem Sie die Taste 'N'
betätigen.
<a name="options_general"></a><h1>Allgemeine Optionen</h1>
<p>
Die im Folgenden beschriebenen Optionen steuern <code>calcurse</code>s
allgemeines Verhalten.
<ul>
<li><code>automatisches_Speichern</code> (Voreinstellung: <em>ja</em>)<br>
Ist diese Option aktiviert, werden die Benutzerdaten automatisch beim
Verlassen gespeichert. Warnung: Beim Verlassen werden keine Daten gespeichert,
wenn <em>automatisches_Speichern</em> auf <em>nein</em> gesetzt wurde. Um Ihre
Eingaben dennoch zu speichern, müssen Sie als Nutzer die Taste 'S'
betätigen.<br>
<br>
<li><code>Beenden_bestätigen</code> (Voreinstellung: <em>ja</em>)<br>
Wenn <em>ja</em> eingestellt worden ist, wird nachgefragt, ob das
Programm wirklich beenden werden soll. Wurde <em>nein</em> gewählt,
wird das Programm durch die Eingabe von 'Q' ohne Nachfrage sofort beendet.<br>
<br>
<li><code>Löschen_bestätigen</code> (Voreinstellung: <em>ja</em>)<br>
Wurde <em>ja</em> eingestellt, fragt das Programm nach, ob ein
Eintrag wirklich gelöscht werden soll (entweder ein todo-Eintrag oder
ein Termin). Wurde <em>nein</em> gewählt, wird beim Drücken von 'D'
ohne Nachfrage gelöscht.<br>
<br>
<li><code>Systemdialoge_überspringen</code> (Voreinstellung: <em>nein</em>)<br>
Durch Setzen auf <em>ja</em> werden die Dialoge beim Speichern und
Laden umgangen. Nützlich, wenn es mal schnell gehen muss.<br>
<br>
<li><code>Fortschrittsanzeige_überspringen</code> (Voreinstellung: <em>nein</em>)<br>
Wird diese Option aktiviert, wird die beim Speichern von Daten normalerweise
erscheinende Fortschrittsanzeige nicht mehr angezeigt.
Ist diese Option auf <em>nein</em> gesetzt, werden ein
Zustandsbalken und der Name der zu speichernden Datei (siehe
Abschnitt <a href="#basics_files">Calcurse Dateien</a>) angezeigt.<br>
<br>
<li><code>Wochenbeginn_am_Montag</code> (Voreinstellung: <em>ja</em>)<br>
Es ist möglich zwischen Montag und Sonntag als ersten Tag der Woche
zu wählen. Wird die Option auf <em>ja</em> gesetzt, wird Montag
als erster Tag der Woche festgelegt. Ist <em>nein</em> gewählt,
beginnt die Woche sonntags.
</ul>
<a name="options_colors"></a><h2>Textfarben einstellen</h2>
<p>
Die verwendeten Textfarben können nach eigenen Vorlieben eingestellt
werden. Durch Betätigung der entsprechenden Taste kann die gewünschte
Farbkombination ausgewählt werden. Die gewählte Farbkombination werden
dem Rahmen, dem Titel und der Status-Zeile zugewiesen.
Eine schwarz/weiß Kombination ist ebenfalls verfügbar, um
Terminals ohne Farben zu unterstützen.<br>
<u>Beachte:</u>
<ul>
<li> Der Farbunterstützung ist vom verwendeten Terminal und des der
Umgebungsvariablen <code>$TERM</code> zugewiesenen Werts abhängig.
Es erscheint eine Fehlermeldung, wenn versucht wird die Farbeinstellung
zu ändern, obwohl das Terminal keine Farben unterstützt.<br>
<br>
<li> Wenn sie sicher sind, dass ihr Terminal Farben darstellen kann,
in <code>calcurse</code> aber keine Farben erscheinen, versuchen Sie
die <code>$TERM</code> Variable auf einen anderen Wert zu setzen
(etwa <em>xterm-xfree86</em>).
</ul>
<a name="options_layout"></a><h2>Layout einstellen</h2>
<p>
Das Layout bezieht sich auf die Positionen der einzelnen Panel. Das
Standard-Layout zeigt das Kalender-Panel in der oberen linken Ecke des
Terminals, das todo-Panel befindet sich in der unteren rechten Ecke
und das Termin-Panel auf der linken Seite des Terminals (vgl. die
im Abschnitt <a href="#basics_interface_interactive">Interaktiver Modus</a>
dargestellte Zeichnung des Standard-Layouts).<br>
Durch Auswahl eines anderen Layouts kann der Benutzer das
Erscheinungsbild von <code>calcurse</code> seinen eigenen Wünschen
entsprechend anpassen.
<a name="options_notify"></a><h2>Benachrichtigungszeile einstellen</h2>
<p>
Folgende Optionen ändern das Verhalten der Benachrichtigungszeile:
<ul>
<li><code>Benachrichtigungszeile_anzeigen</code> (Voreinstellung: <em>ja</em>)<br>
Mit dieser Option legen Sie fest, ob die Benachrichtigungszeile anzeigt werden soll. <br>
<br>
<li><code>Benachrichtigungszeile_Datum</code> (Voreinstellung: <em>%a %F</em>)<br>
Hiermit kann das Format festgelegt werden, wie das aktuelle Datum innerhalb
der Benachrichtigungszeile angezeigt werden soll.
Die möglichen Formatdefinitionen können Sie sich durch die Eingabe
von <tt>man 3 strftime</tt> auf der Kommandozeile anzeigen lassen.<br>
<br>
<li><code>Benachrichtigungszeile_Uhrzeit</code> (Voreinstellung: <em>%T</em>)<br>
Hiermit kann das Format festgelegt werden, wie die aktuelle Uhrzeit
innerhalb der Benachrichtigungszeile angezeigt werden soll.
Die möglichen Formatdefinitionen können Sie sich durch die
Eingabe von <tt>man 3 strftime</tt> auf der Kommandozeile anzeigen
lassen.<br>
<br>
<li><code>Benachrichtigungszeile_Alarm</code> (Voreinstellung: <em>300</em>)<br>
Beginnt ein Termin innerhalb der nächsten, in 'Benachrichtigungszeile_Alarm'
festgelegten Sekunden, wird der Termin innerhalb der Benachrichtigungszeile
blinkend dargestellt. Auf diese Weise wird der Nutzer auf einen baldigen Termin
hingewiesen.
</ul>
<a name="known_bugs"></a><h1>Bekannte Fehler</h1>
<p>
Es kommt vor, dass Wörter bei Verwendung der schwarz/weißen
Farbkombination falsch hervorgehoben werden, wenn die
<code>$TERM</code> Variable auf <em>xterm-color</em> gesetzt ist.
Um diesen Fehler zu vermeiden, sollte nach Aussage von
Thomas E. Dickey (zuständig für <code>xterm</code>),
<em>xterm-xfree86</em> an Stelle für <em>xterm-color</em> als
<code>$TERM</code> Variable gesetzt werden:<br>
<blockquote>
"The xterm-color value for $TERM is a bad choice for XFree86 xterm
because it is commonly used for a terminfo entry which happens to
not support bce. Use the xterm-xfree86 entry which is distributed
with XFree86 xterm (or the similar one distributed with ncurses)."
</blockquote>
<a name="bugs"></a><h1>Mitteilung von Fehlern und Anregungen</h1>
<p>
Bitte mailen Sie Fehler oder auch Anregungen an:
<pre>
calcurse@culot.org
</pre>
Oder an den Autor:
<pre>
frederic@culot.org
</pre>
<a name="contribute"></a><h1>Wie kann ich einen Beitrag leisten?</h1>
<p>
Wenn Sie gerne dieses Projekt unterstützen möchten, können Sie mir
zuerst eine kurze Rückmeldung geben. Was finden Sie an diesem Programm gut
oder was könnte besser sein? Gibt es vielleicht Programmeigenschaften, die
Sie vermissen? Teilen Sie sie mir mit!<br>
Von nun an ist es auch möglich, sich an der Übersetzung der Programmmitteilungen
und der Dokumentation von <code>calcurse</code> zu beteiligen. <br>
<br>
<u>Beachte:</u> Jegliche Unterstützung <code>calcurse</code>
in andere Sprachen zu übersetzen ist sehr willkommen. Bevor Sie beginnen, sollten
Sie jedoch eine E-Mail an <code>calcurse-i18n@culot.org</code> senden: So erfahren Sie,
ob jemand die Übersetzung in Ihrer Sprache schon begonnen hat.
<a name="contribute_documentation"></a><h2>Übersetzung der Dokumentation</h2>
<p>
Das <em>doc/</em> Verzeichnis des Quellcodearchivs enthält bereits
übersetzte Versionen des <code>calcurse</code> Handbuchs.
Ist eine Übersetzung in Ihrer Sprache noch nicht vorhanden,
wäre es großartig, wenn Sie eine solche erstellen könnten.<br>
Kopieren Sie dazu eine der vorhandenen Version mit dem Dateinamen
<code>manual_XX.html</code>, wobei <em>XX</em>
das entsprechende Kürzel Ihrer Sprache ist. Übersetzen Sie diese
Datei anschließend und senden Sie sie dann an den Autor
(siehe <a href="#bugs">Mitteilung von Fehlern und Anregungen</a>), damit Ihre
Übersetzung der nächsten <code>calcurse</code> Version
hinzugefügt werden kann.
<a name="contribute_i18n"></a><h2><code>calcurse</code> i18n</h2>
<p>
Wie bereits erwähnt, verwendet <code>calcurse</code> die <code>gettext</code>
Utilities um mehrsprachige Programmmitteilungen zu erzeugen.
Dieser Abschnitt informiert Sie darüber, wie Programmmitteilungen in Ihre
Muttersprache übersetzt werden. Dieses Howto zur Übersetzung von
<code>calcurse</code> mittels <code>gettext</code> ist natürlich nur als Einstieg
gedacht und mit Absicht recht knapp gehalten. Um umfassendere Informationen
zu erhalten und sich die große weite Welt der Internationalisierung von Software zu
erschließen, sollten Sie die Seite der <code>GNU gettext</code>-Anleitung besuchen:
<pre>
http://www.gnu.org/software/gettext/manual/
</pre>
An der Übersetzung sind im Grunde drei verschiedene Entwickler beteiligt:
Programmierer, Sprachkoordinator und Übersetzer.
Nach einem kurzen Überblick, wie so etwas funktioniert, werden anschließend die
Aufgaben des Übersetzers beschrieben.
<a name="contribute_i18n_overview"></a><h3>Überblick</h3>
<p>
Um Text in der Muttersprache des Benutzers erscheinen zu lassen, sind zwei Schritte nötig:
<em>Internationalisierung</em>
(i18n) und <em>Lokalisierung</em> (l10n).
Bei der i18n geht es darum, <code>calcurse</code> auf die Unterstützung mehrerer
Sprachen vorzubereiten. Dies ist die Aufgabe des Programmierers, der die zu
übersetzenden Texte markiert und andererseits sicherstellen muss, dass zur Laufzeit
des Programms der übersetzt Text erscheint.
Bei der l10n geht es darum, dem bereits internationalisierten - also i18n markierten -
<code>calcurse</code> die entsprechende Übersetzung des Benutzers zur Verfügung
zu stellen.
Gemäß den Umgebungsvariablen ersetzt <code>calcurse</code> die zuvor vom
Programmierer markierten Texte durch die entsprechenden Übersetzungen.<br>
<br>
Die zu übersetzenden Texte werden also zunächst vom Programmierer im
<code>C</code>-Quellcode markiert und in einem Template (<em>calcurse.pot</em> -
die Dateierweiterung <em>pot</em> steht für <em>portable object template</em>)
gesammelt. Anschließend wird der Inhalt dieses Templates mit den Dateien, die
die Übersetzungen enthalten zusammengeführt (<em>fr.po</em> enthält
beispielsweise die Französische Übersetzung (<em>po</em> steht hierbei
für <em>portable object</em>, also ein von Menschen les- und veränderbares
Dateiformat),
Der Übersetzer kann diese Datei öffnen, die enthaltenen Texte übersetzen
und sie dann an den Programmierer zurück senden.
Wird das Programm compiliert, erzeugt der Compiler (aus Gründen der Effizienz)
eine binäre Version dieser Datei, die später installiert wird (<em>fr.mo</em>
- <em>mo</em> steht für <em>machine object</em>; dieses Format kann nur von
Programmen gelesen werden). <code>calcurse</code> nutzt diese Datei zur Laufzeit,
um die Texte in Abhängigkeit der lokalen Einstellungen des Benutzers zu
übersetzen.
<a name="contribute_i18n_translator"></a><h3>Aufgaben des Übersetzers</h3>
<p>
Wenn Sie mit der Übersetzung in eine neue Sprache beginnen möchten,
finden Sie hierzu die nötigen Schritte:
<ul>
<li>Finden Sie zunächst das Kürzel Ihrer Sprache heraus.
Beispielsweise ist das Kürzel für Französisch 'fr_FR', oder
einfach nur 'fr'. Diesen Wert muss der Benutzer der Umgebungsvariablen
<code>LC_ALL</code> zuweisen, um die Software übersetzt starten zu können
(siehe <a href="#basics_invocation_variable">Umgebungsvariable für i18n</a>).<br>
<br>
<li>Wechseln Sie dann ins <em>po/</em> Verzeichnis und erzeugen Sie aus dem Template
mit dem folgendem Aufruf eine neue po-Datei:
<pre>
'msginit -i calcurse.pot -o fr.po -l fr --no-translator'
</pre>
Sollte <code>msginit</code> nicht auf Ihrem System installiert sein, kopieren Sie einfach
die Datei <em>calcurse.pot</em> nach <em>fr.po</em> und änderen Sie den Inhalt am
Anfang der Datei von Hand.<br>
Wurde die Datei <em>fr.po</em> erstellt, kann mit der eigentlichen Übersetzung
begonnen werden.
</ul>
<a name="contribute_i18n_po-files"></a><h3>po-Dateien</h3>
<p>
Das Format der po-Dateien ist relativ einfach. po-Dateien gliedern sich in lediglich
vier Bestandteile:
<ol>
<li><em>location Zeilen:</em> geben an, wo sich der Text befindet (Name der Datei und Zeilennummer).
<li><em>msgid Zeilen:</em> der ursprüngliche, also zu übersetzende Text.
<li><em>msgstr Zeilen:</em> der übersetzte Text.
<li><em>Zeilen, die mit '#' beginnen:</em> Kommentare (einige mit spezieller Bedeutung,
wie wir weiter unten noch sehen werden).
</ol>
Übersetzen Sie die <em>msgid</em> Zeilen und tragen Sie den übersetzten Text in die
sich direkt darunterbefindlichen, mit <em>msgstr</em> gekennzeichneten Zeilen ein.
<p>
<u>Einige Anmerkungen:</u>
<ul>
<li><em>Fuzzy Texte</em><br>
Einige Texte sind mit <code>"#, fuzzy"</code> kommentiert. <code>calcurse</code> nutzt
derart markierte Texte nicht. Ein als fuzzy markierter Text deutet entweder darauf hin, dass
der Text schon übersetzt wurde, aber die Stelle im Programmcode verändert wurde, oder
aber es handelt sich um einen neuen Text, für welchen <code>gettext</code> eine sog. 'wild
guess' vornimmt, also selbst eine Übersetzung versucht.
Das bedeutet, die Übersetzung sollte noch einmal überarbeitet werden.
Manchmal wurde der Originaltext verändert, weil ein Rechtschreibfehler korrigiert wurde.
In einem solchen Fall muss nichts geändert werden.
Mitunter ist die Übersetzung aber nicht mehr passend oder schlichtweg falsch und muss
abgeändert werden.
Entfernen Sie die <code>"#, fuzzy"</code>-Zeilen, wenn Sie mit Ihrer Übersetzung fertig
sind, damit <code>calcurse</code> die übersetzten Zeilen wieder verwendet und anzeigt.<br>
<br>
<li><em>c-Format Texte und besondere Sequenzen</em><br>
Einige Texte haben folgende Kommentare: <code>"#,
c-format"</code>.
Dieser Kommentar weist darauf hin, dass Teile dieses Textes eine besondere Bedeutung
haben und dieser Text nicht verändert werden sollte.
Beispielsweise bedeuten die %-Sequenzen, wie <code>"%s"</code>, dass <code>calcurse</code>
dort Text einfügen wird. Es ist also wichtig, diese nicht zu verändern.
Ebenso kommen \-Sequenzen , wie etwa <code>\n</code> oder <code>\t</code> vor. Bitte
nehmen Sie auch hier keine Veränderungen vor. Erstere stellt das Zeilenende dar,
letztere einen Tabulator.<br>
<br>
<li><em>Übersetzungen können in Blöcke geschrieben werden</em><br>
Sollten Zeilen zu lang werden, können sie auf mehrere verteilt werden:
<pre>
msgid ""
"some very long line"
"another line"
</pre>
<li><em>po-Header</em><br>
Ganz zu Anfang einer po-Datei befindet sich der Header, der einige Informationen enthält.
Die wichtigste Information ist der Zeichensatz. Er sollte diesem ähnlich sein
<pre>
"Content-Type: text/plain; charset=utf-8\n"
</pre>
Auch das Übersetzer-Feld sollte ausgefüllt sein, damit potentielle Mitstreiter,
die sich an der Übersetzung beteiligen wollen, mit Ihnen Kontakt aufnehmen können.
Ebenso können von anderen entdeckte Fehler an den Übersetzer gemeldet werden. Geben
Sie Ihren Namen an, oder tragen Sie Ihre E-Mail-Adresse ein. Zum Beispiel folgendermaßen:
<pre>
"Last-Translator: Frederic Culot <frederic@culot.org>\n"
</pre>
<li><em>Kommentare</em><br>
Das Hinzufügen von Kommentaren (Zeilen beginnen mit dem '#' Zeichen) ist eine gute
Möglichkeit, um Probleme und Übersetzungsschwierigkeiten anderen besser
mitteilen zu können.<br>
<br>
<li><em>Längen der Texte</em><br>
<code>calcurse</code> ist ein curses/Konsolen Programm und ist somit stark von der
Größe des Terminals (Anzahl der Spalten) abhängig. Dies sollte bei
der Übersetzung berücksichtigt werden. Häufig müssen Texte in
eine einzige Zeile passen (Standardlänge ist 80 Zeichen).
Übersetzen Sie nicht blindlings darauf los! Versuchen Sie herauszufinden, wo der
Text angezeigt wird, um die Übersetzung entsprechend anzupassen.
<br>
<br>
<li><em>Ein paar nützliche Programme</em><br>
Das po-Dateiformat ist sehr einfach und kann mit jedem Standard-Editor bearbeitet werden.
Es gibt aber auch einige spezielle Tools die das Erstellen und Änder der po-Dateien
vereinfachen:
<ul>
<li><code>poEdit</code> (<a
href="http://www.poedit.org/" target="_blank">
http://www.poedit.org/</a>)
<li><code>KBabel</code> (<a
href="http://i18n.kde.org/tools/kbabel/" target="_blank">
http://i18n.kde.org/tools/kbabel/</a>)
<li><code>GTranslator</code> (<a
href="http://gtranslator.sourceforge.net/" target="_blank">
http://gtranslator.sourceforge.net/</a>)
<li><code>Emacs</code> po mode
<li><code>Vim</code> po mode
</ul>
<br>
<li><em>Zu Schluss noch</em><br>
Ich hoffe es wird Ihnen Freude bereiten, wenn Sie sich an diesem Projekt und
seiner Internationalisierung beteiligen :). Bitte scheuen Sie sich nicht, mir
eine E-Mail, <em>frederic@culot.org</em>, zu schreiben, sollten noch Fragen offen sein.
</ul>
<a name="links"></a><h1>Links</h1>
<p>
Dieser Abschnitt enthält Links und Angaben, die Sie interessieren
könnten.
<a name="links_homepage"></a><h2><code>calcurse</code> Internetseite</h2>
<p>
Die Internetseite des Projekts <code>calcurse</code> lautet:
<pre>
http://culot.org/calcurse
</pre>
<a name="links_list"></a><h2><code>calcurse</code> Ankündigungsliste</h2>
<p>
Wenn Sie an <code>calcurse</code> Interesse gefunden haben und Sie gerne
über Neuerscheinungen informiert werden möchten, können Sie sich
gerne in <code>calcurse</code>s Ankündigungsliste eintragen.
Sobald eine neue Version veröffentlicht wird, werden Sie per E-Mail über
die neusten Eigenschaften von <code>calcurse</code> informiert<br>
Um sich in die Liste einzutragen, schicken Sie einfach eine E-Mail mit dem Betreff
"subscribe" an <code>calcurse-announce@culot.org</code>.
<a name="thanks"></a><h1>Danksagungen</h1>
<p>
Folgenden Leuten möchte ich gerne für Ihre Unterstützung danken, ohne
die dieses Projekt nicht möglich gewesen wäre. Hier ist die Liste
derjenigen, denen ich Danke sagen möchte:
<ul>
<li>Alex für die Patches, Hilfen und Erläuterungen zur <code>C</code> Programmierung.
<li>Gwen fürs Testen und die Anregungen, wie <code>calcurse</code> verbessert werden kann.
<li>Kevin und Ryan für das Binary-Packet auf Debian.
<li>Steffen für das Binary-Packet auf Archlinux
<li>Alexandre für das Binary-Packet auf Mac OsX.
<li>Joel für sein Kalender-Skript, das mich zum Calcurse-Layout inspiriert hat.
<li>Michael Schulz und Chris M. für die Übersetzung der Dokumentation ins Deutsche.
<li>Jose Lopez für die Übersetzung der Dokumentation ins Spanische.
<li>Neil Williams für die Übersetzung ins Englische.
<li>Leute die Programme geschrieben haben, die ich mag und mich inspiriert haben, insbesondere :
<ul>
<li><code>vim</code> für die Befehlssteuerung
<li><code>orpheus</code> und <code>abook</code> für die Dokumentation
<li><code>pine</code> und <code>aptitude</code> für das Text-Benutzer-Interface
</ul>
</ul>
Und zuletzt, vielen vielen Dank an alle <code>calcurse</code>
Benutzer, die mir Ihr Feedback mitgeteilt haben.
<hr>
<small><em>
Copyright (c) 2004-2006 Frédéric Culot<br>
German translation by Michael Schulz <code><bloodshower.at.web.dot.de></code><br>
Calcurse version 1.6 - Last change: October 1, 2006
<em></small>
</body>
</html>
|