diff --git a/apps/susimail/build.xml b/apps/susimail/build.xml index 0f7aae9bc..b38edf9b9 100644 --- a/apps/susimail/build.xml +++ b/apps/susimail/build.xml @@ -22,7 +22,7 @@ - + @@ -50,6 +50,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/susimail/bundle-messages.sh b/apps/susimail/bundle-messages.sh new file mode 100644 index 000000000..10b6f150a --- /dev/null +++ b/apps/susimail/bundle-messages.sh @@ -0,0 +1,102 @@ +# +# Update messages_xx.po and messages_xx.class files, +# from both java and jsp sources. +# Requires installed programs xgettext, msgfmt, msgmerge, and find. +# +# usage: +# bundle-messages.sh (generates the resource bundle from the .po file) +# bundle-messages.sh -p (updates the .po file from the source tags, then generates the resource bundle) +# +# zzz - public domain +# +CLASS=i2p.susi.webmail.messages +TMPFILE=javafiles.txt +export TZ=UTC + +if [ "$1" = "-p" ] +then + POUPDATE=1 +fi + +# on windows, one must specify the path of commnad find +# since windows has its own retarded version of find. +if which find|grep -q -i windows ; then + export PATH=.:/bin:/usr/local/bin:$PATH +fi +# Fast mode - update ondemond +# set LG2 to the language you need in envrionment varibales to enable this + +# add ../java/ so the refs will work in the po file +JPATHS="src" +for i in locale/messages_*.po +do + # get language + LG=${i#locale/messages_} + LG=${LG%.po} + + # skip, if specified + if [ $LG2 ]; then + [ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only. + fi + + if [ "$POUPDATE" = "1" ] + then + # make list of java files newer than the .po file + find $JPATHS -name *.java -newer $i > $TMPFILE + fi + + if [ -s src/WEB-INF/classes/i2p/susi/webmail/messages_$LG.class -a \ + src/WEB-INF/classes/i2p/susi/webmail/messages_$LG.class -nt $i -a \ + ! -s $TMPFILE ] + then + continue + fi + + if [ "$POUPDATE" = "1" ] + then + echo "Updating the $i file from the tags..." + # extract strings from java and jsp files, and update messages.po files + # translate calls must be one of the forms: + # _("foo") + # _x("foo") + # To start a new translation, copy the header from an old translation to the new .po file, + # then ant distclean poupdate. + find $JPATHS -name *.java > $TMPFILE + xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\ + --keyword=_ --keyword=_x \ + -o ${i}t + if [ $? -ne 0 ] + then + echo 'Warning - xgettext failed, not updating translations' + rm -f ${i}t + break + fi + msgmerge -U --backup=none $i ${i}t + if [ $? -ne 0 ] + then + echo 'Warning - msgmerge failed, not updating translations' + rm -f ${i}t + break + fi + rm -f ${i}t + # so we don't do this again + touch $i + fi + + if [ "$LG" != "en" ] + then + # only generate for non-source language + echo "Generating ${CLASS}_$LG ResourceBundle..." + + # convert to class files in build/obj + msgfmt --java --statistics -r $CLASS -l $LG -d src/WEB-INF/classes $i + if [ $? -ne 0 ] + then + echo 'Warning - msgfmt failed, not updating translations' + break + fi + fi +done +rm -f $TMPFILE +# todo: return failure +exit 0 diff --git a/apps/susimail/locale/messages_en.po b/apps/susimail/locale/messages_en.po new file mode 100644 index 000000000..940ec1220 --- /dev/null +++ b/apps/susimail/locale/messages_en.po @@ -0,0 +1,434 @@ +# I2P +# Copyright (C) 2009 The I2P Project +# This file is distributed under the same license as the susimail package. +# To contribute translations, see http://www.i2p2.de/newdevelopers +# foo , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: I2P susimail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-03-11 20:33+0000\n" +"PO-Revision-Date: 2010-06-15 14:09+0100\n" +"Last-Translator: duck \n" +"Language-Team: duck \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: src/src/i2p/susi/webmail/WebMail.java:454 +msgid "unknown" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:473 +msgid "Warning: no transfer encoding found, fallback to 7bit." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:478 +#, java-format +msgid "No encoder found for encoding \\''{0}\\''." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:484 +msgid "Warning: no charset found, fallback to US-ASCII." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:498 +#, java-format +msgid "Charset \\''{0}\\'' not supported." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:502 +#, java-format +msgid "Part ({0}) not shown, because of {1}" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:525 +msgid "Download" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:525 +msgid "File is packed into a zipfile for security reasons." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:525 +#, java-format +msgid "attachment ({0})." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:529 +#, java-format +msgid "Attachment ({0})." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:579 +msgid "Need username for authentication." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:583 +msgid "Need password for authentication." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:587 +msgid "Need hostname for connect." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:592 +msgid "Need port number for pop3 connect." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:599 +msgid "POP3 port number is not in range 0..65535." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:605 +msgid "POP3 port number is invalid." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:611 +msgid "Need port number for smtp connect." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:618 +msgid "SMTP port number is not in range 0..65535." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:624 +msgid "SMTP port number is invalid." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:671 +msgid "User logged out." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:675 +msgid "Internal error, lost connection." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:771 +#, java-format +msgid "On {0} {1} wrote:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:818 +msgid "begin forwarded mail" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:840 +msgid "end forwarded mail" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:847 +#: src/src/i2p/susi/webmail/WebMail.java:1701 +msgid "Could not fetch mail body." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:875 +msgid "Message id not valid." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:958 +#, java-format +msgid "No Encoding found for {0}" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:962 +#, java-format +msgid "Could not encode data: {0}" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:967 +#, java-format +msgid "Error reading uploaded file: {0}" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1045 +msgid "Error parsing download parameter." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1089 +msgid "Invalid pagesize number, resetting to default value." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1113 +msgid "No messages marked for deletion." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1133 +#, java-format +msgid "Error deleting message: {0}" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1144 +#, java-format +msgid "{0} messages deleted." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1264 +#: src/src/i2p/susi/webmail/WebMail.java:1587 +msgid "Login" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1266 +#, java-format +msgid "{0} Messages" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1268 +msgid "Show Message" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1325 +#, java-format +msgid "Error decoding content: {0}" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1330 +msgid "Error decoding content: No encoder found." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1377 +msgid "no subject" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1394 +msgid "Found no valid sender address." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1400 +#, java-format +msgid "Found no valid address in \\''{0}\\''." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1419 +msgid "No recipients found." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1426 +msgid "Quoted printable encoder not available." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1431 +msgid "Header line encoder not available." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1482 +msgid "Mail sent." +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1519 +msgid "Send" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1520 +msgid "Cancel" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1521 +msgid "Delete Attachment" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1522 +#: src/src/i2p/susi/webmail/WebMail.java:1607 +#: src/src/i2p/susi/webmail/WebMail.java:1688 +msgid "Reload Config" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1523 +#: src/src/i2p/susi/webmail/WebMail.java:1608 +#: src/src/i2p/susi/webmail/WebMail.java:1689 +msgid "Logout" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1546 +#: src/src/i2p/susi/webmail/WebMail.java:1693 +msgid "From:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1547 +msgid "To:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1548 +msgid "Cc:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1549 +msgid "Bcc:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1550 +#: src/src/i2p/susi/webmail/WebMail.java:1695 +msgid "Subject:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1551 +msgid "Bcc to self" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1554 +msgid "New Attachment:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1554 +msgid "Upload File" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1560 +msgid "Attachments:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1582 +msgid "User" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1583 +msgid "Pass" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1584 +msgid "Host" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1585 +msgid "POP3-Port" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1586 +msgid "SMTP-Port" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1587 +msgid "Create Account" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1587 +msgid "Reset" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1599 +msgid "Really delete the marked messages?" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1599 +msgid "Yes, really delete them!" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1601 +#: src/src/i2p/susi/webmail/WebMail.java:1680 +msgid "New" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1602 +#: src/src/i2p/susi/webmail/WebMail.java:1681 +msgid "Reply" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1603 +#: src/src/i2p/susi/webmail/WebMail.java:1682 +msgid "Reply All" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1604 +#: src/src/i2p/susi/webmail/WebMail.java:1683 +msgid "Forward" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1605 +#: src/src/i2p/susi/webmail/WebMail.java:1684 +msgid "Delete" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1606 +msgid "Check Mail" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1610 +msgid "Sender" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1611 +msgid "Subject" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1612 +msgid "Date" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1613 +msgid "Size" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1639 +#, java-format +msgid "{0} Bytes" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1644 +msgid "Mark All" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1645 +msgid "Invert Selection" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1646 +msgid "Clear" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1649 +#: src/src/i2p/susi/webmail/WebMail.java:1650 +msgid "First" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1649 +#: src/src/i2p/susi/webmail/WebMail.java:1650 +#: src/src/i2p/susi/webmail/WebMail.java:1685 +msgid "Previous" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1651 +#, java-format +msgid "Page {0} of {1}" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1653 +#: src/src/i2p/susi/webmail/WebMail.java:1654 +msgid "Last" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1653 +#: src/src/i2p/susi/webmail/WebMail.java:1654 +#: src/src/i2p/susi/webmail/WebMail.java:1686 +msgid "Next" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1657 +msgid "Pagesize:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1658 +msgid "Set" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1668 +msgid "Really delete this messages?" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1668 +msgid "Yes, really delete it!" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1687 +msgid "Back to Folder" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1694 +msgid "Date:" +msgstr "" + +#: src/src/i2p/susi/webmail/WebMail.java:1705 +msgid "Could not fetch mail." +msgstr "" diff --git a/apps/susimail/locale/messages_nl.po b/apps/susimail/locale/messages_nl.po new file mode 100644 index 000000000..e5b951883 --- /dev/null +++ b/apps/susimail/locale/messages_nl.po @@ -0,0 +1,434 @@ +# I2P +# Copyright (C) 2009 The I2P Project +# This file is distributed under the same license as the susimail package. +# To contribute translations, see http://www.i2p2.de/newdevelopers +# foo , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: I2P susimail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-03-11 20:33+0000\n" +"PO-Revision-Date: 2010-06-15 14:09+0100\n" +"Last-Translator: duck \n" +"Language-Team: duck \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: src/src/i2p/susi/webmail/WebMail.java:454 +msgid "unknown" +msgstr "onbekend" + +#: src/src/i2p/susi/webmail/WebMail.java:473 +msgid "Warning: no transfer encoding found, fallback to 7bit." +msgstr "Waarschuwing: geen transfer encoding gevonden, terugval naar 7bit." + +#: src/src/i2p/susi/webmail/WebMail.java:478 +#, java-format +msgid "No encoder found for encoding \\''{0}\\''." +msgstr "Geen encoder gevonden voor de encoding \\''{0}\\''." + +#: src/src/i2p/susi/webmail/WebMail.java:484 +msgid "Warning: no charset found, fallback to US-ASCII." +msgstr "Waarschuwing: geen charset gevonden, terugval naar US-ASCII." + +#: src/src/i2p/susi/webmail/WebMail.java:498 +#, java-format +msgid "Charset \\''{0}\\'' not supported." +msgstr "Charset \\''{0}\\'' niet ondersteund." + +#: src/src/i2p/susi/webmail/WebMail.java:502 +#, java-format +msgid "Part ({0}) not shown, because of {1}" +msgstr "Deel ({0}) niet getoond, vanwege {1}" + +#: src/src/i2p/susi/webmail/WebMail.java:525 +msgid "Download" +msgstr "Download" + +#: src/src/i2p/susi/webmail/WebMail.java:525 +msgid "File is packed into a zipfile for security reasons." +msgstr "Bestand is verpakt in een zipbestand wegens veiligheid." + +#: src/src/i2p/susi/webmail/WebMail.java:525 +#, java-format +msgid "attachment ({0})." +msgstr "bijlage ({0})." + +#: src/src/i2p/susi/webmail/WebMail.java:529 +#, java-format +msgid "Attachment ({0})." +msgstr "Bijlage ({0})." + +#: src/src/i2p/susi/webmail/WebMail.java:579 +msgid "Need username for authentication." +msgstr "Gebruikersnaam nodig voor authenticatie." + +#: src/src/i2p/susi/webmail/WebMail.java:583 +msgid "Need password for authentication." +msgstr "Wachtwoord nodig voor authenticatie." + +#: src/src/i2p/susi/webmail/WebMail.java:587 +msgid "Need hostname for connect." +msgstr "Hostnaam nodig voor verbinding." + +#: src/src/i2p/susi/webmail/WebMail.java:592 +msgid "Need port number for pop3 connect." +msgstr "Poortnummer nodig voor pop3 verbinding." + +#: src/src/i2p/susi/webmail/WebMail.java:599 +msgid "POP3 port number is not in range 0..65535." +msgstr "POP3 poortnummer valt niet in het bereik 0..65535." + +#: src/src/i2p/susi/webmail/WebMail.java:605 +msgid "POP3 port number is invalid." +msgstr "POP3 poortnummer is ongeldig." + +#: src/src/i2p/susi/webmail/WebMail.java:611 +msgid "Need port number for smtp connect." +msgstr "Poortnummer nodig voor smtp verbinding." + +#: src/src/i2p/susi/webmail/WebMail.java:618 +msgid "SMTP port number is not in range 0..65535." +msgstr "SMTP poortnummer valt niet in het bereik 0..65535." + +#: src/src/i2p/susi/webmail/WebMail.java:624 +msgid "SMTP port number is invalid." +msgstr "SMTP poortnummer is ongeldig." + +#: src/src/i2p/susi/webmail/WebMail.java:671 +msgid "User logged out." +msgstr "Gebruiker is uitgelogged." + +#: src/src/i2p/susi/webmail/WebMail.java:675 +msgid "Internal error, lost connection." +msgstr "Interne fout, verbinding verbroken." + +#: src/src/i2p/susi/webmail/WebMail.java:771 +#, java-format +msgid "On {0} {1} wrote:" +msgstr "Op {0} schreef {1}:" + +#: src/src/i2p/susi/webmail/WebMail.java:818 +msgid "begin forwarded mail" +msgstr "begin doorgestuurde mail" + +#: src/src/i2p/susi/webmail/WebMail.java:840 +msgid "end forwarded mail" +msgstr "einde doorgestuurde mail" + +#: src/src/i2p/susi/webmail/WebMail.java:847 +#: src/src/i2p/susi/webmail/WebMail.java:1701 +msgid "Could not fetch mail body." +msgstr "Kon de body van het bericht niet ophalen." + +#: src/src/i2p/susi/webmail/WebMail.java:875 +msgid "Message id not valid." +msgstr "Message id is ongeldig." + +#: src/src/i2p/susi/webmail/WebMail.java:958 +#, java-format +msgid "No Encoding found for {0}" +msgstr "Geen Encoding gevonden voor {0}" + +#: src/src/i2p/susi/webmail/WebMail.java:962 +#, java-format +msgid "Could not encode data: {0}" +msgstr "Kon de data niet encoden: {0}" + +#: src/src/i2p/susi/webmail/WebMail.java:967 +#, java-format +msgid "Error reading uploaded file: {0}" +msgstr "Fout bij lezen van geupload bestand: {0}" + +#: src/src/i2p/susi/webmail/WebMail.java:1045 +msgid "Error parsing download parameter." +msgstr "Fout bij verwerken download parameter." + +#: src/src/i2p/susi/webmail/WebMail.java:1089 +msgid "Invalid pagesize number, resetting to default value." +msgstr "Ongeldig nummer voor paginagrootte, herstel naar standaardwaarde." + +#: src/src/i2p/susi/webmail/WebMail.java:1113 +msgid "No messages marked for deletion." +msgstr "Geen berichten gemarkeerd voor verwijdering." + +#: src/src/i2p/susi/webmail/WebMail.java:1133 +#, java-format +msgid "Error deleting message: {0}" +msgstr "Fout bij verwijderen van bericht: {0}" + +#: src/src/i2p/susi/webmail/WebMail.java:1144 +#, java-format +msgid "{0} messages deleted." +msgstr "{0} berichten verwijderd." + +#: src/src/i2p/susi/webmail/WebMail.java:1264 +#: src/src/i2p/susi/webmail/WebMail.java:1587 +msgid "Login" +msgstr "Login" + +#: src/src/i2p/susi/webmail/WebMail.java:1266 +#, java-format +msgid "{0} Messages" +msgstr "{0} Berichten" + +#: src/src/i2p/susi/webmail/WebMail.java:1268 +msgid "Show Message" +msgstr "Toon Bericht" + +#: src/src/i2p/susi/webmail/WebMail.java:1325 +#, java-format +msgid "Error decoding content: {0}" +msgstr "Fout bij decoden van inhoud: {0}" + +#: src/src/i2p/susi/webmail/WebMail.java:1330 +msgid "Error decoding content: No encoder found." +msgstr "Fout bij decoden van inhoud: Geen encoder gevonden." + +#: src/src/i2p/susi/webmail/WebMail.java:1377 +msgid "no subject" +msgstr "geen onderwerp" + +#: src/src/i2p/susi/webmail/WebMail.java:1394 +msgid "Found no valid sender address." +msgstr "Geen geldig afzender adres gevonden." + +#: src/src/i2p/susi/webmail/WebMail.java:1400 +#, java-format +msgid "Found no valid address in \\''{0}\\''." +msgstr "Geen geldig adres gevonden in \\''{0}\\''." + +#: src/src/i2p/susi/webmail/WebMail.java:1419 +msgid "No recipients found." +msgstr "Geen ontvangers gevonden." + +#: src/src/i2p/susi/webmail/WebMail.java:1426 +msgid "Quoted printable encoder not available." +msgstr "Gequote print encoder niet beschikbaar." + +#: src/src/i2p/susi/webmail/WebMail.java:1431 +msgid "Header line encoder not available." +msgstr "Kopregel encoder niet beschikbaar." + +#: src/src/i2p/susi/webmail/WebMail.java:1482 +msgid "Mail sent." +msgstr "Mail verzonden." + +#: src/src/i2p/susi/webmail/WebMail.java:1519 +msgid "Send" +msgstr "Verstuur" + +#: src/src/i2p/susi/webmail/WebMail.java:1520 +msgid "Cancel" +msgstr "Annuleer" + +#: src/src/i2p/susi/webmail/WebMail.java:1521 +msgid "Delete Attachment" +msgstr "Verwijder Bijlage" + +#: src/src/i2p/susi/webmail/WebMail.java:1522 +#: src/src/i2p/susi/webmail/WebMail.java:1607 +#: src/src/i2p/susi/webmail/WebMail.java:1688 +msgid "Reload Config" +msgstr "Herlaad Configuratie" + +#: src/src/i2p/susi/webmail/WebMail.java:1523 +#: src/src/i2p/susi/webmail/WebMail.java:1608 +#: src/src/i2p/susi/webmail/WebMail.java:1689 +msgid "Logout" +msgstr "Uitloggen" + +#: src/src/i2p/susi/webmail/WebMail.java:1546 +#: src/src/i2p/susi/webmail/WebMail.java:1693 +msgid "From:" +msgstr "Van:" + +#: src/src/i2p/susi/webmail/WebMail.java:1547 +msgid "To:" +msgstr "Aan:" + +#: src/src/i2p/susi/webmail/WebMail.java:1548 +msgid "Cc:" +msgstr "Cc:" + +#: src/src/i2p/susi/webmail/WebMail.java:1549 +msgid "Bcc:" +msgstr "Bcc:" + +#: src/src/i2p/susi/webmail/WebMail.java:1550 +#: src/src/i2p/susi/webmail/WebMail.java:1695 +msgid "Subject:" +msgstr "Onderwerp:" + +#: src/src/i2p/susi/webmail/WebMail.java:1551 +msgid "Bcc to self" +msgstr "Bcc zelf" + +#: src/src/i2p/susi/webmail/WebMail.java:1554 +msgid "New Attachment:" +msgstr "Nieuwe Bijlage:" + +#: src/src/i2p/susi/webmail/WebMail.java:1554 +msgid "Upload File" +msgstr "Upload Bestand" + +#: src/src/i2p/susi/webmail/WebMail.java:1560 +msgid "Attachments:" +msgstr "Bijlagen" + +#: src/src/i2p/susi/webmail/WebMail.java:1582 +msgid "User" +msgstr "Gebruiker" + +#: src/src/i2p/susi/webmail/WebMail.java:1583 +msgid "Pass" +msgstr "Wachtwoord" + +#: src/src/i2p/susi/webmail/WebMail.java:1584 +msgid "Host" +msgstr "Host" + +#: src/src/i2p/susi/webmail/WebMail.java:1585 +msgid "POP3-Port" +msgstr "POP3-Poort" + +#: src/src/i2p/susi/webmail/WebMail.java:1586 +msgid "SMTP-Port" +msgstr "SMTP-Poort" + +#: src/src/i2p/susi/webmail/WebMail.java:1587 +msgid "Create Account" +msgstr "Account Aanmaken" + +#: src/src/i2p/susi/webmail/WebMail.java:1587 +msgid "Reset" +msgstr "Herstel" + +#: src/src/i2p/susi/webmail/WebMail.java:1599 +msgid "Really delete the marked messages?" +msgstr "Wil je de gemarkeerde berichten daadwerkelijk verwijderen?" + +#: src/src/i2p/susi/webmail/WebMail.java:1599 +msgid "Yes, really delete them!" +msgstr "Ja, verwijder ze!" + +#: src/src/i2p/susi/webmail/WebMail.java:1601 +#: src/src/i2p/susi/webmail/WebMail.java:1680 +msgid "New" +msgstr "Nieuw" + +#: src/src/i2p/susi/webmail/WebMail.java:1602 +#: src/src/i2p/susi/webmail/WebMail.java:1681 +msgid "Reply" +msgstr "Beantwoorden" + +#: src/src/i2p/susi/webmail/WebMail.java:1603 +#: src/src/i2p/susi/webmail/WebMail.java:1682 +msgid "Reply All" +msgstr "Allen Beantwoorden" + +#: src/src/i2p/susi/webmail/WebMail.java:1604 +#: src/src/i2p/susi/webmail/WebMail.java:1683 +msgid "Forward" +msgstr "Doorsturen" + +#: src/src/i2p/susi/webmail/WebMail.java:1605 +#: src/src/i2p/susi/webmail/WebMail.java:1684 +msgid "Delete" +msgstr "Verwijder" + +#: src/src/i2p/susi/webmail/WebMail.java:1606 +msgid "Check Mail" +msgstr "Controlleer Mail" + +#: src/src/i2p/susi/webmail/WebMail.java:1610 +msgid "Sender" +msgstr "Verzender" + +#: src/src/i2p/susi/webmail/WebMail.java:1611 +msgid "Subject" +msgstr "Onderwerp" + +#: src/src/i2p/susi/webmail/WebMail.java:1612 +msgid "Date" +msgstr "Datum" + +#: src/src/i2p/susi/webmail/WebMail.java:1613 +msgid "Size" +msgstr "Grootte" + +#: src/src/i2p/susi/webmail/WebMail.java:1639 +#, java-format +msgid "{0} Bytes" +msgstr "{0} Bytes" + +#: src/src/i2p/susi/webmail/WebMail.java:1644 +msgid "Mark All" +msgstr "Allen Markeren" + +#: src/src/i2p/susi/webmail/WebMail.java:1645 +msgid "Invert Selection" +msgstr "Selectie Omkeren" + +#: src/src/i2p/susi/webmail/WebMail.java:1646 +msgid "Clear" +msgstr "Selectie Wissen" + +#: src/src/i2p/susi/webmail/WebMail.java:1649 +#: src/src/i2p/susi/webmail/WebMail.java:1650 +msgid "First" +msgstr "Eerste" + +#: src/src/i2p/susi/webmail/WebMail.java:1649 +#: src/src/i2p/susi/webmail/WebMail.java:1650 +#: src/src/i2p/susi/webmail/WebMail.java:1685 +msgid "Previous" +msgstr "Vorige" + +#: src/src/i2p/susi/webmail/WebMail.java:1651 +#, java-format +msgid "Page {0} of {1}" +msgstr "Pagina {0} van {1}" + +#: src/src/i2p/susi/webmail/WebMail.java:1653 +#: src/src/i2p/susi/webmail/WebMail.java:1654 +msgid "Last" +msgstr "Laatste" + +#: src/src/i2p/susi/webmail/WebMail.java:1653 +#: src/src/i2p/susi/webmail/WebMail.java:1654 +#: src/src/i2p/susi/webmail/WebMail.java:1686 +msgid "Next" +msgstr "Volgende" + +#: src/src/i2p/susi/webmail/WebMail.java:1657 +msgid "Pagesize:" +msgstr "Paginagrootte:" + +#: src/src/i2p/susi/webmail/WebMail.java:1658 +msgid "Set" +msgstr "Instellen" + +#: src/src/i2p/susi/webmail/WebMail.java:1668 +msgid "Really delete this messages?" +msgstr "Werkelijk deze berichten verwijderen?" + +#: src/src/i2p/susi/webmail/WebMail.java:1668 +msgid "Yes, really delete it!" +msgstr "Ja, verwijder ze!" + +#: src/src/i2p/susi/webmail/WebMail.java:1687 +msgid "Back to Folder" +msgstr "Terug naar de Map" + +#: src/src/i2p/susi/webmail/WebMail.java:1694 +msgid "Date:" +msgstr "Datum:" + +#: src/src/i2p/susi/webmail/WebMail.java:1705 +msgid "Could not fetch mail." +msgstr "Kon de mail niet ophalen." diff --git a/apps/susimail/src/src/i2p/susi/webmail/Messages.java b/apps/susimail/src/src/i2p/susi/webmail/Messages.java new file mode 100644 index 000000000..4a4a1ac9d --- /dev/null +++ b/apps/susimail/src/src/i2p/susi/webmail/Messages.java @@ -0,0 +1,34 @@ +package i2p.susi.webmail; + +import net.i2p.I2PAppContext; +import net.i2p.util.Translate; + +/** + * Translate strings for this package. + * @since 0.8.5 + */ +public class Messages { + private static final String BUNDLE_NAME = "i2p.susi.webmail.messages"; + private final I2PAppContext _context; + + public Messages() { + _context = I2PAppContext.getGlobalContext(); + } + + /** lang in routerconsole.lang property, else current locale */ + public String _(String key) { + return Translate.getString(key, _context, BUNDLE_NAME); + } + + public static String getString(String s) { + return Translate.getString(s, I2PAppContext.getGlobalContext(), BUNDLE_NAME); + } + + public static String getString(String s, Object o) { + return Translate.getString(s, o, I2PAppContext.getGlobalContext(), BUNDLE_NAME); + } + + public static String getString(String s, Object o, Object o2) { + return Translate.getString(s, o, o2, I2PAppContext.getGlobalContext(), BUNDLE_NAME); + } +} diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java index b356c73d1..7bad6e0b2 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java @@ -27,6 +27,7 @@ import i2p.susi.debug.Debug; import i2p.susi.util.Config; import i2p.susi.util.Folder; import i2p.susi.util.ReadBuffer; +import i2p.susi.webmail.Messages; import i2p.susi.webmail.encoding.DecodingException; import i2p.susi.webmail.encoding.Encoding; import i2p.susi.webmail.encoding.EncodingException; @@ -450,7 +451,7 @@ public class WebMail extends HttpServlet ( mailPart.description != null ? mailPart.description + ", " : "" ) + ( mailPart.filename != null ? mailPart.filename + ", " : "" ) + ( mailPart.name != null ? mailPart.name + ", " : "" ) + - ( mailPart.type != null ? mailPart.type : "unknown" ) ); + ( mailPart.type != null ? mailPart.type : _("unknown") ) ); if( level == 0 && mailPart.version == null ) { /* @@ -469,18 +470,18 @@ public class WebMail extends HttpServlet String encoding = mailPart.encoding; if( encoding == null ) { encoding = "7bit"; - reason += "Warning: no transfer encoding found, fallback to 7bit." + br; + reason += _("Warning: no transfer encoding found, fallback to 7bit.") + br; } Encoding e = EncodingFactory.getEncoding( encoding ); if( e == null ) { showBody = false; - reason += "No encoder found for encoding '" + quoteHTML( encoding ) + "'."; + reason += _("No encoder found for encoding \\''{0}\\''.", quoteHTML( encoding )); } else { String charset = mailPart.charset; if( charset == null ) { charset = "US-ASCII"; - reason += "Warning: no charset found, fallback to US-ASCII." + br; + reason += _("Warning: no charset found, fallback to US-ASCII.") + br; } try { ReadBuffer decoded = e.decode( mailPart.buffer.content, mailPart.beginBody, mailPart.end - mailPart.beginBody ); @@ -494,11 +495,11 @@ public class WebMail extends HttpServlet } catch( UnsupportedEncodingException uee ) { showBody = false; - reason = "Charset '" + quoteHTML( mailPart.charset ) + "' not supported." + br; + reason = _("Charset \\''{0}\\'' not supported.", quoteHTML( mailPart.charset )) + br; } catch (Exception e1) { showBody = false; - reason += "Part (" + ident + ") not shown, because of " + e1.getClass().getName() + br; + reason += _("Part ({0}) not shown, because of {1}", ident, e1.getClass().getName()) + br; } } } @@ -521,11 +522,11 @@ public class WebMail extends HttpServlet if( prepareAttachment ) { if( html ) { out.println( "

