博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-10-17 Chrome插件实现GitHub代码翻译v0.0.3
阅读量:5342 次
发布时间:2019-06-15

本文共 1985 字,大约阅读时间需要 6 分钟。

2018-10-17-github源码翻译

续前文, 通过调用的批量查词接口, 实现了源码的初步命名直译.

源码库仍在:

还缺失的功能: . 比如图中所示, BasicCalculator未翻译.

语言关键词词典.js. 內建词典包括常用关键词, 以及Java和Python的专用关键词:

var 通用关键词 = {  'assert': "断言",  'import': "导入",  "if": "如果",  "else": "否则",  "while": "每当",  "for": "对于",  "in": "在",  "switch": "岔",  "case": "分支",  "break": "跳出",  "continue": "继续",  "return": "返回",  "throw": "抛出",  "finally": "善后",  'class': "类别",  'is': "为"}var 专用关键词 = {  /*  参考 http://zetcode.com/lang/python/keywords/  import keyword  print("Python keywords: ", keyword.kwlist)  */  "python": {    'False': "假",    'None': "空",    'True': "真",    'and': "且",    'as': "as",    'def': "定义",    "del": "删除",    'elif': "否则如果",    'except': "except",    'from': "从",    'global': "全局",    'lambda': "lambda",    'nonlocal': "nonlocal",    'not': "不",    'or': "或",    'pass': "轮空",    'raise': "抛出",    'with': "with",    'yield': "产出"  },  // 参考 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html  "java": {...  }}

释义处理.js. 查词后, 选取一个"合适"的词义, 这里还很粗糙:

function 首选(中文释义, 所有词性) {  if (!中文释义) {    return;  }  var 首选词义 = "";  var 词性到释义 = 分词性(中文释义, 所有词性);  //console.log(词性到释义);  if (词性到释义[词性_计算机]) {    首选词义 = 词性到释义[词性_计算机][0];  } else {    // 取第一个词性的第一释义    for (var 词性 in 词性到释义) {      首选词义 = 词性到释义[词性][0];      break;    }  }  return 首选词义;}

主界面.js中进行翻译的主体部分:

function 翻译() {  var 原代码拷贝 = document.getElementsByTagName('table')[0];  var 顶节点 = 原代码拷贝.parentElement;  var 编程语言 = 取编程语言(顶节点);  var span字段列表 = 原代码拷贝.getElementsByTagName('span');  var 文本字段列表 = 取子文本节点(document);  关键词词典 = 取所有关键词(编程语言);  // 合并两个部分  添加所有待查词(span字段列表);  添加所有待查词(文本字段列表);  chrome.runtime.sendMessage(    "ndifefelacmidghjaehmhicbchbidhpe",    命名词典,    function(返回值) {      命名词典 = 返回值.所有释义;      for (var 词 in 命名词典) {        命名词典[词] = 常用命名[词] ? 常用命名[词] : 首选(命名词典[词], 词性);      }      翻译字段列表(span字段列表);      翻译字段列表(文本字段列表);      顶节点.insertBefore(document.createTextNode("编程语言: " + 编程语言), 原代码拷贝);    }  );}

转载于:https://www.cnblogs.com/program-in-chinese/p/10500313.html

你可能感兴趣的文章
浅谈性能测试
查看>>
Winform 菜单和工具栏控件
查看>>
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
YUI3自动加载树实现
查看>>
like tp
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
较快的maven的settings.xml文件
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
malloc() & free()
查看>>
Linux 的 date 日期的使用
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>