求助用java做一个简单的翻译软件
学期项目被分到文本编辑器的翻译功能,老师只说去网上下载相关的api完成,要求25日前交整个程序。github上看过很多代码但缺少注释看不懂,求助 万分感谢 攒人品,给你翻译一下那份英文要求吧!
1.设计一个应用的用户接口,该接口要让用户觉得友好。
2.提供用户接口,需要有下列文件菜单选项:新建、打开、保存、另存为、退出 //软件的界面左上方有个“文件”菜单,点一下,下面出现一列选项,分别为:新建、打开、保存、另存为、退出。
3.提供用户接口,需要有下列编辑菜单选项:剪切、复制、粘贴、删除、查找、替换、查找下一个。
4.提供用户接口,需要有下列定制菜单选项:字体、语言翻译。
5.提供用户接口,需要有下列帮助菜单选项:版本、版权(作者)
6.根据整篇文章的单词选取一个一致的和合适的翻译。
…… 界面我想做成这样 翻译的话,你可以借用谷歌或者百度的翻译引擎。我可以提供一个思路,就是通过访问谷歌翻译的页面,来提交你要翻译的内容,然后再从页面中取得翻译好的内容。或者你使用post将要翻译的内容发到谷歌翻译引擎,然后再接收。
使用HTML相关的类可以实现,具体的话。。。还得靠你亲自去实践。
建议不要着急,一步一步来。 好的,我去试试 这是控制台程序,调用有道api,post提交
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Scanner;
public class TestPost {
public static void main(String[] args) {
new ReadByPost().start();
}
}
class ReadByPost extends Thread {
@Override
public void run() {
try {
URL url = new URL("http://fanyi.youdao.com/openapi.do");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.addRequestProperty("encoding", "UTF-8");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStream os = connection.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
Scanner in = new Scanner(System.in);
String text = "keyfrom=fadabvaa&key=522071532&type=data&doctype=json&version=1.1&q=" + in.nextLine();
bw.write(text);
bw.flush();
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
StringBuilder builder = new StringBuilder();
while ((line = br.readLine()) != null) {
String[] arr = line.split("]");
for (int i = 0; i < arr.length; i++) {
if (arr.contains("translation")) {
System.out.println(arr.substring(17, arr.length()-1));
}
}
}
bw.close();
osw.close();
os.close();
br.close();
isr.close();
is.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
带界面的程序。
书写习惯不好,和上面比对者看吧 长见识了顶~~~~~~~~~~~~
:):):):):):)
页:
[1]