2018-10-19 Chrome插件实现GitHub代码离线翻译v0.0.4

续前文Chrome插件实现GitHub代码翻译v0.0.3. 添加了对驼峰命名的支持. 由于调用浏览器插件-离线英汉词典进行词汇翻译, 因此也不依赖于任何在线翻译服务.

Chrome插件: 官网链接

支持所有编程语言

因为并不需要对源代码进行语法分析(之前Java源码英翻中进展-内测上线中使用了语法分析, 工作量大很多), 因此原则上已经支持所有编程语言的源代码. 但对一些编程语言效果更好, 见下面效果.

Java: 源码来源

Python: 源码来源

C: 源码来源 接下去添加C的关键词翻译后, include/char就不会那么坑了.

[2018-10-19-github源码翻译_c_0.0.4]({{ "/assets/2018-10-19-github源码翻译_c_0.0.4.png" | absolute_url }})

阶段小结

翻译方面做下去会遇到和自然语言机器翻译类似的问题. 当然会比自然语言好一些, 因为命名往往使用的是最正式(非口语化)的词汇, 连接词的使用也较少, 而且基本没有完整语句. 即便如此, 也会存在词汇的歧义, 比如词性问题, 比如顶图例子中BasicCalculator, Basic在內建词典中有名词/形容词几种词义:

n. 基本原理, 要素, 基本规律
a. 基本的, 碱性的
(计算机)BASIC语言

现在的算法是直接用首个词义, 就是名词的"基本原理". 再比如"tell"在没有后接名词时应该是取vi释义:

vt. 告诉, 说, 吩咐, 断定, 知道
vi. 讲述, 泄密, 告发, 表明

改进就需要加入自然语言处理的方法.

源码

文本处理.js中驼峰命名拆分:

function 拆分骆驼命名(命名) {
  // 参考: https://stackoverflow.com/a/7599674/1536803
  return 命名.split(/(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/);
}

原文地址:https://www.cnblogs.com/program-in-chinese/p/10504062.html

时间: 2024-10-29 20:47:44

2018-10-19 Chrome插件实现GitHub代码离线翻译v0.0.4的相关文章

2018-10-31 在线代码离线翻译Chrome插件&quot;一马&quot;v0.0.8

续前文: Chrome插件实现GitHub代码离线翻译v0.0.4 添加了对"码云"在线代码的翻译支持, 因此改名暂为"一马". 在此贴中调研了常用的在线代码网站: 各位都在什么源码站上在线看代码? - V2EX, 暂未发现其他. 注: 此插件调用浏览器插件-离线英汉词典 0.0.7进行查词, 因此也不依赖任何在线翻译服务, 不存在API调用限制. 改进功能: 支持"码云"代码翻译 添加 C/PHP 关键词的翻译 删除释义中的括号内内容 &quo

专心10年,写ASP.NET代码开始,从0到拥有5系

工作到现在,几乎就没离开过这里,写这篇文章也是给自己这10年做个总结,也希望能给选择了程序员这个职业的朋友,带来一些激励与感悟,写这文章又不想影响到自己的工作与生活,所以专门注册了一个马甲帐号请谅解,我也是园子的常客,有写过很多博文. 起点高低不会左右你的人生在这个职业里.我的同事与朋友里,好像我的起点还真是挺低的,高中辍学,妈妈看了我这样白上了10年学,到工地打工浪费了,拿出了家里仅有的5000元报了一个职业学校,学了一年的计算机技术,PHOTOSHOP,网页制作三剑客,还有后来ASP语言.在

2018.10.19学习总结

1正则表达式import re# [] 范围匹配 中间 用-来连接# re.findall("[a-zA-Z0-9]","a ab abc abcd a123c")# 如果要匹配 符号- 要写表达式的左边或右边# print(re.findall("[-ab]","a ab abc abcd a123c a--")) # 重复匹配 表达式的匹配次数# * 表示 任意次数 所以0次也满足print(re.findall(&quo

2018/10/10 awk 分析 nginx 日志

废话不多说,简单了解一下 awk - 强大的文本分析工具,也就是分析日志 最常用的就是分析日志了吧,做统计什么,这里也拿 nginx 日志来做分析 1:统计出现次数 - 比如状态码出现次数 - 先直接上命令 awk '{print $9}' access_log | sort | uniq -c | sort -rn - 可能会有一些疑惑,这个$9 是什么? - 我们拿出一条日志来看一下先 123.124.16.83 - - [10/Oct/2018:10:24:56 +0800] "GET /

爬虫的Chrome插件推荐

[1]Toggle JavaScript 这个插件可以帮助我们快速直观地检测网页里哪些信息是通过AJAX异步加载而来的,具体怎么用,下面会详细讲解.chrome商店下载地址:https://chrome.google.com/webstore/detail/toggle-javascript/cidlcjdalomndpeagkjpnefhljffbnlo?utm_source=chrome-app-launcher-info-dialog(Ps:打不的小伙伴自行百度搜索国内提供chrome插件

Chrome插件教程&amp;代码

chrome插件很好的中文文档教程:https://crxdoc-zh.appspot.com/extensions/getstarted 代码:https://github.com/KevinOfNeu/ChromeExtentionSeed 喜欢的话就给个Star吧~

推荐几款专门为Github党量身定做的Chrome插件

GitHub是世界知名的代码托管网站,在中国也有相当多的项目托管在GitHub,给广大程序员和编程爱好者带来了方便,GitHub是很多开发者远程协作的重要工具,其社交化编码的理念伴随着开源运动改变着整个开发社区的生态,无数优质项目依托GitHub在全球开源开发者的参与下蓬勃发展.GitHub作为一款基于Git的代码管理工具和协同工具是很优秀的,然而作为代码浏览和搜索工具,就和IDE差的很远了.不然为什么到今天GitHub连个侧栏的文件树没有,很多开发者要专门去下载浏览器插件才能有文件树.当然,今

这是一款借助chrome 插件的微信机器人

1.chrome kit微信机器人简介(github:https://github.com/LinuxForYQH/chrome_kit) 借助chrome 插件 js注入来实现消息的发送 chrome devtool api的调用来监听https请求 打开微信登录界面,在扫码登录前必须先打开toolbar(F12 或者 鼠标右键检查),如上所说因为借助了chrome devtool api所以需要打开toolbar才能执行相关dev域的js. 2.相关开发原理介绍 https://develo

堪称神器的Chrome插件

相信很多人都在使用Chrome浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面,Chrome最大的优势还是其支持众多强大好用的扩展程序(Extensions). 最近为了更好的利用谷歌浏览器,我整理了一些常用的谷歌插件,分享给大家. 正文 闲话不多说,直接上推荐的插件,点击文章最后面左下角的“阅读原文”就可以获取所有插件的下载链接了~ 通用类插件 1.OneTab:将无数Tab合并在一个页面 很多时候我们在一个窗口打开太多的tab,每一个tab太小不容易管理,这时候使用OneTab