" ); - out.println( "Download attachment (" + ident + "). File is packed into a zipfile for security reasons." ); + out.println( "" + _("Download") + " " + _("attachment ({0}).", ident) + " " + _("File is packed into a zipfile for security reasons.") ); out.println( "

" ); } else { - out.println( "Attachment (" + ident + ")." ); + out.println( _("Attachment ({0}).", ident) ); } } if( html ) @@ -575,52 +576,52 @@ public class WebMail extends HttpServlet if( buttonPressed( request, LOGIN ) ) { if( user == null || user.length() == 0 ) { - sessionObject.error += "Need username for authentication.
"; + sessionObject.error += _("Need username for authentication.") + "
"; doContinue = false; } if( pass == null || pass.length() == 0 ) { - sessionObject.error += "Need password for authentication.
"; + sessionObject.error += _("Need password for authentication.") + "
"; doContinue = false; } if( host == null || host.length() == 0 ) { - sessionObject.error += "Need hostname for connect.
"; + sessionObject.error += _("Need hostname for connect.") + "
"; doContinue = false; } int pop3PortNo = 0; if( pop3Port == null || pop3Port.length() == 0 ) { - sessionObject.error += "Need port number for pop3 connect.
"; + sessionObject.error += _("Need port number for pop3 connect.") + "
"; doContinue = false; } else { try { pop3PortNo = Integer.parseInt( pop3Port ); if( pop3PortNo < 0 || pop3PortNo > 65535 ) { - sessionObject.error += "POP3 port number is not in range 0..65535.
"; + sessionObject.error += _("POP3 port number is not in range 0..65535.") + "
"; doContinue = false; } } catch( NumberFormatException nfe ) { - sessionObject.error += "POP3 port number is invalid.
"; + sessionObject.error += _("POP3 port number is invalid.") + "
"; doContinue = false; } } int smtpPortNo = 0; if( smtpPort == null || smtpPort.length() == 0 ) { - sessionObject.error += "Need port number for smtp connect.
"; + sessionObject.error += _("Need port number for smtp connect.") + "
"; doContinue = false; } else { try { smtpPortNo = Integer.parseInt( smtpPort ); if( smtpPortNo < 0 || smtpPortNo > 65535 ) { - sessionObject.error += "SMTP port number is not in range 0..65535.
"; + sessionObject.error += _("SMTP port number is not in range 0..65535.") + "
"; doContinue = false; } } catch( NumberFormatException nfe ) { - sessionObject.error += "SMTP port number is invalid.
"; + sessionObject.error += _("SMTP port number is invalid.") + "
"; doContinue = false; } } @@ -667,11 +668,11 @@ public class WebMail extends HttpServlet sessionObject.mailbox.close(); sessionObject.mailbox = null; } - sessionObject.info += "User logged out.
"; + sessionObject.info += _("User logged out.") + "
"; sessionObject.state = STATE_AUTH; } else if( sessionObject.mailbox == null ) { - sessionObject.error += "Internal error, lost connection.
"; + sessionObject.error += _("Internal error, lost connection.") + "
"; sessionObject.state = STATE_AUTH; } } @@ -767,7 +768,7 @@ public class WebMail extends HttpServlet sessionObject.subject = "Re: " + mail.formattedSubject; StringWriter text = new StringWriter(); PrintWriter pw = new PrintWriter( text ); - pw.println( "On " + mail.formattedDate + " " + sessionObject.replyTo + " wrote:" ); + pw.println( _("On {0} {1} wrote:", mail.formattedDate, sessionObject.replyTo) ); StringWriter text2 = new StringWriter(); PrintWriter pw2 = new PrintWriter( text2 ); showPart( pw2, mail.part, 0, TEXT_ONLY ); @@ -814,7 +815,7 @@ public class WebMail extends HttpServlet pw.println(); pw.println(); pw.println(); - pw.println( "---- begin forwarded mail ----" ); + pw.println( "---- " + _("begin forwarded mail") + " ----" ); pw.println( "From: " + sender ); if( mail.to != null ) { String pad = "To: "; @@ -836,14 +837,14 @@ public class WebMail extends HttpServlet pw.print( "Date: " + mail.dateString ); pw.println(); showPart( pw, mail.part, 0, TEXT_ONLY ); - pw.println( "---- end forwarded mail ----" ); + pw.println( "---- " + _("end forwarded mail") + " ----" ); pw.flush(); sessionObject.body = text.toString(); } sessionObject.state = STATE_NEW; } else { - sessionObject.error += "Could not fetch mail body.
"; + sessionObject.error += _("Could not fetch mail body.") + "
"; } } } @@ -871,7 +872,7 @@ public class WebMail extends HttpServlet } catch( NumberFormatException nfe ) { - sessionObject.error += "Message id not valid.
"; + sessionObject.error += _("Message id not valid.") + "
"; } } } @@ -954,16 +955,16 @@ public class WebMail extends HttpServlet sessionObject.attachments.add( attachment ); } else { - sessionObject.error += "No Encoding found for " + encodeTo + "
"; + sessionObject.error += _("No Encoding found for {0}", encodeTo) + "
"; } } catch (EncodingException e1) { - sessionObject.error += "Could not encode data: " + e1.getMessage(); + sessionObject.error += _("Could not encode data: {0}", e1.getMessage()); } } } catch (IOException e) { - sessionObject.error += "Error reading uploaded file: " + e.getMessage() + "
"; + sessionObject.error += _("Error reading uploaded file: {0}", e.getMessage()) + "
"; } } } @@ -1041,7 +1042,7 @@ public class WebMail extends HttpServlet sessionObject.showAttachment = part; } catch( NumberFormatException nfe ) { - sessionObject.error += "Error parsing download parameter."; + sessionObject.error += _("Error parsing download parameter."); } } } @@ -1085,7 +1086,7 @@ public class WebMail extends HttpServlet sessionObject.folder.setPageSize( pageSize ); } catch( NumberFormatException nfe ) { - sessionObject.error += "Invalid pagesize number, resetting to default value.
"; + sessionObject.error += _("Invalid pagesize number, resetting to default value.") + "
"; } } if( buttonPressed( request, PREVPAGE ) ) { @@ -1109,7 +1110,7 @@ public class WebMail extends HttpServlet if( m != -1 ) sessionObject.reallyDelete = true; else - sessionObject.error += "No messages marked for deletion.
"; + sessionObject.error += _("No messages marked for deletion.") + "
"; } else { int numberDeleted = 0; @@ -1129,7 +1130,7 @@ public class WebMail extends HttpServlet numberDeleted++; } else - sessionObject.error += "Error deleting message: " + sessionObject.mailbox.lastError() + "
"; + sessionObject.error += _("Error deleting message: {0}", sessionObject.mailbox.lastError()) + "
"; } } } @@ -1140,7 +1141,7 @@ public class WebMail extends HttpServlet sessionObject.mailbox.performDelete(); sessionObject.folder.setElements( sessionObject.mailbox.getUIDLs() ); sessionObject.pageChanged = true; - sessionObject.info += numberDeleted + " messages deleted."; + sessionObject.info += _("{0} messages deleted.", numberDeleted); } sessionObject.reallyDelete = false; } @@ -1260,11 +1261,11 @@ public class WebMail extends HttpServlet * build subtitle */ if( sessionObject.state == STATE_AUTH ) - subtitle = "Login"; + subtitle = _("Login"); else if( sessionObject.state == STATE_LIST ) - subtitle = "" + sessionObject.mailbox.getNumMails() + " Messages"; + subtitle = _("{0} Messages", sessionObject.mailbox.getNumMails()); else if( sessionObject.state == STATE_SHOW ) - subtitle = "Show Message"; + subtitle = _("Show Message"); response.setContentType( "text/html" ); out.println( "\n" ); @@ -1321,12 +1322,12 @@ public class WebMail extends HttpServlet content = encoding.decode( part.buffer.content, part.beginBody + 2, part.end - part.beginBody - 2 ); } catch (DecodingException e) { - sessionObject.error += "Error decoding content: " + e.getMessage() + "
"; + sessionObject.error += _("Error decoding content: {0}", e.getMessage()) + "
"; content = null; } } else { - sessionObject.error += "Error decoding content: No encoder found."; + sessionObject.error += _("Error decoding content: No encoder found."); content = null; } } @@ -1373,7 +1374,7 @@ public class WebMail extends HttpServlet String to = request.getParameter( NEW_TO ); String cc = request.getParameter( NEW_CC ); String bcc = request.getParameter( NEW_BCC ); - String subject = request.getParameter( NEW_SUBJECT, "no subject" ); + String subject = request.getParameter( NEW_SUBJECT, _("no subject") ); String text = request.getParameter( NEW_TEXT, "" ); String prop = Config.getProperty( CONFIG_SENDER_FIXED, "true" ); @@ -1390,13 +1391,13 @@ public class WebMail extends HttpServlet if( from == null || !Mail.validateAddress( from ) ) { ok = false; - sessionObject.error += "Found no valid sender address.
"; + sessionObject.error += _("Found no valid sender address.") + "
"; } else { sender = Mail.getAddress( from ); if( sender == null || sender.length() == 0 ) { ok = false; - sessionObject.error += "Found no valid address in '" + quoteHTML( from ) + "'.
"; + sessionObject.error += _("Found no valid address in \\''{0}\\''.", quoteHTML( from )) + "
"; } } @@ -1415,19 +1416,19 @@ public class WebMail extends HttpServlet if( recipients.isEmpty() ) { ok = false; - sessionObject.error += "No recipients found.
"; + sessionObject.error += _("No recipients found.") + "
"; } Encoding qp = EncodingFactory.getEncoding( "quoted-printable" ); Encoding hl = EncodingFactory.getEncoding( "HEADERLINE" ); if( qp == null ) { ok = false; - sessionObject.error += "Quoted printable encoder not available."; + sessionObject.error += _("Quoted printable encoder not available."); } if( hl == null ) { ok = false; - sessionObject.error += "Header line encoder not available."; + sessionObject.error += _("Header line encoder not available."); } if( ok ) { @@ -1478,7 +1479,7 @@ public class WebMail extends HttpServlet sessionObject.user, sessionObject.pass, sender, recipients.toArray(), body.toString() ) ) { - sessionObject.info += "Mail sent."; + sessionObject.info += _("Mail sent."); if( sessionObject.attachments != null ) sessionObject.attachments.clear(); @@ -1515,11 +1516,11 @@ public class WebMail extends HttpServlet */ private void showCompose( PrintWriter out, SessionObject sessionObject, RequestWrapper request ) { - out.println( button( SEND, "Send" ) + - button( CANCEL, "Cancel" ) + spacer + - (sessionObject.attachments != null && (!sessionObject.attachments.isEmpty()) ? button( DELETE_ATTACHMENT, "Delete Attachment" ) : button2( DELETE_ATTACHMENT, "Delete Attachment" ) ) + spacer + - button( RELOAD, "Reload Config" ) + spacer + - button( LOGOUT, "Logout" ) ); + out.println( button( SEND, _("Send") ) + + button( CANCEL, _("Cancel") ) + spacer + + (sessionObject.attachments != null && (!sessionObject.attachments.isEmpty()) ? button( DELETE_ATTACHMENT, _("Delete Attachment") ) : button2( DELETE_ATTACHMENT, _("Delete Attachment") ) ) + spacer + + button( RELOAD, _("Reload Config") ) + spacer + + button( LOGOUT, _("Logout") ) ); String from = (String)request.getParameter( NEW_FROM ); String fixed = Config.getProperty( CONFIG_SENDER_FIXED, "true" ); @@ -1542,21 +1543,21 @@ public class WebMail extends HttpServlet out.println( "\n" + "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + "\n" + - "" ); + "" ); if( sessionObject.attachments != null && !sessionObject.attachments.isEmpty() ) { boolean wroteHeader = false; for( Iterator it = sessionObject.attachments.iterator(); it.hasNext(); ) { if( !wroteHeader ) { - out.println( "" ); + out.println( "" ); wroteHeader = true; } Attachment attachment = (Attachment)it.next(); @@ -1578,12 +1579,12 @@ public class WebMail extends HttpServlet String smtp = Config.getProperty( CONFIG_PORTS_SMTP, "" + DEFAULT_SMTPPORT ); out.println( "

From:
To:
Cc:
Bcc:
Subject:
 Bcc to self
" + _("From:") + "
" + _("To:") + "
" + _("Cc:") + "
" + _("Bcc:") + "
" + _("Subject:") + "
 " + _("Bcc to self") + "
" + "

New Attachment:
" + _("New Attachment:") + "
Attachments:
" + _("Attachments:") + "
\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + "
User
Pass
Host
POP3-Port
SMTP-Port
Create Account " + button( LOGIN, "Login" ) + "
" + _("User") + "
" + _("Pass") + "
" + _("Host") + "
" + _("POP3-Port") + "
" + _("SMTP-Port") + "
" + _("Create Account") + " " + button( LOGIN, _("Login") ) + "
"); } /** @@ -1595,21 +1596,21 @@ public class WebMail extends HttpServlet private void showFolder( PrintWriter out, SessionObject sessionObject, RequestWrapper request ) { if( sessionObject.reallyDelete ) { - out.println( "

Really delete the marked messages? " + button( REALLYDELETE, "Yes, really delete them!" ) + "

" ); + out.println( "

" + _("Really delete the marked messages?") + " " + button( REALLYDELETE, _("Yes, really delete them!") ) + "

" ); } - out.println( button( NEW, "New" ) + spacer + - button( REPLY, "Reply" ) + - button( REPLYALL, "Reply All" ) + - button( FORWARD, "Forward" ) + spacer + - button( DELETE, "Delete" ) + spacer + - button( REFRESH, "Check Mail" ) + spacer + - button( RELOAD, "Reload Config" ) + spacer + - button( LOGOUT, "Logout" ) + "\n" + + out.println( button( NEW, _("New") ) + spacer + + button( REPLY, _("Reply") ) + + button( REPLYALL, _("Reply All") ) + + button( FORWARD, _("Forward") ) + spacer + + button( DELETE, _("Delete") ) + spacer + + button( REFRESH, _("Check Mail") ) + spacer + + button( RELOAD, _("Reload Config") ) + spacer + + button( LOGOUT, _("Logout") ) + "
\n" + "\n" + - thSpacer + "" + - thSpacer + "" + - thSpacer + "" + - thSpacer + "" ); + thSpacer + "" + + thSpacer + "" + + thSpacer + "" + + thSpacer + "" ); int bg = 0; int i = 0; for( Iterator it = sessionObject.folder.currentPageIterator(); it != null && it.hasNext(); ) { @@ -1635,26 +1636,26 @@ public class WebMail extends HttpServlet ", invert=" + sessionObject.invert + ", clear=" + sessionObject.clear ); out.println( "" ); + ( idChecked ? "checked" : "" ) + ">" + ( RELEASE ? "" : "" + i ) + "" ); bg = 1 - bg; i++; } out.println( "\n

" + sortHeader( SORT_SENDER, "Sender" ) + "" + sortHeader( SORT_SUBJECT, "Subject" ) + "" + sortHeader( SORT_DATE, "Date" ) + sortHeader( SORT_ID, "" ) + "" + sortHeader( SORT_SIZE, "Size" ) + "
" + sortHeader( SORT_SENDER, _("Sender") ) + "" + sortHeader( SORT_SUBJECT, _("Subject") ) + "" + sortHeader( SORT_DATE, _("Date") ) + sortHeader( SORT_ID, "" ) + "" + sortHeader( SORT_SIZE, _("Size") ) + "
" + ( RELEASE ? "" : "" + i ) + "" + link + mail.shortSender + " " + link + mail.shortSubject + " " + mail.formattedDate + " " + mail.size + " Bytes
" + link + mail.shortSender + " " + link + mail.shortSubject + " " + mail.formattedDate + " " + _("{0} Bytes", mail.size) + "

" + - button( MARKALL, "Mark All" ) + - button( INVERT, "Invert Selection" ) + - button( CLEAR, "Clear" ) + + button( MARKALL, _("Mark All") ) + + button( INVERT, _("Invert Selection") ) + + button( CLEAR, _("Clear") ) + "
" + ( sessionObject.folder.isFirstPage() ? - button2( FIRSTPAGE, "First" ) + button2( PREVPAGE, "Previous" ) : - button( FIRSTPAGE, "First" ) + button( PREVPAGE, "Previous" ) ) + - "      Page " + sessionObject.folder.getCurrentPage() + " of " + sessionObject.folder.getPages() + "      " + + button2( FIRSTPAGE, _("First") ) + button2( PREVPAGE, _("Previous") ) : + button( FIRSTPAGE, _("First") ) + button( PREVPAGE, _("Previous") ) ) + + "      " + _("Page {0} of {1}", sessionObject.folder.getCurrentPage(), sessionObject.folder.getPages()) + "      " + ( sessionObject.folder.isLastPage() ? - button2( NEXTPAGE, "Next" ) + button2( LASTPAGE, "Last" ) : - button( NEXTPAGE, "Next" ) + button( LASTPAGE, "Last" ) ) + + button2( NEXTPAGE, _("Next") ) + button2( LASTPAGE, _("Last") ) : + button( NEXTPAGE, _("Next") ) + button( LASTPAGE, _("Last") ) ) + "
" + - "Pagesize: " + - button( SETPAGESIZE, "Set" ) ); + _("Pagesize:") + " " + + button( SETPAGESIZE, _("Set") ) ); } /** * @@ -1664,7 +1665,7 @@ public class WebMail extends HttpServlet private void showMessage( PrintWriter out, SessionObject sessionObject ) { if( sessionObject.reallyDelete ) { - out.println( "

Really delete this messages? " + button( REALLYDELETE, "Yes, really delete it!" ) + "

" ); + out.println( "

" + _("Really delete this messages?") + " " + button( REALLYDELETE, _("Yes, really delete it!") ) + "

" ); } Mail mail = sessionObject.mailCache.getMail( sessionObject.showUIDL, MailCache.FETCH_ALL ); if( mail != null && mail.body != null && mail.part == null ) { @@ -1676,33 +1677,48 @@ public class WebMail extends HttpServlet out.println( quoteHTML( new String( mail.body.content, mail.body.offset, mail.body.length ) ) ); out.println( "-->" ); } - out.println( button( NEW, "New" ) + spacer + - button( REPLY, "Reply" ) + - button( REPLYALL, "Reply All" ) + - button( FORWARD, "Forward" ) + spacer + - button( DELETE, "Delete" ) + spacer + - ( sessionObject.folder.isFirstElement( sessionObject.showUIDL ) ? button2( PREV, "Previous" ) : button( PREV, "Previous" ) ) + - ( sessionObject.folder.isLastElement( sessionObject.showUIDL ) ? button2( NEXT, "Next" ) : button( NEXT, "Next" ) ) + spacer + - button( LIST, "Back to Folder" ) + spacer + - button( RELOAD, "Reload Config" ) + spacer + - button( LOGOUT, "Logout" ) ); + out.println( button( NEW, _("New") ) + spacer + + button( REPLY, _("Reply") ) + + button( REPLYALL, _("Reply All") ) + + button( FORWARD, _("Forward") ) + spacer + + button( DELETE, _("Delete") ) + spacer + + ( sessionObject.folder.isFirstElement( sessionObject.showUIDL ) ? button2( PREV, _("Previous") ) : button( PREV, _("Previous") ) ) + + ( sessionObject.folder.isLastElement( sessionObject.showUIDL ) ? button2( NEXT, _("Next") ) : button( NEXT, _("Next") ) ) + spacer + + button( LIST, _("Back to Folder") ) + spacer + + button( RELOAD, _("Reload Config") ) + spacer + + button( LOGOUT, _("Logout") ) ); if( mail != null ) { out.println( "\n" + "\n" + - "\n" + - "\n" + - "\n" + + "\n" + + "\n" + + "\n" + "" ); if( mail.body != null ) { showPart( out, mail.part, 0, SHOW_HTML ); } else { - out.println( "" ); + out.println( "" ); } } else { - out.println( "" ); + out.println( "" ); } out.println( "\n

From:" + quoteHTML( mail.formattedSender ) + "
Date:" + mail.quotedDate + "
Subject:" + quoteHTML( mail.formattedSubject ) + "
" + _("From:") + "" + quoteHTML( mail.formattedSender ) + "
" + _("Date:") + "" + mail.quotedDate + "
" + _("Subject:") + "" + quoteHTML( mail.formattedSubject ) + "

Could not fetch mail body.

" + _("Could not fetch mail body.") + "

Could not fetch mail.

" + _("Could not fetch mail.") + "


" ); } + + /** translate */ + private static String _(String s) { + return Messages.getString(s); + } + + /** translate */ + private static String _(String s, Object o) { + return Messages.getString(s, o); + } + + /** translate */ + private static String _(String s, Object o, Object o2) { + return Messages.getString(s, o, o2); + } } diff --git a/build.xml b/build.xml index 396c4909f..678abccf9 100644 --- a/build.xml +++ b/build.xml @@ -223,6 +223,7 @@ +