Change build target to Java 8

Change translation tag from deprecated _ to _t
Add support for faster translation bundle generation
Change bundle format from java to java2
This commit is contained in:
zzz
2022-01-01 09:31:42 -05:00
parent c1e1569681
commit 9fc4c2b821
17 changed files with 192 additions and 161 deletions

View File

@ -34,12 +34,14 @@
<delete file="itoopie-install.exe.sha512" failonerror="false" />
</target>
<target name="compile" depends="clean,init">
<target name="compile" depends="clean,init">
<javac
debug="true"
deprecation="on"
source="1.5"
target="1.5"
includeAntRuntime="false"
encoding="UTF-8"
source="1.8"
target="1.8"
srcdir="${src}"
destdir="${build}">
<classpath>
@ -52,23 +54,29 @@
<copy todir="${build}/${resources}">
<fileset dir="${resources}" />
</copy>
</target>
</target>
<target name="jar" depends="compile">
<target name="jar" depends="compile">
<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>
<javac source="1.8" target="1.8"
includeAntRuntime="false"
encoding="UTF-8"
srcdir="build/messages-src" destdir="${build}">
<compilerarg line="${javac.compilerargs}" />
</javac>
<jar basedir="${build}" destfile="${dist}/${jar}">
<jar basedir="${build}" destfile="${dist}/${jar}" excludes="messages-src/**/*">
<manifest>
<attribute name="Main-Class" value="net.i2p.itoopie.Main"/>
<attribute name="Class-Path" value="${lib}/commons-logging-1.1.1.jar ${lib}/json-smart-1.0.6.4.jar ${lib}/jchart2d-3.2.1.jar ${lib}/xmlgraphics-commons-1.3.1.jar" />
</manifest>
</jar>
</target>
</target>
<target name="javadoc" description="build javadocs">
<mkdir dir="${build}" />

View File

@ -71,9 +71,7 @@ do
# then ant distclean updater.
find $JPATHS -name *.java > $TMPFILE
xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\
--keyword=_ --keyword='_:1,2,3c' --keyword=_x --keyword=intl._ --keyword=intl.title \
--keyword=handler._ --keyword=formhandler._ \
--keyword=net.i2p.router.web.Messages.getString \
--keyword=_t \
-o ${i}t
if [ $? -ne 0 ]
then
@ -100,15 +98,40 @@ do
# only generate for non-source language
echo "Generating ${CLASS}_$LG ResourceBundle..."
# convert to class files in build
msgfmt --java --statistics -r $CLASS -l $LG -d build $i
msgfmt -V | grep -q -E ' 0\.((19)|[2-9])'
if [ $? -ne 0 ]
then
echo "ERROR - msgfmt failed on ${i}, not updating translations"
# msgfmt leaves the class file there so the build would work the next time
find build -name messages_${LG}.class -exec rm -f {} \;
RC=1
break
# slow way
# convert to class files in build
msgfmt --java2 --statistics -r $CLASS -l $LG -d build $i
if [ $? -ne 0 ]
then
echo "ERROR - msgfmt failed on ${i}, not updating translations"
# msgfmt leaves the class file there so the build would work the next time
find build -name messages_${LG}.class -exec rm -f {} \;
RC=1
break
fi
else
# fast way
# convert to java files in build/messages-src
TD=build/messages-src-tmp
TDX=$TD/net/i2p/itoopie
TD2=build/messages-src
TDY=$TD2/net/i2p/itoopie
rm -rf $TD
mkdir -p $TD $TDY
msgfmt --java2 --statistics --source -r $CLASS -l $LG -d $TD $i
if [ $? -ne 0 ]
then
echo "ERROR - msgfmt failed on ${i}, not updating translations"
# msgfmt leaves the class file there so the build would work the next time
find build/obj -name messages_${LG}.class -exec rm -f {} \;
RC=1
break
fi
mv $TDX/messages_$LG.java $TDY
rm -rf $TD
fi
fi
done

View File

