Chrome插件实现GitHub代码离线翻译v0.0.4 2018-10-19
生活随笔
收集整理的這篇文章主要介紹了
Chrome插件实现GitHub代码离线翻译v0.0.4 2018-10-19
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
續前文Chrome插件實現GitHub代碼翻譯v0.0.3. 添加了對駝峰命名的支持. 由于調用瀏覽器插件-離線英漢詞典進行詞匯翻譯, 因此也不依賴于任何在線翻譯服務.
Chrome插件: 官網鏈接
支持所有編程語言
因為并不需要對源代碼進行語法分析(之前Java源碼英翻中進展-內測上線中使用了語法分析, 工作量大很多), 因此原則上已經支持所有編程語言的源代碼. 但對一些編程語言效果更好, 見下面效果.
Java: 源碼來源
Python: 源碼來源
C: 源碼來源 接下去添加C的關鍵詞翻譯后, include/char就不會那么坑了.
階段小結
翻譯方面做下去會遇到和自然語言機器翻譯類似的問題. 當然會比自然語言好一些, 因為命名往往使用的是最正式(非口語化)的詞匯, 連接詞的使用也較少, 而且基本沒有完整語句. 即便如此, 也會存在詞匯的歧義, 比如詞性問題, 比如頂圖例子中BasicCalculator, Basic在內建詞典中有名詞/形容詞幾種詞義:
n. 基本原理, 要素, 基本規律 a. 基本的, 堿性的 (計算機)BASIC語言現在的算法是直接用首個詞義, 就是名詞的"基本原理". 再比如"tell"在沒有后接名詞時應該是取vi釋義:
vt. 告訴, 說, 吩咐, 斷定, 知道 vi. 講述, 泄密, 告發, 表明改進就需要加入自然語言處理的方法.
源碼
文本處理.js中駝峰命名拆分:
function 拆分駱駝命名(命名) {// 參考: https://stackoverflow.com/a/7599674/1536803return 命名.split(/(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/); }總結
以上是生活随笔為你收集整理的Chrome插件实现GitHub代码离线翻译v0.0.4 2018-10-19的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: irq_desc操作
- 下一篇: golang实现link的过程