summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2004-08-06 16:50:03 (UTC)
committer zautrix <zautrix>2004-08-06 16:50:03 (UTC)
commit02963edb373e263bd50ab431633ea66adf32a4aa (patch) (unidiff)
tree3affe8b9605f31e2a85c1c9c6cf4dfb9ab386394 /korganizer
parent55a7ffaccca40d10932c98527a34cc6cc9c89afb (diff)
downloadkdepimpi-02963edb373e263bd50ab431633ea66adf32a4aa.zip
kdepimpi-02963edb373e263bd50ab431633ea66adf32a4aa.tar.gz
kdepimpi-02963edb373e263bd50ab431633ea66adf32a4aa.tar.bz2
Fixed translation problem
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koprefs.cpp17
-rw-r--r--korganizer/koprefsdialog.cpp4
-rw-r--r--korganizer/wordsgerman.h4
3 files changed, 15 insertions, 10 deletions
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index f3231ff..042046e 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -390,74 +390,79 @@ QStringList KOPrefs::getDefaultList()
390void KOPrefs::usrReadConfig() 390void KOPrefs::usrReadConfig()
391{ 391{
392 mLocaleDict = 0; 392 mLocaleDict = 0;
393 // pending LR fix translation 393 // pending LR fix translation
394 // qDebug("KOPrefs::usrReadConfig() fix translation "); 394 // qDebug("KOPrefs::usrReadConfig() fix translation ");
395 if ( mPreferredLanguage == 1 ) { 395 if ( mPreferredLanguage == 1 ) {
396 mLocaleDict = new QDict<QString>; 396 mLocaleDict = new QDict<QString>;
397 int i = 0; 397 int i = 0;
398 QString fw ( germanwords[i] [0]); 398 QString fw ( germanwords[i] [0]);
399 while ( !fw.isEmpty() ) { 399 while ( !fw.isEmpty() ) {
400 mLocaleDict->insert( fw, new QString (germanwords[i] [1] )); 400 mLocaleDict->insert( fw, new QString (germanwords[i] [1] ));
401 ++i; 401 ++i;
402 fw = germanwords[i] [0]; 402 fw = germanwords[i] [0];
403 } 403 }
404 404
405 setLocaleDict( mLocaleDict ); 405 setLocaleDict( mLocaleDict );
406 } 406 } else {
407 if ( mPreferredLanguage == 3 ) { 407 QString fileName ;
408 QString fileName = MainWindow::resourcePath()+"usertranslation.txt"; 408 if ( mPreferredLanguage == 3 )
409 fileName = MainWindow::resourcePath()+"usertranslation.txt";
410 else if ( mPreferredLanguage == 2 )
411 fileName = MainWindow::resourcePath()+"frenchtranslation.txt";
412 else return;
409 QFile file( fileName ); 413 QFile file( fileName );
410 if (file.open( IO_ReadOnly ) ) { 414 if (file.open( IO_ReadOnly ) ) {
411 QTextStream ts( &file ); 415 QTextStream ts( &file );
412 ts.setCodec( QTextCodec::codecForLocale() ); 416 ts.setCodec( QTextCodec::codecForLocale() );
413 QString text = ts.read(); 417 QString text = ts.read();
414 file.close(); 418 file.close();
415 419 text.replace( QRegExp("\\\\n"), "\n" );
416 QString line; 420 QString line;
417 QString we; 421 QString we;
418 QString wt; 422 QString wt;
419 int br = 0; 423 int br = 0;
420 int nbr; 424 int nbr;
421 nbr = text.find ( "},", br ); 425 nbr = text.find ( "},", br );
422 line = text.mid( br, nbr - br ); 426 line = text.mid( br, nbr - br );
423 br = nbr+1; 427 br = nbr+1;
424 int se, ee, st, et; 428 int se, ee, st, et;
425 mLocaleDict = new QDict<QString>; 429 mLocaleDict = new QDict<QString>;
426 QString end = "{ \"\",\"\" }"; 430 QString end = "{ \"\",\"\" }";
427 while ( (line != end) && (br > 1) ) { 431 while ( (line != end) && (br > 1) ) {
428 //qDebug("%d *%s* ", br, line.latin1()); 432 //qDebug("%d *%s* ", br, line.latin1());
429 se = line.find("\"")+1; 433 se = line.find("\"")+1;
430 et = line.findRev("\"",-1); 434 et = line.findRev("\"",-1);
431 ee = line.find("\",\""); 435 ee = line.find("\",\"");
432 st = ee+3; 436 st = ee+3;
433 we = line.mid( se, ee-se ); 437 we = line.mid( se, ee-se );
434 wt = line.mid( st, et-st ); 438 wt = line.mid( st, et-st );
435 //qDebug("*%s* *%s* ", we.latin1(), wt.latin1()); 439 //qDebug("*%s* *%s* ", we.latin1(), wt.latin1());
436 mLocaleDict->insert( we, new QString (wt) ); 440 mLocaleDict->insert( we, new QString (wt) );
437 nbr = text.find ( "}", br ); 441 nbr = text.find ( "}", br );
438 line = text.mid( br, nbr - br ); 442 line = text.mid( br, nbr - br );
439 br = nbr+1; 443 br = nbr+1;
440 } 444 }
441 //qDebug("end *%s* ", end.latin1()); 445 //qDebug("end *%s* ", end.latin1());
442 446
443 setLocaleDict( mLocaleDict ); 447 setLocaleDict( mLocaleDict );
444 } else { 448 } else {
445 qDebug("KO: Cannot find translation file usertranslation.txt"); 449 qDebug("KO: Cannot find translation file %s",fileName.latin1() );
446 } 450 }
447 } 451
452}
448 config()->setGroup("General"); 453 config()->setGroup("General");
449 454
450 mCustomCategories = config()->readListEntry("Custom Categories"); 455 mCustomCategories = config()->readListEntry("Custom Categories");
451 if ( KOPrefs::instance()->mLanguageChanged ) { 456 if ( KOPrefs::instance()->mLanguageChanged ) {
452 mLocationDefaults.clear(); 457 mLocationDefaults.clear();
453 mEventSummaryUser.clear(); 458 mEventSummaryUser.clear();
454 mTodoSummaryUser.clear(); 459 mTodoSummaryUser.clear();
455 } 460 }
456 if (mLocationDefaults.isEmpty()) { 461 if (mLocationDefaults.isEmpty()) {
457 mLocationDefaults << i18n("Home") << i18n("Office") << i18n("Libary") << i18n("School") << i18n("Doctor") << i18n("Beach") 462 mLocationDefaults << i18n("Home") << i18n("Office") << i18n("Libary") << i18n("School") << i18n("Doctor") << i18n("Beach")
458 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") << i18n("Cinema") << i18n("Lake") << i18n("Kindergarden") 463 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") << i18n("Cinema") << i18n("Lake") << i18n("Kindergarden")
459 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ; 464 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ;
460 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") 465 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("")
461 mLocationDefaults.sort(); 466 mLocationDefaults.sort();
462 } 467 }
463 468
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index da6644f..5ba4817 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -150,33 +150,33 @@ QFrame *topFrame = addPage(i18n("Date Format"),0,0);
150 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 150 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
151 ++iii; 151 ++iii;
152 152
153} 153}
154 154
155void KOPrefsDialog::setupLocaleTab() 155void KOPrefsDialog::setupLocaleTab()
156{ 156{
157 QFrame *topFrame = addPage(i18n("Locale"),0,0); 157 QFrame *topFrame = addPage(i18n("Locale"),0,0);
158 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 158 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
159 topLayout->setSpacing(spacingHint()); 159 topLayout->setSpacing(spacingHint());
160 topLayout->setMargin(marginHint()); 160 topLayout->setMargin(marginHint());
161 int iii = 0; 161 int iii = 0;
162 KPrefsWidRadios *syncPrefsGroup = 162 KPrefsWidRadios *syncPrefsGroup =
163 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame); 163 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame);
164 syncPrefsGroup->addRadio(i18n("English")); 164 syncPrefsGroup->addRadio(i18n("English"));
165 syncPrefsGroup->addRadio(i18n("German")); 165 syncPrefsGroup->addRadio(i18n("German"));
166 syncPrefsGroup->addRadio(i18n("French(nyi)")); 166 syncPrefsGroup->addRadio(i18n("French"));
167 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); 167 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
168 if ( QApplication::desktop()->width() < 300 ) 168 if ( QApplication::desktop()->width() < 300 )
169 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 169 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
170 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 170 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
171 ++iii; 171 ++iii;
172 172
173 syncPrefsGroup = 173 syncPrefsGroup =
174 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame); 174 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame);
175 if ( QApplication::desktop()->width() > 300 ) 175 if ( QApplication::desktop()->width() > 300 )
176 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 176 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
177 syncPrefsGroup->addRadio(i18n("24:00")); 177 syncPrefsGroup->addRadio(i18n("24:00"));
178 syncPrefsGroup->addRadio(i18n("12:00am")); 178 syncPrefsGroup->addRadio(i18n("12:00am"));
179 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 179 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
180 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 180 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
181 ++iii; 181 ++iii;
182 KPrefsWidBool *sb; 182 KPrefsWidBool *sb;
@@ -1570,33 +1570,33 @@ void KOPrefsDialog::setupTimeZoneTab()
1570 int nCurrentlySet = 11; 1570 int nCurrentlySet = 11;
1571 for (int i = 0; i < mTimeZoneCombo->count(); i++) 1571 for (int i = 0; i < mTimeZoneCombo->count(); i++)
1572 { 1572 {
1573 if (mTimeZoneCombo->text(i) == sCurrentlySet) 1573 if (mTimeZoneCombo->text(i) == sCurrentlySet)
1574 { 1574 {
1575 nCurrentlySet = i; 1575 nCurrentlySet = i;
1576 break; 1576 break;
1577 } 1577 }
1578 } 1578 }
1579 mTimeZoneCombo->setCurrentItem(nCurrentlySet); 1579 mTimeZoneCombo->setCurrentItem(nCurrentlySet);
1580 int iii = 1; 1580 int iii = 1;
1581 KPrefsWidBool *sb = 1581 KPrefsWidBool *sb =
1582 addWidBool(i18n("Timezone has daylight saving"), 1582 addWidBool(i18n("Timezone has daylight saving"),
1583 &(KOPrefs::instance()->mUseDaylightsaving),topFrame); 1583 &(KOPrefs::instance()->mUseDaylightsaving),topFrame);
1584 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 1584 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
1585 ++iii; 1585 ++iii;
1586 QLabel* lab = new QLabel( i18n("Actual start/end is the\nsunday before this date."), topFrame ); 1586 QLabel* lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame );
1587 topLayout->addMultiCellWidget(lab, iii,iii,0,1); 1587 topLayout->addMultiCellWidget(lab, iii,iii,0,1);
1588 ++iii; 1588 ++iii;
1589 lab = new QLabel( i18n("The year in the date is ignored."), topFrame ); 1589 lab = new QLabel( i18n("The year in the date is ignored."), topFrame );
1590 topLayout->addMultiCellWidget(lab, iii,iii,0,1); 1590 topLayout->addMultiCellWidget(lab, iii,iii,0,1);
1591 ++iii; 1591 ++iii;
1592 lab = new QLabel( i18n("Daylight start:"), topFrame ); 1592 lab = new QLabel( i18n("Daylight start:"), topFrame );
1593 topLayout->addWidget(lab, iii,0); 1593 topLayout->addWidget(lab, iii,0);
1594 mStartDateSavingEdit = new KDateEdit(topFrame); 1594 mStartDateSavingEdit = new KDateEdit(topFrame);
1595 topLayout->addWidget(mStartDateSavingEdit, iii,1); 1595 topLayout->addWidget(mStartDateSavingEdit, iii,1);
1596 ++iii; 1596 ++iii;
1597 1597
1598 lab = new QLabel( i18n("Daylight end:"), topFrame ); 1598 lab = new QLabel( i18n("Daylight end:"), topFrame );
1599 topLayout->addWidget(lab, iii,0); 1599 topLayout->addWidget(lab, iii,0);
1600 mEndDateSavingEdit = new KDateEdit(topFrame); 1600 mEndDateSavingEdit = new KDateEdit(topFrame);
1601 topLayout->addWidget(mEndDateSavingEdit, iii,1); 1601 topLayout->addWidget(mEndDateSavingEdit, iii,1);
1602 ++iii; 1602 ++iii;
diff --git a/korganizer/wordsgerman.h b/korganizer/wordsgerman.h
index 8310f2f..6fd347c 100644
--- a/korganizer/wordsgerman.h
+++ b/korganizer/wordsgerman.h
@@ -439,33 +439,33 @@
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 and 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)" },
@@ -552,33 +552,33 @@
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","Französich" },
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>" },