diff --git a/stegsolve/Combiner.java b/stegsolve/Combiner.java
index bb5f165..b59040e 100644
--- a/stegsolve/Combiner.java
+++ b/stegsolve/Combiner.java
@@ -192,7 +192,7 @@ public class Combiner extends JFrame
}
catch (Exception e)
{
- JOptionPane.showMessageDialog(this, "写入文件失败: "+e.toString());
+ JOptionPane.showMessageDialog(this, "Failed to write file: "+e.toString());
}
}
}
diff --git a/stegsolve/FileAnalysis.java b/stegsolve/FileAnalysis.java
index 196083f..df5b367 100644
--- a/stegsolve/FileAnalysis.java
+++ b/stegsolve/FileAnalysis.java
@@ -39,9 +39,9 @@ public class FileAnalysis extends javax.swing.JFrame {
{
rep = new StringBuilder();
rep.append("
");
- rep.append("文件格式报告");
+ rep.append("File format report");
rep.append("");
- rep.append(("
文件: "+ifile.getName()));
+ rep.append(("
File: "+ifile.getName()));
try{
FileInputStream fis = new FileInputStream(ifile);
f = new byte[(int)ifile.length()];
@@ -51,7 +51,7 @@ public class FileAnalysis extends javax.swing.JFrame {
}
catch(Exception e)
{
- rep.append(("读取文件时出错: "+e.toString()));
+ rep.append(("Error reading file: "+e.toString()));
}
rep.append("");
report.setText(rep.toString());
@@ -66,7 +66,7 @@ public class FileAnalysis extends javax.swing.JFrame {
// analyse f, write report to rep
if(f.length<4)
{
- rep.append("
文件太短?");
+ rep.append("
file too short?");
return;
}
if(f[0] == 'B' && f[1] == 'M')
@@ -78,7 +78,7 @@ public class FileAnalysis extends javax.swing.JFrame {
analyse_gif();
else if(f[0]==(byte)0xff && f[1]==(byte)0xd8)
analyse_jpg();
- else rep.append("
文件格式分析代码尚未完成!");
+ else rep.append("
File format analysis code not done yet!");
}
/**
@@ -90,8 +90,8 @@ public class FileAnalysis extends javax.swing.JFrame {
cpos = analyse_jpg_sections(cpos);
if(cpos文件末尾的附加字节数 = " +(f.length-cpos)));
- rep.append("
转储附加字节:");
+ rep.append(("
Additional bytes at end of file = " +(f.length-cpos)));
+ rep.append("
Dump of additional bytes:");
fdump(cpos, f.length);
}
}
@@ -105,12 +105,12 @@ public class FileAnalysis extends javax.swing.JFrame {
{
if(f[pos]==(byte)0xff && f[pos+1]==(byte)0xd8)
{
- rep.append("
图像的开头");
+ rep.append("
Start of Image");
pos+=2;
}
else if(f[pos] == (byte) 0xff && f[pos + 1] == (byte) 0xd9)
{
- rep.append("
图像结尾");
+ rep.append("
End of Image");
pos+=2;
return pos;
}
@@ -932,7 +932,7 @@ public class FileAnalysis extends javax.swing.JFrame {
OKButton = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- setTitle("文件格式分析");
+ setTitle("File Format Analysis");
jPanel1.setMinimumSize(new java.awt.Dimension(400, 300));
jPanel1.setPreferredSize(new java.awt.Dimension(400, 350));
@@ -941,7 +941,7 @@ public class FileAnalysis extends javax.swing.JFrame {
jScrollPane1.setPreferredSize(new java.awt.Dimension(400, 260));
report.setContentType("text/html");
- report.setFont(new java.awt.Font("微软雅黑", 0, 14)); // NOI18N
+ report.setFont(new java.awt.Font("Courier New", 0, 14)); // NOI18N
jScrollPane1.setViewportView(report);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
@@ -960,7 +960,7 @@ public class FileAnalysis extends javax.swing.JFrame {
jPanel2.setMinimumSize(new java.awt.Dimension(400, 35));
jPanel2.setPreferredSize(new java.awt.Dimension(400, 35));
- OKButton.setText("确认");
+ OKButton.setText("OK");
OKButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
OKButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
diff --git a/stegsolve/FrameBrowser.java b/stegsolve/FrameBrowser.java
index a5bd707..73db2cf 100644
--- a/stegsolve/FrameBrowser.java
+++ b/stegsolve/FrameBrowser.java
@@ -97,7 +97,7 @@ public class FrameBrowser extends JFrame
frames.add(bnext);
numframes++;
}
- System.out.println("总帧数 " + numframes);
+ System.out.println("total frames " + numframes);
}
catch (IOException e)
{
diff --git a/stegsolve/StegSolve.java b/stegsolve/StegSolve.java
index 729512b..d42fed7 100644
--- a/stegsolve/StegSolve.java
+++ b/stegsolve/StegSolve.java
@@ -148,52 +148,52 @@ public class StegSolve extends JFrame {
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- menuFile.setText("文件");
+ menuFile.setText("File");
fileOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, 0));
- fileOpen.setText("打开");
+ fileOpen.setText("Open");
fileOpen.addActionListener(this::fileOpenActionPerformed);
menuFile.add(fileOpen);
fileSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, 0));
- fileSave.setText("另存为");
+ fileSave.setText("Save As");
fileSave.addActionListener(this::fileSaveActionPerformed);
menuFile.add(fileSave);
fileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, 0));
- fileExit.setText("退出");
+ fileExit.setText("Exit");
fileExit.addActionListener(this::fileExitActionPerformed);
menuFile.add(fileExit);
menuBar.add(menuFile);
- menuAnalyse.setText("分析");
+ menuAnalyse.setText("Analyse");
- analyseFormat.setText("文件格式");
+ analyseFormat.setText("File Format");
analyseFormat.addActionListener(this::analyseFormatActionPerformed);
menuAnalyse.add(analyseFormat);
- analyseExtract.setText("数据提取");
+ analyseExtract.setText("Data Extract");
analyseExtract.addActionListener(this::analyseExtractActionPerformed);
menuAnalyse.add(analyseExtract);
- stereoSolve.setText("立体视图");
+ stereoSolve.setText("Stereogram Solver");
stereoSolve.addActionListener(this::stereoSolveActionPerformed);
menuAnalyse.add(stereoSolve);
- frameBrowse.setText("帧浏览器");
+ frameBrowse.setText("Frame Browser");
frameBrowse.addActionListener(this::frameBrowseActionPerformed);
menuAnalyse.add(frameBrowse);
- imageCombine.setText("图像合成器");
+ imageCombine.setText("Image Combiner");
imageCombine.addActionListener(this::imageCombineActionPerformed);
menuAnalyse.add(imageCombine);
menuBar.add(menuAnalyse);
- menuHelp.setText("帮助");
+ menuHelp.setText("Help");
- about.setText("关于");
+ about.setText("About");
about.addActionListener(this::aboutActionPerformed);
menuHelp.add(about);
@@ -368,7 +368,7 @@ public class StegSolve extends JFrame {
JFileChooser fileChooser = new JFileChooser(System.getProperty("user.dir"));
FileNameExtensionFilter filter = new FileNameExtensionFilter("Images", "jpg", "jpeg", "gif", "bmp", "png");
fileChooser.setFileFilter(filter);
- fileChooser.setDialogTitle("选择要合并的图像");
+ fileChooser.setDialogTitle("Select image to combine with");
int rVal = fileChooser.showOpenDialog(this);
System.setProperty("user.dir", fileChooser.getCurrentDirectory().getAbsolutePath());
if (rVal == JFileChooser.APPROVE_OPTION) {
@@ -378,7 +378,7 @@ public class StegSolve extends JFrame {
bi2 = ImageIO.read(sfile);
new Combiner(bi, bi2).setVisible(true);
} catch (Exception e) {
- JOptionPane.showMessageDialog(this, "加载文件失败: " + e.toString());
+ JOptionPane.showMessageDialog(this, "Failed to load file: " + e.toString());
}
}
}
@@ -412,7 +412,7 @@ public class StegSolve extends JFrame {
else
ImageIO.write(bi, sfile.getName().substring(rns), sfile);
} catch (Exception e) {
- JOptionPane.showMessageDialog(this, "写入文件失败: " + e.toString());
+ JOptionPane.showMessageDialog(this, "Failed to write file: " + e.toString());
}
}
}
@@ -447,7 +447,7 @@ public class StegSolve extends JFrame {
newImage();
} catch (Exception e) {
e.printStackTrace();
- JOptionPane.showMessageDialog(this, "加载文件失败: " + e.toString());
+ JOptionPane.showMessageDialog(this, "Failed to load file: " + e.toString());
}
}
diff --git a/stegsolve/StereoTransform.java b/stegsolve/StereoTransform.java
index d3cc219..eea52fb 100644
--- a/stegsolve/StereoTransform.java
+++ b/stegsolve/StereoTransform.java
@@ -78,7 +78,7 @@ public class StereoTransform {
*/
public String getText()
{
- return "偏移量: "+transNum;
+ return "Offset: "+transNum;
}
/**
diff --git a/stegsolve/Transform.java b/stegsolve/Transform.java
index 701c42c..1f11740 100644
--- a/stegsolve/Transform.java
+++ b/stegsolve/Transform.java
@@ -375,9 +375,9 @@ public class Transform {
switch(transNum)
{
case 0:
- return "正常图像";
+ return "Normal Image";
case 1:
- return "颜色反转 (Xor)";
+ return "Colour Inversion (Xor)";
case 2:
case 3:
case 4:
@@ -429,7 +429,7 @@ public class Transform {
case 40:
return "Random colour map 3";
case 41:
- return "灰度";
+ return "Gray bits";
default:
return "";
}
diff --git a/stegsolve/ZoomSlider.java b/stegsolve/ZoomSlider.java
index ec347a4..3445923 100644
--- a/stegsolve/ZoomSlider.java
+++ b/stegsolve/ZoomSlider.java
@@ -26,7 +26,7 @@ public class ZoomSlider extends JPanel {
private List changeListeners = new ArrayList<>();
ZoomSlider(int min, int max, int defaultValue) {
- JLabel tip = new JLabel("缩放:");
+ JLabel tip = new JLabel("Zoom:");
add(tip);