@ -26,7 +26,7 @@ public class AboutTab extends TabLogoPanel {
add(lblThankYou);
lblThankYou.setBounds(10, 30, 250, 250);
lblThankYou.setVerticalTextAlignment(JLabel.TOP);
lblThankYou.setText(Transl._("itoopie and I2PControl were sponsored by Relakks & Ipredator.\n" +
lblThankYou.setText(Transl._t("itoopie and I2PControl were sponsored by Relakks & Ipredator.\n" +
"Development began during the summer of 2011 and the first alpha was launched in July.\n\n"+
"I'd like to thank Jan-Erik Fiske and Peter Sunde for actively helping privacy and anonymity online.") +
"\n// hottuna");
@ -40,7 +40,7 @@ public class AboutTab extends TabLogoPanel {
lblVersion = new JLabel();
add(lblVersion);
lblVersion.setBounds(290, 50, 100, 15);
lblVersion.setText(Transl._("Version:"));
lblVersion.setText(Transl._t("Version:"));
lblVersion.setHorizontalAlignment(SwingConstants.RIGHT);

View File

@ -27,8 +27,8 @@ public class CertificateGUI {
bt.setText("text");
frame.add(bt, BorderLayout.NORTH);
String title = Transl._("New remote host detected");
String hostString = Transl._("Would you like permanently trust the certificate from the remote host {0}?", hostname);
String title = Transl._t("New remote host detected");
String hostString = Transl._t("Would you like permanently trust the certificate from the remote host {0}?", hostname);
String certName = "N/A";
String certAlgo = "N/A";
@ -41,11 +41,11 @@ public class CertificateGUI {
certSerial = String.valueOf(cert.getPublicKey().serialVersionUID);
certThumb = CertificateHelper.getThumbPrint(cert);
}
String certInfo = "<html>"+Transl._("Certificate info") + "<br><br>" +
Transl._("Name: ") + certName + "<br>" +
Transl._("Algorithm: ") + certAlgo + "<br>" +
Transl._("Serial: ") + certSerial + "<br>" +
Transl._("SHA-1 ID-hash: ") + certThumb;
String certInfo = "<html>"+Transl._t("Certificate info") + "<br><br>" +
Transl._t("Name: ") + certName + "<br>" +
Transl._t("Algorithm: ") + certAlgo + "<br>" +
Transl._t("Serial: ") + certSerial + "<br>" +
Transl._t("SHA-1 ID-hash: ") + certThumb;
String textContent = certInfo + "<br><br>" + hostString;
@ -69,9 +69,9 @@ public class CertificateGUI {
public static boolean overwriteCert(String hostname, X509Certificate cert){
JFrame frame = new JFrame();
String title = Transl._("Warning, new remote host detected");
String hostString = Transl._("The certificate of {0} has changed!", hostname) + "<br>" +
Transl._("Are you sure you want to permanently trust the new certificate from the remote host?");
String title = Transl._t("Warning, new remote host detected");
String hostString = Transl._t("The certificate of {0} has changed!", hostname) + "<br>" +
Transl._t("Are you sure you want to permanently trust the new certificate from the remote host?");
String certName = "N/A";
String certAlgo = "N/A";
@ -84,11 +84,11 @@ public class CertificateGUI {
certSerial = String.valueOf(cert.getPublicKey().serialVersionUID);
certThumb = CertificateHelper.getThumbPrint(cert);
}
String certInfo = "<html>"+Transl._("Certificate info") + "<br><br>" +
Transl._("Name: ") + certName + "<br>" +
Transl._("Algorithm: ") + certAlgo + "<br>" +
Transl._("Serial: ") + certSerial + "<br>" +
Transl._("SHA-1 ID-hash: ") + certThumb;
String certInfo = "<html>"+Transl._t("Certificate info") + "<br><br>" +
Transl._t("Name: ") + certName + "<br>" +
Transl._t("Algorithm: ") + certAlgo + "<br>" +
Transl._t("Serial: ") + certSerial + "<br>" +
Transl._t("SHA-1 ID-hash: ") + certThumb;
String textContent = certInfo + "<br><br>" + hostString;
@ -102,8 +102,8 @@ public class CertificateGUI {
if (n == JOptionPane.YES_OPTION){
n = JOptionPane.showConfirmDialog(
frame,
Transl._("Are you sure that you trust the new certificate?"),
Transl._("Is that your final answer?"),
Transl._t("Are you sure that you trust the new certificate?"),
Transl._t("Is that your final answer?"),
JOptionPane.YES_NO_OPTION,
JOptionPane.ERROR_MESSAGE);
if (n == JOptionPane.YES_OPTION){

View File

@ -43,13 +43,13 @@ import net.i2p.itoopie.i2pcontrol.methods.SetNetworkSetting;
// The width of this panel (on ubuntu) will be the width of the main menu -24px.
public class ConfigurationTab extends TabLogoPanel {
private final static String SETTINGS_READ = Transl._("Settings read from I2P router.");
private final static String SETTINGS_READ = Transl._t("Settings read from I2P router.");
private static enum SAVE_STATUS{
SAVE_FAILED_LOCALLY { public String toString(){return Transl._("Settings aren't valid, not saving.");} },
SAVE_FAILED_REMOTELY { public String toString(){return Transl._("I2P router rejected settings.");} },
SAVE_FAILED_NO_CONN { public String toString(){return Transl._("Not connected, unable to save.");} },
SAVED_OK { public String toString(){return Transl._("Saved settings on I2P router.");} },
SAVED_RESTART_NEEDED { public String toString(){return Transl._("Saved settings on I2P router. I2P router needs to be restarted.");} }
SAVE_FAILED_LOCALLY { public String toString(){return Transl._t("Settings aren't valid, not saving.");} },
SAVE_FAILED_REMOTELY { public String toString(){return Transl._t("I2P router rejected settings.");} },
SAVE_FAILED_NO_CONN { public String toString(){return Transl._t("Not connected, unable to save.");} },
SAVED_OK { public String toString(){return Transl._t("Saved settings on I2P router.");} },
SAVED_RESTART_NEEDED { public String toString(){return Transl._t("Saved settings on I2P router. I2P router needs to be restarted.");} }
};
// Components for the network panel
@ -93,7 +93,7 @@ public class ConfigurationTab extends TabLogoPanel {
setupBandwidthPanel(bwPanel);
final JButton btnApply = new JButton(Transl._("Apply"));
final JButton btnApply = new JButton(Transl._t("Apply"));
add(btnApply);
btnApply.setBounds(442, 269, 82, 24);
btnApply.addActionListener(new ActionListener(){
@ -129,12 +129,12 @@ public class ConfigurationTab extends TabLogoPanel {
lblBW = new JLabel();
bwPanel.add(lblBW);
lblBW.setBounds(10, 10, 120, 15);
lblBW.setText(Transl._("Bandwidth:"));
lblBW.setText(Transl._t("Bandwidth:"));
lblDownload = new JLabel();
bwPanel.add(lblDownload);
lblDownload.setBounds(40, 35, 100, 15);
lblDownload.setText(Transl._("Download:"));
lblDownload.setText(Transl._t("Download:"));
txtDownload = new JTextField();
bwPanel.add(txtDownload);
@ -143,12 +143,12 @@ public class ConfigurationTab extends TabLogoPanel {
lblDownloadUnit = new JLabel();
bwPanel.add(lblDownloadUnit);
lblDownloadUnit.setBounds(190, 37, 35, 15);
lblDownloadUnit.setText(Transl._("KB/s"));
lblDownloadUnit.setText(Transl._t("KB/s"));
lblUpload = new JLabel();
bwPanel.add(lblUpload);
lblUpload.setBounds(40, 60, 100, 15);
lblUpload.setText(Transl._("Upload:"));
lblUpload.setText(Transl._t("Upload:"));
txtUpload = new JTextField();
bwPanel.add(txtUpload);
@ -157,12 +157,12 @@ public class ConfigurationTab extends TabLogoPanel {
lblUploadUnit = new JLabel();
bwPanel.add(lblUploadUnit);
lblUploadUnit.setBounds(190, 62, 35, 15);
lblUploadUnit.setText(Transl._("KB/s"));
lblUploadUnit.setText(Transl._t("KB/s"));
lblShare = new JLabel();
bwPanel.add(lblShare);
lblShare.setBounds(40, 85, 100, 15);
lblShare.setText(Transl._("Share:"));
lblShare.setText(Transl._t("Share:"));
txtShare = new JTextField();
bwPanel.add(txtShare);
@ -181,12 +181,12 @@ public class ConfigurationTab extends TabLogoPanel {
lblNetwork = new JLabel();
networkPanel.add(lblNetwork);
lblNetwork.setBounds(10, 10, 75, 15);
lblNetwork.setText(Transl._("Network:"));
lblNetwork.setText(Transl._t("Network:"));
lblTCPPort = new JLabel();
networkPanel.add(lblTCPPort);
lblTCPPort.setBounds(40, 35, 75, 15);
lblTCPPort.setText(Transl._("TCP port:"));
lblTCPPort.setText(Transl._t("TCP port:"));
txtTCPPort = new JTextField();
networkPanel.add(txtTCPPort);
@ -196,7 +196,7 @@ public class ConfigurationTab extends TabLogoPanel {
lblUDPPort = new JLabel();
networkPanel.add(lblUDPPort);
lblUDPPort.setBounds(40, 60, 75, 15);
lblUDPPort.setText(Transl._("UDP port:"));
lblUDPPort.setText(Transl._t("UDP port:"));
txtUDPPort = new JTextField();
networkPanel.add(txtUDPPort);
@ -206,9 +206,9 @@ public class ConfigurationTab extends TabLogoPanel {
lblUPNP = new JLabel();
networkPanel.add(lblUPNP);
lblUPNP.setBounds(40, 85, 75, 15);
lblUPNP.setText(Transl._("UPNP:"));
lblUPNP.setText(Transl._t("UPNP:"));
chkbxUPNP = new JCheckBox(Transl._("Enable UPNP"));
chkbxUPNP = new JCheckBox(Transl._t("Enable UPNP"));
chkbxUPNP.setOpaque(false);
networkPanel.add(chkbxUPNP);
chkbxUPNP.setBounds(127, 85, 120, 15);
@ -282,9 +282,9 @@ public class ConfigurationTab extends TabLogoPanel {
} catch (NumberFormatException e){
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as a port.", tcpPort) + "\n\n" +
Transl._("Port must be a number in the range 1-65535."),
Transl._("Invalid port."),
Transl._t("\"{0}\" cannot be interpreted as a port.", tcpPort) + "\n\n" +
Transl._t("Port must be a number in the range 1-65535."),
Transl._t("Invalid port."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return SAVE_STATUS.SAVE_FAILED_LOCALLY;
@ -299,9 +299,9 @@ public class ConfigurationTab extends TabLogoPanel {
} catch (NumberFormatException e){
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as a port.", udpPort) + "\n\n" +
Transl._("Port must be a number in the range 1-65535."),
Transl._("Invalid port."),
Transl._t("\"{0}\" cannot be interpreted as a port.", udpPort) + "\n\n" +
Transl._t("Port must be a number in the range 1-65535."),
Transl._t("Invalid port."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return SAVE_STATUS.SAVE_FAILED_LOCALLY;
@ -316,9 +316,9 @@ public class ConfigurationTab extends TabLogoPanel {
} catch (NumberFormatException e){
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as a speed.", download) + "\n\n" +
Transl._("Speed must be a number larger than 0."),
Transl._("Invalid download speed."),
Transl._t("\"{0}\" cannot be interpreted as a speed.", download) + "\n\n" +
Transl._t("Speed must be a number larger than 0."),
Transl._t("Invalid download speed."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return SAVE_STATUS.SAVE_FAILED_LOCALLY;
@ -333,9 +333,9 @@ public class ConfigurationTab extends TabLogoPanel {
} catch (NumberFormatException e){
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as a speed.", upload) + "\n\n" +
Transl._("Speed must be a number larger than 0."),
Transl._("Invalid upload speed."),
Transl._t("\"{0}\" cannot be interpreted as a speed.", upload) + "\n\n" +
Transl._t("Speed must be a number larger than 0."),
Transl._t("Invalid upload speed."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return SAVE_STATUS.SAVE_FAILED_LOCALLY;
@ -350,9 +350,9 @@ public class ConfigurationTab extends TabLogoPanel {
} catch (NumberFormatException e){
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as a percentage.", share) + "\n\n" +
Transl._("Percentage must be a number in the range 0-100."),
Transl._("Invalid share percentage."),
Transl._t("\"{0}\" cannot be interpreted as a percentage.", share) + "\n\n" +
Transl._t("Percentage must be a number in the range 0-100."),
Transl._t("Invalid share percentage."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
}
@ -394,10 +394,10 @@ public class ConfigurationTab extends TabLogoPanel {
StatusHandler.setStatus(SAVE_STATUS.SAVED_RESTART_NEEDED.toString());
int n = JOptionPane.showConfirmDialog(
this,
Transl._("The new settings have been applied,\n" + "" +
Transl._t("The new settings have been applied,\n" + "" +
"but the I2P router needs to be restarted for some to take effect.\n" +
"\nWould you like to restart the I2P router now?"),
Transl._("Restart needed for new settings."),
Transl._t("Restart needed for new settings."),
JOptionPane.YES_NO_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if (n == JOptionPane.YES_OPTION){
@ -405,11 +405,11 @@ public class ConfigurationTab extends TabLogoPanel {
HashMap<ROUTER_MANAGER, String> hm = new HashMap<ROUTER_MANAGER,String>();
hm.put(ROUTER_MANAGER.RESTART, null);
SetRouterManager.execute(hm);
StatusHandler.setStatus(Transl._("Restarting I2P node"));
StatusHandler.setStatus(Transl._t("Restarting I2P node"));
} catch (InvalidPasswordException e) {
StatusHandler.setStatus(Transl._("Restart failed") + ": " + DEFAULT_STATUS.INVALID_PASSWORD);
StatusHandler.setStatus(Transl._t("Restart failed") + ": " + DEFAULT_STATUS.INVALID_PASSWORD);
} catch (JSONRPC2SessionException e) {
StatusHandler.setStatus(Transl._("Restart failed") + ": " + DEFAULT_STATUS.NOT_CONNECTED);
StatusHandler.setStatus(Transl._t("Restart failed") + ": " + DEFAULT_STATUS.NOT_CONNECTED);
}
}
break;

View File

@ -82,17 +82,17 @@ public class Main {
tabbedPane.setBounds(0, 0, FRAME_WIDTH-9, TABBED_PANE_HEIGHT);
TabLogoPanel overviewTab = new OverviewTab("itoopie-opaque12");
tabbedPane.addTab(Transl._("Overview"), null, overviewTab, null);
tabbedPane.addTab(Transl._t("Overview"), null, overviewTab, null);
tabbedPane.addChangeListener(new TabChangeListener(overviewTab));
TabLogoPanel configTab = new ConfigurationTab("itoopie-opaque12");
tabbedPane.addTab(Transl._("Configuration"), null, configTab, null);
tabbedPane.addTab(Transl._t("Configuration"), null, configTab, null);
tabbedPane.addChangeListener(new TabChangeListener(configTab));
TabLogoPanel aboutTab = new AboutTab("itoopie-opaque12");
tabbedPane.addTab(Transl._("About"), null, aboutTab, null);
tabbedPane.addTab(Transl._t("About"), null, aboutTab, null);
JPanel statusPanel = new JPanel();
@ -112,7 +112,7 @@ public class Main {
statusPanel.add(buttonWrapper, BorderLayout.EAST);
buttonWrapper.setOpaque(false);
JButton settingsBtn = new JButton(Transl._("Settings"));
JButton settingsBtn = new JButton(Transl._t("Settings"));
buttonWrapper.add(settingsBtn);
settingsBtn.setIcon(new ImageIcon(IconLoader.getIcon("cogwheel", 16)));
settingsBtn.addActionListener(new ActionListener(){

View File

@ -71,7 +71,7 @@ public class OverviewTab extends TabLogoPanel {
lblVersion = new JLabel();
add(lblVersion);
lblVersion.setBounds(290, 50, 100, 15);
lblVersion.setText(Transl._("Version:"));
lblVersion.setText(Transl._t("Version:"));
lblVersion.setHorizontalAlignment(SwingConstants.RIGHT);
lblVersionSpecified = new JLabel();
@ -85,7 +85,7 @@ public class OverviewTab extends TabLogoPanel {
add(lblUptime);
lblUptime.setBounds(290, 70, 100, 15);
lblUptime.setHorizontalAlignment(SwingConstants.RIGHT);
lblUptime.setText(Transl._("Uptime:"));
lblUptime.setText(Transl._t("Uptime:"));
lblUptimeSpecified = new JLabel();
add(lblUptimeSpecified);
@ -98,7 +98,7 @@ public class OverviewTab extends TabLogoPanel {
add(lblStatus);
lblStatus.setBounds(290, 90, 100, 15);
lblStatus.setHorizontalAlignment(SwingConstants.RIGHT);
lblStatus.setText(Transl._("Status:"));
lblStatus.setText(Transl._t("Status:"));
lblStatusSpecified = new JLabel();
add(lblStatusSpecified);
@ -110,7 +110,7 @@ public class OverviewTab extends TabLogoPanel {
add(lblNetworkStatus);
lblNetworkStatus.setBounds(290, 110, 100, 15);
lblNetworkStatus.setHorizontalAlignment(SwingConstants.RIGHT);
lblNetworkStatus.setText(Transl._("Net Status:"));
lblNetworkStatus.setText(Transl._t("Net Status:"));
lblNetworkStatusSpecified = new MultiLineLabel();
add(lblNetworkStatusSpecified);

View File

@ -57,11 +57,11 @@ public class SettingsFrame extends RegisteredFrame{
};
private static enum REMOTE_SAVE_STATUS{
SAVE_FAILED_LOCALLY { public String toString(){return Transl._("Settings aren't valid, not saving.");} },
SAVE_FAILED_REMOTELY { public String toString(){return Transl._("I2P router rejected settings.");} },
SAVED_OK { public String toString(){return Transl._("Saved settings on I2P router.");} },
SAVED_RESTART_NEEDED { public String toString(){return Transl._("Saved settings on I2P router. I2P router needs to be restarted.");} },
NO_CHANGES { public String toString(){return Transl._("No changes found, settings not saved.");} }
SAVE_FAILED_LOCALLY { public String toString(){return Transl._t("Settings aren't valid, not saving.");} },
SAVE_FAILED_REMOTELY { public String toString(){return Transl._t("I2P router rejected settings.");} },
SAVED_OK { public String toString(){return Transl._t("Saved settings on I2P router.");} },
SAVED_RESTART_NEEDED { public String toString(){return Transl._t("Saved settings on I2P router. I2P router needs to be restarted.");} },
NO_CHANGES { public String toString(){return Transl._t("No changes found, settings not saved.");} }
};
@ -167,7 +167,7 @@ public class SettingsFrame extends RegisteredFrame{
gPanel.add(buttonPanel);
JButton btnDone = new JButton(' ' + Transl._("Apply") + ' ');
JButton btnDone = new JButton(' ' + Transl._t("Apply") + ' ');
buttonPanel.add(btnDone);
btnDone.addActionListener(new ActionListener(){
@ -176,49 +176,49 @@ public class SettingsFrame extends RegisteredFrame{
LOCAL_SAVE_STATUS localSettingStatus = saveRemoteHostSettings();
if (LOCAL_SAVE_STATUS.SAVE_OK == localSettingStatus){
StatusHandler.setStatus(Transl._("Settings saved."));
StatusHandler.setStatus(Transl._t("Settings saved."));
} else if (LOCAL_SAVE_STATUS.SAVE_ERROR == localSettingStatus){
populateSettings();
} else if (LOCAL_SAVE_STATUS.NO_CHANGES == localSettingStatus){
StatusHandler.setStatus(Transl._("Settings not saved, no changes found."));
StatusHandler.setStatus(Transl._t("Settings not saved, no changes found."));
}
REMOTE_SAVE_STATUS newAddressStatus = saveNewAddress();
switch (newAddressStatus){
case SAVED_OK:
StatusHandler.setStatus(Transl._("New remote address") + ": " + REMOTE_SAVE_STATUS.SAVED_OK);
StatusHandler.setStatus(Transl._t("New remote address") + ": " + REMOTE_SAVE_STATUS.SAVED_OK);
break;
case SAVE_FAILED_LOCALLY:
StatusHandler.setStatus(Transl._("New remote address") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY);
StatusHandler.setStatus(Transl._t("New remote address") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY);
break;
case SAVE_FAILED_REMOTELY:
StatusHandler.setStatus(Transl._("New remote address") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_REMOTELY);
StatusHandler.setStatus(Transl._t("New remote address") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_REMOTELY);
break;
}
REMOTE_SAVE_STATUS newPortStatus = saveNewPort();
switch (newPortStatus){
case SAVED_OK:
StatusHandler.setStatus(Transl._("New remote port") + ": " + REMOTE_SAVE_STATUS.SAVED_OK);
StatusHandler.setStatus(Transl._t("New remote port") + ": " + REMOTE_SAVE_STATUS.SAVED_OK);
break;
case SAVE_FAILED_LOCALLY:
StatusHandler.setStatus(Transl._("New remote port") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY);
StatusHandler.setStatus(Transl._t("New remote port") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY);
break;
case SAVE_FAILED_REMOTELY:
StatusHandler.setStatus(Transl._("New remote port") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_REMOTELY);
StatusHandler.setStatus(Transl._t("New remote port") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_REMOTELY);
break;
}
REMOTE_SAVE_STATUS newPasswordStatus = saveNewPassword();
switch (newPasswordStatus){
case SAVED_OK:
StatusHandler.setStatus(Transl._("New remote password") + ": " + REMOTE_SAVE_STATUS.SAVED_OK);
StatusHandler.setStatus(Transl._t("New remote password") + ": " + REMOTE_SAVE_STATUS.SAVED_OK);
break;
case SAVE_FAILED_LOCALLY:
StatusHandler.setStatus(Transl._("New remote password") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY);
StatusHandler.setStatus(Transl._t("New remote password") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY);
break;
case SAVE_FAILED_REMOTELY:
StatusHandler.setStatus(Transl._("New remote password") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_REMOTELY);
StatusHandler.setStatus(Transl._t("New remote password") + ": " + REMOTE_SAVE_STATUS.SAVE_FAILED_REMOTELY);
break;
}
@ -233,7 +233,7 @@ public class SettingsFrame extends RegisteredFrame{
});
JButton btnClose = new JButton(' ' + Transl._("Discard") + ' ');
JButton btnClose = new JButton(' ' + Transl._t("Discard") + ' ');
buttonPanel.add(btnClose);
btnClose.addActionListener(new ActionListener(){
@Override
@ -250,13 +250,13 @@ public class SettingsFrame extends RegisteredFrame{
}
private void setupConnectPanel(JPanel networkPanel){
JLabel lblI2PControl = new JLabel(Transl._("Connect to I2P node"));
JLabel lblI2PControl = new JLabel(Transl._t("Connect to I2P node"));
lblI2PControl.setBounds(10, 10, 228, 15);
networkPanel.add(lblI2PControl);
lblI2PControl.setHorizontalAlignment(SwingConstants.RIGHT);
JLabel lblRouterIP = new JLabel(Transl._("IP address:"));
JLabel lblRouterIP = new JLabel(Transl._t("IP address:"));
lblRouterIP.setBounds(138, 30, 100, 15);
networkPanel.add(lblRouterIP);
lblRouterIP.setHorizontalAlignment(SwingConstants.RIGHT);
@ -266,7 +266,7 @@ public class SettingsFrame extends RegisteredFrame{
networkPanel.add(txtRouterIP);
JLabel lblRouterPort = new JLabel(Transl._("Port:"));
JLabel lblRouterPort = new JLabel(Transl._t("Port:"));
lblRouterPort.setBounds(10, 55, 228, 15);
networkPanel.add(lblRouterPort);
lblRouterPort.setHorizontalAlignment(SwingConstants.RIGHT);
@ -276,7 +276,7 @@ public class SettingsFrame extends RegisteredFrame{
networkPanel.add(txtRouterPort);
JLabel lblRouterPassword = new JLabel(Transl._("Password:"));
JLabel lblRouterPassword = new JLabel(Transl._t("Password:"));
lblRouterPassword.setBounds(10, 80, 228, 15);
networkPanel.add(lblRouterPassword);
lblRouterPassword.setHorizontalAlignment(SwingConstants.RIGHT);
@ -288,13 +288,13 @@ public class SettingsFrame extends RegisteredFrame{
private void setupChangePanel(JPanel changePanel){
JLabel lblChange = new JLabel(Transl._("Change I2PControl"));
JLabel lblChange = new JLabel(Transl._t("Change I2PControl"));
lblChange.setBounds(10, 10, 228, 15);
changePanel.add(lblChange);
lblChange.setHorizontalAlignment(SwingConstants.RIGHT);
JLabel lblAddress = new JLabel(Transl._("Change address:"));
JLabel lblAddress = new JLabel(Transl._t("Change address:"));
lblAddress.setBounds(10, 30, 228, 15);
changePanel.add(lblAddress);
lblAddress.setHorizontalAlignment(SwingConstants.RIGHT);
@ -304,7 +304,7 @@ public class SettingsFrame extends RegisteredFrame{
comboAddress.setBounds(240, 30, 170, 19);
changePanel.add(comboAddress);
JLabel lblPort = new JLabel(Transl._("Change port:"));
JLabel lblPort = new JLabel(Transl._t("Change port:"));
lblPort.setBounds(10, 60, 228, 15);
changePanel.add(lblPort);
lblPort.setHorizontalAlignment(SwingConstants.RIGHT);
@ -314,7 +314,7 @@ public class SettingsFrame extends RegisteredFrame{
changePanel.add(txtNewPort);
JLabel lblNewPassword = new JLabel(Transl._("New password:"));
JLabel lblNewPassword = new JLabel(Transl._t("New password:"));
lblNewPassword.setBounds(10, 90, 228, 15);
changePanel.add(lblNewPassword);
lblNewPassword.setHorizontalAlignment(SwingConstants.RIGHT);
@ -325,7 +325,7 @@ public class SettingsFrame extends RegisteredFrame{
changePanel.add(txtNewPassword);
JLabel lblRetypeNewPassword = new JLabel(Transl._("Repeat password:"));
JLabel lblRetypeNewPassword = new JLabel(Transl._t("Repeat password:"));
lblRetypeNewPassword.setBounds(10, 115, 228, 15);
changePanel.add(lblRetypeNewPassword);
lblRetypeNewPassword.setHorizontalAlignment(SwingConstants.RIGHT);
@ -395,9 +395,9 @@ public class SettingsFrame extends RegisteredFrame{
} catch (UnknownHostException e) {
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as an ip address.", ipText) + "\n\n" +
Transl._("Try entering the ip address of the machine running i2p."),
Transl._("Invalid ip address."),
Transl._t("\"{0}\" cannot be interpreted as an ip address.", ipText) + "\n\n" +
Transl._t("Try entering the ip address of the machine running i2p."),
Transl._t("Invalid ip address."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return LOCAL_SAVE_STATUS.SAVE_ERROR;
@ -411,9 +411,9 @@ public class SettingsFrame extends RegisteredFrame{
} catch (NumberFormatException e){
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as a port.", portText) + "\n\n" +
Transl._("Port must be a number in the range 1-65535."),
Transl._("Invalid port."),
Transl._t("\"{0}\" cannot be interpreted as a port.", portText) + "\n\n" +
Transl._t("Port must be a number in the range 1-65535."),
Transl._t("Invalid port."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return LOCAL_SAVE_STATUS.SAVE_ERROR;
@ -428,9 +428,9 @@ public class SettingsFrame extends RegisteredFrame{
_conf.setConf("server.password", oldPW);
JOptionPane.showConfirmDialog(
this,
Transl._("The password was not accepted as valid by the specified host.\n" +
Transl._t("The password was not accepted as valid by the specified host.\n" +
"\n(the default password is \"itoopie\")"),
Transl._("Rejected password."),
Transl._t("Rejected password."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return LOCAL_SAVE_STATUS.SAVE_ERROR;
@ -440,10 +440,10 @@ public class SettingsFrame extends RegisteredFrame{
_conf.setConf("server.password", oldPW);
JOptionPane.showConfirmDialog(
this,
Transl._("The remote host at the ip and port did not respond.\n" +
Transl._t("The remote host at the ip and port did not respond.\n" +
"\nMaybe I2PControl is not running on the remote I2P router, \n" +
"maybe the I2P router is not started."),
Transl._("Connection failed."),
Transl._t("Connection failed."),
JOptionPane.DEFAULT_OPTION,
JOptionPane.ERROR_MESSAGE);
return LOCAL_SAVE_STATUS.SAVE_ERROR;
@ -476,8 +476,8 @@ public class SettingsFrame extends RegisteredFrame{
if (!pw.equals(pwRepeat)){
JOptionPane.showConfirmDialog(
this,
Transl._("The new password and the repeated new password do not match.") + "\n",
Transl._("Mistyped password."),
Transl._t("The new password and the repeated new password do not match.") + "\n",
Transl._t("Mistyped password."),
JOptionPane.OK_OPTION,
JOptionPane.ERROR_MESSAGE);
return REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY;
@ -486,8 +486,8 @@ public class SettingsFrame extends RegisteredFrame{
if (pw.equals(oldPW)){
JOptionPane.showConfirmDialog(
this,
Transl._("The new password is the same as the old password.") + "\n",
Transl._("No new password."),
Transl._t("The new password is the same as the old password.") + "\n",
Transl._t("No new password."),
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.ERROR_MESSAGE);
return REMOTE_SAVE_STATUS.NO_CHANGES;
@ -532,9 +532,9 @@ public class SettingsFrame extends RegisteredFrame{
} catch (NumberFormatException e){
JOptionPane.showConfirmDialog(
this,
Transl._("\"{0}\" cannot be interpreted as a port.", port) + "\n\n" +
Transl._("Port must be a number in the range 1-65535."),
Transl._("Invalid port."),
Transl._t("\"{0}\" cannot be interpreted as a port.", port) + "\n\n" +
Transl._t("Port must be a number in the range 1-65535."),
Transl._t("Invalid port."),
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.ERROR_MESSAGE);
return REMOTE_SAVE_STATUS.SAVE_FAILED_LOCALLY;

View File

@ -10,9 +10,9 @@ public class StatusHandler {
private interface StatusMessage{ public String getStatusMessage(); };
public static enum DEFAULT_STATUS implements StatusMessage {
CONNECTED { public String getStatusMessage(){ return Transl._("Connected to I2P router."); }},
NOT_CONNECTED { public String getStatusMessage(){ return Transl._("Unable to connect to I2P router."); }},
INVALID_PASSWORD { public String getStatusMessage(){ return Transl._("I2P router rejected password."); }}
CONNECTED { public String getStatusMessage(){ return Transl._t("Connected to I2P router."); }},
NOT_CONNECTED { public String getStatusMessage(){ return Transl._t("Unable to connect to I2P router."); }},
INVALID_PASSWORD { public String getStatusMessage(){ return Transl._t("I2P router rejected password."); }}
}
static{

View File

@ -84,7 +84,7 @@ public class TrayManager {
*/
public PopupMenu getMainMenu() {
PopupMenu popup = new PopupMenu();
MenuItem stopItem = new MenuItem(Transl._("Exit itoopie"));
MenuItem stopItem = new MenuItem(Transl._t("Exit itoopie"));
stopItem.addActionListener(new ActionListener() {
@Override

View File

@ -49,7 +49,7 @@ public class BandwidthChart extends Chart2D{
ITrace2D dataBWIn = new Trace2DLtd( graphInterval/updateInterval );
dataBWIn.setStroke(new BasicStroke(1));
dataBWIn.setColor(new Color(255, 0, 0, 255));
dataBWIn.setName(Transl._("Bandwidth In [KB/s]"));
dataBWIn.setName(Transl._t("Bandwidth In [KB/s]"));
ITracePainter<?> dotPainter = new TracePainterPolyline();
dataBWIn.setTracePainter(dotPainter);
@ -58,7 +58,7 @@ public class BandwidthChart extends Chart2D{
ITrace2D dataBWOut = new Trace2DLtd( graphInterval/updateInterval );
dataBWOut.setStroke(new BasicStroke(1));
dataBWOut.setColor(new Color(0, 0, 255, 255));
dataBWOut.setName(Transl._("Bandwidth Out [KB/s]"));
dataBWOut.setName(Transl._t("Bandwidth Out [KB/s]"));
dataBWOut.setTracePainter(dotPainter);
addTrace(dataBWOut);
@ -67,7 +67,7 @@ public class BandwidthChart extends Chart2D{
getAxisX().setFormatter(new LabelFormatterDate(sdf));
getAxisX().setPaintGrid(true);
getAxisX().setAxisTitle(new AxisTitle(Transl._("Time")));
getAxisX().setAxisTitle(new AxisTitle(Transl._t("Time")));
DecimalFormat df = new DecimalFormat("0 ; 0");
getAxisY().setFormatter(new LabelFormatterNumber(df));

View File

@ -45,7 +45,7 @@ public class ParticipatingTunnelsChart extends Chart2D {
ITrace2D dataPartTunnels = new Trace2DLtd( graphInterval/updateInterval );
dataPartTunnels.setStroke(new BasicStroke(1));
dataPartTunnels.setColor(new Color(255, 0, 0, 255));
dataPartTunnels.setName(Transl._("Number of tunnels we are participating in."));
dataPartTunnels.setName(Transl._t("Number of tunnels we are participating in."));
ITracePainter<?> dotPainter = new TracePainterPolyline();
dataPartTunnels.setTracePainter(dotPainter);
@ -55,7 +55,7 @@ public class ParticipatingTunnelsChart extends Chart2D {
getAxisX().setFormatter(new LabelFormatterDate(sdf));
getAxisX().setPaintGrid(true);
getAxisX().setAxisTitle(new AxisTitle(Transl._("Time")));
getAxisX().setAxisTitle(new AxisTitle(Transl._t("Time")));
DecimalFormat df = new DecimalFormat("0 ; 0");
getAxisY().setFormatter(new LabelFormatterNumber(df));

View File

@ -5,7 +5,7 @@ public class Transl {
public static final String BUNDLE_NAME = "net.i2p.itoopie.messages";
public static String _(String s) {
public static String _t(String s) {
return Translate.getString(s, BUNDLE_NAME);
}
@ -18,16 +18,16 @@ public class Transl {
* The {0} will be replaced by the parameter.
* Single quotes must be doubled, i.e. ' -> '' in the string.
* @param o parameter, not translated.
* To tranlslate parameter also, use _("foo {0} bar", _("baz"))
* To tranlslate parameter also, use _t("foo {0} bar", _t("baz"))
* Do not double the single quotes in the parameter.
* Use autoboxing to call with ints, longs, floats, etc.
*/
public static String _(String s, Object o) {
public static String _t(String s, Object o) {
return Translate.getString(s, o, BUNDLE_NAME);
}
/** for {0} and {1} */
public static String _(String s, Object o, Object o2){
public static String _t(String s, Object o, Object o2){
return Translate.getString(s, o, o2, BUNDLE_NAME);
}
@ -39,7 +39,7 @@ public class Transl {
* @param s singluar string, optionally with {0} e.g. "one tunnel"
* @param p plural string optionally with {0} e.g. "{0} tunnels"
*/
public static String _(int n, String s, String p) {
public static String _t(int n, String s, String p) {
return Translate.getString( n, s, p, BUNDLE_NAME);
}

View File

@ -27,21 +27,21 @@ public class GetRouterInfo {
private static HashMap<Integer, NETWORK_STATUS> enumMap;
public static enum NETWORK_STATUS{
OK { public String toString(){ return Transl._("Ok."); }},
TESTING { public String toString(){ return Transl._("Testing."); }},
FIREWALLED { public String toString(){ return Transl._("Firewalled."); }},
HIDDEN { public String toString(){ return Transl._("Hidden."); }},
WARN_FIREWALLED_AND_FAST { public String toString(){ return Transl._("Warning, firewalled and fast."); }},
WARN_FIREWALLED_AND_FLOODFILL { public String toString(){ return Transl._("Warning, firewalled and floodfill."); }},
WARN_FIREWALLED_WITH_INBOUND_TCP { public String toString(){ return Transl._("Warning, firewalled with inbound TCP enabled."); }},
WARN_FIREWALLED_WITH_UDP_DISABLED { public String toString(){ return Transl._("Warning, firewalled with UDP disabled."); }},
ERROR_I2CP { public String toString(){ return Transl._("Error, I2CP issue. Check logs."); }},
ERROR_CLOCK_SKEW { public String toString(){ return Transl._("Error, clock skew. Try setting system clock."); }},
ERROR_PRIVATE_TCP_ADDRESS { public String toString(){ return Transl._("Error, private TCP address."); }},
ERROR_SYMMETRIC_NAT { public String toString(){ return Transl._("Error, behind symmetric NAT. Can't recieve connections."); }},
ERROR_UDP_PORT_IN_USE { public String toString(){ return Transl._("Error, UDP port already in use."); }},
ERROR_NO_ACTIVE_PEERS_CHECK_CONNECTION_AND_FIREWALL { public String toString(){ return Transl._("Error, no active peers. Check connection and firewall."); }},
ERROR_UDP_DISABLED_AND_TCP_UNSET { public String toString(){ return Transl._("Error, UDP disabled and TCP unset."); }}
OK { public String toString(){ return Transl._t("Ok."); }},
TESTING { public String toString(){ return Transl._t("Testing."); }},
FIREWALLED { public String toString(){ return Transl._t("Firewalled."); }},
HIDDEN { public String toString(){ return Transl._t("Hidden."); }},
WARN_FIREWALLED_AND_FAST { public String toString(){ return Transl._t("Warning, firewalled and fast."); }},
WARN_FIREWALLED_AND_FLOODFILL { public String toString(){ return Transl._t("Warning, firewalled and floodfill."); }},
WARN_FIREWALLED_WITH_INBOUND_TCP { public String toString(){ return Transl._t("Warning, firewalled with inbound TCP enabled."); }},
WARN_FIREWALLED_WITH_UDP_DISABLED { public String toString(){ return Transl._t("Warning, firewalled with UDP disabled."); }},
ERROR_I2CP { public String toString(){ return Transl._t("Error, I2CP issue. Check logs."); }},
ERROR_CLOCK_SKEW { public String toString(){ return Transl._t("Error, clock skew. Try setting system clock."); }},
ERROR_PRIVATE_TCP_ADDRESS { public String toString(){ return Transl._t("Error, private TCP address."); }},
ERROR_SYMMETRIC_NAT { public String toString(){ return Transl._t("Error, behind symmetric NAT. Can't recieve connections."); }},
ERROR_UDP_PORT_IN_USE { public String toString(){ return Transl._t("Error, UDP port already in use."); }},
ERROR_NO_ACTIVE_PEERS_CHECK_CONNECTION_AND_FIREWALL { public String toString(){ return Transl._t("Error, no active peers. Check connection and firewall."); }},
ERROR_UDP_DISABLED_AND_TCP_UNSET { public String toString(){ return Transl._t("Error, UDP disabled and TCP unset."); }}
};

View File

@ -36,16 +36,16 @@ public class I2PControl{
public enum ADDRESSES implements Address {
LOCAL { public String getAddress(){ return "127.0.0.1";}
public String toString(){ return Transl._("local host (127.0.0.1)"); }},
public String toString(){ return Transl._t("local host (127.0.0.1)"); }},
/*LAN_192_168 { public String getAddress(){ return "192.168.0.0";}
public String toString(){ return Transl._("lan host (192.168.*.*)"); }},
public String toString(){ return Transl._t("lan host (192.168.*.*)"); }},
LAN_10 { public String getAddress(){ return "10.0.0.0";}
public String toString(){ return Transl._("lan host (10.*.*.*)"); }},
public String toString(){ return Transl._t("lan host (10.*.*.*)"); }},
*/
ANY { public String getAddress(){ return "0.0.0.0";}
public String toString(){ return Transl._("any host (0.0.0.0)"); }}
public String toString(){ return Transl._t("any host (0.0.0.0)"); }}
};
static {

View File

@ -75,7 +75,7 @@ public class CertificateHelper {
try {
return getThumbPrint(convert(cert));
} catch (Exception e){
return Transl._("Unable to create hash of the given cert, ") + cert;
return Transl._t("Unable to create hash of the given cert, ") + cert;
}
}

View File

@ -34,7 +34,7 @@ public class DataHelper {
return ngettext("1 hour", "{0} hours", (int) (ms / (60 * 60 * 1000)));
} else if (ms > 1000l * 24l * 60l * 60l * 1000l) {
// >1000 days
return Transl._("n/a");
return Transl._t("n/a");
} else {
// days
return ngettext("1 day", "{0} days", (int) (ms / (24 * 60 * 60 * 1000)));