Java源码英翻中网页演示
在线演示地址: 源代码翻译
两部分如下.
独立的Java代码翻译库
续前文代码翻译尝试-使用Roaster解析和生成Java源码
源码库: program-in-chinese/java_code_translator
功能
在前文基础上: 重构; 完善测试(基本涵盖主要接口); 小改进 - 支持数组类型的属性和方法返回类型的翻译, 如"String[]" -> "字符串[]"
源码节选
翻译Java代码.java, 按类/Bean属性/方法三部分翻译命名. 仍不处理方法内容.
public static String 翻译源码结构(String 源码) { JavaClassSource 类结构; try { 类结构 = 取类结构(源码); } catch (ParserException e) { return e.getLocalizedMessage(); } 翻译类(类结构); 翻译属性(类结构); 翻译方法(类结构); return 类结构.toUnformattedString(); }
部署
暂未发布到Maven, 在部署时, 运行'mvn install'安装jar包到本地(服务器同样).
Spring Boot实现源码服务
源码库: program-in-chinese/code_translator_service, maven依赖上面的库java_code_translator
前端部分暂时合在同一库"前端"文件夹: program-in-chinese/code_translator_service
功能
-
前端方面
- 实现了最简单的前端, 左边输入源码, 右边显示翻译结果
- 支持语法高亮: 基于CodeMirror, 包括行号, 关键词高亮, 类名等等. 它支持100多编程语言, 适于今后添加其他语言支持.
源码节选
前端-Java模式语法高亮:
var 输入 = CodeMirror.fromTextArea(document.getElementById("英文源码输入"), { mode : "text/x-java", lineNumbers : true, matchBrackets : true }); 输入.setSize(500, 500);
前端-访问后台
$(document).ready(function() { $("#翻译按钮").click(function() { 输出.setValue("处理中..."); $.post("http://74.91.17.250:8091/", { code : 输入.getValue() }, function(结果) { 输出.setValue(结果.内容); }, "json"); }); });
后台部分-翻译控制器.java
@RestController public class 翻译控制器 { private static final Logger 笔录 = LoggerFactory.getLogger(翻译控制器.class); @CrossOrigin(origins = "http://74.91.17.250:9000") @RequestMapping(value = "/", method = RequestMethod.POST) @ResponseBody public 翻译 翻译(@RequestParam(name = "code", required = false, defaultValue = "") String 英文源码) { 笔录.info("输入: " + 英文源码); return new 翻译(翻译Java代码.翻译源码结构(英文源码)); } }
部署
后台部分
打包: mvn package
运行: nohup java -jar target/code_translator_service-0.0.1-SNAPSHOT.jar --server.port=8091 &
前端部分
服务器: 将'前端'的public部分拷贝到tomcat(设置port为9000).
本地调试: 运行'spring run app.groovy'即在8080启动前端服务; 需修改post地址为"http://localhost:8091/", 以正确配置CORS.
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java源码英翻中库以及服务原型
服务很简单, 只为演示这个库, 源码在: program-in-chinese/code_translator_service. 在Postman测试效果: 演示服务地址: 74.91.17.250:8091 . POST请求的参数名是code, 值就是需要翻译的英文源码. 返回翻译后的源码. 注: 只支持语法正确的Java源码翻译. 否则直接返回分析错误信息. 现在汉化范围很有限, 主要集中在类型/方法名, 尚未处理其他如方法内容等 代码很粗放, 下面打算在继续改进之前先整理一下. 在前文代码翻译尝试-使用Roaster解析和生成Java源码的基础上, 作了一些改进. 主要有: 对一般词汇使用普通英汉词典进行直译(优先选取计算机领域词义或者第一个词义) 支持术语词典, 比如'instance', 上面的英汉词典中的第一个词义是'建议', 于是在术语词典中添加此项, 暂时译为'个例' 支持驼峰命名和下划线分隔法命名 各种忽略. 详见命名翻译.java: 一些歧义太多的词, 如to for of 单字符字段如M 对释义进行清理, 如括号中的内容, 特殊符号等等 接下去的改进方面: 提高翻...
- 下一篇
用Python3和tkinter开发简单图形界面程序
源码库: program-in-chinese/wubi_code_editor 起因在这里. 由于此项目和汉字相关, 个人也想尝试Python的图形界面开发, 于是开始尝试. 遇到的一个坑. 用户测试时, 发现png图片加载不了, 后发现是由于tkinter版本问题: Tkinter.PhotoImage doesn't not support png image 现在还处于原型状态, 两百多行代码都在一个文件中. 几个主要问题: 界面需要分离, 与界面无关的部分需要添加测试用例 文件路径只支持Linux/Mac, 还需支持Windows, 参考: Python 3 Quick Tip: The easy way to deal with file paths on Windows, Mac and Linux 完善功能: 支持对缺失数据的添加, 按编码范围导出到不同文件(出处); 按字搜索; 笔顺数据; Unicode 编码区 在VS code下开发, 还没使用测试/调试相关功能. 参考: Python in Visual Studio Code 源码节选: 读入csv源数据: d...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器