summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-10-23 22:58:21 (UTC)
committer zautrix <zautrix>2004-10-23 22:58:21 (UTC)
commitfcea043d2200bb4bb0b1146a69204af15fb58a7d (patch) (side-by-side diff)
treec2c210290c02f20af3b307f4c4e47ba8915f7a05
parent22c26311ca936fa1036e406c86e0178c16acd090 (diff)
downloadkdepimpi-fcea043d2200bb4bb0b1146a69204af15fb58a7d.zip
kdepimpi-fcea043d2200bb4bb0b1146a69204af15fb58a7d.tar.gz
kdepimpi-fcea043d2200bb4bb0b1146a69204af15fb58a7d.tar.bz2
kopimail translation
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/kopiemail/germantranslation.txt243
-rw-r--r--bin/kdepim/kopiemail/usertranslation.txt243
-rw-r--r--kmicromail/libmailwrapper/mhwrapper.cpp13
-rw-r--r--kmicromail/libmailwrapper/sendmailprogress.cpp5
-rw-r--r--kmicromail/main.cpp1
-rw-r--r--kmicromail/opiemail.cpp1
-rw-r--r--microkde/kdecore/klocale.cpp62
7 files changed, 553 insertions, 15 deletions
diff --git a/bin/kdepim/kopiemail/germantranslation.txt b/bin/kdepim/kopiemail/germantranslation.txt
new file mode 100644
index 0000000..7a53d36
--- a/dev/null
+++ b/bin/kdepim/kopiemail/germantranslation.txt
@@ -0,0 +1,243 @@
+{ " Local Time"," Locale Zeit" },
+{ "Preferences","Vorlieben" },
+{ "Ok","Ok" },
+{ "Default","Standard" },
+{ "Cancel","Abbrechen" },
+{ "Global","Global" },
+{ "Email","Email" },
+{ "Phone","Phone" },
+{ "SMS","SMS" },
+{ "Fax","Fax" },
+{ "Pager","Pager" },
+{ "SIP","SIP" },
+{ "Language:(needs restart)","Sprache (Neustart!)" },
+{ "English","Englisch" },
+{ "German","Deutsch" },
+{ "French","Französich" },
+{ "Italian","Italienisch" },
+{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" },
+{ "Time Format(nr):","Zeit Format(Neustart!)" },
+{ "24:00","24:00" },
+{ "12:00am","12:00am" },
+{ "Week starts on Sunday","Woche beginnt Sonntags" },
+{ "Locale","Localisation" },
+{ "Date Format:","Datums Format:" },
+{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
+{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
+{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
+{ "User defined","Benutzerdefiniert" },
+{ "User long date:","Format langes Datum:" },
+{ "User short date:","Format kurzes Datum:" },
+{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
+{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
+{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
+{ "Date Format","Datums Format" },
+{ "Timezone:","Zeitzone:" },
+{ "Add 30 min (+00:30) to selected Timezone","Addiere 30 min zur selektierten Zeitzone" },
+{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
+{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der Sonntag\nvor diesem Datum!" },
+{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
+{ "Daylight start:","Sommerzeit Beginn:" },
+{ "Mon","Mo" },
+{ "Tue","Di" },
+{ "Wed","Mi" },
+{ "Thu","Do" },
+{ "Fri","Fr" },
+{ "Sat","Sa" },
+{ "Sun","So" },
+{ "January","Januar" },
+{ "February","Februar" },
+{ "March","März" },
+{ "April","April" },
+{ "May","Mai" },
+{ "June","Juni" },
+{ "July","Juli" },
+{ "August","August" },
+{ "September","September" },
+{ "October","Oktober" },
+{ "November","November" },
+{ "December","Dezember" },
+{ "tomorrow","morgen" },
+{ "today","heute" },
+{ "yesterday","gestern" },
+{ "Monday","Montag" },
+{ "Tuesday","Dienstag" },
+{ "Wednesday","Mittwoch" },
+{ "Thursday","Donnerstag" },
+{ "Friday","Freitag" },
+{ "Saturday","Samstag" },
+{ "Sunday","Sonntag" },
+{ "Daylight end:","Sommerzeit Ende:" },
+{ "Time Zone","Zeitzone" },
+{ "Used Mail Client","Benutzter Mail Client" },
+{ "Channel:","Channel:" },
+{ "Message:","Message:" },
+{ "Parameters:","Parameter:" },
+{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
+{ "extra Message:","extra Message:" },
+{ "extra Parameters:","extra Parameter:" },
+{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
+{ "External Apps.","Externe Appl." },
+{ "General","Allgemein" },
+{ "Full &name:","Vor- und &Nachname:" },
+{ "E&mail address:","E&mail Adresse:" },
+{ "Fonts","Schriftart" },
+{ "Choose...","Wähle..." },
+{ "Used %1 Client","Benutzter %1 Client" },
+{ "No email client installed","Kein Email Klient installiert" },
+{ "Userdefined email client","Benutzerdef. Email Klient" },
+{ "OM/Pi email client","OM/Pi Email Klient" },
+{ "Delete","Löschen" },
+{ "New","Neu" },
+{ "Edit","Bearbeite" },
+{ "Close","Schließen" },
+{ "Size","Größe" },
+{ "Date","Datum" },
+{ "Please set at","Bitte einstellen in" },
+{ "Settings@General TAB","Einstellungen@Allgemein TAB" },
+{ "KOpieMail/Pi","KOpieMail/Pi" },
+{ "Mail","Mail" },
+{ "Settings","Einstellungen" },
+{ "Get all new mails","Hole alle neuen Mails" },
+{ "Get new messages","Hole neue mails" },
+{ "Compose new mail","Schreibe neue Mail" },
+{ "Send queued mails","Sende gespeicherte Mails" },
+{ "Show/Hide folders","Zeige Verzeichnisse" },
+{ "Delete Mail","Lösche Mail" },
+{ "Edit settings","Ändere Einstellungen" },
+{ "Configure accounts","Konfiguriere Zugänge" },
+{ "Mailbox","Mailbox" },
+{ "Subject","Betreff" },
+{ "Sender","Sender" },
+{ "Size","Größe" },
+{ "Date","Datum" },
+{ "Close","Schliessen" },
+{ "Help","Hilfe" },
+{ "About","Über" },
+{ "Licence","Lizenz" },
+{ "LibEtPan Licence","LibEtPan Lizenz" },
+{ "Settings - some need a restart (nr)","Einstellungen - manche benötigen einen Neustart (nr)" },
+{ "HINT: Separate multiple\neMail addresses by ";"","Hinweis: Trenne mehrere Addressen mit einem ";"" },
+{ "Ignore above settings and\nuse KA/Pi "Who am I" instead!","Ignoriere obige Einstellungen und\nbenutze KA/Pi "Wer bin ich" stattdessen!" },
+{ "View mail as html","Zeige Mails als html" },
+{ "Send mails later","Sende Mails später" },
+{ "Application(nr)","Applikation(nr)" },
+{ "OK","OK" },
+{ "Compose mail:","Verfasse Mail:" },
+{ "Dear Mr.","Hallo Herr" },
+{ "Read mail:","Lese Mail:" },
+{ "Hello","Hallo" },
+{ "Configure Accounts","Konfigure Zugänge" },
+{ "Name of the Account","Name des Zugangs" },
+{ "News","News" },
+{ "Account","Zugang" },
+{ "Type","Typ" },
+{ "<p>Please select an account.</p>","<p>Bitte wähle einen Zugang.</p>" },
+{ "Error","Fehler" },
+{ "Configure NNTP","Konfiguriere News" },
+{ "Port","Port" },
+{ "Server","Server" },
+{ "Use SSL","Benutze SSL" },
+{ "User","Benutzer" },
+{ "Password","Passwort" },
+{ "Use Login","Benutze Login" },
+{ "Newsgroup","Newsgroup" },
+{ "Get newsgroup list from server","Hole Newsgroup Liste vom Server" },
+{ "Filter:","Filter:" },
+{ "Show subscribed","Zeige abbonnierte" },
+{ "Groups","NewsGroups" },
+{ "Configure IMAP","Konfiguriere IMAP" },
+{ "Use secure sockets:","Benutze sichere Verbindung:" },
+{ "ssh $SERVER exec","ssh $SERVER exec" },
+{ "Prefix","Prefix" },
+{ "Local storage folder:","Lokales Verzeichnis:" },
+{ "Get only messages smaller","Hole nur Nachrichten kleiner" },
+{ "kB","kB" },
+{ "Leave Messages on Server","Belasse Nachrichten auf dem Server" },
+{ "Configure POP3","Konfiguriere POP3" },
+{ "ssh $SERVER exec imapd","ssh $SERVER exec imapd" },
+{ "Configure SMTP","Konfiguriere SMTP" },
+{ "Name of the SMTP Server","Name des SMTP Servers" },
+{ "Port of the SMTP Server","Port des SMTP Servers" },
+{ "Fetching folder list","Hole Verzeichnis Liste" },
+{ "Fetch ","Hole " },
+{ "Fetching header list","Hole Titel Liste" },
+{ "Mailbox has %1 mails","Mailbox hat %1 Mails" },
+{ "Read this mail","Lies diese Mail" },
+{ "Move/Copy this mail","Verschiebe/kopiere diese Mail" },
+{ "Delete this mail","Lösche diese Mail" },
+{ "Move/Copy all selected mail","Verschiebe/kopiere selektierte Mails" },
+{ "Delete all selected mails","Lösche alle selektierten Mails" },
+{ "Clear selection","Selektion aufheben" },
+{ "Reply","Antworten" },
+{ "Forward","Weiterleiten" },
+{ "Attachments","Anhang" },
+{ "Show Html","Zeige in html" },
+{ "Description","Beschreibung" },
+{ "Filename","Dateiname" },
+{ "E-Mail by %1","E-Mail von %1" },
+{ "Cc","Kopie" },
+{ "To","An" },
+{ "From","Von" },
+{ "<p>Do you really want to delete this mail? <br><br>","<p>Wollen Sie diese Mail wirklich löschen? <br><br>" },
+{ "Mailbox has %1 mail(s)","Mailbox hat %1 Mail(s)" },
+{ "Move/Copie all mails","Verschiebe/kopiere alle Mails" },
+{ "Delete all mails","Lösche alle Mails" },
+{ "Create new subfolder","Neues Unterverzeichnis" },
+{ "Delete folder","Lösche Verzeichnis" },
+{ "Refresh folder list","Aktualisiere Verzeichnis Liste" },
+{ "Create new folder","Neues Verzeichnis" },
+{ "Disconnect","Disconnect" },
+{ "Set offline","Gehe offline" },
+{ "Select target box","Wähle Ziel Box" },
+{ "<b>Store mail(s) to</b>","<b>Speichere Mail(s) nach</b>" },
+{ "Folder:","Verzeichnis:" },
+{ "Account:","Zugang:" },
+{ "Prefix will prepend, no need to enter it!","Prefix wird vorangestellt, braucht nicht eingegeben zu werden!" },
+{ "Move mail(s)","Verschiebe Mail(s)" },
+{ "apply only to mails smaller","wende nur auf Mails an, kleiner als" },
+{ " kB"," kB" },
+{ " message %1 of %2"," Nachricht %1 von %2" },
+{ "Copying...","Am Kopieren..." },
+{ "Copy message %1 of %2","Kopiere Nachricht %1 von %2" },
+{ "Do you really want to delete\nall selected mails?","Wollen Sie wirklich alle\nselektierten Mails Löschen?" },
+{ "Delete All Mails","Lösche alle Mails" },
+{ "Deleting ...","Am Löschen..." },
+{ "Delete message %1 of %2","Lösche Nachricht %1 von %2" },
+{ "Compose Message","Verfasse Nachricht" },
+{ "Reply-To","Antwort-An" },
+{ "BCC","BCC" },
+{ "Signature","Signatur" },
+{ "CC","Kopie" },
+{ "Options","Optionen" },
+{ "Delete File","Lösche Datei" },
+{ "Add File","Füge Datei hinzu" },
+{ "Attachment","Anhang" },
+{ "send later","sende später" },
+{ "use:","via:" },
+{ "Save","Speichern" },
+{ "Name","Name" },
+{ "No Receiver spezified","Kein Empfänger angegeben" },
+{ "Sending mail","Sende Mail" },
+{ "No","Nein" },
+{ "Yes","Ja" },
+{ "Store message into drafts?\n","Speichere Nachricht in Entwürfe?\n" },
+{ "Store message?","Nachricht speichern?" },
+{ "Select Type","Selektiere Typ" },
+{ "Select Account Type","Wähle Art des Zugangs" },
+{ "IMAP","IMAP (online lesen)" },
+{ "POP3","POP3 (holen)" },
+{ "SMTP","SMTP (senden)" },
+{ "<p>Do you really want to delete the selected Account?</p>","<p>Möchten Sie wirklich den ausgewählten Account löschen?</p>" },
+{ "Question","Eine Frage..." },
+{ "Send this message?","Nachricht wirklich senden?" },
+{ "Stop editing message","Stop editing message" },
+{ "Sending mail %1 of %2","Sende Mail %1 von %2" },
+{ "%1 of %2 bytes send","%1 von %2 Bytes gesendet" },
+{ "Refresh header list","Aktualisiere Titel Liste" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
diff --git a/bin/kdepim/kopiemail/usertranslation.txt b/bin/kdepim/kopiemail/usertranslation.txt
new file mode 100644
index 0000000..7a53d36
--- a/dev/null
+++ b/bin/kdepim/kopiemail/usertranslation.txt
@@ -0,0 +1,243 @@
+{ " Local Time"," Locale Zeit" },
+{ "Preferences","Vorlieben" },
+{ "Ok","Ok" },
+{ "Default","Standard" },
+{ "Cancel","Abbrechen" },
+{ "Global","Global" },
+{ "Email","Email" },
+{ "Phone","Phone" },
+{ "SMS","SMS" },
+{ "Fax","Fax" },
+{ "Pager","Pager" },
+{ "SIP","SIP" },
+{ "Language:(needs restart)","Sprache (Neustart!)" },
+{ "English","Englisch" },
+{ "German","Deutsch" },
+{ "French","Französich" },
+{ "Italian","Italienisch" },
+{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" },
+{ "Time Format(nr):","Zeit Format(Neustart!)" },
+{ "24:00","24:00" },
+{ "12:00am","12:00am" },
+{ "Week starts on Sunday","Woche beginnt Sonntags" },
+{ "Locale","Localisation" },
+{ "Date Format:","Datums Format:" },
+{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
+{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
+{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
+{ "User defined","Benutzerdefiniert" },
+{ "User long date:","Format langes Datum:" },
+{ "User short date:","Format kurzes Datum:" },
+{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
+{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
+{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
+{ "Date Format","Datums Format" },
+{ "Timezone:","Zeitzone:" },
+{ "Add 30 min (+00:30) to selected Timezone","Addiere 30 min zur selektierten Zeitzone" },
+{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
+{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der Sonntag\nvor diesem Datum!" },
+{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
+{ "Daylight start:","Sommerzeit Beginn:" },
+{ "Mon","Mo" },
+{ "Tue","Di" },
+{ "Wed","Mi" },
+{ "Thu","Do" },
+{ "Fri","Fr" },
+{ "Sat","Sa" },
+{ "Sun","So" },
+{ "January","Januar" },
+{ "February","Februar" },
+{ "March","März" },
+{ "April","April" },
+{ "May","Mai" },
+{ "June","Juni" },
+{ "July","Juli" },
+{ "August","August" },
+{ "September","September" },
+{ "October","Oktober" },
+{ "November","November" },
+{ "December","Dezember" },
+{ "tomorrow","morgen" },
+{ "today","heute" },
+{ "yesterday","gestern" },
+{ "Monday","Montag" },
+{ "Tuesday","Dienstag" },
+{ "Wednesday","Mittwoch" },
+{ "Thursday","Donnerstag" },
+{ "Friday","Freitag" },
+{ "Saturday","Samstag" },
+{ "Sunday","Sonntag" },
+{ "Daylight end:","Sommerzeit Ende:" },
+{ "Time Zone","Zeitzone" },
+{ "Used Mail Client","Benutzter Mail Client" },
+{ "Channel:","Channel:" },
+{ "Message:","Message:" },
+{ "Parameters:","Parameter:" },
+{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
+{ "extra Message:","extra Message:" },
+{ "extra Parameters:","extra Parameter:" },
+{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
+{ "External Apps.","Externe Appl." },
+{ "General","Allgemein" },
+{ "Full &name:","Vor- und &Nachname:" },
+{ "E&mail address:","E&mail Adresse:" },
+{ "Fonts","Schriftart" },
+{ "Choose...","Wähle..." },
+{ "Used %1 Client","Benutzter %1 Client" },
+{ "No email client installed","Kein Email Klient installiert" },
+{ "Userdefined email client","Benutzerdef. Email Klient" },
+{ "OM/Pi email client","OM/Pi Email Klient" },
+{ "Delete","Löschen" },
+{ "New","Neu" },
+{ "Edit","Bearbeite" },
+{ "Close","Schließen" },
+{ "Size","Größe" },
+{ "Date","Datum" },
+{ "Please set at","Bitte einstellen in" },
+{ "Settings@General TAB","Einstellungen@Allgemein TAB" },
+{ "KOpieMail/Pi","KOpieMail/Pi" },
+{ "Mail","Mail" },
+{ "Settings","Einstellungen" },
+{ "Get all new mails","Hole alle neuen Mails" },
+{ "Get new messages","Hole neue mails" },
+{ "Compose new mail","Schreibe neue Mail" },
+{ "Send queued mails","Sende gespeicherte Mails" },
+{ "Show/Hide folders","Zeige Verzeichnisse" },
+{ "Delete Mail","Lösche Mail" },
+{ "Edit settings","Ändere Einstellungen" },
+{ "Configure accounts","Konfiguriere Zugänge" },
+{ "Mailbox","Mailbox" },
+{ "Subject","Betreff" },
+{ "Sender","Sender" },
+{ "Size","Größe" },
+{ "Date","Datum" },
+{ "Close","Schliessen" },
+{ "Help","Hilfe" },
+{ "About","Über" },
+{ "Licence","Lizenz" },
+{ "LibEtPan Licence","LibEtPan Lizenz" },
+{ "Settings - some need a restart (nr)","Einstellungen - manche benötigen einen Neustart (nr)" },
+{ "HINT: Separate multiple\neMail addresses by ";"","Hinweis: Trenne mehrere Addressen mit einem ";"" },
+{ "Ignore above settings and\nuse KA/Pi "Who am I" instead!","Ignoriere obige Einstellungen und\nbenutze KA/Pi "Wer bin ich" stattdessen!" },
+{ "View mail as html","Zeige Mails als html" },
+{ "Send mails later","Sende Mails später" },
+{ "Application(nr)","Applikation(nr)" },
+{ "OK","OK" },
+{ "Compose mail:","Verfasse Mail:" },
+{ "Dear Mr.","Hallo Herr" },
+{ "Read mail:","Lese Mail:" },
+{ "Hello","Hallo" },
+{ "Configure Accounts","Konfigure Zugänge" },
+{ "Name of the Account","Name des Zugangs" },
+{ "News","News" },
+{ "Account","Zugang" },
+{ "Type","Typ" },
+{ "<p>Please select an account.</p>","<p>Bitte wähle einen Zugang.</p>" },
+{ "Error","Fehler" },
+{ "Configure NNTP","Konfiguriere News" },
+{ "Port","Port" },
+{ "Server","Server" },
+{ "Use SSL","Benutze SSL" },
+{ "User","Benutzer" },
+{ "Password","Passwort" },
+{ "Use Login","Benutze Login" },
+{ "Newsgroup","Newsgroup" },
+{ "Get newsgroup list from server","Hole Newsgroup Liste vom Server" },
+{ "Filter:","Filter:" },
+{ "Show subscribed","Zeige abbonnierte" },
+{ "Groups","NewsGroups" },
+{ "Configure IMAP","Konfiguriere IMAP" },
+{ "Use secure sockets:","Benutze sichere Verbindung:" },
+{ "ssh $SERVER exec","ssh $SERVER exec" },
+{ "Prefix","Prefix" },
+{ "Local storage folder:","Lokales Verzeichnis:" },
+{ "Get only messages smaller","Hole nur Nachrichten kleiner" },
+{ "kB","kB" },
+{ "Leave Messages on Server","Belasse Nachrichten auf dem Server" },
+{ "Configure POP3","Konfiguriere POP3" },
+{ "ssh $SERVER exec imapd","ssh $SERVER exec imapd" },
+{ "Configure SMTP","Konfiguriere SMTP" },
+{ "Name of the SMTP Server","Name des SMTP Servers" },
+{ "Port of the SMTP Server","Port des SMTP Servers" },
+{ "Fetching folder list","Hole Verzeichnis Liste" },
+{ "Fetch ","Hole " },
+{ "Fetching header list","Hole Titel Liste" },
+{ "Mailbox has %1 mails","Mailbox hat %1 Mails" },
+{ "Read this mail","Lies diese Mail" },
+{ "Move/Copy this mail","Verschiebe/kopiere diese Mail" },
+{ "Delete this mail","Lösche diese Mail" },
+{ "Move/Copy all selected mail","Verschiebe/kopiere selektierte Mails" },
+{ "Delete all selected mails","Lösche alle selektierten Mails" },
+{ "Clear selection","Selektion aufheben" },
+{ "Reply","Antworten" },
+{ "Forward","Weiterleiten" },
+{ "Attachments","Anhang" },
+{ "Show Html","Zeige in html" },
+{ "Description","Beschreibung" },
+{ "Filename","Dateiname" },
+{ "E-Mail by %1","E-Mail von %1" },
+{ "Cc","Kopie" },
+{ "To","An" },
+{ "From","Von" },
+{ "<p>Do you really want to delete this mail? <br><br>","<p>Wollen Sie diese Mail wirklich löschen? <br><br>" },
+{ "Mailbox has %1 mail(s)","Mailbox hat %1 Mail(s)" },
+{ "Move/Copie all mails","Verschiebe/kopiere alle Mails" },
+{ "Delete all mails","Lösche alle Mails" },
+{ "Create new subfolder","Neues Unterverzeichnis" },
+{ "Delete folder","Lösche Verzeichnis" },
+{ "Refresh folder list","Aktualisiere Verzeichnis Liste" },
+{ "Create new folder","Neues Verzeichnis" },
+{ "Disconnect","Disconnect" },
+{ "Set offline","Gehe offline" },
+{ "Select target box","Wähle Ziel Box" },
+{ "<b>Store mail(s) to</b>","<b>Speichere Mail(s) nach</b>" },
+{ "Folder:","Verzeichnis:" },
+{ "Account:","Zugang:" },
+{ "Prefix will prepend, no need to enter it!","Prefix wird vorangestellt, braucht nicht eingegeben zu werden!" },
+{ "Move mail(s)","Verschiebe Mail(s)" },
+{ "apply only to mails smaller","wende nur auf Mails an, kleiner als" },
+{ " kB"," kB" },
+{ " message %1 of %2"," Nachricht %1 von %2" },
+{ "Copying...","Am Kopieren..." },
+{ "Copy message %1 of %2","Kopiere Nachricht %1 von %2" },
+{ "Do you really want to delete\nall selected mails?","Wollen Sie wirklich alle\nselektierten Mails Löschen?" },
+{ "Delete All Mails","Lösche alle Mails" },
+{ "Deleting ...","Am Löschen..." },
+{ "Delete message %1 of %2","Lösche Nachricht %1 von %2" },
+{ "Compose Message","Verfasse Nachricht" },
+{ "Reply-To","Antwort-An" },
+{ "BCC","BCC" },
+{ "Signature","Signatur" },
+{ "CC","Kopie" },
+{ "Options","Optionen" },
+{ "Delete File","Lösche Datei" },
+{ "Add File","Füge Datei hinzu" },
+{ "Attachment","Anhang" },
+{ "send later","sende später" },
+{ "use:","via:" },
+{ "Save","Speichern" },
+{ "Name","Name" },
+{ "No Receiver spezified","Kein Empfänger angegeben" },
+{ "Sending mail","Sende Mail" },
+{ "No","Nein" },
+{ "Yes","Ja" },
+{ "Store message into drafts?\n","Speichere Nachricht in Entwürfe?\n" },
+{ "Store message?","Nachricht speichern?" },
+{ "Select Type","Selektiere Typ" },
+{ "Select Account Type","Wähle Art des Zugangs" },
+{ "IMAP","IMAP (online lesen)" },
+{ "POP3","POP3 (holen)" },
+{ "SMTP","SMTP (senden)" },
+{ "<p>Do you really want to delete the selected Account?</p>","<p>Möchten Sie wirklich den ausgewählten Account löschen?</p>" },
+{ "Question","Eine Frage..." },
+{ "Send this message?","Nachricht wirklich senden?" },
+{ "Stop editing message","Stop editing message" },
+{ "Sending mail %1 of %2","Sende Mail %1 von %2" },
+{ "%1 of %2 bytes send","%1 von %2 Bytes gesendet" },
+{ "Refresh header list","Aktualisiere Titel Liste" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
+{ "","" },
diff --git a/kmicromail/libmailwrapper/mhwrapper.cpp b/kmicromail/libmailwrapper/mhwrapper.cpp
index 641d4d9..f4133c0 100644
--- a/kmicromail/libmailwrapper/mhwrapper.cpp
+++ b/kmicromail/libmailwrapper/mhwrapper.cpp
@@ -1,446 +1,447 @@
// CHANGED 2004-09-31 Lutz Rogowski
#include "mhwrapper.h"
#include "mailtypes.h"
#include "mailwrapper.h"
#include <libetpan/libetpan.h>
#include <qdir.h>
#include <qmessagebox.h>
#include <stdlib.h>
#include <qpe/global.h>
#include <oprocess.h>
+#include <klocale.h>
//#include <opie2/odebug.h>
using namespace Opie::Core;
MHwrapper::MHwrapper(const QString & mbox_dir,const QString&mbox_name)
: Genericwrapper(),MHPath(mbox_dir),MHName(mbox_name)
{
if (MHPath.length()>0) {
if (MHPath[MHPath.length()-1]=='/') {
MHPath=MHPath.left(MHPath.length()-1);
}
//odebug << MHPath << oendl;
QDir dir(MHPath);
if (!dir.exists()) {
dir.mkdir(MHPath);
}
init_storage();
}
}
void MHwrapper::init_storage()
{
int r;
QString pre = MHPath;
if (!m_storage) {
m_storage = mailstorage_new(NULL);
r = mh_mailstorage_init(m_storage,(char*)pre.latin1(),0,0,0);
if (r != MAIL_NO_ERROR) {
qDebug(" error init storage ");
mailstorage_free(m_storage);
m_storage = 0;
return;
}
}
r = mailstorage_connect(m_storage);
if (r!=MAIL_NO_ERROR) {
qDebug("error connecting storage ");
mailstorage_free(m_storage);
m_storage = 0;
}
}
void MHwrapper::clean_storage()
{
if (m_storage) {
mailstorage_disconnect(m_storage);
mailstorage_free(m_storage);
m_storage = 0;
}
}
MHwrapper::~MHwrapper()
{
clean_storage();
}
void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::Core::OSmartPointer<RecMail> > &target, int maxSizeInKb )
{
init_storage();
if (!m_storage) {
return;
}
QString f = buildPath(mailbox);
int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("listMessages: error selecting folder! ");
return;
}
parseList(target,m_storage->sto_session,f, false, maxSizeInKb );
- Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count()));
+ Global::statusMessage(i18n("Mailbox has %1 mail(s)").arg(target.count()));
}
QValueList<Opie::Core::OSmartPointer<Folder> >* MHwrapper::listFolders()
{
QValueList<Opie::Core::OSmartPointer<Folder> >* folders = new QValueList<Opie::Core::OSmartPointer<Folder> >();
/* this is needed! */
if (m_storage) mailstorage_disconnect(m_storage);
init_storage();
if (!m_storage) {
return folders;
}
mail_list*flist = 0;
clistcell*current=0;
int r = mailsession_list_folders(m_storage->sto_session,NULL,&flist);
if (r != MAIL_NO_ERROR || !flist) {
qDebug("error getting folder list ");
return folders;
}
for (current=clist_begin(flist->mb_list);current!=0;current=clist_next(current)) {
QString t = (char*)current->data;
t.replace(0,MHPath.length(),"");
folders->append(new MHFolder(t,MHPath));
}
mail_list_free(flist);
return folders;
}
void MHwrapper::deleteMail(const RecMailP&mail)
{
init_storage();
if (!m_storage) {
return;
}
int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("error selecting folder! ");
return;
}
r = mailsession_remove_message(m_storage->sto_session,mail->getNumber());
if (r != MAIL_NO_ERROR) {
qDebug("error deleting mail ");
}
}
void MHwrapper::answeredMail(const RecMailP&)
{
}
RecBodyP MHwrapper::fetchBody( const RecMailP &mail )
{
RecBodyP body = new RecBody();
init_storage();
if (!m_storage) {
return body;
}
mailmessage * msg;
char*data=0;
/* mail should hold the complete path! */
int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r != MAIL_NO_ERROR) {
return body;
}
r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg);
if (r != MAIL_NO_ERROR) {
qDebug("Error fetching mail ");
return body;
}
body = parseMail(msg);
mailmessage_fetch_result_free(msg,data);
return body;
}
void MHwrapper::mbox_progress( size_t current, size_t maximum )
{
qDebug("MBox Progress %d of %d",current,maximum );
//odebug << "MH " << current << " von " << maximum << "" << oendl;
}
QString MHwrapper::buildPath(const QString&p)
{
QString f="";
if (p.length()==0||p=="/")
return MHPath;
if (!p.startsWith(MHPath)) {
f+=MHPath;
}
if (!p.startsWith("/")) {
f+="/";
}
f+=p;
return f;
}
int MHwrapper::createMbox(const QString&folder,const FolderP&pfolder,const QString&,bool )
{
init_storage();
if (!m_storage) {
return 0;
}
QString f;
if (!pfolder) {
// toplevel folder
f = buildPath(folder);
} else {
f = pfolder->getName();
f+="/";
f+=folder;
}
int r = mailsession_create_folder(m_storage->sto_session,(char*)f.latin1());
if (r != MAIL_NO_ERROR) {
qDebug("error creating folder ");
return 0;
}
return 1;
}
void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder)
{
init_storage();
if (!m_storage) {
return;
}
QString f = buildPath(Folder);
int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("error selecting folder! ");
return;
}
r = mailsession_append_message(m_storage->sto_session,(char*)msg,length);
if (r!=MAIL_NO_ERROR) {
qDebug("error storing mail ");
}
return;
}
encodedString* MHwrapper::fetchRawBody(const RecMailP&mail)
{
encodedString*result = 0;
init_storage();
if (!m_storage) {
return result;
}
mailmessage * msg = 0;
char*data=0;
size_t size;
int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("error selecting folder! ");
return result;
}
r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber()));
+ Global::statusMessage(i18n("Error fetching mail %i").arg(mail->getNumber()));
return 0;
}
r = mailmessage_fetch(msg,&data,&size);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber()));
+ Global::statusMessage(i18n("Error fetching mail %i").arg(mail->getNumber()));
if (msg) mailmessage_free(msg);
return 0;
}
result = new encodedString(data,size);
if (msg) mailmessage_free(msg);
return result;
}
void MHwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &target)
{
QString f = buildPath(mailbox);
int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("deleteMails: error selecting folder! ");
return;
}
QValueList<RecMailP>::ConstIterator it;
for (it=target.begin(); it!=target.end();++it) {
r = mailsession_remove_message(m_storage->sto_session,(*it)->getNumber());
if (r != MAIL_NO_ERROR) {
qDebug("error deleting mail ");
break;
}
}
}
int MHwrapper::deleteAllMail(const FolderP&tfolder)
{
init_storage();
if (!m_storage) {
return 0;
}
int res = 1;
if (!tfolder) return 0;
int r = mailsession_select_folder(m_storage->sto_session,(char*)tfolder->getName().latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("error selecting folder! ");
return 0;
}
mailmessage_list*l=0;
r = mailsession_get_messages_list(m_storage->sto_session,&l);
if (r != MAIL_NO_ERROR) {
qDebug("Error message list ");
res = 0;
}
unsigned j = 0;
for(unsigned int i = 0 ; l!= 0 && res==1 && i < carray_count(l->msg_tab) ; ++i) {
mailmessage * msg;
msg = (mailmessage*)carray_get(l->msg_tab, i);
j = msg->msg_index;
r = mailsession_remove_message(m_storage->sto_session,j);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error deleting mail %1").arg(i+1));
+ Global::statusMessage(i18n("Error deleting mail %1").arg(i+1));
res = 0;
break;
}
}
if (l) mailmessage_list_free(l);
return res;
}
int MHwrapper::deleteMbox(const FolderP&tfolder)
{
init_storage();
if (!m_storage) {
return 0;
}
if (!tfolder) return 0;
if (tfolder->getName()=="/" || tfolder->getName().isEmpty()) return 0;
int r = mailsession_delete_folder(m_storage->sto_session,(char*)tfolder->getName().latin1());
if (r != MAIL_NO_ERROR) {
qDebug("error deleting mail box ");
return 0;
}
QString cmd = "rm -rf "+tfolder->getName();
QStringList command;
command << "/bin/sh";
command << "-c";
command << cmd.latin1();
OProcess *process = new OProcess();
connect(process, SIGNAL(processExited(Opie::Core::OProcess*)),
this, SLOT( processEnded(Opie::Core::OProcess*)));
connect(process, SIGNAL( receivedStderr(Opie::Core::OProcess*,char*,int)),
this, SLOT( oprocessStderr(Opie::Core::OProcess*,char*,int)));
*process << command;
removeMboxfailed = false;
if(!process->start(OProcess::Block, OProcess::All) ) {
qDebug("could not start process ");
return 0;
}
qDebug("mail box deleted ");
return 1;
}
void MHwrapper::processEnded(OProcess *p)
{
if (p) delete p;
}
void MHwrapper::oprocessStderr(OProcess*, char *buffer, int )
{
QString lineStr = buffer;
- QMessageBox::warning( 0, tr("Error"), lineStr ,tr("Ok") );
+ QMessageBox::warning( 0, i18n("Error"), lineStr ,i18n("Ok") );
removeMboxfailed = true;
}
void MHwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
{
init_storage();
if (!m_storage) {
return;
}
target_stat.message_count = 0;
target_stat.message_unseen = 0;
target_stat.message_recent = 0;
QString f = buildPath(mailbox);
int r = mailsession_status_folder(m_storage->sto_session,(char*)f.latin1(),&target_stat.message_count,
&target_stat.message_recent,&target_stat.message_unseen);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error retrieving status"));
+ Global::statusMessage(i18n("Error retrieving status"));
}
}
MAILLIB::ATYPE MHwrapper::getType()const
{
return MAILLIB::A_MH;
}
const QString&MHwrapper::getName()const
{
return MHName;
}
void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
{
init_storage();
if (!m_storage) {
return;
}
if (targetWrapper != this) {
qDebug("Using generic ");
Genericwrapper::mvcpMail(mail,targetFolder,targetWrapper,moveit);
return;
}
qDebug("Using internal routines for move/copy ");
QString tf = buildPath(targetFolder);
int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r != MAIL_NO_ERROR) {
qDebug("Error selecting source mailbox ");
return;
}
if (moveit) {
r = mailsession_move_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1());
} else {
r = mailsession_copy_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1());
}
if (r != MAIL_NO_ERROR) {
qDebug("Error copy/moving mail internal ");
}
}
void MHwrapper::mvcpAllMails(const FolderP&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
{
init_storage();
if (!m_storage) {
return;
}
if (targetWrapper != this) {
qDebug("Using generic ");
Genericwrapper::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit);
return;
}
if (!fromFolder) return;
int r = mailsession_select_folder(m_storage->sto_session,(char*)fromFolder->getName().latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("error selecting source folder! ");
return;
}
QString tf = buildPath(targetFolder);
mailmessage_list*l=0;
r = mailsession_get_messages_list(m_storage->sto_session,&l);
if (r != MAIL_NO_ERROR) {
qDebug("Error message list ");
}
unsigned j = 0;
for(unsigned int i = 0 ; l!= 0 && i < carray_count(l->msg_tab) ; ++i) {
mailmessage * msg;
msg = (mailmessage*)carray_get(l->msg_tab, i);
j = msg->msg_index;
if (moveit) {
r = mailsession_move_message(m_storage->sto_session,j,(char*)tf.latin1());
} else {
r = mailsession_copy_message(m_storage->sto_session,j,(char*)tf.latin1());
}
if (r != MAIL_NO_ERROR) {
qDebug("Error copy/moving mail interna ");
break;
}
}
if (l) mailmessage_list_free(l);
}
diff --git a/kmicromail/libmailwrapper/sendmailprogress.cpp b/kmicromail/libmailwrapper/sendmailprogress.cpp
index dc0c75a..20dfe9b 100644
--- a/kmicromail/libmailwrapper/sendmailprogress.cpp
+++ b/kmicromail/libmailwrapper/sendmailprogress.cpp
@@ -1,47 +1,48 @@
#include "sendmailprogress.h"
#include <qprogressbar.h>
#include <qlabel.h>
+#include <klocale.h>
progressMailSend::progressMailSend(QWidget*parent, const char * name)
:progressMailSendUI(parent,name,true),m_current_mail(0),m_current_single(0),m_max_mail(0),m_max_single(0)
{
}
progressMailSend::~progressMailSend()
{
}
void progressMailSend::setMaxMails(unsigned int aMaxMails)
{
m_max_mail = aMaxMails;
allMailProgressBar->setTotalSteps(aMaxMails);
setMails();
}
void progressMailSend::setCurrentMails(unsigned int aCurrent)
{
m_current_mail = aCurrent;
allMailProgressBar->setProgress(aCurrent);
setMails();
}
void progressMailSend::setSingleMail(unsigned int aCurrent,unsigned int aMax)
{
m_current_single = aCurrent;
m_max_single = aMax;
setSingle();
}
void progressMailSend::setSingle()
{
- QString text = QString(tr("%1 of %2 bytes send")).arg(m_current_single).arg(m_max_single);
+ QString text = QString(i18n("%1 of %2 bytes send")).arg(m_current_single).arg(m_max_single);
singleMailLabel->setText(text);
singleMailProgressBar->setTotalSteps(m_max_single);
singleMailProgressBar->setProgress(m_current_single);
}
void progressMailSend::setMails()
{
- QString text = QString(tr("Sending mail %1 of %2")).arg(m_current_mail+1).arg(m_max_mail);
+ QString text = QString(i18n("Sending mail %1 of %2")).arg(m_current_mail+1).arg(m_max_mail);
allMailLabel->setText(text);
}
diff --git a/kmicromail/main.cpp b/kmicromail/main.cpp
index 8341c5a..006390c 100644
--- a/kmicromail/main.cpp
+++ b/kmicromail/main.cpp
@@ -1,66 +1,67 @@
// CHANGED 2004-08-06 Lutz Rogowski
#ifndef DESKTOP_VERSION
#include <qpe/qpeapplication.h>
#include <libkdepim/externalapphandler.h>
#include <stdlib.h>
#else
#include <qapplication.h>
#include <qstring.h>
#include <qwindowsstyle.h>
#include <qplatinumstyle.h>
#include <qsgistyle.h>
#endif
#include "opiemail.h"
#include <qdir.h>
#include <kstandarddirs.h>
#include <kglobal.h>
#include <stdio.h>
#include "mainwindow.h"
#include "koprefs.h"
#include <libkdepim/kpimglobalprefs.h>
void dumpMissing();
//using namespace Opie::Core;
int main( int argc, char **argv ) {
#ifndef DESKTOP_VERSION
QPEApplication a( argc, argv );
a.setKeepRunning ();
#else
QApplication a( argc, argv );
QApplication::setStyle( new QPlatinumStyle ());
#endif
a.setFont( KOPrefs::instance()->mAppFont );
KGlobal::setAppName( "kopiemail" );
QString fileName ;
#ifndef DESKTOP_VERSION
fileName = getenv("QPEDIR");
if ( QApplication::desktop()->width() > 320 )
KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/icons22/");
else
KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/");
#else
fileName = qApp->applicationDirPath () + "/kdepim/kopiemail/";
KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
#endif
KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kopiemail")));
+ KPimGlobalPrefs::instance()->setGlobalConfig();
OpieMail mw;
#ifndef DESKTOP_VERSION
//qDebug("CONNECT ");
QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&mw, SLOT(message( const QCString&, const QByteArray& )));
// QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
a.showMainWidget(&mw );
#else
a.setMainWidget(&mw );
mw.show();
//m.resize( 800, 600 );
QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
#endif
int rv = a.exec();
dumpMissing();
KPimGlobalPrefs::instance()->writeConfig();
return rv;
}
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 3aa7905..a32983c 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -1,421 +1,420 @@
// CHANGED 2004-09-31 Lutz Rogowski
// CHANGED 2004-08-06 Lutz Rogowski
#include "settingsdialog.h"
#include "opiemail.h"
#include "editaccounts.h"
#include "composemail.h"
#include "mailistviewitem.h"
#include "viewmail.h"
#include "selectstore.h"
#include "selectsmtp.h"
#include "accountitem.h"
#include "koprefsdialog.h"
#include "klocale.h"
#include <qmessagebox.h>
#include <qtimer.h>
#include <libkdepim/externalapphandler.h>
#include <libkdepim/kpimglobalprefs.h>
#include <qpe/qpeapplication.h>
#include <libmailwrapper/smtpwrapper.h>
#include <libmailwrapper/mailtypes.h>
#include <libmailwrapper/abstractmail.h>
/* OPIE */
//#include <qpe/resource.h>
//#include <qpe/qpeapplication.h>
/* QT */
//using namespace Opie::Core;
OpieMail::OpieMail( QWidget *parent, const char *name )
: MainWindow( parent, name) //, WStyle_ContextHelp )
{
settings = new Settings();
- KPimGlobalPrefs::instance()->setGlobalConfig();
folderView->populate( settings->getAccounts() );
}
OpieMail::~OpieMail()
{
if (settings) delete settings;
}
void OpieMail::appMessage(const QCString &msg, const QByteArray &data)
{
}
#include <stdlib.h>
void OpieMail::message(const QCString &msg, const QByteArray &data)
{
// copied from old mail2
static int ii = 0;
//qDebug("QCOP CALL ############################# %d ", ii);
//QString mess ( msg );
//qDebug("Message = %s ",mess.latin1());
++ii;
//qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this);
mPendingEmail = QString::null;
mPendingName = QString::null;
if (msg == "writeMail(QString,QString)")
{
//qDebug("writeMail(QString,QString) ");
QDataStream stream(data,IO_ReadOnly);
stream >> mPendingName >> mPendingEmail;
// removing the whitespaces at beginning and end is needed!
QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
}
else if (msg == "newMail()")
{
//qDebug("slotComposeMail() ");
// we cannot call slotComposeMail(); directly, because may be executing a QCOP call
// and a QCOP call does not like a processevents in his execution
// with the Qtimer we call slotComposeMail() after we reached the main event loop
QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
// slotComposeMail();
}
else if (msg == "newMail(QString)")
{
//qDebug(" newMail(QString)");
QDataStream stream(data,IO_ReadOnly);
stream >> mPendingName;
// the format is
// NAME <EMAIL>:SUBJECT
QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
} else {
mPendingData = data;
mPendingMessage = msg;
QTimer::singleShot ( 50, this, SLOT(slotExtAppHandler() ) );
}
//qDebug("END OpieMail::message ");
}
void OpieMail::slotExtAppHandler()
{
ExternalAppHandler::instance()->appMessage ( mPendingMessage, mPendingData );
}
void OpieMail::slotwriteMail2(const QString& namemail )
{
//qDebug("OpieMail::slotwriteMail2 ");
//qApp->processEvents();
ComposeMail compose( settings, this, 0, true );
if ( !namemail.isEmpty() ) {
QString to = namemail;
if ( namemail.find( " <") > 1 ) {
to = "\"" +to.replace( QRegExp( " <"), "\" <") ;
} else
if ( namemail.find( "<") > 1 ) {
to = "\"" +to.replace( QRegExp( "<"), "\" <") ;
}
int sub = to.find( ">:");
if ( sub > 0 ) {
compose.setTo( to.left(sub+1) );
compose.setSubject( to.mid(sub+2) );
} else
compose.setTo( to );
}
compose.slotAdjustColumns();
compose.showMaximized();
compose.exec();
raise();
//qDebug("retttich ");
}
void OpieMail::slotwriteMail(const QString&name,const QString&email)
{
// qDebug("OpieMail::slotwriteMail ");
ComposeMail compose( settings, this, 0, true );
if (!email.isEmpty())
{
if (!name.isEmpty())
{
compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">");
}
else
{
compose.setTo(email);
}
}
compose.slotAdjustColumns();
compose.showMaximized();
compose.exec();
raise();
}
void OpieMail::slotComposeMail()
{
if ( mPendingEmail == QString::null && mPendingName == QString::null)
slotwriteMail2( QString () );
else {
if ( mPendingEmail == QString::null )
slotwriteMail2( mPendingName );
else
slotwriteMail( mPendingName, mPendingEmail );
}
//slotwriteMail(0l,0l);
}
void OpieMail::slotSendQueued()
{
SMTPaccount *smtp = 0;
QList<Account> list = settings->getAccounts();
QList<SMTPaccount> smtpList;
smtpList.setAutoDelete(false);
Account *it;
for ( it = list.first(); it; it = list.next() )
{
if ( it->getType() == MAILLIB::A_SMTP )
{
smtp = static_cast<SMTPaccount *>(it);
smtpList.append(smtp);
}
}
if (smtpList.count()==0)
{
QMessageBox::information(0,i18n("Info"),i18n("Define a smtp account first!\n"));
return;
}
if (smtpList.count()==1)
{
smtp = smtpList.at(0);
}
else
{
smtp = 0;
selectsmtp selsmtp;
selsmtp.setSelectionlist(&smtpList);
selsmtp.showMaximized();
if ( selsmtp.exec() == QDialog::Accepted )
{
smtp = selsmtp.selected_smtp();
}
}
if (smtp)
{
SMTPwrapper * wrap = new SMTPwrapper(smtp);
if ( wrap->flushOutbox() )
{
QMessageBox::information(0,i18n("Info"),i18n("Mail queue flushed"));
}
delete wrap;
}
}
void OpieMail::slotSearchMails()
{
qDebug("OpieMail::slotSearchMails():not implemented ");
}
void OpieMail::slotEditSettings()
{
#if 0
SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp );
settingsDialog.showMaximized();
settingsDialog.exec();
#endif
KOPrefsDialog settingsDialog( this, "koprefs", true );
settingsDialog.showMaximized();
settingsDialog.exec();
}
void OpieMail::slotEditAccounts()
{
EditAccounts eaDialog( settings, this, 0, true );
eaDialog.slotAdjustColumns();
eaDialog.showMaximized();
eaDialog.exec();
if ( settings ) delete settings;
settings = new Settings();
folderView->populate( settings->getAccounts() );
}
void OpieMail::displayMail()
{
QListViewItem*item = mailView->currentItem();
if (!item) return;
RecMailP mail = ((MailListViewItem*)item)->data();
RecBodyP body = folderView->fetchBody(mail);
ViewMail readMail( this,"", Qt::WType_Modal );
readMail.setBody( body );
readMail.setMail( mail );
readMail.showMaximized();
readMail.exec();
if ( readMail.deleted )
{
folderView->refreshCurrent();
}
else
{
( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
}
}
void OpieMail::slotGetAllMail()
{
QListViewItem * item = folderView->firstChild();
while ( item ){
((AccountViewItem *)item)->contextMenuSelected( 101 );
item = item->nextSibling ();
}
}
void OpieMail::slotGetMail()
{
QListViewItem * item = folderView->currentItem();
if ( ! item ) return;
((AccountViewItem *)item)->contextMenuSelected( 101 );
}
void OpieMail::slotDeleteMail()
{
if (!mailView->currentItem()) return;
RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
if ( QMessageBox::warning(this, i18n("Delete Mail"), QString( i18n("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
{
mail->Wrapper()->deleteMail( mail );
folderView->refreshCurrent();
}
}
void OpieMail::slotDeleteAllMail()
{
QValueList<RecMailP> t;
if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
{
MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
while ( item ) {
if ( item->isSelected() ) {
t.append( item->data() );
}
item = (MailListViewItem*)item->nextSibling();
}
}
else
return;
if ( t.count() == 0 )
return;
RecMailP mail = t.first();
mail->Wrapper()->deleteMailList(t);
folderView->refreshCurrent();
}
void OpieMail::clearSelection()
{
mailView->clearSelection();
}
void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int )
{
if (!mailView->currentItem()) return;
MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType();
/* just the RIGHT button - or hold on pda */
if (button!=2) {return;}
if (!item) return;
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
if (mailtype==MAILLIB::A_NNTP) {
m->insertItem(i18n("Read this posting"),this,SLOT(displayMail()));
m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail()));
m->insertSeparator();
m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail()));
m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection()));
} else {
if (folderView->currentisDraft()) {
m->insertItem(i18n("Edit this mail"),this,SLOT(reEditMail()));
}
m->insertItem(i18n("Read this mail"),this,SLOT(displayMail()));
m->insertItem(i18n("Move/Copy this mail"),this,SLOT(slotMoveCopyMail()));
m->insertItem(i18n("Delete this mail"),this,SLOT(slotDeleteMail()));
m->insertSeparator();
m->insertItem(i18n("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail()));
m->insertItem(i18n("Delete all selected mails"),this,SLOT(slotDeleteAllMail()));
m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection()));
}
m->setFocus();
m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) );
delete m;
}
}
void OpieMail::slotShowFolders( bool show )
{
if ( show && folderView->isHidden() )
{
folderView->show();
}
else if ( !show && !folderView->isHidden() )
{
folderView->hide();
}
}
void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
{
MailListViewItem*item = 0;
mailView->clear();
QValueList<RecMailP>::ConstIterator it;
for (it = list.begin(); it != list.end();++it)
{
item = new MailListViewItem(mailView,item);
item->storeData((*it));
item->showEntry();
}
}
void OpieMail::mailLeftClicked( QListViewItem *item )
{
mailView->clearSelection();
/* just LEFT button - or tap with stylus on pda */
//if (button!=1) return;
if (!item) return;
if (folderView->currentisDraft()) {
reEditMail();
} else {
displayMail();
}
}
void OpieMail::slotMoveCopyMail()
{
if (!mailView->currentItem()) return;
RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
AbstractMail*targetMail = 0;
QString targetFolder = "";
Selectstore sels;
folderView->setupFolderselect(&sels);
if (!sels.exec()) return;
targetMail = sels.currentMail();
targetFolder = sels.currentFolder();
if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
targetFolder.isEmpty())
{
return;
}
if (sels.newFolder() && !targetMail->createMbox(targetFolder))
{
QMessageBox::critical(0,i18n("Error creating new Folder"),
i18n("<center>Error while creating<br>new folder - breaking.</center>"));
return;
}
sels.hide();
qApp->processEvents();
// qDebug("hiding sels ");
mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails());
folderView->refreshCurrent();
}
void OpieMail::slotMoveCopyAllMail()
{
if (!mailView->currentItem()) return;
QValueList<RecMailP> t;
// if ( QMessageBox::warning(this, i18n("Move/Copy all selected mails"), i18n("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
{
diff --git a/microkde/kdecore/klocale.cpp b/microkde/kdecore/klocale.cpp
index d3b04dc..1da1e99 100644
--- a/microkde/kdecore/klocale.cpp
+++ b/microkde/kdecore/klocale.cpp
@@ -1,453 +1,503 @@
#include <qregexp.h>
#include <qapplication.h>
#include "kdebug.h"
#include "kcalendarsystemgregorian.h"
#include "klocale.h"
#include <qstringlist.h>
-QStringList missingTrans;
+
+//#define COLLECT_TRANSLATION
+
QDict<QString> *mLocaleDict = 0;
void setLocaleDict( QDict<QString> * dict )
{
mLocaleDict = dict;
}
+
+#ifdef COLLECT_TRANSLATION
+
+QStringList missingTrans;
+QStringList existingTrans1;
+QStringList existingTrans2;
+
void addMissing(const char *text)
{
- return;
+
QString mis ( text );
if ( !missingTrans.contains( mis ) )
missingTrans.append(mis);
}
+void addExist(const char *text,QString trans )
+{
+ //return;
+ QString mis ( text );
+ if ( !existingTrans1.contains( mis ) ) {
+ existingTrans1.append(mis);
+ existingTrans2.append(trans);
+
+ }
+
+}
#include <qfile.h>
#include <qtextstream.h>
#include <qtextcodec.h>
+#endif
void dumpMissing()
{
- return;
- QString fileName = "/tmp/usertrans.txt";
+#ifdef COLLECT_TRANSLATION
+ QString fileName = "/tmp/usernewtrans.txt";
QFile file( fileName );
if (!file.open( IO_WriteOnly ) ) {
return ;
}
QTextStream ts( &file );
ts.setCodec( QTextCodec::codecForName("utf8") );
int i;
for ( i = 0; i< missingTrans.count(); ++i ) {
QString text = missingTrans[i].replace( QRegExp("\n"),"\\n" );
ts << "{ \""<<text<< "\",\""<< text <<"\" },\n";
}
file.close();
-}
+ {
+ QString fileName = "/tmp/usertrans.txt";
+ QFile file( fileName );
+ if (!file.open( IO_WriteOnly ) ) {
+ return ;
+ }
+ QTextStream ts( &file );
+ ts.setCodec( QTextCodec::codecForName("utf8") );
+
+ int i;
+ for ( i = 0; i< existingTrans1.count(); ++i ) {
+
+ QString text = existingTrans1[i].replace( QRegExp("\n"),"\\n" );
+ QString text2 = existingTrans2[i].replace( QRegExp("\n"),"\\n" );
+ ts << "{ \""<<text<< "\",\""<< text2 <<"\" },\n";
+ }
+ file.close();
+ }
+#endif
+}
QString i18n(const char *text)
{
if ( ! mLocaleDict ) {
+#ifdef COLLECT_TRANSLATION
addMissing( text );
+#endif
return QString( text );
}
else {
QString* ret = mLocaleDict->find(QString(text)) ;
if ( ret == 0 ) {
+#ifdef COLLECT_TRANSLATION
addMissing( text );
+#endif
return QString( text );
}
else {
if ( (*ret).isEmpty() ) {
+#ifdef COLLECT_TRANSLATION
addMissing( text );
+#endif
return QString( text );
}
- else
+ else {
+#ifdef COLLECT_TRANSLATION
+ addExist( text, *ret );
+#endif
return (*ret);
+ }
}
}
}
QString i18n(const char *,const char *text)
{
return i18n( text );
}
QString i18n(const char *text1, const char *textn, int num)
{
if ( num == 1 ) return i18n( text1 );
else {
QString text = i18n( textn );
int pos = text.find( "%n" );
if ( pos >= 0 ) text.replace( pos, 2, QString::number( num ) );
return text;
}
}
inline void put_it_in( QChar *buffer, uint& index, const QString &s )
{
for ( uint l = 0; l < s.length(); l++ )
buffer[index++] = s.at( l );
}
inline void put_it_in( QChar *buffer, uint& index, int number )
{
buffer[index++] = number / 10 + '0';
buffer[index++] = number % 10 + '0';
}
static int readInt(const QString &str, uint &pos)
{
if (!str.at(pos).isDigit()) return -1;
int result = 0;
for (; str.length() > pos && str.at(pos).isDigit(); pos++)
{
result *= 10;
result += str.at(pos).digitValue();
}
return result;
}
KLocale::KLocale() : mCalendarSystem( 0 )
{
m_decimalSymbol = ".";
m_positiveSign = "";
m_negativeSign = "-";
m_thousandsSeparator = ",";
mWeekStartsMonday = true;
mHourF24Format = true;
mIntDateFormat = Default;
mIntTimeFormat = Default;
mLanguage = 0;
mDateFormat = "%a %Y %b %d";
mDateFormatShort = "%Y-%m-%d";
mTimeZoneList << ("-11:00 US/Samoa")
<< ("-10:00 US/Hawaii")
<< ("-09:00 US/Alaska")
<< ("-08:00 US/Pacific")
<< ("-07:00 US/Mountain")
<< ("-06:00 US/Central")
<< ("-05:00 US/Eastern")
<< ("-04:00 Brazil/West")
<< ("-03:00 Brazil/East")
<< ("-02:00 Brazil/DeNoronha")
<< ("-01:00 Atlantic/Azores")
<< (" 00:00 Europe/London(UTC)")
<< ("+01:00 Europe/Oslo(CET)")
<< ("+02:00 Europe/Helsinki")
<< ("+03:00 Europe/Moscow")
<< ("+04:00 Indian/Mauritius")
<< ("+05:00 Indian/Maldives")
<< ("+06:00 Indian/Chagos")
<< ("+07:00 Asia/Bangkok")
<< ("+08:00 Asia/Hongkong")
<< ("+09:00 Asia/Tokyo")
<< ("+10:00 Asia/Vladivostok")
<< ("+11:00 Asia/Magadan")
<< ("+12:00 Asia/Kamchatka")
// << (" xx:xx User defined offset")
<< i18n (" Local Time");
mSouthDaylight = false;
mTimeZoneOffset = 0;
daylightEnabled = false;
}
void KLocale::setDateFormat( QString s )
{
mDateFormat = s;
}
void KLocale::setDateFormatShort( QString s )
{
mDateFormatShort = s;
}
void KLocale::setHore24Format ( bool b )
{
mHourF24Format = b;
}
void KLocale::setWeekStartMonday( bool b )
{
mWeekStartsMonday = b;
}
KLocale::IntDateFormat KLocale::getIntDateFormat( )
{
return mIntDateFormat;
}
void KLocale::setIntDateFormat( KLocale::IntDateFormat i )
{
mIntDateFormat = i;
}
KLocale::IntDateFormat KLocale::getIntTimeFormat( )
{
return mIntTimeFormat;
}
void KLocale::setIntTimeFormat( KLocale::IntDateFormat i )
{
mIntTimeFormat = i;
}
void KLocale::setLanguage( int i )
{
mLanguage = i;
}
int KLocale::language( )
{
return mLanguage;
}
QString KLocale::translate( const char *index ) const
{
return i18n( index );
}
QString KLocale::translate( const char *, const char *fallback) const
{
return i18n( fallback );
}
QString KLocale::formatTime(const QTime &pTime, bool includeSecs, IntDateFormat intIntDateFormat) const
{
const QString rst = timeFormat(intIntDateFormat);
// only "pm/am" here can grow, the rest shrinks, but
// I'm rather safe than sorry
QChar *buffer = new QChar[rst.length() * 3 / 2 + 30];
uint index = 0;
bool escape = false;
int number = 0;
for ( uint format_index = 0; format_index < rst.length(); format_index++ )
{
if ( !escape )
{
if ( rst.at( format_index ).unicode() == '%' )
escape = true;
else
buffer[index++] = rst.at( format_index );
}
else
{
switch ( rst.at( format_index ).unicode() )
{
case '%':
buffer[index++] = '%';
break;
case 'H':
put_it_in( buffer, index, pTime.hour() );
break;
case 'I':
put_it_in( buffer, index, ( pTime.hour() + 11) % 12 + 1 );
break;
case 'M':
put_it_in( buffer, index, pTime.minute() );
break;
case 'S':
if (includeSecs)
put_it_in( buffer, index, pTime.second() );
else
{
// we remove the seperator sign before the seconds and
// assume that works everywhere
--index;
break;
}
break;
case 'k':
number = pTime.hour();
case 'l':
// to share the code
if ( rst.at( format_index ).unicode() == 'l' )
number = (pTime.hour() + 11) % 12 + 1;
if ( number / 10 )
buffer[index++] = number / 10 + '0';
buffer[index++] = number % 10 + '0';
break;
case 'p':
{
QString s;
if ( pTime.hour() >= 12 )
put_it_in( buffer, index, i18n("pm") );
else
put_it_in( buffer, index, i18n("am") );
break;
}
default:
buffer[index++] = rst.at( format_index );
break;
}
escape = false;
}
}
QString ret( buffer, index );
delete [] buffer;
return ret;
}
QString KLocale::formatDate(const QDate &pDate, bool shortFormat, IntDateFormat intIntDateFormat) const
{
const QString rst = shortFormat?dateFormatShort(intIntDateFormat):dateFormat(intIntDateFormat);
// I'm rather safe than sorry
QChar *buffer = new QChar[rst.length() * 3 / 2 + 50];
unsigned int index = 0;
bool escape = false;
int number = 0;
for ( uint format_index = 0; format_index < rst.length(); ++format_index )
{
if ( !escape )
{
if ( rst.at( format_index ).unicode() == '%' )
escape = true;
else
buffer[index++] = rst.at( format_index );
}
else
{
switch ( rst.at( format_index ).unicode() )
{
case '%':
buffer[index++] = '%';
break;
case 'Y':
put_it_in( buffer, index, pDate.year() / 100 );
case 'y':
put_it_in( buffer, index, pDate.year() % 100 );
break;
case 'n':
number = pDate.month();
case 'e':
// to share the code
if ( rst.at( format_index ).unicode() == 'e' )
number = pDate.day();
if ( number / 10 )
buffer[index++] = number / 10 + '0';
buffer[index++] = number % 10 + '0';
break;
case 'm':
put_it_in( buffer, index, pDate.month() );
break;
case 'b':
put_it_in( buffer, index, monthName(pDate.month(), true) );
break;
case 'B':
put_it_in( buffer, index, monthName(pDate.month(), false) );
break;
case 'd':
put_it_in( buffer, index, pDate.day() );
break;
case 'a':
put_it_in( buffer, index, weekDayName(pDate.dayOfWeek(), true) );
break;
case 'A':
put_it_in( buffer, index, weekDayName(pDate.dayOfWeek(), false) );
break;
default:
buffer[index++] = rst.at( format_index );
break;
}
escape = false;
}
}
QString ret( buffer, index );
delete [] buffer;
return ret;
}
QString KLocale::formatDateTime(const QDateTime &pDateTime,
bool shortFormat,
bool includeSeconds,
IntDateFormat intIntDateFormat) const
{
QString format("%1 %2");
if ( intIntDateFormat == Default )
format = "%1 %2";
else if ( intIntDateFormat == Format1 )
format = "%1 %2";
else if ( intIntDateFormat == ISODate )
format = "%1T%2";
QString res = format.arg(formatDate( pDateTime.date(), shortFormat, intIntDateFormat ))
.arg(formatTime( pDateTime.time(), includeSeconds , intIntDateFormat ));
//qDebug("KLocale::formatDateTime transformed %s, into %s", pDateTime.toString().latin1(), res.latin1() );
return res;
}
QString KLocale::formatDateTime(const QDateTime &pDateTime, IntDateFormat intIntDateFormat) const
{
return formatDateTime(pDateTime, true, true, intIntDateFormat);
}
QDate KLocale::readDate(const QString &intstr, bool* ok) const
{
QDate date;
date = readDate(intstr, true, ok);
if (date.isValid()) return date;
return readDate(intstr, false, ok);
}
QDate KLocale::readDate(const QString &intstr, bool shortFormat, bool* ok) const
{
QString fmt = (shortFormat ? dateFormatShort() : dateFormat()).simplifyWhiteSpace();
return readDate( intstr, fmt, ok );
}
QDate KLocale::readDate(const QString &intstr, const QString &fmt, bool* ok) const
{
//kdDebug(173) << "KLocale::readDate intstr=" << intstr << " fmt=" << fmt << endl;
QString str = intstr.simplifyWhiteSpace().lower();
int day = -1, month = -1;
// allow the year to be omitted if not in the format
int year = QDate::currentDate().year();
uint strpos = 0;
uint fmtpos = 0;
while (fmt.length() > fmtpos || str.length() > strpos)
{
if ( !(fmt.length() > fmtpos && str.length() > strpos) )
goto error;
QChar c = fmt.at(fmtpos++);
if (c != '%') {
if (c.isSpace())
strpos++;
else if (c != str.at(strpos++))
goto error;
continue;
}
// remove space at the begining
if (str.length() > strpos && str.at(strpos).isSpace())
strpos++;
c = fmt.at(fmtpos++);
switch (c)
{
case 'a':
case 'A':
// this will just be ignored
{ // Cristian Tache: porting to Win: Block added because of "j" redefinition
for (int j = 1; j < 8; j++) {
QString s = weekDayName(j, c == 'a').lower();
int len = s.length();
if (str.mid(strpos, len) == s)
strpos += len;