summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-07-11 09:14:12 (UTC)
committer zautrix <zautrix>2004-07-11 09:14:12 (UTC)
commite5707eabc31da78bc299029de2cefd84d77291cd (patch) (unidiff)
tree4a9653227720a7d48fa543ab301eef1849f292dd
parentcf2f3f98a4811668f9e9d0d5f44ea5b51d268cef (diff)
downloadkdepimpi-e5707eabc31da78bc299029de2cefd84d77291cd.zip
kdepimpi-e5707eabc31da78bc299029de2cefd84d77291cd.tar.gz
kdepimpi-e5707eabc31da78bc299029de2cefd84d77291cd.tar.bz2
translation fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koeditorrecurrence.cpp4
-rw-r--r--korganizer/wordsgerman.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/korganizer/koeditorrecurrence.cpp b/korganizer/koeditorrecurrence.cpp
index ffc0fac..584d1ed 100644
--- a/korganizer/koeditorrecurrence.cpp
+++ b/korganizer/koeditorrecurrence.cpp
@@ -1,846 +1,846 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000-2003 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000-2003 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qtooltip.h> 24#include <qtooltip.h>
25#include <qfiledialog.h> 25#include <qfiledialog.h>
26#include <qlayout.h> 26#include <qlayout.h>
27#include <qvbox.h> 27#include <qvbox.h>
28#include <qbuttongroup.h> 28#include <qbuttongroup.h>
29#include <qvgroupbox.h> 29#include <qvgroupbox.h>
30#include <qwidgetstack.h> 30#include <qwidgetstack.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qlistbox.h> 32#include <qlistbox.h>
33#include <qspinbox.h> 33#include <qspinbox.h>
34#include <qcheckbox.h> 34#include <qcheckbox.h>
35#include <qapplication.h> 35#include <qapplication.h>
36 36
37#include <kdialog.h> 37#include <kdialog.h>
38#include <kglobal.h> 38#include <kglobal.h>
39#include <klocale.h> 39#include <klocale.h>
40#include <kiconloader.h> 40#include <kiconloader.h>
41#include <kdebug.h> 41#include <kdebug.h>
42#include <knumvalidator.h> 42#include <knumvalidator.h>
43 43
44#include <libkcal/event.h> 44#include <libkcal/event.h>
45 45
46#include <libkdepim/kdateedit.h> 46#include <libkdepim/kdateedit.h>
47 47
48#include "koprefs.h" 48#include "koprefs.h"
49 49
50#include "koeditorrecurrence.h" 50#include "koeditorrecurrence.h"
51 51
52/////////////////////////// RecurBase /////////////////////////////// 52/////////////////////////// RecurBase ///////////////////////////////
53 53
54RecurBase::RecurBase( QWidget *parent, const char *name ) : 54RecurBase::RecurBase( QWidget *parent, const char *name ) :
55 QWidget( parent, name ) 55 QWidget( parent, name )
56{ 56{
57 mFrequencyEdit = new QSpinBox( 1, 9999, 1, this ); 57 mFrequencyEdit = new QSpinBox( 1, 9999, 1, this );
58 mFrequencyEdit->setValue( 1 ); 58 mFrequencyEdit->setValue( 1 );
59} 59}
60 60
61QWidget *RecurBase::frequencyEdit() 61QWidget *RecurBase::frequencyEdit()
62{ 62{
63 return mFrequencyEdit; 63 return mFrequencyEdit;
64} 64}
65 65
66void RecurBase::setFrequency( int f ) 66void RecurBase::setFrequency( int f )
67{ 67{
68 if ( f < 1 ) f = 1; 68 if ( f < 1 ) f = 1;
69 69
70 mFrequencyEdit->setValue( f ); 70 mFrequencyEdit->setValue( f );
71} 71}
72 72
73int RecurBase::frequency() 73int RecurBase::frequency()
74{ 74{
75 return mFrequencyEdit->value(); 75 return mFrequencyEdit->value();
76} 76}
77 77
78/////////////////////////// RecurDaily /////////////////////////////// 78/////////////////////////// RecurDaily ///////////////////////////////
79 79
80RecurDaily::RecurDaily( QWidget *parent, const char *name ) : 80RecurDaily::RecurDaily( QWidget *parent, const char *name ) :
81 RecurBase( parent, name ) 81 RecurBase( parent, name )
82{ 82{
83 QBoxLayout *topLayout = new QHBoxLayout( this ); 83 QBoxLayout *topLayout = new QHBoxLayout( this );
84 topLayout->setSpacing( KDialog::spacingHint() ); 84 topLayout->setSpacing( KDialog::spacingHint() );
85 85
86 QLabel *preLabel = new QLabel( i18n("Recur every"), this ); 86 QLabel *preLabel = new QLabel( i18n("Recur every"), this );
87 topLayout->addWidget( preLabel ); 87 topLayout->addWidget( preLabel );
88 88
89 topLayout->addWidget( frequencyEdit() ); 89 topLayout->addWidget( frequencyEdit() );
90 90
91 QLabel *postLabel = new QLabel( i18n("day(s)"), this ); 91 QLabel *postLabel = new QLabel( i18n("day(s)"), this );
92 topLayout->addWidget( postLabel ); 92 topLayout->addWidget( postLabel );
93} 93}
94 94
95 95
96/////////////////////////// RecurWeekly /////////////////////////////// 96/////////////////////////// RecurWeekly ///////////////////////////////
97 97
98RecurWeekly::RecurWeekly( QWidget *parent, const char *name ) : 98RecurWeekly::RecurWeekly( QWidget *parent, const char *name ) :
99 RecurBase( parent, name ) 99 RecurBase( parent, name )
100{ 100{
101 QBoxLayout *topLayout = new QVBoxLayout( this ); 101 QBoxLayout *topLayout = new QVBoxLayout( this );
102 topLayout->setSpacing( KDialog::spacingHint() ); 102 topLayout->setSpacing( KDialog::spacingHint() );
103 103
104 topLayout->addStretch( 1 ); 104 topLayout->addStretch( 1 );
105 105
106 QBoxLayout *weeksLayout = new QHBoxLayout( topLayout ); 106 QBoxLayout *weeksLayout = new QHBoxLayout( topLayout );
107 107
108 QLabel *preLabel = new QLabel( i18n("Recur every"), this ); 108 QLabel *preLabel = new QLabel( i18n("Recur every"), this );
109 weeksLayout->addWidget( preLabel ); 109 weeksLayout->addWidget( preLabel );
110 110
111 weeksLayout->addWidget( frequencyEdit() ); 111 weeksLayout->addWidget( frequencyEdit() );
112 112
113 QLabel *postLabel = new QLabel( i18n("week(s) on:"), this ); 113 QLabel *postLabel = new QLabel( i18n("week(s) on:"), this );
114 weeksLayout->addWidget( postLabel ); 114 weeksLayout->addWidget( postLabel );
115 115
116 QHBox *dayBox = new QHBox( this ); 116 QHBox *dayBox = new QHBox( this );
117 topLayout->addWidget( dayBox, 1, AlignVCenter ); 117 topLayout->addWidget( dayBox, 1, AlignVCenter );
118 // TODO: Respect start of week setting 118 // TODO: Respect start of week setting
119 for ( int i = 0; i < 7; ++i ) { 119 for ( int i = 0; i < 7; ++i ) {
120 QString weekDayName = KGlobal::locale()->weekDayName( i + 1, true ); 120 QString weekDayName = KGlobal::locale()->weekDayName( i + 1, true );
121 if ( KOPrefs::instance()->mCompactDialogs ) { 121 if ( KOPrefs::instance()->mCompactDialogs ) {
122 weekDayName = weekDayName.left( 1 ); 122 weekDayName = weekDayName.left( 1 );
123 } 123 }
124 mDayBoxes[ i ] = new QCheckBox( weekDayName, dayBox ); 124 mDayBoxes[ i ] = new QCheckBox( weekDayName, dayBox );
125 } 125 }
126 126
127 topLayout->addStretch( 1 ); 127 topLayout->addStretch( 1 );
128} 128}
129 129
130void RecurWeekly::setDays( const QBitArray &days ) 130void RecurWeekly::setDays( const QBitArray &days )
131{ 131{
132 for ( int i = 0; i < 7; ++i ) { 132 for ( int i = 0; i < 7; ++i ) {
133 mDayBoxes[ i ]->setChecked( days.testBit( i ) ); 133 mDayBoxes[ i ]->setChecked( days.testBit( i ) );
134 } 134 }
135} 135}
136 136
137QBitArray RecurWeekly::days() 137QBitArray RecurWeekly::days()
138{ 138{
139 QBitArray days( 7 ); 139 QBitArray days( 7 );
140 140
141 for ( int i = 0; i < 7; ++i ) { 141 for ( int i = 0; i < 7; ++i ) {
142 days.setBit( i, mDayBoxes[ i ]->isChecked() ); 142 days.setBit( i, mDayBoxes[ i ]->isChecked() );
143 } 143 }
144 144
145 return days; 145 return days;
146} 146}
147 147
148/////////////////////////// RecurMonthly /////////////////////////////// 148/////////////////////////// RecurMonthly ///////////////////////////////
149 149
150RecurMonthly::RecurMonthly( QWidget *parent, const char *name ) : 150RecurMonthly::RecurMonthly( QWidget *parent, const char *name ) :
151 RecurBase( parent, name ) 151 RecurBase( parent, name )
152{ 152{
153 QBoxLayout *topLayout = new QVBoxLayout( this ); 153 QBoxLayout *topLayout = new QVBoxLayout( this );
154 topLayout->setSpacing( KDialog::spacingHint() ); 154 topLayout->setSpacing( KDialog::spacingHint() );
155 155
156 156
157 QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); 157 QBoxLayout *freqLayout = new QHBoxLayout( topLayout );
158 158
159 QLabel *preLabel = new QLabel( i18n("every"), this ); 159 QLabel *preLabel = new QLabel( i18n("every"), this );
160 freqLayout->addWidget( preLabel ); 160 freqLayout->addWidget( preLabel );
161 161
162 freqLayout->addWidget( frequencyEdit() ); 162 freqLayout->addWidget( frequencyEdit() );
163 163
164 QLabel *postLabel = new QLabel( i18n("month(s)"), this ); 164 QLabel *postLabel = new QLabel( i18n("month(s)"), this );
165 freqLayout->addWidget( postLabel ); 165 freqLayout->addWidget( postLabel );
166 166
167 167
168 QButtonGroup *buttonGroup = new QButtonGroup( this ); 168 QButtonGroup *buttonGroup = new QButtonGroup( this );
169 buttonGroup->setFrameStyle( QFrame::NoFrame ); 169 buttonGroup->setFrameStyle( QFrame::NoFrame );
170 topLayout->addWidget( buttonGroup, 1, AlignVCenter ); 170 topLayout->addWidget( buttonGroup, 1, AlignVCenter );
171 171
172 QGridLayout *buttonLayout = new QGridLayout( buttonGroup, 3, 2 ); 172 QGridLayout *buttonLayout = new QGridLayout( buttonGroup, 3, 2 );
173 buttonLayout->setSpacing( KDialog::spacingHint() ); 173 buttonLayout->setSpacing( KDialog::spacingHint() );
174 174
175 175
176 QString recurOnText; 176 QString recurOnText;
177 if ( !KOPrefs::instance()->mCompactDialogs ) { 177 if ( !KOPrefs::instance()->mCompactDialogs ) {
178 recurOnText = i18n("Recur on the"); 178 recurOnText = i18n("Recur on the");
179 } 179 }
180 180
181 mByDayRadio = new QRadioButton( recurOnText, buttonGroup ); 181 mByDayRadio = new QRadioButton( recurOnText, buttonGroup );
182 buttonLayout->addWidget( mByDayRadio, 0, 0 ); 182 buttonLayout->addWidget( mByDayRadio, 0, 0 );
183 183
184 mByDayCombo = new QComboBox( buttonGroup ); 184 mByDayCombo = new QComboBox( buttonGroup );
185 mByDayCombo->setSizeLimit( 7 ); 185 mByDayCombo->setSizeLimit( 7 );
186 mByDayCombo->insertItem( i18n("1st") ); 186 mByDayCombo->insertItem( i18n("1st") );
187 mByDayCombo->insertItem( i18n("2nd") ); 187 mByDayCombo->insertItem( i18n("2nd") );
188 mByDayCombo->insertItem( i18n("3rd") ); 188 mByDayCombo->insertItem( i18n("3rd") );
189 mByDayCombo->insertItem( i18n("4th") ); 189 mByDayCombo->insertItem( i18n("4th") );
190 mByDayCombo->insertItem( i18n("5th") ); 190 mByDayCombo->insertItem( i18n("5th") );
191 mByDayCombo->insertItem( i18n("6th") ); 191 mByDayCombo->insertItem( i18n("6th") );
192 mByDayCombo->insertItem( i18n("7th") ); 192 mByDayCombo->insertItem( i18n("7th") );
193 mByDayCombo->insertItem( i18n("8th") ); 193 mByDayCombo->insertItem( i18n("8th") );
194 mByDayCombo->insertItem( i18n("9th") ); 194 mByDayCombo->insertItem( i18n("9th") );
195 mByDayCombo->insertItem( i18n("10th") ); 195 mByDayCombo->insertItem( i18n("10th") );
196 mByDayCombo->insertItem( i18n("11th") ); 196 mByDayCombo->insertItem( i18n("11th") );
197 mByDayCombo->insertItem( i18n("12th") ); 197 mByDayCombo->insertItem( i18n("12th") );
198 mByDayCombo->insertItem( i18n("13th") ); 198 mByDayCombo->insertItem( i18n("13th") );
199 mByDayCombo->insertItem( i18n("14th") ); 199 mByDayCombo->insertItem( i18n("14th") );
200 mByDayCombo->insertItem( i18n("15th") ); 200 mByDayCombo->insertItem( i18n("15th") );
201 mByDayCombo->insertItem( i18n("16th") ); 201 mByDayCombo->insertItem( i18n("16th") );
202 mByDayCombo->insertItem( i18n("17th") ); 202 mByDayCombo->insertItem( i18n("17th") );
203 mByDayCombo->insertItem( i18n("18th") ); 203 mByDayCombo->insertItem( i18n("18th") );
204 mByDayCombo->insertItem( i18n("19th") ); 204 mByDayCombo->insertItem( i18n("19th") );
205 mByDayCombo->insertItem( i18n("20th") ); 205 mByDayCombo->insertItem( i18n("20th") );
206 mByDayCombo->insertItem( i18n("21st") ); 206 mByDayCombo->insertItem( i18n("21st") );
207 mByDayCombo->insertItem( i18n("22nd") ); 207 mByDayCombo->insertItem( i18n("22nd") );
208 mByDayCombo->insertItem( i18n("23rd") ); 208 mByDayCombo->insertItem( i18n("23rd") );
209 mByDayCombo->insertItem( i18n("24th") ); 209 mByDayCombo->insertItem( i18n("24th") );
210 mByDayCombo->insertItem( i18n("25th") ); 210 mByDayCombo->insertItem( i18n("25th") );
211 mByDayCombo->insertItem( i18n("26th") ); 211 mByDayCombo->insertItem( i18n("26th") );
212 mByDayCombo->insertItem( i18n("27th") ); 212 mByDayCombo->insertItem( i18n("27th") );
213 mByDayCombo->insertItem( i18n("28th") ); 213 mByDayCombo->insertItem( i18n("28th") );
214 mByDayCombo->insertItem( i18n("29th") ); 214 mByDayCombo->insertItem( i18n("29th") );
215 mByDayCombo->insertItem( i18n("30th") ); 215 mByDayCombo->insertItem( i18n("30th") );
216 mByDayCombo->insertItem( i18n("31st") ); 216 mByDayCombo->insertItem( i18n("31st") );
217 buttonLayout->addWidget( mByDayCombo, 0, 1 ); 217 buttonLayout->addWidget( mByDayCombo, 0, 1 );
218 218
219 QLabel *byDayLabel = new QLabel( i18n("day"), buttonGroup ); 219 QLabel *byDayLabel = new QLabel( i18n("day"), buttonGroup );
220 buttonLayout->addWidget( byDayLabel, 0, 2 ); 220 buttonLayout->addWidget( byDayLabel, 0, 2 );
221 221
222 222
223 mByPosRadio = new QRadioButton( recurOnText, buttonGroup); 223 mByPosRadio = new QRadioButton( recurOnText, buttonGroup);
224 buttonLayout->addWidget( mByPosRadio, 1, 0 ); 224 buttonLayout->addWidget( mByPosRadio, 1, 0 );
225 225
226 mByPosCountCombo = new QComboBox( buttonGroup ); 226 mByPosCountCombo = new QComboBox( buttonGroup );
227 mByPosCountCombo->insertItem( i18n("1st") ); 227 mByPosCountCombo->insertItem( i18n("1st") );
228 mByPosCountCombo->insertItem( i18n("2nd") ); 228 mByPosCountCombo->insertItem( i18n("2nd") );
229 mByPosCountCombo->insertItem( i18n("3rd") ); 229 mByPosCountCombo->insertItem( i18n("3rd") );
230 mByPosCountCombo->insertItem( i18n("4th") ); 230 mByPosCountCombo->insertItem( i18n("4th") );
231 mByPosCountCombo->insertItem( i18n("5th") ); 231 mByPosCountCombo->insertItem( i18n("5th") );
232 buttonLayout->addWidget( mByPosCountCombo, 1, 1 ); 232 buttonLayout->addWidget( mByPosCountCombo, 1, 1 );
233 233
234 mByPosWeekdayCombo = new QComboBox( buttonGroup ); 234 mByPosWeekdayCombo = new QComboBox( buttonGroup );
235 mByPosWeekdayCombo->insertItem( i18n("Monday") ); 235 mByPosWeekdayCombo->insertItem( i18n("Monday") );
236 mByPosWeekdayCombo->insertItem( i18n("Tuesday") ); 236 mByPosWeekdayCombo->insertItem( i18n("Tuesday") );
237 mByPosWeekdayCombo->insertItem( i18n("Wednesday") ); 237 mByPosWeekdayCombo->insertItem( i18n("Wednesday") );
238 mByPosWeekdayCombo->insertItem( i18n("Thursday") ); 238 mByPosWeekdayCombo->insertItem( i18n("Thursday") );
239 mByPosWeekdayCombo->insertItem( i18n("Friday") ); 239 mByPosWeekdayCombo->insertItem( i18n("Friday") );
240 mByPosWeekdayCombo->insertItem( i18n("Saturday") ); 240 mByPosWeekdayCombo->insertItem( i18n("Saturday") );
241 mByPosWeekdayCombo->insertItem( i18n("Sunday") ); 241 mByPosWeekdayCombo->insertItem( i18n("Sunday") );
242 buttonLayout->addWidget( mByPosWeekdayCombo, 1, 2 ); 242 buttonLayout->addWidget( mByPosWeekdayCombo, 1, 2 );
243} 243}
244 244
245void RecurMonthly::setByDay( int day ) 245void RecurMonthly::setByDay( int day )
246{ 246{
247 mByDayRadio->setChecked( true ); 247 mByDayRadio->setChecked( true );
248 mByDayCombo->setCurrentItem( day ); 248 mByDayCombo->setCurrentItem( day );
249} 249}
250 250
251void RecurMonthly::setByPos( int count, int weekday ) 251void RecurMonthly::setByPos( int count, int weekday )
252{ 252{
253 mByPosRadio->setChecked( true ); 253 mByPosRadio->setChecked( true );
254 mByPosCountCombo->setCurrentItem( count ); 254 mByPosCountCombo->setCurrentItem( count );
255 mByPosWeekdayCombo->setCurrentItem( weekday ); 255 mByPosWeekdayCombo->setCurrentItem( weekday );
256} 256}
257 257
258bool RecurMonthly::byDay() 258bool RecurMonthly::byDay()
259{ 259{
260 return mByDayRadio->isChecked(); 260 return mByDayRadio->isChecked();
261} 261}
262 262
263bool RecurMonthly::byPos() 263bool RecurMonthly::byPos()
264{ 264{
265 return mByPosRadio->isChecked(); 265 return mByPosRadio->isChecked();
266} 266}
267 267
268int RecurMonthly::day() 268int RecurMonthly::day()
269{ 269{
270 return mByDayCombo->currentItem() + 1; 270 return mByDayCombo->currentItem() + 1;
271} 271}
272 272
273int RecurMonthly::count() 273int RecurMonthly::count()
274{ 274{
275 return mByPosCountCombo->currentItem() + 1; 275 return mByPosCountCombo->currentItem() + 1;
276} 276}
277 277
278int RecurMonthly::weekday() 278int RecurMonthly::weekday()
279{ 279{
280 return mByPosWeekdayCombo->currentItem(); 280 return mByPosWeekdayCombo->currentItem();
281} 281}
282 282
283/////////////////////////// RecurYearly /////////////////////////////// 283/////////////////////////// RecurYearly ///////////////////////////////
284 284
285RecurYearly::RecurYearly( QWidget *parent, const char *name ) : 285RecurYearly::RecurYearly( QWidget *parent, const char *name ) :
286 RecurBase( parent, name ) 286 RecurBase( parent, name )
287{ 287{
288 QBoxLayout *topLayout = new QVBoxLayout( this ); 288 QBoxLayout *topLayout = new QVBoxLayout( this );
289 topLayout->setSpacing( KDialog::spacingHint() ); 289 topLayout->setSpacing( KDialog::spacingHint() );
290 290
291 291
292 QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); 292 QBoxLayout *freqLayout = new QHBoxLayout( topLayout );
293 293
294 QLabel *preLabel = new QLabel( i18n("every"), this ); 294 QLabel *preLabel = new QLabel( i18n("every"), this );
295 freqLayout->addWidget( preLabel ); 295 freqLayout->addWidget( preLabel );
296 296
297 freqLayout->addWidget( frequencyEdit() ); 297 freqLayout->addWidget( frequencyEdit() );
298 298
299 QLabel *postLabel = new QLabel( i18n("year(s)"), this ); 299 QLabel *postLabel = new QLabel( i18n("year(s)"), this );
300 freqLayout->addWidget( postLabel ); 300 freqLayout->addWidget( postLabel );
301 301
302 302
303 QButtonGroup *buttonGroup = new QButtonGroup( this ); 303 QButtonGroup *buttonGroup = new QButtonGroup( this );
304 buttonGroup->setFrameStyle( QFrame::NoFrame ); 304 buttonGroup->setFrameStyle( QFrame::NoFrame );
305 topLayout->addWidget( buttonGroup, 1, AlignVCenter ); 305 topLayout->addWidget( buttonGroup, 1, AlignVCenter );
306 306
307 QGridLayout *buttonLayout = new QGridLayout( buttonGroup, 2, 3 ); 307 QGridLayout *buttonLayout = new QGridLayout( buttonGroup, 2, 3 );
308 308
309 mByMonthRadio = new QRadioButton( i18n("On day "), buttonGroup); 309 mByMonthRadio = new QRadioButton( i18n("On day "), buttonGroup);
310 buttonLayout->addWidget( mByMonthRadio, 0, 0 , Qt::AlignRight); 310 buttonLayout->addWidget( mByMonthRadio, 0, 0 , Qt::AlignRight);
311 mByDayLabel = new QLabel( i18n(" 1 of "), buttonGroup ); 311 mByDayLabel = new QLabel( i18n("%1 of ").arg(1), buttonGroup );
312 312
313 buttonLayout->addWidget( mByDayLabel, 0, 1 ); 313 buttonLayout->addWidget( mByDayLabel, 0, 1 );
314 mByMonthCombo = new QComboBox( buttonGroup ); 314 mByMonthCombo = new QComboBox( buttonGroup );
315 mByMonthCombo->insertItem( i18n("January") ); 315 mByMonthCombo->insertItem( i18n("January") );
316 mByMonthCombo->insertItem( i18n("February") ); 316 mByMonthCombo->insertItem( i18n("February") );
317 mByMonthCombo->insertItem( i18n("March") ); 317 mByMonthCombo->insertItem( i18n("March") );
318 mByMonthCombo->insertItem( i18n("April") ); 318 mByMonthCombo->insertItem( i18n("April") );
319 mByMonthCombo->insertItem( i18n("May") ); 319 mByMonthCombo->insertItem( i18n("May") );
320 mByMonthCombo->insertItem( i18n("June") ); 320 mByMonthCombo->insertItem( i18n("June") );
321 mByMonthCombo->insertItem( i18n("July") ); 321 mByMonthCombo->insertItem( i18n("July") );
322 mByMonthCombo->insertItem( i18n("August") ); 322 mByMonthCombo->insertItem( i18n("August") );
323 mByMonthCombo->insertItem( i18n("September") ); 323 mByMonthCombo->insertItem( i18n("September") );
324 mByMonthCombo->insertItem( i18n("October") ); 324 mByMonthCombo->insertItem( i18n("October") );
325 mByMonthCombo->insertItem( i18n("November") ); 325 mByMonthCombo->insertItem( i18n("November") );
326 mByMonthCombo->insertItem( i18n("December") ); 326 mByMonthCombo->insertItem( i18n("December") );
327 buttonLayout->addWidget( mByMonthCombo, 0, 2,Qt::AlignLeft ); 327 buttonLayout->addWidget( mByMonthCombo, 0, 2,Qt::AlignLeft );
328 if ( QApplication::desktop()->width() <= 640 ) { 328 if ( QApplication::desktop()->width() <= 640 ) {
329 mByMonthCombo->setSizeLimit( 6 ); 329 mByMonthCombo->setSizeLimit( 6 );
330 } 330 }
331 331
332 mByDayRadio = new QRadioButton( i18n("On day "), buttonGroup); 332 mByDayRadio = new QRadioButton( i18n("On day "), buttonGroup);
333 buttonLayout->addWidget( mByDayRadio, 1, 0 , Qt::AlignRight); 333 buttonLayout->addWidget( mByDayRadio, 1, 0 , Qt::AlignRight);
334 mDayOfLabel = new QLabel( i18n("1 of the year"), buttonGroup ); 334 mDayOfLabel = new QLabel( i18n("%1 of the year").arg(1), buttonGroup );
335 buttonLayout->addMultiCellWidget( mDayOfLabel, 1, 1, 1,3 ); 335 buttonLayout->addMultiCellWidget( mDayOfLabel, 1, 1, 1,3 );
336 336
337} 337}
338 338
339void RecurYearly::setByDay( int doy ) 339void RecurYearly::setByDay( int doy )
340{ 340{
341 mByDayRadio->setChecked( true ); 341 mByDayRadio->setChecked( true );
342 mDayOfLabel->setText(i18n("%1 of the year").arg( doy ) ); 342 mDayOfLabel->setText(i18n("%1 of the year").arg( doy ) );
343} 343}
344 344
345void RecurYearly::setByMonth( int month, int day ) 345void RecurYearly::setByMonth( int month, int day )
346{ 346{
347 mByMonthRadio->setChecked( true ); 347 mByMonthRadio->setChecked( true );
348 mByMonthCombo->setCurrentItem( month - 1 ); 348 mByMonthCombo->setCurrentItem( month - 1 );
349 mByDayLabel->setText(i18n("%1 of ").arg( day ) ); 349 mByDayLabel->setText(i18n("%1 of ").arg( day ) );
350 mDay = day; 350 mDay = day;
351} 351}
352 352
353bool RecurYearly::byMonth() 353bool RecurYearly::byMonth()
354{ 354{
355 return mByMonthRadio->isChecked(); 355 return mByMonthRadio->isChecked();
356} 356}
357 357
358bool RecurYearly::byDay() 358bool RecurYearly::byDay()
359{ 359{
360 return mByDayRadio->isChecked(); 360 return mByDayRadio->isChecked();
361} 361}
362 362
363int RecurYearly::month() 363int RecurYearly::month()
364{ 364{
365 return mByMonthCombo->currentItem() + 1; 365 return mByMonthCombo->currentItem() + 1;
366} 366}
367int RecurYearly::day() 367int RecurYearly::day()
368{ 368{
369 return mDay;//mByDayCombo->currentItem() + 1; 369 return mDay;//mByDayCombo->currentItem() + 1;
370} 370}
371 371
372//////////////////////////// ExceptionsWidget ////////////////////////// 372//////////////////////////// ExceptionsWidget //////////////////////////
373 373
374ExceptionsWidget::ExceptionsWidget( QWidget *parent, const char *name ) : 374ExceptionsWidget::ExceptionsWidget( QWidget *parent, const char *name ) :
375 QWidget( parent, name ) 375 QWidget( parent, name )
376{ 376{
377 QBoxLayout *topLayout = new QVBoxLayout( this ); 377 QBoxLayout *topLayout = new QVBoxLayout( this );
378 378
379 QGroupBox *groupBox = new QGroupBox( 1, Horizontal, i18n("Exceptions"), 379 QGroupBox *groupBox = new QGroupBox( 1, Horizontal, i18n("Exceptions"),
380 this ); 380 this );
381 topLayout->addWidget( groupBox ); 381 topLayout->addWidget( groupBox );
382 382
383 QWidget *box = new QWidget( groupBox ); 383 QWidget *box = new QWidget( groupBox );
384 384
385 QGridLayout *boxLayout = new QGridLayout( box ); 385 QGridLayout *boxLayout = new QGridLayout( box );
386 386
387 mExceptionDateEdit = new KDateEdit( box ); 387 mExceptionDateEdit = new KDateEdit( box );
388 boxLayout->addWidget( mExceptionDateEdit, 0, 0 ); 388 boxLayout->addWidget( mExceptionDateEdit, 0, 0 );
389 389
390 QPushButton *addExceptionButton = new QPushButton( i18n("Add"), box ); 390 QPushButton *addExceptionButton = new QPushButton( i18n("Add"), box );
391 boxLayout->addWidget( addExceptionButton, 1, 0 ); 391 boxLayout->addWidget( addExceptionButton, 1, 0 );
392 QPushButton *changeExceptionButton = new QPushButton( i18n("Change"), box ); 392 QPushButton *changeExceptionButton = new QPushButton( i18n("Change"), box );
393 boxLayout->addWidget( changeExceptionButton, 2, 0 ); 393 boxLayout->addWidget( changeExceptionButton, 2, 0 );
394 QPushButton *deleteExceptionButton = new QPushButton( i18n("Delete"), box ); 394 QPushButton *deleteExceptionButton = new QPushButton( i18n("Delete"), box );
395 boxLayout->addWidget( deleteExceptionButton, 3, 0 ); 395 boxLayout->addWidget( deleteExceptionButton, 3, 0 );
396 396
397 mExceptionList = new QListBox( box ); 397 mExceptionList = new QListBox( box );
398 boxLayout->addMultiCellWidget( mExceptionList, 0, 3, 1, 1 ); 398 boxLayout->addMultiCellWidget( mExceptionList, 0, 3, 1, 1 );
399 399
400 boxLayout->setRowStretch( 4, 1 ); 400 boxLayout->setRowStretch( 4, 1 );
401 boxLayout->setColStretch( 1, 3 ); 401 boxLayout->setColStretch( 1, 3 );
402 402
403 connect( addExceptionButton, SIGNAL( clicked() ), 403 connect( addExceptionButton, SIGNAL( clicked() ),
404 SLOT( addException() ) ); 404 SLOT( addException() ) );
405 connect( changeExceptionButton, SIGNAL( clicked() ), 405 connect( changeExceptionButton, SIGNAL( clicked() ),
406 SLOT( changeException() ) ); 406 SLOT( changeException() ) );
407 connect( deleteExceptionButton, SIGNAL( clicked() ), 407 connect( deleteExceptionButton, SIGNAL( clicked() ),
408 SLOT( deleteException() ) ); 408 SLOT( deleteException() ) );
409 if ( QApplication::desktop()->width() < 480 ) { 409 if ( QApplication::desktop()->width() < 480 ) {
410 setMinimumWidth( 220 ); 410 setMinimumWidth( 220 );
411 } else { 411 } else {
412 setMinimumWidth( 440 ); 412 setMinimumWidth( 440 );
413 mExceptionDateEdit->setMinimumWidth( 200 ); 413 mExceptionDateEdit->setMinimumWidth( 200 );
414 } 414 }
415} 415}
416 416
417void ExceptionsWidget::setDefaults( const QDateTime &from ) 417void ExceptionsWidget::setDefaults( const QDateTime &from )
418{ 418{
419 mExceptionDateEdit->setDate( from.date() ); 419 mExceptionDateEdit->setDate( from.date() );
420} 420}
421 421
422void ExceptionsWidget::addException() 422void ExceptionsWidget::addException()
423{ 423{
424 QDate date = mExceptionDateEdit->date(); 424 QDate date = mExceptionDateEdit->date();
425 QString dateStr = KGlobal::locale()->formatDate( date ); 425 QString dateStr = KGlobal::locale()->formatDate( date );
426 if( !mExceptionList->findItem( dateStr ) ) { 426 if( !mExceptionList->findItem( dateStr ) ) {
427 mExceptionDates.append( date ); 427 mExceptionDates.append( date );
428 mExceptionList->insertItem( dateStr ); 428 mExceptionList->insertItem( dateStr );
429 } 429 }
430} 430}
431 431
432void ExceptionsWidget::changeException() 432void ExceptionsWidget::changeException()
433{ 433{
434 int pos = mExceptionList->currentItem(); 434 int pos = mExceptionList->currentItem();
435 if ( pos < 0 ) return; 435 if ( pos < 0 ) return;
436 436
437 QDate date = mExceptionDateEdit->date(); 437 QDate date = mExceptionDateEdit->date();
438 mExceptionDates[ pos ] = date; 438 mExceptionDates[ pos ] = date;
439 mExceptionList->changeItem( KGlobal::locale()->formatDate( date ), pos ); 439 mExceptionList->changeItem( KGlobal::locale()->formatDate( date ), pos );
440} 440}
441 441
442void ExceptionsWidget::deleteException() 442void ExceptionsWidget::deleteException()
443{ 443{
444 int pos = mExceptionList->currentItem(); 444 int pos = mExceptionList->currentItem();
445 if ( pos < 0 ) return; 445 if ( pos < 0 ) return;
446 446
447 mExceptionDates.remove( mExceptionDates.at( pos ) ); 447 mExceptionDates.remove( mExceptionDates.at( pos ) );
448 mExceptionList->removeItem( pos ); 448 mExceptionList->removeItem( pos );
449} 449}
450 450
451void ExceptionsWidget::setDates( const DateList &dates ) 451void ExceptionsWidget::setDates( const DateList &dates )
452{ 452{
453 mExceptionList->clear(); 453 mExceptionList->clear();
454 mExceptionDates.clear(); 454 mExceptionDates.clear();
455 DateList::ConstIterator dit; 455 DateList::ConstIterator dit;
456 for ( dit = dates.begin(); dit != dates.end(); ++dit ) { 456 for ( dit = dates.begin(); dit != dates.end(); ++dit ) {
457 mExceptionList->insertItem( KGlobal::locale()->formatDate(* dit ) ); 457 mExceptionList->insertItem( KGlobal::locale()->formatDate(* dit ) );
458 mExceptionDates.append( *dit ); 458 mExceptionDates.append( *dit );
459 } 459 }
460} 460}
461 461
462DateList ExceptionsWidget::dates() 462DateList ExceptionsWidget::dates()
463{ 463{
464 return mExceptionDates; 464 return mExceptionDates;
465} 465}
466 466
467///////////////////////// ExceptionsDialog /////////////////////////// 467///////////////////////// ExceptionsDialog ///////////////////////////
468 468
469ExceptionsDialog::ExceptionsDialog( QWidget *parent, const char *name ) : 469ExceptionsDialog::ExceptionsDialog( QWidget *parent, const char *name ) :
470 KDialogBase( parent, name, true, i18n("Edit exceptions"), Ok|Cancel ) 470 KDialogBase( parent, name, true, i18n("Edit exceptions"), Ok|Cancel )
471{ 471{
472 mExceptions = new ExceptionsWidget( this ); 472 mExceptions = new ExceptionsWidget( this );
473 setMainWidget( mExceptions ); 473 setMainWidget( mExceptions );
474 resize(220,10); 474 resize(220,10);
475} 475}
476 476
477void ExceptionsDialog::setDefaults( const QDateTime &from ) 477void ExceptionsDialog::setDefaults( const QDateTime &from )
478{ 478{
479 mExceptions->setDefaults( from ); 479 mExceptions->setDefaults( from );
480} 480}
481 481
482void ExceptionsDialog::setDates( const DateList &dates ) 482void ExceptionsDialog::setDates( const DateList &dates )
483{ 483{
484 mExceptions->setDates( dates ); 484 mExceptions->setDates( dates );
485} 485}
486 486
487DateList ExceptionsDialog::dates() 487DateList ExceptionsDialog::dates()
488{ 488{
489 return mExceptions->dates(); 489 return mExceptions->dates();
490} 490}
491 491
492///////////////////////// RecurrenceRangeWidget /////////////////////////// 492///////////////////////// RecurrenceRangeWidget ///////////////////////////
493 493
494RecurrenceRangeWidget::RecurrenceRangeWidget( QWidget *parent, 494RecurrenceRangeWidget::RecurrenceRangeWidget( QWidget *parent,
495 const char *name ) 495 const char *name )
496 : QWidget( parent, name ) 496 : QWidget( parent, name )
497{ 497{
498 QBoxLayout *topLayout = new QVBoxLayout( this ); 498 QBoxLayout *topLayout = new QVBoxLayout( this );
499 499
500 mRangeGroupBox = new QGroupBox( 1, Horizontal, i18n("Recurrence Range"), 500 mRangeGroupBox = new QGroupBox( 1, Horizontal, i18n("Recurrence Range"),
501 this ); 501 this );
502 topLayout->addWidget( mRangeGroupBox ); 502 topLayout->addWidget( mRangeGroupBox );
503 503
504 QWidget *rangeBox = new QWidget( mRangeGroupBox ); 504 QWidget *rangeBox = new QWidget( mRangeGroupBox );
505 QVBoxLayout *rangeLayout = new QVBoxLayout( rangeBox ); 505 QVBoxLayout *rangeLayout = new QVBoxLayout( rangeBox );
506 rangeLayout->setSpacing( KDialog::spacingHint() ); 506 rangeLayout->setSpacing( KDialog::spacingHint() );
507 507
508 mStartDateLabel = new QLabel( i18n("Begin on:"), rangeBox ); 508 mStartDateLabel = new QLabel( i18n("Begin on:"), rangeBox );
509 rangeLayout->addWidget( mStartDateLabel ); 509 rangeLayout->addWidget( mStartDateLabel );
510 510
511 QButtonGroup *rangeButtonGroup = new QButtonGroup; 511 QButtonGroup *rangeButtonGroup = new QButtonGroup;
512 512
513 mNoEndDateButton = new QRadioButton( i18n("No ending date"), rangeBox ); 513 mNoEndDateButton = new QRadioButton( i18n("No ending date"), rangeBox );
514 rangeButtonGroup->insert( mNoEndDateButton ); 514 rangeButtonGroup->insert( mNoEndDateButton );
515 rangeLayout->addWidget( mNoEndDateButton ); 515 rangeLayout->addWidget( mNoEndDateButton );
516 516
517 QBoxLayout *durationLayout = new QHBoxLayout( rangeLayout ); 517 QBoxLayout *durationLayout = new QHBoxLayout( rangeLayout );
518 durationLayout->setSpacing( KDialog::spacingHint() ); 518 durationLayout->setSpacing( KDialog::spacingHint() );
519 519
520 mEndDurationButton = new QRadioButton( i18n("End after"), rangeBox ); 520 mEndDurationButton = new QRadioButton( i18n("End after"), rangeBox );
521 rangeButtonGroup->insert( mEndDurationButton ); 521 rangeButtonGroup->insert( mEndDurationButton );
522 durationLayout->addWidget( mEndDurationButton ); 522 durationLayout->addWidget( mEndDurationButton );
523 523
524 mEndDurationEdit = new QSpinBox( 1, 9999, 1, rangeBox ); 524 mEndDurationEdit = new QSpinBox( 1, 9999, 1, rangeBox );
525 durationLayout->addWidget( mEndDurationEdit ); 525 durationLayout->addWidget( mEndDurationEdit );
526 526
527 QLabel *endDurationLabel = new QLabel( i18n("occurrence(s)"), rangeBox ); 527 QLabel *endDurationLabel = new QLabel( i18n("occurrence(s)"), rangeBox );
528 durationLayout ->addWidget( endDurationLabel ); 528 durationLayout ->addWidget( endDurationLabel );
529 529
530 QBoxLayout *endDateLayout = new QHBoxLayout( rangeLayout ); 530 QBoxLayout *endDateLayout = new QHBoxLayout( rangeLayout );
531 endDateLayout->setSpacing( KDialog::spacingHint() ); 531 endDateLayout->setSpacing( KDialog::spacingHint() );
532 532
533 mEndDateButton = new QRadioButton( i18n("End by:"), rangeBox ); 533 mEndDateButton = new QRadioButton( i18n("End by:"), rangeBox );
534 rangeButtonGroup->insert( mEndDateButton ); 534 rangeButtonGroup->insert( mEndDateButton );
535 endDateLayout->addWidget( mEndDateButton ); 535 endDateLayout->addWidget( mEndDateButton );
536 536
537 mEndDateEdit = new KDateEdit( rangeBox ); 537 mEndDateEdit = new KDateEdit( rangeBox );
538 endDateLayout->addWidget( mEndDateEdit ); 538 endDateLayout->addWidget( mEndDateEdit );
539 539
540 endDateLayout->addStretch( 1 ); 540 endDateLayout->addStretch( 1 );
541 541
542 connect( mNoEndDateButton, SIGNAL( toggled( bool ) ), 542 connect( mNoEndDateButton, SIGNAL( toggled( bool ) ),
543 SLOT( showCurrentRange() ) ); 543 SLOT( showCurrentRange() ) );
544 connect( mEndDurationButton, SIGNAL( toggled( bool ) ), 544 connect( mEndDurationButton, SIGNAL( toggled( bool ) ),
545 SLOT( showCurrentRange() ) ); 545 SLOT( showCurrentRange() ) );
546 connect( mEndDateButton, SIGNAL( toggled( bool ) ), 546 connect( mEndDateButton, SIGNAL( toggled( bool ) ),
547 SLOT( showCurrentRange() ) ); 547 SLOT( showCurrentRange() ) );
548} 548}
549 549
550void RecurrenceRangeWidget::setDefaults( const QDateTime &from ) 550void RecurrenceRangeWidget::setDefaults( const QDateTime &from )
551{ 551{
552 mNoEndDateButton->setChecked( true ); 552 mNoEndDateButton->setChecked( true );
553 553
554 setDateTimes( from ); 554 setDateTimes( from );
555 mEndDateEdit->setDate( from.date() ); 555 mEndDateEdit->setDate( from.date() );
556} 556}
557 557
558void RecurrenceRangeWidget::setDuration( int duration ) 558void RecurrenceRangeWidget::setDuration( int duration )
559{ 559{
560 if ( duration == -1 ) { 560 if ( duration == -1 ) {
561 mNoEndDateButton->setChecked( true ); 561 mNoEndDateButton->setChecked( true );
562 } else if ( duration == 0 ) { 562 } else if ( duration == 0 ) {
563 mEndDateButton->setChecked( true ); 563 mEndDateButton->setChecked( true );
564 } else { 564 } else {
565 mEndDurationButton->setChecked( true ); 565 mEndDurationButton->setChecked( true );
566 mEndDurationEdit->setValue( duration ); 566 mEndDurationEdit->setValue( duration );
567 } 567 }
568} 568}
569 569
570int RecurrenceRangeWidget::duration() 570int RecurrenceRangeWidget::duration()
571{ 571{
572 if ( mNoEndDateButton->isChecked() ) { 572 if ( mNoEndDateButton->isChecked() ) {
573 return -1; 573 return -1;
574 } else if ( mEndDurationButton->isChecked() ) { 574 } else if ( mEndDurationButton->isChecked() ) {
575 return mEndDurationEdit->value(); 575 return mEndDurationEdit->value();
576 } else { 576 } else {
577 return 0; 577 return 0;
578 } 578 }
579} 579}
580 580
581void RecurrenceRangeWidget::setEndDate( const QDate &date ) 581void RecurrenceRangeWidget::setEndDate( const QDate &date )
582{ 582{
583 mEndDateEdit->setDate( date ); 583 mEndDateEdit->setDate( date );
584} 584}
585 585
586QDate RecurrenceRangeWidget::endDate() 586QDate RecurrenceRangeWidget::endDate()
587{ 587{
588 return mEndDateEdit->date(); 588 return mEndDateEdit->date();
589} 589}
590 590
591void RecurrenceRangeWidget::showCurrentRange() 591void RecurrenceRangeWidget::showCurrentRange()
592{ 592{
593 mEndDurationEdit->setEnabled( mEndDurationButton->isChecked() ); 593 mEndDurationEdit->setEnabled( mEndDurationButton->isChecked() );
594 mEndDateEdit->setEnabled( mEndDateButton->isChecked() ); 594 mEndDateEdit->setEnabled( mEndDateButton->isChecked() );
595} 595}
596 596
597void RecurrenceRangeWidget::setDateTimes( const QDateTime &start, 597void RecurrenceRangeWidget::setDateTimes( const QDateTime &start,
598 const QDateTime & ) 598 const QDateTime & )
599{ 599{
600 mStartDateLabel->setText( i18n("Start date: %1") 600 mStartDateLabel->setText( i18n("Start date: %1")
601 .arg( KGlobal::locale()->formatDate( start.date() ) ) ); 601 .arg( KGlobal::locale()->formatDate( start.date() ) ) );
602 602
603 if(!mEndDateButton->isChecked()) 603 if(!mEndDateButton->isChecked())
604 mEndDateEdit->setDate( start.date() ); 604 mEndDateEdit->setDate( start.date() );
605} 605}
606 606
607///////////////////////// RecurrenceRangeDialog /////////////////////////// 607///////////////////////// RecurrenceRangeDialog ///////////////////////////
608 608
609RecurrenceRangeDialog::RecurrenceRangeDialog( QWidget *parent, 609RecurrenceRangeDialog::RecurrenceRangeDialog( QWidget *parent,
610 const char *name ) : 610 const char *name ) :
611 KDialogBase( parent, name, true, i18n("Edit Recurrence Range"), Ok|Cancel ) 611 KDialogBase( parent, name, true, i18n("Edit Recurrence Range"), Ok|Cancel )
612{ 612{
613 mRecurrenceRangeWidget = new RecurrenceRangeWidget( this ); 613 mRecurrenceRangeWidget = new RecurrenceRangeWidget( this );
614 setMainWidget( mRecurrenceRangeWidget ); 614 setMainWidget( mRecurrenceRangeWidget );
615} 615}
616 616
617void RecurrenceRangeDialog::setDefaults( const QDateTime &from ) 617void RecurrenceRangeDialog::setDefaults( const QDateTime &from )
618{ 618{
619 mRecurrenceRangeWidget->setDefaults( from ); 619 mRecurrenceRangeWidget->setDefaults( from );
620} 620}
621 621
622void RecurrenceRangeDialog::setDuration( int duration ) 622void RecurrenceRangeDialog::setDuration( int duration )
623{ 623{
624 mRecurrenceRangeWidget->setDuration( duration ); 624 mRecurrenceRangeWidget->setDuration( duration );
625} 625}
626 626
627int RecurrenceRangeDialog::duration() 627int RecurrenceRangeDialog::duration()
628{ 628{
629 return mRecurrenceRangeWidget->duration(); 629 return mRecurrenceRangeWidget->duration();
630} 630}
631 631
632void RecurrenceRangeDialog::setEndDate( const QDate &date ) 632void RecurrenceRangeDialog::setEndDate( const QDate &date )
633{ 633{
634 mRecurrenceRangeWidget->setEndDate( date ); 634 mRecurrenceRangeWidget->setEndDate( date );
635} 635}
636 636
637QDate RecurrenceRangeDialog::endDate() 637QDate RecurrenceRangeDialog::endDate()
638{ 638{
639 return mRecurrenceRangeWidget->endDate(); 639 return mRecurrenceRangeWidget->endDate();
640} 640}
641 641
642void RecurrenceRangeDialog::setDateTimes( const QDateTime &start, 642void RecurrenceRangeDialog::setDateTimes( const QDateTime &start,
643 const QDateTime &end ) 643 const QDateTime &end )
644{ 644{
645 mRecurrenceRangeWidget->setDateTimes( start, end ); 645 mRecurrenceRangeWidget->setDateTimes( start, end );
646} 646}
647 647
648//////////////////////////// RecurrenceChooser //////////////////////// 648//////////////////////////// RecurrenceChooser ////////////////////////
649 649
650RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) : 650RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) :
651 QWidget( parent, name ) 651 QWidget( parent, name )
652{ 652{
653 QBoxLayout *topLayout = new QVBoxLayout( this ); 653 QBoxLayout *topLayout = new QVBoxLayout( this );
654 654
655 if ( KOPrefs::instance()->mCompactDialogs ) { 655 if ( KOPrefs::instance()->mCompactDialogs ) {
656 mTypeCombo = new QComboBox( this ); 656 mTypeCombo = new QComboBox( this );
657 mTypeCombo->insertItem( i18n("Daily") ); 657 mTypeCombo->insertItem( i18n("Daily") );
658 mTypeCombo->insertItem( i18n("Weekly") ); 658 mTypeCombo->insertItem( i18n("Weekly") );
659 mTypeCombo->insertItem( i18n("Monthly") ); 659 mTypeCombo->insertItem( i18n("Monthly") );
660 mTypeCombo->insertItem( i18n("Yearly") ); 660 mTypeCombo->insertItem( i18n("Yearly") );
661 661
662 topLayout->addWidget( mTypeCombo ); 662 topLayout->addWidget( mTypeCombo );
663 663
664 connect( mTypeCombo, SIGNAL( activated( int ) ), SLOT( emitChoice() ) ); 664 connect( mTypeCombo, SIGNAL( activated( int ) ), SLOT( emitChoice() ) );
665 } else { 665 } else {
666 mTypeCombo = 0; 666 mTypeCombo = 0;
667 667
668 QButtonGroup *ruleButtonGroup = new QButtonGroup( 1, Horizontal, this ); 668 QButtonGroup *ruleButtonGroup = new QButtonGroup( 1, Horizontal, this );
669 ruleButtonGroup->setFrameStyle( QFrame::NoFrame ); 669 ruleButtonGroup->setFrameStyle( QFrame::NoFrame );
670 topLayout->addWidget( ruleButtonGroup ); 670 topLayout->addWidget( ruleButtonGroup );
671 671
672 mDailyButton = new QRadioButton( i18n("Daily"), ruleButtonGroup ); 672 mDailyButton = new QRadioButton( i18n("Daily"), ruleButtonGroup );
673 mWeeklyButton = new QRadioButton( i18n("Weekly"), ruleButtonGroup ); 673 mWeeklyButton = new QRadioButton( i18n("Weekly"), ruleButtonGroup );
674 mMonthlyButton = new QRadioButton( i18n("Monthly"), ruleButtonGroup ); 674 mMonthlyButton = new QRadioButton( i18n("Monthly"), ruleButtonGroup );
675 mYearlyButton = new QRadioButton( i18n("Yearly"), ruleButtonGroup ); 675 mYearlyButton = new QRadioButton( i18n("Yearly"), ruleButtonGroup );
676 676
677 connect( mDailyButton, SIGNAL( toggled( bool ) ), 677 connect( mDailyButton, SIGNAL( toggled( bool ) ),
678 SLOT( emitChoice() ) ); 678 SLOT( emitChoice() ) );
679 connect( mWeeklyButton, SIGNAL( toggled( bool ) ), 679 connect( mWeeklyButton, SIGNAL( toggled( bool ) ),
680 SLOT( emitChoice() ) ); 680 SLOT( emitChoice() ) );
681 connect( mMonthlyButton, SIGNAL( toggled( bool ) ), 681 connect( mMonthlyButton, SIGNAL( toggled( bool ) ),
682 SLOT( emitChoice() ) ); 682 SLOT( emitChoice() ) );
683 connect( mYearlyButton, SIGNAL( toggled( bool ) ), 683 connect( mYearlyButton, SIGNAL( toggled( bool ) ),
684 SLOT( emitChoice() ) ); 684 SLOT( emitChoice() ) );
685 } 685 }
686} 686}
687 687
688int RecurrenceChooser::type() 688int RecurrenceChooser::type()
689{ 689{
690 if ( mTypeCombo ) { 690 if ( mTypeCombo ) {
691 return mTypeCombo->currentItem(); 691 return mTypeCombo->currentItem();
692 } else { 692 } else {
693 if ( mDailyButton->isChecked() ) return Daily; 693 if ( mDailyButton->isChecked() ) return Daily;
694 else if ( mWeeklyButton->isChecked() ) return Weekly; 694 else if ( mWeeklyButton->isChecked() ) return Weekly;
695 else if ( mMonthlyButton->isChecked() ) return Monthly; 695 else if ( mMonthlyButton->isChecked() ) return Monthly;
696 else return Yearly; 696 else return Yearly;
697 } 697 }
698} 698}
699 699
700void RecurrenceChooser::setType( int type ) 700void RecurrenceChooser::setType( int type )
701{ 701{
702 if ( mTypeCombo ) { 702 if ( mTypeCombo ) {
703 mTypeCombo->setCurrentItem( type ); 703 mTypeCombo->setCurrentItem( type );
704 } else { 704 } else {
705 switch ( type ) { 705 switch ( type ) {
706 case Daily: 706 case Daily:
707 mDailyButton->setChecked( true ); 707 mDailyButton->setChecked( true );
708 break; 708 break;
709 case Weekly: 709 case Weekly:
710 mWeeklyButton->setChecked( true ); 710 mWeeklyButton->setChecked( true );
711 break; 711 break;
712 case Monthly: 712 case Monthly:
713 mMonthlyButton->setChecked( true ); 713 mMonthlyButton->setChecked( true );
714 break; 714 break;
715 case Yearly: 715 case Yearly:
716 default: 716 default:
717 mYearlyButton->setChecked( true ); 717 mYearlyButton->setChecked( true );
718 break; 718 break;
719 } 719 }
720 } 720 }
721} 721}
722 722
723void RecurrenceChooser::emitChoice() 723void RecurrenceChooser::emitChoice()
724{ 724{
725 emit chosen ( type() ); 725 emit chosen ( type() );
726} 726}
727 727
728/////////////////////////////// Main Widget ///////////////////////////// 728/////////////////////////////// Main Widget /////////////////////////////
729 729
730KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : 730KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) :
731 QWidget( parent, name ) 731 QWidget( parent, name )
732{ 732{
733 QGridLayout *topLayout = new QGridLayout( this, 2,2 ); 733 QGridLayout *topLayout = new QGridLayout( this, 2,2 );
734 topLayout->setSpacing( KDialog::spacingHint() ); 734 topLayout->setSpacing( KDialog::spacingHint() );
735 735
736 mEnabledCheck = new QCheckBox( i18n("Enable Recurrence"), this ); 736 mEnabledCheck = new QCheckBox( i18n("Enable Recurrence"), this );
737 connect( mEnabledCheck, SIGNAL( toggled( bool ) ), 737 connect( mEnabledCheck, SIGNAL( toggled( bool ) ),
738 SLOT( setEnabled( bool ) ) ); 738 SLOT( setEnabled( bool ) ) );
739 topLayout->addMultiCellWidget( mEnabledCheck, 0, 0, 0, 1 ); 739 topLayout->addMultiCellWidget( mEnabledCheck, 0, 0, 0, 1 );
740 740
741 741
742 mTimeGroupBox = new QGroupBox( 1, Horizontal, i18n("Appointment Time "), 742 mTimeGroupBox = new QGroupBox( 1, Horizontal, i18n("Appointment Time "),
743 this ); 743 this );
744 topLayout->addMultiCellWidget( mTimeGroupBox, 1, 1 , 0 , 1 ); 744 topLayout->addMultiCellWidget( mTimeGroupBox, 1, 1 , 0 , 1 );
745 745
746 if ( KOPrefs::instance()->mCompactDialogs ) { 746 if ( KOPrefs::instance()->mCompactDialogs ) {
747 mTimeGroupBox->hide(); 747 mTimeGroupBox->hide();
748 } 748 }
749 749
750// QFrame *timeFrame = new QFrame( mTimeGroupBox ); 750// QFrame *timeFrame = new QFrame( mTimeGroupBox );
751// QBoxLayout *layoutTimeFrame = new QHBoxLayout( timeFrame ); 751// QBoxLayout *layoutTimeFrame = new QHBoxLayout( timeFrame );
752// layoutTimeFrame->setSpacing( KDialog::spacingHint() ); 752// layoutTimeFrame->setSpacing( KDialog::spacingHint() );
753 753
754 mDateTimeLabel = new QLabel( mTimeGroupBox ); 754 mDateTimeLabel = new QLabel( mTimeGroupBox );
755// mDateTimeLabel = new QLabel( timeFrame ); 755// mDateTimeLabel = new QLabel( timeFrame );
756// layoutTimeFrame->addWidget( mDateTimeLabel ); 756// layoutTimeFrame->addWidget( mDateTimeLabel );
757 757
758 Qt::Orientation orientation; 758 Qt::Orientation orientation;
759 if ( KOPrefs::instance()->mCompactDialogs ) orientation = Horizontal; 759 if ( KOPrefs::instance()->mCompactDialogs ) orientation = Horizontal;
760 else orientation = Vertical; 760 else orientation = Vertical;
761 761
762 mRuleBox = new QGroupBox( 1, orientation, i18n("Recurrence Rule"), this ); 762 mRuleBox = new QGroupBox( 1, orientation, i18n("Recurrence Rule"), this );
763 if ( KOPrefs::instance()->mCompactDialogs ) { 763 if ( KOPrefs::instance()->mCompactDialogs ) {
764 topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); 764 topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 );
765 } else { 765 } else {
766 topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); 766 topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 );
767 } 767 }
768 768
769 mRecurrenceChooser = new RecurrenceChooser( mRuleBox ); 769 mRecurrenceChooser = new RecurrenceChooser( mRuleBox );
770 connect( mRecurrenceChooser, SIGNAL( chosen( int ) ), 770 connect( mRecurrenceChooser, SIGNAL( chosen( int ) ),
771 SLOT( showCurrentRule( int ) ) ); 771 SLOT( showCurrentRule( int ) ) );
772 772
773 if ( !KOPrefs::instance()->mCompactDialogs ) { 773 if ( !KOPrefs::instance()->mCompactDialogs ) {
774 QFrame *ruleSepFrame = new QFrame( mRuleBox ); 774 QFrame *ruleSepFrame = new QFrame( mRuleBox );
775 ruleSepFrame->setFrameStyle( QFrame::VLine | QFrame::Sunken ); 775 ruleSepFrame->setFrameStyle( QFrame::VLine | QFrame::Sunken );
776 } 776 }
777 777
778 mRuleStack = new QWidgetStack( mRuleBox ); 778 mRuleStack = new QWidgetStack( mRuleBox );
779 779
780 mDaily = new RecurDaily( mRuleStack ); 780 mDaily = new RecurDaily( mRuleStack );
781 mRuleStack->addWidget( mDaily, 0 ); 781 mRuleStack->addWidget( mDaily, 0 );
782 782
783 mWeekly = new RecurWeekly( mRuleStack ); 783 mWeekly = new RecurWeekly( mRuleStack );
784 mRuleStack->addWidget( mWeekly, 0 ); 784 mRuleStack->addWidget( mWeekly, 0 );
785 785
786 mMonthly = new RecurMonthly( mRuleStack ); 786 mMonthly = new RecurMonthly( mRuleStack );
787 mRuleStack->addWidget( mMonthly, 0 ); 787 mRuleStack->addWidget( mMonthly, 0 );
788 788
789 mYearly = new RecurYearly( mRuleStack ); 789 mYearly = new RecurYearly( mRuleStack );
790 mRuleStack->addWidget( mYearly, 0 ); 790 mRuleStack->addWidget( mYearly, 0 );
791 791
792 showCurrentRule( mRecurrenceChooser->type() ); 792 showCurrentRule( mRecurrenceChooser->type() );
793 793
794 if ( KOPrefs::instance()->mCompactDialogs ) { 794 if ( KOPrefs::instance()->mCompactDialogs ) {
795 mRecurrenceRangeWidget = 0; 795 mRecurrenceRangeWidget = 0;
796 mRecurrenceRangeDialog = new RecurrenceRangeDialog( this ); 796 mRecurrenceRangeDialog = new RecurrenceRangeDialog( this );
797 mRecurrenceRange = mRecurrenceRangeDialog; 797 mRecurrenceRange = mRecurrenceRangeDialog;
798 mRecurrenceRangeButton = new QPushButton( i18n("Recurrence Range..."), 798 mRecurrenceRangeButton = new QPushButton( i18n("Recurrence Range..."),
799 this ); 799 this );
800 800
801 connect( mRecurrenceRangeButton, SIGNAL( clicked() ), 801 connect( mRecurrenceRangeButton, SIGNAL( clicked() ),
802 SLOT( showRecurrenceRangeDialog() ) ); 802 SLOT( showRecurrenceRangeDialog() ) );
803 803
804 mExceptionsWidget = 0; 804 mExceptionsWidget = 0;
805 mExceptionsDialog = new ExceptionsDialog( this ); 805 mExceptionsDialog = new ExceptionsDialog( this );
806 mExceptions = mExceptionsDialog; 806 mExceptions = mExceptionsDialog;
807 mExceptionsButton = new QPushButton( i18n("Exceptions..."), this ); 807 mExceptionsButton = new QPushButton( i18n("Exceptions..."), this );
808 if ( QApplication::desktop()->width() < 320 ) { 808 if ( QApplication::desktop()->width() < 320 ) {
809 topLayout->addMultiCellWidget( mRecurrenceRangeButton, 3, 3, 0, 1 ); 809 topLayout->addMultiCellWidget( mRecurrenceRangeButton, 3, 3, 0, 1 );
810 topLayout->addMultiCellWidget( mExceptionsButton, 4, 4, 0, 1 ); 810 topLayout->addMultiCellWidget( mExceptionsButton, 4, 4, 0, 1 );
811 } else { 811 } else {
812 topLayout->addWidget( mRecurrenceRangeButton, 3, 0 ); 812 topLayout->addWidget( mRecurrenceRangeButton, 3, 0 );
813 topLayout->addWidget( mExceptionsButton, 3, 1 ); 813 topLayout->addWidget( mExceptionsButton, 3, 1 );
814 } 814 }
815 connect( mExceptionsButton, SIGNAL( clicked() ), 815 connect( mExceptionsButton, SIGNAL( clicked() ),
816 SLOT( showExceptionsDialog() ) ); 816 SLOT( showExceptionsDialog() ) );
817 817
818 } else { 818 } else {
819 mRecurrenceRangeWidget = new RecurrenceRangeWidget( this ); 819 mRecurrenceRangeWidget = new RecurrenceRangeWidget( this );
820 mRecurrenceRangeDialog = 0; 820 mRecurrenceRangeDialog = 0;
821 mRecurrenceRange = mRecurrenceRangeWidget; 821 mRecurrenceRange = mRecurrenceRangeWidget;
822 mRecurrenceRangeButton = 0; 822 mRecurrenceRangeButton = 0;
823 topLayout->addWidget( mRecurrenceRangeWidget, 3, 0 ); 823 topLayout->addWidget( mRecurrenceRangeWidget, 3, 0 );
824 824
825 mExceptionsWidget = new ExceptionsWidget( this ); 825 mExceptionsWidget = new ExceptionsWidget( this );
826 mExceptionsDialog = 0; 826 mExceptionsDialog = 0;
827 mExceptions = mExceptionsWidget; 827 mExceptions = mExceptionsWidget;
828 mExceptionsButton = 0; 828 mExceptionsButton = 0;
829 topLayout->addWidget( mExceptionsWidget, 3, 1 ); 829 topLayout->addWidget( mExceptionsWidget, 3, 1 );
830 } 830 }
831} 831}
832 832
833KOEditorRecurrence::~KOEditorRecurrence() 833KOEditorRecurrence::~KOEditorRecurrence()
834{ 834{
835} 835}
836 836
837void KOEditorRecurrence::setEnabled( bool enabled ) 837void KOEditorRecurrence::setEnabled( bool enabled )
838{ 838{
839// kdDebug() << "KOEditorRecurrence::setEnabled(): " << (enabled ? "on" : "off") << endl; 839// kdDebug() << "KOEditorRecurrence::setEnabled(): " << (enabled ? "on" : "off") << endl;
840 840
841 mTimeGroupBox->setEnabled( enabled ); 841 mTimeGroupBox->setEnabled( enabled );
842 if ( mRecurrenceRangeWidget ) mRecurrenceRangeWidget->setEnabled( enabled ); 842 if ( mRecurrenceRangeWidget ) mRecurrenceRangeWidget->setEnabled( enabled );
843 if ( mRecurrenceRangeButton ) mRecurrenceRangeButton->setEnabled( enabled ); 843 if ( mRecurrenceRangeButton ) mRecurrenceRangeButton->setEnabled( enabled );
844 if ( mExceptionsWidget ) mExceptionsWidget->setEnabled( enabled ); 844 if ( mExceptionsWidget ) mExceptionsWidget->setEnabled( enabled );
845 if ( mExceptionsButton ) mExceptionsButton->setEnabled( enabled ); 845 if ( mExceptionsButton ) mExceptionsButton->setEnabled( enabled );
846 mRuleBox->setEnabled( enabled ); 846 mRuleBox->setEnabled( enabled );
diff --git a/korganizer/wordsgerman.h b/korganizer/wordsgerman.h
index 4b53ecb..8310f2f 100644
--- a/korganizer/wordsgerman.h
+++ b/korganizer/wordsgerman.h
@@ -323,518 +323,522 @@
323{ "Recur on this day","Wiederh. am diesen Tag" }, 323{ "Recur on this day","Wiederh. am diesen Tag" },
324{ "Recurrence Range...","Wiederholungs Zeitraum..." }, 324{ "Recurrence Range...","Wiederholungs Zeitraum..." },
325{ "Recurrence Range","Wiederholungs Zeitraum" }, 325{ "Recurrence Range","Wiederholungs Zeitraum" },
326{ "Recurrence Rule","Wiederholungs Regel" }, 326{ "Recurrence Rule","Wiederholungs Regel" },
327{ "Recurrence","Wiederholung" }, 327{ "Recurrence","Wiederholung" },
328{ "Recurs","Wiederholung" }, 328{ "Recurs","Wiederholung" },
329{"&Reject","Abweisen"}, 329{"&Reject","Abweisen"},
330{ "Reminder:","Alarm:" }, 330{ "Reminder:","Alarm:" },
331{ "Rem.:","Alarm:" }, 331{ "Rem.:","Alarm:" },
332{ "Rem.","Alarm:" }, 332{ "Rem.","Alarm:" },
333{ "Remote file:","Remote Datei:"}, 333{ "Remote file:","Remote Datei:"},
334{ "Remote IP:","Remote (ferne) IP:" }, 334{ "Remote IP:","Remote (ferne) IP:" },
335{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " }, 335{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " },
336{ "Remote user:","Remote Benutzer"}, 336{ "Remote user:","Remote Benutzer"},
337{ "&Remove","Entfe&rnen" }, 337{ "&Remove","Entfe&rnen" },
338{ "Remove","Entfernen" }, 338{ "Remove","Entfernen" },
339{ "Request response","Bemerkung anfordern" }, 339{ "Request response","Bemerkung anfordern" },
340{ "Role:","Rolle:" }, 340{ "Role:","Rolle:" },
341{ "Role","Rolle" }, 341{ "Role","Rolle" },
342{ "Sat","Sa" }, 342{ "Sat","Sa" },
343{ "Saturday","Samstag" }, 343{ "Saturday","Samstag" },
344{ "Search for:","Suche nach:" }, 344{ "Search for:","Suche nach:" },
345{ "Search In","Suche in" }, 345{ "Search In","Suche in" },
346{ "Search...","Suche..." }, 346{ "Search...","Suche..." },
347{ "Search","Suche" }, 347{ "Search","Suche" },
348{ "Select Addresses","Wähle Adressen" }, 348{ "Select Addresses","Wähle Adressen" },
349{ "Select all","Selektiere Alle" }, 349{ "Select all","Selektiere Alle" },
350{ "Select a month","Wähle Monat" }, 350{ "Select a month","Wähle Monat" },
351{ "Select a week","Wähle Woche" }, 351{ "Select a week","Wähle Woche" },
352{ "Select a year","Wähle Jahr" }, 352{ "Select a year","Wähle Jahr" },
353{ "Send directly","Sende direkt" }, 353{ "Send directly","Sende direkt" },
354{ "&Send Messages","&Sende Nachrichten", }, 354{ "&Send Messages","&Sende Nachrichten", },
355{ "Sep","Sep" }, 355{ "Sep","Sep" },
356{ "September","September" }, 356{ "September","September" },
357{ "Shopping","Einkaufen" }, 357{ "Shopping","Einkaufen" },
358{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" }, 358{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" },
359{ "Show Dates","Zeige Daten" }, 359{ "Show Dates","Zeige Daten" },
360{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." }, 360{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." },
361{ "Show Event...","Zeige Termin..." }, 361{ "Show Event...","Zeige Termin..." },
362{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." }, 362{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." },
363{ "Show Marcus Bains line","Zeige Marcus Bains Linie" }, 363{ "Show Marcus Bains line","Zeige Marcus Bains Linie" },
364{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." }, 364{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." },
365{ "Show time as:","Zeige Zeit als" }, 365{ "Show time as:","Zeige Zeit als" },
366{ "Show Todo...","Zeige To-Do" }, 366{ "Show Todo...","Zeige To-Do" },
367{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"}, 367{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"},
368{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"}, 368{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"},
369{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" }, 369{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" },
370{ "&Show","Zeige" }, 370{ "&Show","Zeige" },
371{ "Show...","Zeige..." }, 371{ "Show...","Zeige..." },
372{ "Show","Zeige" }, 372{ "Show","Zeige" },
373{ "Small","Klein" }, 373{ "Small","Klein" },
374{ "Sorry","Entschuldigung" }, 374{ "Sorry","Entschuldigung" },
375{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"}, 375{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"},
376{ "Start:","Start:" }, 376{ "Start:","Start:" },
377{ "Start Date","Start Datum" }, 377{ "Start Date","Start Datum" },
378{ "Start date: %1","Start Datum: %1" }, 378{ "Start date: %1","Start Datum: %1" },
379{ "Start Time","Start Zeit" }, 379{ "Start Time","Start Zeit" },
380{ "Status:","Status:" }, 380{ "Status:","Status:" },
381{ "Status","Status:" }, 381{ "Status","Status:" },
382{ "Summaries","Titel" }, 382{ "Summaries","Titel" },
383{ "Summary:","Titel:" }, 383{ "Summary:","Titel:" },
384{ "Summary","Titel" }, 384{ "Summary","Titel" },
385{ "Sunday","Sonntag" }, 385{ "Sunday","Sonntag" },
386{ "Sun","So" }, 386{ "Sun","So" },
387{ "Sync preferences:","Sync Einstellungen" }, 387{ "Sync preferences:","Sync Einstellungen" },
388{ "Sync Prefs","Sync Einstellungen" }, 388{ "Sync Prefs","Sync Einstellungen" },
389{ "Syncronize","Daten abgleich" }, 389{ "Syncronize","Daten abgleich" },
390{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, 390{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" },
391{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, 391{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" },
392{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" }, 392{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" },
393{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" }, 393{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" },
394{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" }, 394{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" },
395{ "Template...","Vorlage..." }, 395{ "Template...","Vorlage..." },
396{ "This day","Dieser Tag" }, 396{ "This day","Dieser Tag" },
397{ "This is an experimental feature. ","Dieses Feature ist experimentel" }, 397{ "This is an experimental feature. ","Dieses Feature ist experimentel" },
398{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." }, 398{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." },
399{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." }, 399{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." },
400{ "Thu","Do" }, 400{ "Thu","Do" },
401{ "Thursday","Donnerstag" }, 401{ "Thursday","Donnerstag" },
402{ "Time associated","Mit Zeit" }, 402{ "Time associated","Mit Zeit" },
403{ "Time bar:","Uhrzeit Zeile:" }, 403{ "Time bar:","Uhrzeit Zeile:" },
404{ "Time && Date","Zeit und Datum" }, 404{ "Time && Date","Zeit und Datum" },
405{ "Time Format","Zeit Format" }, 405{ "Time Format","Zeit Format" },
406{ "Time Format(nr):","Zeit Format(Neustart!)" }, 406{ "Time Format(nr):","Zeit Format(Neustart!)" },
407{ "Date Labels:","Datumsleiste:" }, 407{ "Date Labels:","Datumsleiste:" },
408{ "Time: ","Zeit: " }, 408{ "Time: ","Zeit: " },
409{ "Timezone:","Zeitzone:" }, 409{ "Timezone:","Zeitzone:" },
410{ "Tiny","Sehr klein" }, 410{ "Tiny","Sehr klein" },
411{ "To: ","Bis: " }, 411{ "To: ","Bis: " },
412{ "To:","Bis:" }, 412{ "To:","Bis:" },
413{ "Today: ","Heute: " }, 413{ "Today: ","Heute: " },
414{ "Todo due today color:","Heute fällige To-Do's" }, 414{ "Todo due today color:","Heute fällige To-Do's" },
415{ "To-do items:","To-Do items:" }, 415{ "To-do items:","To-Do items:" },
416{ "Todo overdue color:","Überfällige To-Do's" }, 416{ "Todo overdue color:","Überfällige To-Do's" },
417{ "Todo","Todo" }, 417{ "Todo","Todo" },
418{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" }, 418{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" },
419{ "ToDoView:","Todo Ansicht:" }, 419{ "ToDoView:","Todo Ansicht:" },
420{ "Toggle Alarm","Wechsle Alarm" }, 420{ "Toggle Alarm","Wechsle Alarm" },
421{ "Toggle Allday","Umschalten Ganztag" }, 421{ "Toggle Allday","Umschalten Ganztag" },
422{ "Tomorrow: ","Morgen: " }, 422{ "Tomorrow: ","Morgen: " },
423{ "Tue","Di" }, 423{ "Tue","Di" },
424{ "Tuesday","Dienstag" }, 424{ "Tuesday","Dienstag" },
425{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" }, 425{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" },
426{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." }, 426{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." },
427{ "Unknown","Unbekannt" }, 427{ "Unknown","Unbekannt" },
428{ "Up","Hinauf" }, 428{ "Up","Hinauf" },
429{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" }, 429{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" },
430{ "User defined","Benutzerdefiniert" }, 430{ "User defined","Benutzerdefiniert" },
431{ "User long date:","Format langes Datum:" }, 431{ "User long date:","Format langes Datum:" },
432{ "User short date:","Forma kurzes Datum:" }, 432{ "User short date:","Forma kurzes Datum:" },
433{ "View","Ansicht" }, 433{ "View","Ansicht" },
434{ "View Fonts","Schriftarten Ansichten" }, 434{ "View Fonts","Schriftarten Ansichten" },
435{ "Views","Ansichten" }, 435{ "Views","Ansichten" },
436{ "Wed","Mi" }, 436{ "Wed","Mi" },
437{ "Wednesday","Mittwoch" }, 437{ "Wednesday","Mittwoch" },
438{ "Week %1","Woche %1" }, 438{ "Week %1","Woche %1" },
439{ "Weekly","Wöchentlich" }, 439{ "Weekly","Wöchentlich" },
440{ "Week starts on Sunday","Woche beginnt Sonntags" }, 440{ "Week starts on Sunday","Woche beginnt Sonntags" },
441{ "What's Next View:","What's Next Anz." }, 441{ "What's Next View:","What's Next Anz." },
442{ "What's next ?","Was kommt als nächstes?(What's Next)" }, 442{ "What's next ?","Was kommt als nächstes?(What's Next)" },
443{ "Working Hours","Tägliche Arbeitszeit" }, 443{ "Working Hours","Tägliche Arbeitszeit" },
444{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" }, 444{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" },
445{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" }, 445{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" },
446{ "Write back synced file","Syncronisierte Datei zurückschreiben" }, 446{ "Write back synced file","Syncronisierte Datei zurückschreiben" },
447{ "Yearly","Jährlich" }, 447{ "Yearly","Jährlich" },
448{ "year(s)","Jahr(e)" }, 448{ "year(s)","Jahr(e)" },
449{ "Yes","Ja" }, 449{ "Yes","Ja" },
450{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" }, 450{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" },
451{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." }, 451{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." },
452{ "week(s) on:","Woche(n) am: " }, 452{ "week(s) on:","Woche(n) am: " },
453{ "Full menu bar(nr)","Volle Menuleiste(bn)" }, 453{ "Full menu bar(nr)","Volle Menuleiste(bn)" },
454{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, 454{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
455{ "Actual start/end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der Sonntag\nvor diesem Datum!" }, 455{ "Actual start/end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der Sonntag\nvor diesem Datum!" },
456{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, 456{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
457{ "Daylight start:","Sommerzeit Beginn:" }, 457{ "Daylight start:","Sommerzeit Beginn:" },
458{ "Daylight end:","Sommerzeit Ende:" }, 458{ "Daylight end:","Sommerzeit Ende:" },
459{ "Time Zone","Zeitzone" }, 459{ "Time Zone","Zeitzone" },
460{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" }, 460{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
461{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" }, 461{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" },
462{ "minutely","minütlich" }, 462{ "minutely","minütlich" },
463{ "hourly","stündlich" }, 463{ "hourly","stündlich" },
464{ "daily","täglich" }, 464{ "daily","täglich" },
465{ "weekly","wöchentlich" }, 465{ "weekly","wöchentlich" },
466{ "monthly","monatlich" }, 466{ "monthly","monatlich" },
467{ "day-monthly","tag-monatlich" }, 467{ "day-monthly","tag-monatlich" },
468{ "month-yearly","monat-jährlich" }, 468{ "month-yearly","monat-jährlich" },
469{ "day-yearly","tag-jährlich" }, 469{ "day-yearly","tag-jährlich" },
470{ "position-yearly","pos-jährlich" }, 470{ "position-yearly","pos-jährlich" },
471{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" }, 471{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" },
472{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" }, 472{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" },
473{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" }, 473{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" },
474{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" }, 474{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" },
475{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" }, 475{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" },
476{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." }, 476{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." },
477{ "Event list view uses full window","Listenansicht nutzt Vollbild" }, 477{ "Event list view uses full window","Listenansicht nutzt Vollbild" },
478{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" }, 478{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" },
479{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" }, 479{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" },
480{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" }, 480{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" },
481{ "ViewChange","Ansichtswechsel" }, 481{ "ViewChange","Ansichtswechsel" },
482{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" }, 482{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" },
483{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" }, 483{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" },
484{ "File","Datei" }, 484{ "File","Datei" },
485{ "Clone...","Dupliziere.." }, 485{ "Clone...","Dupliziere.." },
486{ "Move...","Bewege..." }, 486{ "Move...","Bewege..." },
487{ "Beam...","Sende via IR..." }, 487{ "Beam...","Sende via IR..." },
488{ "&Clone...","Dupliziere.." }, 488{ "&Clone...","Dupliziere.." },
489{ "&Move...","Bewege..." }, 489{ "&Move...","Bewege..." },
490{ "&Beam...","Sende via IR..." }, 490{ "&Beam...","Sende via IR..." },
491{ "Show Completed","Zeige erledigte Todos" }, 491{ "Show Completed","Zeige erledigte Todos" },
492{ "Show Quick Todo","Zeige Quick Todo" }, 492{ "Show Quick Todo","Zeige Quick Todo" },
493{ "Unparent Todo","Un-sub Todo" }, 493{ "Unparent Todo","Un-sub Todo" },
494{ "Save selected to file...","Speichere Selektierte..." }, 494{ "Save selected to file...","Speichere Selektierte..." },
495{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, 495{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." },
496{ "Set Categ. for selected...","Setze Kateg. für Selekt." }, 496{ "Set Categ. for selected...","Setze Kateg. für Selekt." },
497{ "Beam selected via IR","Sende Selekt. via IR..." }, 497{ "Beam selected via IR","Sende Selekt. via IR..." },
498{ "Search","Suchen" }, 498{ "Search","Suchen" },
499{ "Date Picker","Datum auswählen" }, 499{ "Date Picker","Datum auswählen" },
500{ "Day View","Tagesansicht" }, 500{ "Day View","Tagesansicht" },
501{ "Work Week","Arbeitswoche" }, 501{ "Work Week","Arbeitswoche" },
502{ "Week","Wochenansicht" }, 502{ "Week","Wochenansicht" },
503{ "Month","Monatsansicht" }, 503{ "Month","Monatsansicht" },
504{ "Todo View","Todo Liste" }, 504{ "Todo View","Todo Liste" },
505{ "Journal","Journal Ansicht" }, 505{ "Journal","Journal Ansicht" },
506{ "Next days","Nächste Tage" }, 506{ "Next days","Nächste Tage" },
507{ "Print agenda selection...","Drucke Agendaselektion..." }, 507{ "Print agenda selection...","Drucke Agendaselektion..." },
508{ "Toggle DateNavigator","Navigator umschalten" }, 508{ "Toggle DateNavigator","Navigator umschalten" },
509{ "Toggle FilterView","Filteransicht umschalten" }, 509{ "Toggle FilterView","Filteransicht umschalten" },
510{ "Prev. month","Vorheriger Monat" }, 510{ "Prev. month","Vorheriger Monat" },
511{ "Go backward","Gehe zurück" }, 511{ "Go backward","Gehe zurück" },
512{ "Go forward","Gehe weiter" }, 512{ "Go forward","Gehe weiter" },
513{ "Synchronize","Synchronisieren" }, 513{ "Synchronize","Synchronisieren" },
514{ "AgendaSize","Agendagröße" }, 514{ "AgendaSize","Agendagröße" },
515{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" }, 515{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" },
516{ "Import last file","Importiere letzte Datei" }, 516{ "Import last file","Importiere letzte Datei" },
517{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." }, 517{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." },
518{ "Load Calendar Backup","Lade Kalender Backup" }, 518{ "Load Calendar Backup","Lade Kalender Backup" },
519{ "Save Calendar Backup","Speichere Kalender Backup" }, 519{ "Save Calendar Backup","Speichere Kalender Backup" },
520{ "Export VCalendar","Exportiere VCalendar" }, 520{ "Export VCalendar","Exportiere VCalendar" },
521{ "Manage new categories...","Verwalte neue Kategorien..." }, 521{ "Manage new categories...","Verwalte neue Kategorien..." },
522{ "Beam complete calendar...","Sende kompletten Kalender via IR" }, 522{ "Beam complete calendar...","Sende kompletten Kalender via IR" },
523{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" }, 523{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" },
524{ "Remote via ssh","Über Netzwerk via ssh" }, 524{ "Remote via ssh","Über Netzwerk via ssh" },
525{ "With local file","Mit lokaler Datei" }, 525{ "With local file","Mit lokaler Datei" },
526{ "With last file","Mit letzter Datei" }, 526{ "With last file","Mit letzter Datei" },
527{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" }, 527{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" },
528{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" }, 528{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" },
529{ "Save filename","Speichern: Dateinamen wählen" }, 529{ "Save filename","Speichern: Dateinamen wählen" },
530{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" }, 530{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" },
531{ "KO/Pi: Warning!","KO/Pi: Warnung!" }, 531{ "KO/Pi: Warning!","KO/Pi: Warnung!" },
532{ "Overwrite!","Überschreibe!" }, 532{ "Overwrite!","Überschreibe!" },
533{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 533{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
534{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" }, 534{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" },
535{ "KO/Pi Confirmation","KO/Pi Bestätigung" }, 535{ "KO/Pi Confirmation","KO/Pi Bestätigung" },
536{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" }, 536{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" },
537{ "Deleting item %d ...","Lösche Eintrag %d ..." }, 537{ "Deleting item %d ...","Lösche Eintrag %d ..." },
538{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." }, 538{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." },
539{ "Size","Größe" }, 539{ "Size","Größe" },
540{ "Date","Datum" }, 540{ "Date","Datum" },
541{ "Mime Type","Datei Typ" }, 541{ "Mime Type","Datei Typ" },
542{ "All Files","Alle Dateien" }, 542{ "All Files","Alle Dateien" },
543{ "Files","Dateien" }, 543{ "Files","Dateien" },
544{ "Documents","DoKumente" }, 544{ "Documents","DoKumente" },
545{ "Select Categories","Selektiere Kategorien" }, 545{ "Select Categories","Selektiere Kategorien" },
546{ " &Deselect All "," Auswahl aufheben " }, 546{ " &Deselect All "," Auswahl aufheben " },
547{ "A&dd","Hinzu" }, 547{ "A&dd","Hinzu" },
548{ "&Modify","Ändern" }, 548{ "&Modify","Ändern" },
549{ "Edit Categories","Editiere Kategorien" }, 549{ "Edit Categories","Editiere Kategorien" },
550{ " &Edit Categories "," &Editiere Kategorien " }, 550{ " &Edit Categories "," &Editiere Kategorien " },
551{ "Beam Options","Beam Einstellungen" }, 551{ "Beam Options","Beam Einstellungen" },
552{ " With timezone "," Mit Zeitzone " }, 552{ " With timezone "," Mit Zeitzone " },
553{ " Local time ", " Lokale Zeit " }, 553{ " Local time ", " Lokale Zeit " },
554{ "Manage new Categories","Verwalte neue Kategorien" }, 554{ "Manage new Categories","Verwalte neue Kategorien" },
555{ "Add to category list","Füge zur Kategorieliste hinzu" }, 555{ "Add to category list","Füge zur Kategorieliste hinzu" },
556{ "Remove from Events/Todos","Entferne von Terminen/Todos" }, 556{ "Remove from Events/Todos","Entferne von Terminen/Todos" },
557{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " }, 557{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " },
558{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" }, 558{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" },
559{ "File format","Datei Format" }, 559{ "File format","Datei Format" },
560{ "Time format","Zeit Format" }, 560{ "Time format","Zeit Format" },
561{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" }, 561{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" },
562{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." }, 562{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." },
563{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" }, 563{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" },
564{ "h","Std" }, 564{ "h","Std" },
565{ "min","Min" }, 565{ "min","Min" },
566{ "hou","Std" }, 566{ "hou","Std" },
567{ "day","Tag" }, 567{ "day","Tag" },
568{ "French(nyi)","Französich (noch nicht implementiert)" }, 568{ "French(nyi)","Französich (noch nicht implementiert)" },
569{ "Time","Zeit" }, 569{ "Time","Zeit" },
570{ "Event Viewer","Termin Ansicht" }, 570{ "Event Viewer","Termin Ansicht" },
571{ "Cancel Sync","Sync Abbrechen" }, 571{ "Cancel Sync","Sync Abbrechen" },
572{ "Remote","Fern" }, 572{ "Remote","Fern" },
573{ "Local","Lokal" }, 573{ "Local","Lokal" },
574{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" }, 574{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" },
575{ "Local: ","Lokal: " }, 575{ "Local: ","Lokal: " },
576{ "Remote: ","Fern: " }, 576{ "Remote: ","Fern: " },
577{ "Last modified: ","Zuletzt geändert: " }, 577{ "Last modified: ","Zuletzt geändert: " },
578{ "Location: ","Ort: " }, 578{ "Location: ","Ort: " },
579{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" }, 579{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" },
580{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" }, 580{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" },
581{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " }, 581{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " },
582{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" }, 582{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" },
583{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " }, 583{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " },
584{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" }, 584{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" },
585{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." }, 585{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." },
586{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" }, 586{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" },
587{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" }, 587{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" },
588{ "( %1 min before )","( %1 min vorher )" }, 588{ "( %1 min before )","( %1 min vorher )" },
589{ "<b>Alarm on: ","<b>Alarm am: " }, 589{ "<b>Alarm on: ","<b>Alarm am: " },
590{ "<b>Details: </b>","<b>Details: </b>" }, 590{ "<b>Details: </b>","<b>Details: </b>" },
591{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 591{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
592{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" }, 592{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" },
593{ "Organizer","Organisator" }, 593{ "Organizer","Organisator" },
594{ "Save","Speichern" }, 594{ "Save","Speichern" },
595{ "Exit (+save)","Beenden (+ speichern)" }, 595{ "Exit (+save)","Beenden (+ speichern)" },
596{ "Home","Zuhause" }, 596{ "Home","Zuhause" },
597{ "Office","Büro" }, 597{ "Office","Büro" },
598{ "Libary","Bücherei" }, 598{ "Libary","Bücherei" },
599{ "Doctor","Arzt" }, 599{ "Doctor","Arzt" },
600{ "Beach","Strand" }, 600{ "Beach","Strand" },
601{ "Conference room","Konferenzraum" }, 601{ "Conference room","Konferenzraum" },
602{ "Drive Home","Heimfahrt" }, 602{ "Drive Home","Heimfahrt" },
603{ "Watch TV","Tv gucken" }, 603{ "Watch TV","Tv gucken" },
604{ "Phone call","Telefonanruf" }, 604{ "Phone call","Telefonanruf" },
605{ "Pay bill","Rechnung bezahlen" }, 605{ "Pay bill","Rechnung bezahlen" },
606{ "Read book","Buch lesen" }, 606{ "Read book","Buch lesen" },
607{ "Watering plants","Pflanzen giessen" }, 607{ "Watering plants","Pflanzen giessen" },
608{"Appointment","Verabredung" }, 608{"Appointment","Verabredung" },
609{"Birthday","Geburtstag" }, 609{"Birthday","Geburtstag" },
610{"Business","Geschäft" }, 610{"Business","Geschäft" },
611{"Business Travel","Geschäftsreise" }, 611{"Business Travel","Geschäftsreise" },
612{"Cinema","Kino" }, 612{"Cinema","Kino" },
613{"Customer","Kunde" }, 613{"Customer","Kunde" },
614{"Break","Pause" }, 614{"Break","Pause" },
615{"Breakfast","Frühstück" }, 615{"Breakfast","Frühstück" },
616{"Competition","Wettkampf" }, 616{"Competition","Wettkampf" },
617{"Dinner","Abendessen" }, 617{"Dinner","Abendessen" },
618{"Education","Erziehung" }, 618{"Education","Erziehung" },
619{"Family","Familie" }, 619{"Family","Familie" },
620{"Favorites","Favoriten" }, 620{"Favorites","Favoriten" },
621{"Festival","Festival" }, 621{"Festival","Festival" },
622{"Fishing","Angeln" }, 622{"Fishing","Angeln" },
623{"Flight","Flug" }, 623{"Flight","Flug" },
624{"Gifts","Geschenk" }, 624{"Gifts","Geschenk" },
625{"Holiday","Feiertag" }, 625{"Holiday","Feiertag" },
626{"Holiday Cards","Ansichtskarten" }, 626{"Holiday Cards","Ansichtskarten" },
627{"Hot Contacts","Heisse Kontakte" }, 627{"Hot Contacts","Heisse Kontakte" },
628{"Hiking","Wandern" }, 628{"Hiking","Wandern" },
629{"Hunting","Jagen" }, 629{"Hunting","Jagen" },
630{"Key Customer","Wichtiger Kunde" }, 630{"Key Customer","Wichtiger Kunde" },
631{"Kids","Kinder" }, 631{"Kids","Kinder" },
632{"Lunch","Mittagessen" }, 632{"Lunch","Mittagessen" },
633{"Meeting","Treffen" }, 633{"Meeting","Treffen" },
634{"Miscellaneous","Verschiedenes" }, 634{"Miscellaneous","Verschiedenes" },
635{"Partner","Partner" }, 635{"Partner","Partner" },
636{"Party","Partie" }, 636{"Party","Partie" },
637{"Personal","Privat" }, 637{"Personal","Privat" },
638{"Personal Travel","Privatreise"}, 638{"Personal Travel","Privatreise"},
639{"PHB","PHB" }, 639{"PHB","PHB" },
640{"Phone Calls","Telefonanruf" }, 640{"Phone Calls","Telefonanruf" },
641{"Projects","Projekt" }, 641{"Projects","Projekt" },
642{"Recurring","Wiederholend" }, 642{"Recurring","Wiederholend" },
643{"School","Schule" }, 643{"School","Schule" },
644{"Shopping","Einkaufen" }, 644{"Shopping","Einkaufen" },
645{"Speach","Rede" }, 645{"Speach","Rede" },
646{"Special Occasion","Spez.Gelegenheit" }, 646{"Special Occasion","Spez.Gelegenheit" },
647{"Sports","Sport" }, 647{"Sports","Sport" },
648{"Talk","Vortrag" }, 648{"Talk","Vortrag" },
649{"Travel","Reise" }, 649{"Travel","Reise" },
650{"TV","TV" }, 650{"TV","TV" },
651{"Germany","Deutschland" }, 651{"Germany","Deutschland" },
652{"Sweden","Schweden" }, 652{"Sweden","Schweden" },
653{"Forest","Wald" }, 653{"Forest","Wald" },
654{ "Desert","Wüste" }, 654{ "Desert","Wüste" },
655{ "Kitchen","Küche" }, 655{ "Kitchen","Küche" },
656{ "Lake","See" }, 656{ "Lake","See" },
657{"University","Universität"}, 657{"University","Universität"},
658{"Vacation","Urlaub" }, 658{"Vacation","Urlaub" },
659{"VIP","VIP" }, 659{"VIP","VIP" },
660{ "Import Sharp Calendar","Importiere Sharp Kalender" }, 660{ "Import Sharp Calendar","Importiere Sharp Kalender" },
661{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" }, 661{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" },
662{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" }, 662{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" },
663{ "Cancelled","Gecancelt" }, 663{ "Cancelled","Gecancelt" },
664{ "Multiple sync","Mehrfach Sync" }, 664{ "Multiple sync","Mehrfach Sync" },
665{ "Local file","Lokale Datei" }, 665{ "Local file","Lokale Datei" },
666{ "Last file","Letzte Datei" }, 666{ "Last file","Letzte Datei" },
667{ "Keys + Colors...","Tasten + Farben..." }, 667{ "Keys + Colors...","Tasten + Farben..." },
668{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" }, 668{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" },
669{ "Quick load/save (w/o Unicode)","Schnelles Laden/Speichern (o Unicode)" }, 669{ "Quick load/save (w/o Unicode)","Schnelles Laden/Speichern (o Unicode)" },
670{ "Choose...","Wähle..." }, 670{ "Choose...","Wähle..." },
671{ "Use colors for application:","Setze Farben für Programm:" }, 671{ "Use colors for application:","Setze Farben für Programm:" },
672{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" }, 672{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" },
673{ "Frames, labels, etc.:","Rahmen, Label, etc.:" }, 673{ "Frames, labels, etc.:","Rahmen, Label, etc.:" },
674{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." }, 674{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." },
675{ "Show location in What's Next view","Zeige Ort in What's Next Anz." }, 675{ "Show location in What's Next view","Zeige Ort in What's Next Anz." },
676{ "Show events that recur ","Zeige Termine, die sich wiederholen:" }, 676{ "Show events that recur ","Zeige Termine, die sich wiederholen:" },
677{ "Show in every cell ","Zeige in jeder Zelle " }, 677{ "Show in every cell ","Zeige in jeder Zelle " },
678{ "short month","kurzen Monat" }, 678{ "short month","kurzen Monat" },
679{ "icons","Icons" }, 679{ "icons","Icons" },
680{ "Show Sat/Sun together","Zeige Sam/Son zusammen" }, 680{ "Show Sat/Sun together","Zeige Sam/Son zusammen" },
681{ "Categorie colors are applied to text","Kategorie Farben färben Text" }, 681{ "Categorie colors are applied to text","Kategorie Farben färben Text" },
682{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" }, 682{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" },
683{ "Day color odd months","Tagesfarbe ungerade Monate" }, 683{ "Day color odd months","Tagesfarbe ungerade Monate" },
684{ "Day color even months","Tagesfarbe gerade Monate" }, 684{ "Day color even months","Tagesfarbe gerade Monate" },
685{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" }, 685{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" },
686{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" }, 686{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" },
687{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" }, 687{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" },
688{ "Colors are applied to text","Farben werden auf Text angewendet" }, 688{ "Colors are applied to text","Farben werden auf Text angewendet" },
689{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" }, 689{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" },
690{ "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Achtung: KO/Pi muß ausgeführt werden damit die Benachrichtigung funktioniert. Empfehlung für Zaurus: Diese Option nicht wählen und KO/Pi Alarm Applet installieren.\n" }, 690{ "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Achtung: KO/Pi muß ausgeführt werden damit die Benachrichtigung funktioniert. Empfehlung für Zaurus: Diese Option nicht wählen und KO/Pi Alarm Applet installieren.\n" },
691{ "Play beeps count:","Anzahl der Alarmpiepse: " }, 691{ "Play beeps count:","Anzahl der Alarmpiepse: " },
692{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " }, 692{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " },
693{ "Default suspend time in min:","Standard Supendierungs Zeit: " }, 693{ "Default suspend time in min:","Standard Supendierungs Zeit: " },
694{ "Auto suspend count:","Anzahl der auto Suspendierungen" }, 694{ "Auto suspend count:","Anzahl der auto Suspendierungen" },
695{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" }, 695{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" },
696{ "New profile","Neues Profil" }, 696{ "New profile","Neues Profil" },
697{ "Clone profile","Klone Profil" }, 697{ "Clone profile","Klone Profil" },
698{ "Delete profile","Lösche Profil" }, 698{ "Delete profile","Lösche Profil" },
699{ "Profile:","Profil:" }, 699{ "Profile:","Profil:" },
700{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" }, 700{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" },
701{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" }, 701{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" },
702{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" }, 702{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" },
703{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" }, 703{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" },
704{ "Write back file","Schreibe Datei zurück" }, 704{ "Write back file","Schreibe Datei zurück" },
705{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" }, 705{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" },
706{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" }, 706{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" },
707{ "Local device name:","Name dieses Gerätes:" }, 707{ "Local device name:","Name dieses Gerätes:" },
708{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" }, 708{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" },
709{ "Sync preferences","Synchronisations Einstellungen" }, 709{ "Sync preferences","Synchronisations Einstellungen" },
710{ "Profile kind","Profil Art" }, 710{ "Profile kind","Profil Art" },
711{ "Local file","Lokale Datei" }, 711{ "Local file","Lokale Datei" },
712{ "Local file:","Lokale Datei:" }, 712{ "Local file:","Lokale Datei:" },
713{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" }, 713{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" },
714{ "Fill in default values for:","Setze Beispiel Werte ein für:" }, 714{ "Fill in default values for:","Setze Beispiel Werte ein für:" },
715{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" }, 715{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" },
716{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"}, 716{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"},
717{ "Device","Gerät:" }, 717{ "Device","Gerät:" },
718{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" }, 718{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" },
719{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" }, 719{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" },
720{ "Synchronization successful","Synchronisation erfolgreich" }, 720{ "Synchronization successful","Synchronisation erfolgreich" },
721{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." }, 721{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." },
722{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" }, 722{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" },
723{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" }, 723{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" },
724{ "Enter password","Passwort eingeben" }, 724{ "Enter password","Passwort eingeben" },
725{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" }, 725{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" },
726{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." }, 726{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." },
727{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" }, 727{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" },
728{ "Writing back file result: ","Resultat des Dateizurückschreibens: " }, 728{ "Writing back file result: ","Resultat des Dateizurückschreibens: " },
729{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" }, 729{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" },
730{ "Edit Calendar Filters","Editiere Kalendar Filter" }, 730{ "Edit Calendar Filters","Editiere Kalendar Filter" },
731{ "Enter filter name:","Neuer Filter Name:" }, 731{ "Enter filter name:","Neuer Filter Name:" },
732{ "Add Filter","Filter hinzufügen" }, 732{ "Add Filter","Filter hinzufügen" },
733{ "Question","Frage" }, 733{ "Question","Frage" },
734{ "Filter position: ","Filter Position: " }, 734{ "Filter position: ","Filter Position: " },
735{ "Month View","Monatsansicht" }, 735{ "Month View","Monatsansicht" },
736{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" }, 736{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" },
737{ "KO/Pi config error","KO/Pi Konfig. Fehler" }, 737{ "KO/Pi config error","KO/Pi Konfig. Fehler" },
738{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" }, 738{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" },
739{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" }, 739{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" },
740{ "Access: ","Zugriff: " }, 740{ "Access: ","Zugriff: " },
741{ "Needs Action","Aktion notwendig" }, 741{ "Needs Action","Aktion notwendig" },
742{ "Accepted","Akzeptiert" }, 742{ "Accepted","Akzeptiert" },
743{ "Declined","Abgelehnt" }, 743{ "Declined","Abgelehnt" },
744{ "Tentative","Vorläufig" }, 744{ "Tentative","Vorläufig" },
745{ "Delegated","Beauftragt" }, 745{ "Delegated","Beauftragt" },
746{ "Completed","Vollständig" }, 746{ "Completed","Vollständig" },
747{ "In Process","In Bearbeitung" }, 747{ "In Process","In Bearbeitung" },
748{ "Participant","Teilnehmer" }, 748{ "Participant","Teilnehmer" },
749{ "Optional Participant","Möglicher Teilnehmer" }, 749{ "Optional Participant","Möglicher Teilnehmer" },
750{ "Observer","Beobachter" }, 750{ "Observer","Beobachter" },
751{ "Chair","Vorsitzender" }, 751{ "Chair","Vorsitzender" },
752{ "Not supported \non desktop!\n","" }, 752{ "Not supported \non desktop!\n","" },
753{ "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Es ist nichts selektiert!\nDieses druckt die volle Breite der Agenda View, so wie man sie sieht.\nUm die verticale Auswahl zum Drucken zu bestimmen,\nbitte einen verticalen Zeitraum (mit gedrückter linker Maustaste)\nin einer Spalte auswählen. " }, 753{ "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Es ist nichts selektiert!\nDieses druckt die volle Breite der Agenda View, so wie man sie sieht.\nUm die verticale Auswahl zum Drucken zu bestimmen,\nbitte einen verticalen Zeitraum (mit gedrückter linker Maustaste)\nin einer Spalte auswählen. " },
754{ "Date range: ","Datums Zeitspanne: " }, 754{ "Date range: ","Datums Zeitspanne: " },
755{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " }, 755{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " },
756{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." }, 756{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." },
757{ "Add / remove events","Add./entferne Termine" }, 757{ "Add / remove events","Add./entferne Termine" },
758{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." }, 758{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." },
759{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." }, 759{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." },
760{ "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie gepeicherte Datei wurde verändert!\nDatei Grösse: %1 Bytes.\nZuletzt geändert: %2\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" }, 760{ "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie gepeicherte Datei wurde verändert!\nDatei Grösse: %1 Bytes.\nZuletzt geändert: %2\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" },
761{ "Overwrite","Überschreiben" }, 761{ "Overwrite","Überschreiben" },
762{ "Sync+save","Syncen+speichern" }, 762{ "Sync+save","Syncen+speichern" },
763{ "Default","Standard" }, 763{ "Default","Standard" },
764{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " }, 764{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " },
765{ " %d items?"," %d Einträge?" }, 765{ " %d items?"," %d Einträge?" },
766{ "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nDieses ist ein\nwiederholender Termin!.\nSind Sie sicher, dass Sie\ndiesen Termin und alle\nWiederholungen löschen möchten?" }, 766{ "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nDieses ist ein\nwiederholender Termin!.\nSind Sie sicher, dass Sie\ndiesen Termin und alle\nWiederholungen löschen möchten?" },
767{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" }, 767{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" },
768{ "Current","Aktuelle" }, 768{ "Current","Aktuelle" },
769{ "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nDieses ist ein\nwiederholender Termin!\nMöchten sie alle Wiederholungen\nlöschen, oder nur die aktuelle am:\n" }, 769{ "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nDieses ist ein\nwiederholender Termin!\nMöchten sie alle Wiederholungen\nlöschen, oder nur die aktuelle am:\n" },
770{ "All","Alle" }, 770{ "All","Alle" },
771{ "Data Loss Warning","Datenverlust Warnung" }, 771{ "Data Loss Warning","Datenverlust Warnung" },
772{ "Proceed","Weitermachen" }, 772{ "Proceed","Weitermachen" },
773{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" }, 773{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" },
774{ "Filter disabled ","Filter abgeschaltet" }, 774{ "Filter disabled ","Filter abgeschaltet" },
775{ "Filter selected: ","Gewählter Filter: " }, 775{ "Filter selected: ","Gewählter Filter: " },
776{ "Toggle Cancel","Gecancelt ändern" }, 776{ "Toggle Cancel","Gecancelt ändern" },
777{ "&Toggle Cancel","Gecancel&t ändern" }, 777{ "&Toggle Cancel","Gecancel&t ändern" },
778{ "Configure Toolbar","Konfiguriere Toolbar" }, 778{ "Configure Toolbar","Konfiguriere Toolbar" },
779{ "Stretched TB","Gedehnte TB" }, 779{ "Stretched TB","Gedehnte TB" },
780{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" }, 780{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" },
781{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" }, 781{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" },
782{ "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","Wenn ein Kalender doppelt importiert\nwird, werden doppelte Einträge ignoriert!\nSie können eine Backup Datei anlegen unter\nDatei - Speichere Kalender Backup\num den Import rückgängig machen zu können.\n" }, 782{ "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","Wenn ein Kalender doppelt importiert\nwird, werden doppelte Einträge ignoriert!\nSie können eine Backup Datei anlegen unter\nDatei - Speichere Kalender Backup\num den Import rückgängig machen zu können.\n" },
783{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" }, 783{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" },
784{ "Imported file successfully","Datei erfolgreich importiert" }, 784{ "Imported file successfully","Datei erfolgreich importiert" },
785{ "Error importing file","Fehler beim Importieren der Datei" }, 785{ "Error importing file","Fehler beim Importieren der Datei" },
786{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" }, 786{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" },
787{ "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Zu speichernde Datei\existiert bereits!\nExist. Datei vom:\n%1\nÜberschreiben?\n" }, 787{ "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Zu speichernde Datei\existiert bereits!\nExist. Datei vom:\n%1\nÜberschreiben?\n" },
788{ "Overwrite!","Überschreiben!" }, 788{ "Overwrite!","Überschreiben!" },
789{ "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import Datei \n...%1\nvom:\n%2\nDuplizierte Einträge\nwerden nicht importiert!\n" }, 789{ "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import Datei \n...%1\nvom:\n%2\nDuplizierte Einträge\nwerden nicht importiert!\n" },
790{ "Load backup filename","Lade Backup Dateiname" }, 790{ "Load backup filename","Lade Backup Dateiname" },
791{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" }, 791{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" },
792{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" }, 792{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" },
793{ "Save backup filename","Speichere Backup Dateiname" }, 793{ "Save backup filename","Speichere Backup Dateiname" },
794{ "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Backup Datei\nexistiert bereits!\nAlte Backup Datei vom:\n%1\nÜberschreiben?\n" }, 794{ "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Backup Datei\nexistiert bereits!\nAlte Backup Datei vom:\n%1\nÜberschreiben?\n" },
795{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 795{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
796{ "Details of attendee","Teilnehmerdetails" }, 796{ "Details of attendee","Teilnehmerdetails" },
797{ "Work phone:\n","Telefon Arbeit:\n" }, 797{ "Work phone:\n","Telefon Arbeit:\n" },
798{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" }, 798{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" },
799{ "Home phone:\n","Telefon privat:\n" }, 799{ "Home phone:\n","Telefon privat:\n" },
800{ "Mobile home phone:\n","Mobiltelefon privat:\n" }, 800{ "Mobile home phone:\n","Mobiltelefon privat:\n" },
801{ "Email:\n","Email:\n" }, 801{ "Email:\n","Email:\n" },
802{ "Alarm disabled","Alarm deaktiviert" }, 802{ "Alarm disabled","Alarm deaktiviert" },
803{ "Audio.Al.: ","Audio Al.: " }, 803{ "Audio.Al.: ","Audio Al.: " },
804{ "Proc.Al.: ","Proc.Al.: " }, 804{ "Proc.Al.: ","Proc.Al.: " },
805{ "No sound set","Kein Sound definiert" }, 805{ "No sound set","Kein Sound definiert" },
806{ "*.wav|Wav Files","*.wav|Wav Dateien" }, 806{ "*.wav|Wav Files","*.wav|Wav Dateien" },
807{ "No program set","Kein Programm definiert" }, 807{ "No program set","Kein Programm definiert" },
808{ "Running '%1'","Ausführen '%1'" }, 808{ "Running '%1'","Ausführen '%1'" },
809{ "Playing '%1'","Abspielen '%1'" }, 809{ "Playing '%1'","Abspielen '%1'" },
810{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" }, 810{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" },
811{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" }, 811{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" },
812{ "Load!","Laden!" }, 812{ "Load!","Laden!" },
813{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" }, 813{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" },
814{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" }, 814{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" },
815{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" }, 815{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" },
816{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, 816{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" },
817{ "Features + hints...","Eigenschaften + Tipps..." }, 817{ "Features + hints...","Eigenschaften + Tipps..." },
818{ "User translation...","Benutzer Übersetzung..." }, 818{ "User translation...","Benutzer Übersetzung..." },
819{ "Sync HowTo...","Synchronisation HowTo..." }, 819{ "Sync HowTo...","Synchronisation HowTo..." },
820{ "Print calendar...","Drucke Kalender..." }, 820{ "Print calendar...","Drucke Kalender..." },
821{ "Anniversary","Jahrestag" }, 821{ "Anniversary","Jahrestag" },
822{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" }, 822{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" },
823{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" }, 823{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" },
824{ "Next recurrence is on: ","Nächste Wiederholung ist am:" }, 824{ "Next recurrence is on: ","Nächste Wiederholung ist am:" },
825{ "<b>Alarm on: </b>","<b>Alarm am: </b>" }, 825{ "<b>Alarm on: </b>","<b>Alarm am: </b>" },
826{ "<b>Access: </b>","<b>Zugriff: </b>" }, 826{ "<b>Access: </b>","<b>Zugriff: </b>" },
827{ "(%1 min before)","(%1 min vorher)" }, 827{ "(%1 min before)","(%1 min vorher)" },
828{ "<b>Categories: </b>","<b>Kategorien: </b>" }, 828{ "<b>Categories: </b>","<b>Kategorien: </b>" },
829{ "Save Journal/Description...","Speichere Journal/Details..." }, 829{ "Save Journal/Description...","Speichere Journal/Details..." },
830{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." }, 830{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." },
831{ "Continue","Weitermachen" }, 831{ "Continue","Weitermachen" },
832{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" }, 832{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" },
833{ "Attendee:","Teilnehmer:" }, 833{ "Attendee:","Teilnehmer:" },
834{ "Click OK to search ->","Klicke zum Suchen auf OK ->" }, 834{ "Click OK to search ->","Klicke zum Suchen auf OK ->" },
835{ "On day ","Am Tag " },
836{ "%1 of ","%1 des Monats" },
837{ "%1 of the year","%1 des Jahres" },
838{ "","" },
835{ "","" }, 839{ "","" },
836{ "","" }, 840{ "","" },
837{ "","" }, 841{ "","" },
838{ "","" }, 842{ "","" },
839{ "","" }, 843{ "","" },
840{ "","" }, 844{ "","" },