author | zautrix <zautrix> | 2004-10-23 22:58:21 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-23 22:58:21 (UTC) |
commit | fcea043d2200bb4bb0b1146a69204af15fb58a7d (patch) (side-by-side diff) | |
tree | c2c210290c02f20af3b307f4c4e47ba8915f7a05 | |
parent | 22c26311ca936fa1036e406c86e0178c16acd090 (diff) | |
download | kdepimpi-fcea043d2200bb4bb0b1146a69204af15fb58a7d.zip kdepimpi-fcea043d2200bb4bb0b1146a69204af15fb58a7d.tar.gz kdepimpi-fcea043d2200bb4bb0b1146a69204af15fb58a7d.tar.bz2 |
kopimail translation
-rw-r--r-- | bin/kdepim/kopiemail/germantranslation.txt | 243 | ||||
-rw-r--r-- | bin/kdepim/kopiemail/usertranslation.txt | 243 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/mhwrapper.cpp | 13 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/sendmailprogress.cpp | 5 | ||||
-rw-r--r-- | kmicromail/main.cpp | 1 | ||||
-rw-r--r-- | kmicromail/opiemail.cpp | 1 | ||||
-rw-r--r-- | microkde/kdecore/klocale.cpp | 62 |
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; |