I18N for susimail, including dutch translation.

This commit is contained in:
duck
2011-03-11 21:47:00 +00:00
parent b6a0426477
commit a5b55728ba
7 changed files with 1156 additions and 104 deletions

View File

@@ -22,7 +22,7 @@
</target>
<target name="jar" depends="compile, war" />
<target name="war" depends="compile, warUpToDate" unless="war.uptodate" >
<target name="war" depends="compile, bundle, warUpToDate" unless="war.uptodate" >
<exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" >
<arg value="list" />
<arg value="changed" />
@@ -50,6 +50,37 @@
</uptodate>
</target>
<target name="bundle" depends="compile">
<!-- Update the messages_*.po files.
We need to supply the bat file for windows, and then change the fail property to true -->
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
</exec>
<!-- multi-lang is optional -->
<exec executable="sh" osfamily="windows" failifexecutionfails="false" >
<arg value="./bundle-messages.sh" />
</exec>
</target>
<target name="poupdate" depends="builddep, compile">
<!-- Update the messages_*.po files. -->
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
<exec executable="sh" osfamily="windows" failifexecutionfails="true" >
<arg value="./bundle-messages.sh" />
<arg value="-p" />
</exec>
</target>
<target name="javadoc">
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />

View File

@@ -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

View File

@@ -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 <foo@bar>, 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 <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\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 ""

View File

@@ -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 <foo@bar>, 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 <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\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."

View File

@@ -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);
}
}

View File

