比如, 输入英文代码:
# This is my shopping list
shoplist = ['apple', 'mango', 'carrot', 'banana']
print('I have', len(shoplist), 'items to purchase.')
print('These items are:', end=' ')
for item in shoplist:
print(item, end=' ')
print('\nI also have to buy rice.')
shoplist.append('rice')
print('My shopping list is now', shoplist)
print('I will sort my list now')
shoplist.sort()
print('Sorted shopping list is', shoplist)
print('The first item I will buy is', shoplist[0])
olditem = shoplist[0]
del shoplist[0]
print('I bought the', olditem)
print('My shopping list is now', shoplist)
返回中文对应代码:
# 这是我的购物单
购物单 = ['苹果', '芒果', '胡萝卜', '香蕉']
打印('我有', 长度(购物单), '要购买的产品.')
打印('这些物品是:', 结尾=' ')
对于 物品 在 购物单:
打印(物品, 结尾=' ')
打印('\n 我还得买大米.')
购物单.添加('米')
打印('我的购物单现在在', 购物单)
打印('我现在就整理我的清单')
购物单.排序()
打印('排序的购物清单是', 购物单)
打印('我要买的第一件东西是', 购物单[0])
第一项 = 购物单[0]
删除 购物单[0]
打印('我买过', 第一项)
打印('我的购物单现在在', 购物单)
1
Inod 2018-08-31 14:13:33 +08:00
一些拼音自编缩写变量名怎么办 :狗头
|
3
1313213 2018-08-31 15:33:28 +08:00
为什么会有这种需求?
|
4
Greendays 2018-08-31 17:25:10 +08:00
看来楼主被领导安排了一些很那啥的工作吧
|
5
persimmon 2018-08-31 17:44:24 +08:00
是想要转译成易语言吗?
|
6
dingdangnao 2018-08-31 19:59:05 +08:00 via iPad
意义是什么?
|
7
fox0001 2018-09-01 18:15:40 +08:00 via Android
没意思…这种代码都看不懂,怎么编程?更何况很多自定义方法都不是一两个字就能说明清楚的…
不过,如果能做成代码自动注释,那就是另一个境界的事情了 |
8
yuanxing008 2018-09-03 03:53:58 +08:00
然而。。这种翻译的目的性呢?无实际应用价值的东西为什么要做
|
9
976683240 2018-09-03 09:58:45 +08:00
毫无意义的工作
|
10
xuanwu OP 看来是没有这样的工具 /服务。
如认为有价值的但不便现身的不妨点感谢。 无论如何都会尽量实现, 但估计会是长期项目。会在此帖报告进展。 |
11
flynaj 2018-09-06 00:59:16 +08:00 via Android
这个字典替换就可以,非常简单,只是更加不好阅读
|
12
youngxhui 2018-09-06 07:52:21 +08:00 1
这是搜狗翻译的结果,直接调用这些翻译的接口基本可以实现
![]( http://7xt81u.com2.z0.glb.qiniucdn.com/Snipaste_2018-09-06_07-50-30.png) |
13
xuanwu OP @youngxhui 多谢. 之前在 GG 翻译也测试过. 看起来搜狗结果没有考虑到代码语法. GG 的好像考虑了, 但翻译效果欠佳.
这些翻译接口都不免费, 而且长期来看不可能有永久免费的(像之前的有道). 现在正在实现一个英汉词典 API: https://www.v2ex.com/t/485481 之后再着手这个原型. 大概思路在 https://github.com/program-in-chinese/overview/issues/86 ``` #这是我的购物清单 shoplist = ['apple','mango','胡萝卜','香蕉'] 打印('我有',len (商店列表),'要购买的商品。') print ('这些项目是:',end ='') 对于商店列表中的项目: print ( item,end ='') 打印('\ n 我还要买米饭。') shoplist.append ( '大米') 打印('我的购物清单现在',店铺列表) 打印('我现在将对我的列表进行排序') shoplist.sort () print ('Sorted shopping list is',shoplist ) print ('我要买的第一件商品是',shoplist [0]) olditem = shoplist [0] del shoplist [0] 打印('我买了',olditem ) 打印('我的购物清单现在',店铺列表) ``` |
14
xuanwu OP 发帖时写的一个浏览器插件实现 GitHub 代码翻译原型演示: https://zhuanlan.zhihu.com/p/43304088
正写篇调研文, 在几个在线文本翻译服务(gg, 搜狗, 百度, 有道等等)中尝试翻译源码, 看看效果. 可以料想的是它们都不具备语法高亮功能. 主要关注点在于代码可读性和格式保全等问题. |
15
xuanwu OP "使用现有在线翻译服务进行代码翻译的体验": https://zhuanlan.zhihu.com/p/44169542
用两个小例程测试了楼上的 4 个翻译服务. 最后有初步的需求分析. |
16
xuanwu OP "代码翻译尝试-使用 Roaster 解析和生成 Java 源码": https://zhuanlan.zhihu.com/p/44536065
此文是前文使用现有在线翻译服务进行代码翻译的体验的编程语言方面第二点的一个尝试. 初步汉化后 Java 代码效果如下: package com.company.example; import java.io.Serializable; public class 人 implements Serializable { private static final long serialVersionUID = 1L; private final 整型 号; private 字符串 全名; public 整型 get 号() { return 号; } public 字符串 get 全名() { return 全名; } public void set 全名(字符串 全名) { this.全名 = 全名; } public 人(java.lang.Integer id) { this.id = id; } } |
17
xuanwu OP Java 源码英翻中库以及服务原型 https://zhuanlan.zhihu.com/p/44644112
在前文代码翻译尝试-使用 Roaster 解析和生成 Java 源码的基础上, 作了一些改进. 主要有: - 对一般词汇使用普通英汉词典进行直译(优先选取计算机领域词义或者第一个词义) - 支持术语词典, 比如'instance', 上面的英汉词典中的第一个词义是'建议', 于是在术语词典中添加此项, 暂时译为'个例 - 支持驼峰命名和下划线分隔法命名 - 各种忽略. 详见命名翻译.java: - 一些歧义太多的词, 如 to for of - 单字符字段如 M 对释义进行清理, 如括号中的内容, 特殊符号等等 |
18
xuanwu OP 很简陋的网页界面用于演示上面的封装服务. 在线演示地址: http://74.91.17.250:9000/
测试用例: https://gist.github.com/nobodxbodon/25fd1d59027181ed317d7ca17ac5f153 点击"翻译"即可 |
19
xuanwu OP 前端:
添加了语法高亮 (基于 CodeMirror). 考虑设置为根据内容自动调节编辑器高度, 以便通过浏览器滚动条同时滚动两个浏览器 (类似谷歌翻译等). 还需调整字体大小, 现在翻译后带中文的行宽一些, 两边代码并不同样长度. 语法分析部分: 支持了数组类型的翻译. |
20
xuanwu OP Java 源码英翻中进展-内测上线: https://zhuanlan.zhihu.com/p/46207832
|