Java原始碼英翻中庫以及服務原型 2018-09-15
阿新 • • 發佈:2019-01-12
服務很簡單, 只為演示這個庫, 原始碼在: program-in-chinese/code_translator_service. 在Postman測試效果:
演示服務地址: 74.91.17.250:8091 . POST請求的引數名是code, 值就是需要翻譯的英文原始碼. 返回翻譯後的原始碼.
注:
- 只支援語法正確的Java原始碼翻譯. 否則直接返回分析錯誤資訊.
- 現在漢化範圍很有限, 主要集中在型別/方法名, 尚未處理其他如方法內容等
- 程式碼很粗放, 下面打算在繼續改進之前先整理一下.
在前文程式碼翻譯嘗試-使用Roaster解析和生成Java原始碼
- 對一般詞彙使用普通英漢詞典進行直譯(優先選取計算機領域詞義或者第一個詞義)
- 支援術語詞典, 比如’instance’, 上面的英漢詞典中的第一個詞義是’建議’, 於是在術語詞典中新增此項, 暫時譯為’個例’
- 支援駝峰命名和下劃線分隔法命名
- 各種忽略. 詳見命名翻譯.java:
- 一些歧義太多的詞, 如to for of
- 單字元欄位如M
- 對釋義進行清理, 如括號中的內容, 特殊符號等等
接下去的改進方面:
- 提高翻譯質量方面
- 繼續擴大術語詞典內容. 將在
- 新增一些簡單的詞序重組規則. 比如現在’afterSave’譯為’在之後儲存’, 最好改為’儲存之後’之類, 但這牽涉到較複雜的自然語言處理.
- 繼續擴大術語詞典內容. 將在
- 改進原始碼分析方面
- 新增對一些變數, 方法型別進行翻譯
- 支援複雜型別的翻譯, 比如Person[], List中的’Person’現在還不能翻譯
- 前端方面
- 第一步是做一個最簡單的前端, 左邊輸入原始碼, 右邊顯示翻譯結果
- 支援Outline模式, 就是類似IDE中只顯示類的屬性/介面列表, 這樣也許更易於對一個類有個一目瞭然的瞭解
- 支援語法高亮
歡迎嚐鮮/反饋/參與新增術語等.