@@ -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( "<p class=\"mailbody\">" );
out.println( "<a target=\"_blank\" href=\"" + myself + "?" + DOWNLOAD + "=" + mailPart.hashCode() + "\">Download</a> attachment (" + ident + "). File is packed into a zipfile for security reasons." );
out.println( "<a target=\"_blank\" href=\"" + myself + "?" + DOWNLOAD + "=" + mailPart.hashCode() + "\">" + _("Download") + "</a> " + _("attachment ({0}).", ident) + " " + _("File is packed into a zipfile for security reasons.") );
out.println( "</p>" );
}
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.<br>";
sessionObject.error += _("Need username for authentication.") + "<br>";
doContinue = false;
}
if( pass == null || pass.length() == 0 ) {
sessionObject.error += "Need password for authentication.<br>";
sessionObject.error += _("Need password for authentication.") + "<br>";
doContinue = false;
}
if( host == null || host.length() == 0 ) {
sessionObject.error += "Need hostname for connect.<br>";
sessionObject.error += _("Need hostname for connect.") + "<br>";
doContinue = false;
}
int pop3PortNo = 0;
if( pop3Port == null || pop3Port.length() == 0 ) {
sessionObject.error += "Need port number for pop3 connect.<br>";
sessionObject.error += _("Need port number for pop3 connect.") + "<br>";
doContinue = false;
}
else {
try {
pop3PortNo = Integer.parseInt( pop3Port );
if( pop3PortNo < 0 || pop3PortNo > 65535 ) {
sessionObject.error += "POP3 port number is not in range 0..65535.<br>";
sessionObject.error += _("POP3 port number is not in range 0..65535.") + "<br>";
doContinue = false;
}
}
catch( NumberFormatException nfe )
{
sessionObject.error += "POP3 port number is invalid.<br>";
sessionObject.error += _("POP3 port number is invalid.") + "<br>";
doContinue = false;
}
}
int smtpPortNo = 0;
if( smtpPort == null || smtpPort.length() == 0 ) {
sessionObject.error += "Need port number for smtp connect.<br>";
sessionObject.error += _("Need port number for smtp connect.") + "<br>";
doContinue = false;
}
else {
try {
smtpPortNo = Integer.parseInt( smtpPort );
if( smtpPortNo < 0 || smtpPortNo > 65535 ) {
sessionObject.error += "SMTP port number is not in range 0..65535.<br>";
sessionObject.error += _("SMTP port number is not in range 0..65535.") + "<br>";
doContinue = false;
}
}
catch( NumberFormatException nfe )
{
sessionObject.error += "SMTP port number is invalid.<br>";
sessionObject.error += _("SMTP port number is invalid.") + "<br>";
doContinue = false;
}
}
@@ -667,11 +668,11 @@ public class WebMail extends HttpServlet
sessionObject.mailbox.close();
sessionObject.mailbox = null;
}
sessionObject.info += "User logged out.<br>";
sessionObject.info += _("User logged out.") + "<br>";
sessionObject.state = STATE_AUTH;
}
else if( sessionObject.mailbox == null ) {
sessionObject.error += "Internal error, lost connection.<br>";
sessionObject.error += _("Internal error, lost connection.") + "<br>";
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.<br>";
sessionObject.error += _("Could not fetch mail body.") + "<br>";
}
}
}
@@ -871,7 +872,7 @@ public class WebMail extends HttpServlet
}
catch( NumberFormatException nfe )
{
sessionObject.error += "Message id not valid.<br>";
sessionObject.error += _("Message id not valid.") + "<br>";
}
}
}
@@ -954,16 +955,16 @@ public class WebMail extends HttpServlet
sessionObject.attachments.add( attachment );
}
else {
sessionObject.error += "No Encoding found for " + encodeTo + "<br>";
sessionObject.error += _("No Encoding found for {0}", encodeTo) + "<br>";
}
}
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() + "<br>";
sessionObject.error += _("Error reading uploaded file: {0}", e.getMessage()) + "<br>";
}
}
}
@@ -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.<br>";
sessionObject.error += _("Invalid pagesize number, resetting to default value.") + "<br>";
}
}
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.<br>";
sessionObject.error += _("No messages marked for deletion.") + "<br>";
}
else {
int numberDeleted = 0;
@@ -1129,7 +1130,7 @@ public class WebMail extends HttpServlet
numberDeleted++;
}
else
sessionObject.error += "Error deleting message: " + sessionObject.mailbox.lastError() + "<br>";
sessionObject.error += _("Error deleting message: {0}", sessionObject.mailbox.lastError()) + "<br>";
}
}
}
@@ -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( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>" );
@@ -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() + "<br>";
sessionObject.error += _("Error decoding content: {0}", e.getMessage()) + "<br>";
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.<br>";
sessionObject.error += _("Found no valid sender address.") + "<br>";
}
else {
sender = Mail.getAddress( from );
if( sender == null || sender.length() == 0 ) {
ok = false;
sessionObject.error += "Found no valid address in '" + quoteHTML( from ) + "'.<br>";
sessionObject.error += _("Found no valid address in \\''{0}\\''.", quoteHTML( from )) + "<br>";
}
}
@@ -1415,19 +1416,19 @@ public class WebMail extends HttpServlet
if( recipients.isEmpty() ) {
ok = false;
sessionObject.error += "No recipients found.<br>";
sessionObject.error += _("No recipients found.") + "<br>";
}
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( "<table cellspacing=\"0\" cellpadding=\"5\">\n" +
"<tr><td colspan=\"2\" align=\"center\"><hr></td></tr>\n" +
"<tr><td align=\"right\">From:</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_FROM + "\" value=\"" + from + "\" " + ( fixed.compareToIgnoreCase( "false" ) != 0 ? "disabled" : "" ) +"></td></tr>\n" +
"<tr><td align=\"right\">To:</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_TO + "\" value=\"" + to + "\"></td></tr>\n" +
"<tr><td align=\"right\">Cc:</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_CC + "\" value=\"" + cc + "\"></td></tr>\n" +
"<tr><td align=\"right\">Bcc:</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_BCC + "\" value=\"" + bcc + "\"></td></tr>\n" +
"<tr><td align=\"right\">Subject:</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_SUBJECT + "\" value=\"" + subject + "\"></td></tr>\n" +
"<tr><td>&nbsp;</td><td align=\"left\"><input type=\"checkbox\" class=\"optbox\" name=\"" + NEW_BCC_TO_SELF + "\" value=\"1\"" + ( bccToSelf.compareToIgnoreCase( "false" ) != 0 ? "checked" : "" )+ ">Bcc to self</td></tr>\n" +
"<tr><td align=\"right\">" + _("From:") + "</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_FROM + "\" value=\"" + from + "\" " + ( fixed.compareToIgnoreCase( "false" ) != 0 ? "disabled" : "" ) +"></td></tr>\n" +
"<tr><td align=\"right\">" + _("To:") + "</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_TO + "\" value=\"" + to + "\"></td></tr>\n" +
"<tr><td align=\"right\">" + _("Cc:") + "</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_CC + "\" value=\"" + cc + "\"></td></tr>\n" +
"<tr><td align=\"right\">" + _("Bcc:") + "</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_BCC + "\" value=\"" + bcc + "\"></td></tr>\n" +
"<tr><td align=\"right\">" + _("Subject:") + "</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_SUBJECT + "\" value=\"" + subject + "\"></td></tr>\n" +
"<tr><td>&nbsp;</td><td align=\"left\"><input type=\"checkbox\" class=\"optbox\" name=\"" + NEW_BCC_TO_SELF + "\" value=\"1\"" + ( bccToSelf.compareToIgnoreCase( "false" ) != 0 ? "checked" : "" )+ ">" + _("Bcc to self") + "</td></tr>\n" +
"<tr><td colspan=\"2\" align=\"center\"><textarea cols=\"" + Config.getProperty( CONFIG_COMPOSER_COLS, 80 )+ "\" rows=\"" + Config.getProperty( CONFIG_COMPOSER_ROWS, 10 )+ "\" name=\"" + NEW_TEXT + "\">" + text + "</textarea>" +
"<tr><td colspan=\"2\" align=\"center\"><hr></td></tr>\n" +
"<tr><td align=\"right\">New Attachment:</td><td align=\"left\"><input type=\"file\" size=\"50%\" name=\"" + NEW_FILENAME + "\" value=\"\"><input type=\"submit\" name=\"" + NEW_UPLOAD + "\" value=\"Upload File\"></td></tr>" );
"<tr><td align=\"right\">" + _("New Attachment:") + "</td><td align=\"left\"><input type=\"file\" size=\"50%\" name=\"" + NEW_FILENAME + "\" value=\"\"><input type=\"submit\" name=\"" + NEW_UPLOAD + "\" value=\"" + _("Upload File") + "\"></td></tr>" );
if( sessionObject.attachments != null && !sessionObject.attachments.isEmpty() ) {
boolean wroteHeader = false;
for( Iterator it = sessionObject.attachments.iterator(); it.hasNext(); ) {
if( !wroteHeader ) {
out.println( "<tr><td colspan=\"2\" align=\"center\">Attachments:</td></tr>" );
out.println( "<tr><td colspan=\"2\" align=\"center\">" + _("Attachments:") + "</td></tr>" );
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( "<table cellspacing=\"0\" cellpadding=\"5\">\n" +
"<tr><td align=\"right\" width=\"30%\">User</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + USER + "\" value=\"" + ( RELEASE ? "" : "test") + "\"></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">Pass</td><td width=\"40%\" align=\"left\"><input type=\"password\" size=\"32\" name=\"pass\" value=\"" + ( RELEASE ? "" : "test") + "\"></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">Host</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + HOST +"\" value=\"" + host + "\"" + ( fixed ? " disabled" : "" ) + "></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">POP3-Port</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + POP3 +"\" value=\"" + pop3 + "\"" + ( fixed ? " disabled" : "" ) + "></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">SMTP-Port</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + SMTP +"\" value=\"" + smtp + "\"" + ( fixed ? " disabled" : "" ) + "></td></tr>\n" +
"<tr><td align=\"center\" colspan=\"2\"><a href=\"http://hq.postman.i2p/?page_id=16\">Create Account</a> " + button( LOGIN, "Login" ) + " <input type=\"reset\" value=\"Reset\"></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">" + _("User") + "</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + USER + "\" value=\"" + ( RELEASE ? "" : "test") + "\"></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">" + _("Pass") + "</td><td width=\"40%\" align=\"left\"><input type=\"password\" size=\"32\" name=\"pass\" value=\"" + ( RELEASE ? "" : "test") + "\"></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">" + _("Host") + "</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + HOST +"\" value=\"" + host + "\"" + ( fixed ? " disabled" : "" ) + "></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">" + _("POP3-Port") + "</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + POP3 +"\" value=\"" + pop3 + "\"" + ( fixed ? " disabled" : "" ) + "></td></tr>\n" +
"<tr><td align=\"right\" width=\"30%\">" + _("SMTP-Port") + "</td><td width=\"40%\" align=\"left\"><input type=\"text\" size=\"32\" name=\"" + SMTP +"\" value=\"" + smtp + "\"" + ( fixed ? " disabled" : "" ) + "></td></tr>\n" +
"<tr><td align=\"center\" colspan=\"2\"><a href=\"http://hq.postman.i2p/?page_id=16\">" + _("Create Account") + "</a> " + button( LOGIN, _("Login") ) + " <input type=\"reset\" value=\"" + _("Reset") + "\"></td></tr>\n" +
"</table>");
}
/**
@@ -1595,21 +1596,21 @@ public class WebMail extends HttpServlet
private void showFolder( PrintWriter out, SessionObject sessionObject, RequestWrapper request )
{
if( sessionObject.reallyDelete ) {
out.println( "<p class=\"error\">Really delete the marked messages? " + button( REALLYDELETE, "Yes, really delete them!" ) + "</p>" );
out.println( "<p class=\"error\">" + _("Really delete the marked messages?") + " " + button( REALLYDELETE, _("Yes, really delete them!") ) + "</p>" );
}
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" ) + "<table cellspacing=\"0\" cellpadding=\"5\">\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") ) + "<table cellspacing=\"0\" cellpadding=\"5\">\n" +
"<tr><td colspan=\"8\"><hr></td></tr>\n<tr>" +
thSpacer + "<th>" + sortHeader( SORT_SENDER, "Sender" ) + "</th>" +
thSpacer + "<th>" + sortHeader( SORT_SUBJECT, "Subject" ) + "</th>" +
thSpacer + "<th>" + sortHeader( SORT_DATE, "Date" ) + sortHeader( SORT_ID, "" ) + "</th>" +
thSpacer + "<th>" + sortHeader( SORT_SIZE, "Size" ) + "</th></tr>" );
thSpacer + "<th>" + sortHeader( SORT_SENDER, _("Sender") ) + "</th>" +
thSpacer + "<th>" + sortHeader( SORT_SUBJECT, _("Subject") ) + "</th>" +
thSpacer + "<th>" + sortHeader( SORT_DATE, _("Date") ) + sortHeader( SORT_ID, "" ) + "</th>" +
thSpacer + "<th>" + sortHeader( SORT_SIZE, _("Size") ) + "</th></tr>" );
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( "<tr class=\"list" + bg + "\"><td><input type=\"checkbox\" class=\"optbox\" name=\"check" + i + "\" value=\"1\"" +
( idChecked ? "checked" : "" ) + ">" + ( RELEASE ? "" : "" + i ) + "</td><td>" + link + mail.shortSender + "</a></td><td>&nbsp;</td><td>" + link + mail.shortSubject + "</a></td><td>&nbsp;</td><td>" + mail.formattedDate + "</a></td><td>&nbsp;</td><td>" + mail.size + " Bytes</a></td></tr>" );
( idChecked ? "checked" : "" ) + ">" + ( RELEASE ? "" : "" + i ) + "</td><td>" + link + mail.shortSender + "</a></td><td>&nbsp;</td><td>" + link + mail.shortSubject + "</a></td><td>&nbsp;</td><td>" + mail.formattedDate + "</a></td><td>&nbsp;</td><td>" + _("{0} Bytes", mail.size) + "</a></td></tr>" );
bg = 1 - bg;
i++;
}
out.println( "<tr><td colspan=\"8\"><hr></td></tr>\n</table>" +
button( MARKALL, "Mark All" ) +
button( INVERT, "Invert Selection" ) +
button( CLEAR, "Clear" ) +
button( MARKALL, _("Mark All") ) +
button( INVERT, _("Invert Selection") ) +
button( CLEAR, _("Clear") ) +
"<br>" +
( sessionObject.folder.isFirstPage() ?
button2( FIRSTPAGE, "First" ) + button2( PREVPAGE, "Previous" ) :
button( FIRSTPAGE, "First" ) + button( PREVPAGE, "Previous" ) ) +
" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Page&nbsp;" + sessionObject.folder.getCurrentPage() + "&nbsp;of&nbsp;" + sessionObject.folder.getPages() + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " +
button2( FIRSTPAGE, _("First") ) + button2( PREVPAGE, _("Previous") ) :
button( FIRSTPAGE, _("First") ) + button( PREVPAGE, _("Previous") ) ) +
" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + _("Page {0} of {1}", sessionObject.folder.getCurrentPage(), sessionObject.folder.getPages()) + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " +
( 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") ) ) +
"<br>" +
"Pagesize:&nbsp;<input type=\"text\" name=\"" + PAGESIZE + "\" size=\"4\" value=\"" + sessionObject.folder.getPageSize() + "\">" +
button( SETPAGESIZE, "Set" ) );
_("Pagesize:") + "&nbsp;<input type=\"text\" name=\"" + PAGESIZE + "\" size=\"4\" value=\"" + sessionObject.folder.getPageSize() + "\">" +
button( SETPAGESIZE, _("Set") ) );
}
/**
*
@@ -1664,7 +1665,7 @@ public class WebMail extends HttpServlet
private void showMessage( PrintWriter out, SessionObject sessionObject )
{
if( sessionObject.reallyDelete ) {
out.println( "<p class=\"error\">Really delete this messages? " + button( REALLYDELETE, "Yes, really delete it!" ) + "</p>" );
out.println( "<p class=\"error\">" + _("Really delete this messages?") + " " + button( REALLYDELETE, _("Yes, really delete it!") ) + "</p>" );
}
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( "<table cellspacing=\"0\" cellpadding=\"5\">\n" +
"<tr><td colspan=\"2\" align=\"center\"><hr></td></tr>\n" +
"<tr class=\"mailhead\"><td align=\"right\">From:</td><td align=\"left\">" + quoteHTML( mail.formattedSender ) + "</td></tr>\n" +
"<tr class=\"mailhead\"><td align=\"right\">Date:</td><td align=\"left\">" + mail.quotedDate + "</td></tr>\n" +
"<tr class=\"mailhead\"><td align=\"right\">Subject:</td><td align=\"left\">" + quoteHTML( mail.formattedSubject ) + "</td></tr>\n" +
"<tr class=\"mailhead\"><td align=\"right\">" + _("From:") + "</td><td align=\"left\">" + quoteHTML( mail.formattedSender ) + "</td></tr>\n" +
"<tr class=\"mailhead\"><td align=\"right\">" + _("Date:") + "</td><td align=\"left\">" + mail.quotedDate + "</td></tr>\n" +
"<tr class=\"mailhead\"><td align=\"right\">" + _("Subject:") + "</td><td align=\"left\">" + quoteHTML( mail.formattedSubject ) + "</td></tr>\n" +
"<tr><td colspan=\"2\" align=\"center\"><hr></td></tr>" );
if( mail.body != null ) {
showPart( out, mail.part, 0, SHOW_HTML );
}
else {
out.println( "<tr class=\"mailbody\"><td colspan=\"2\" align=\"center\"><p class=\"error\">Could not fetch mail body.</p></td></tr>" );
out.println( "<tr class=\"mailbody\"><td colspan=\"2\" align=\"center\"><p class=\"error\">" + _("Could not fetch mail body.") + "</p></td></tr>" );
}
}
else {
out.println( "<tr class=\"mailbody\"><td colspan=\"2\" align=\"center\"><p class=\"error\">Could not fetch mail.</p></td></tr>" );
out.println( "<tr class=\"mailbody\"><td colspan=\"2\" align=\"center\"><p class=\"error\">" + _("Could not fetch mail.") + "</p></td></tr>" );
}
out.println( "<tr><td colspan=\"2\" align=\"center\"><hr></td></tr>\n</table>" );
}
/** 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);
}
}

View File

@@ -223,6 +223,7 @@
<ant dir="apps/i2psnark/java/" target="poupdate" />
<ant dir="apps/i2ptunnel/java/" target="poupdate" />
<ant dir="apps/susidns/src/" target="poupdate" />
<ant dir="apps/susimail/" target="poupdate" />
<ant dir="apps/desktopgui" target="poupdate" />
</target>
<target name="javadoc">