服務很簡單, 隻為示範 這個庫 , 源碼在: program-in-chinese/code_translator_service . 在Postman測試效果:
示範服務位址: 74.91.17.250:8091 . POST請求的參數名是code, 值就是需要翻譯的英文源碼. 傳回翻譯後的源碼.
注:
- 隻支援文法正确的Java源碼翻譯. 否則直接傳回分析錯誤資訊.
- 現在漢化範圍很有限, 主要集中在類型/方法名, 尚未處理其他如方法内容等
- 代碼很粗放, 下面打算在繼續改進之前先整理一下.
在前文
代碼翻譯嘗試-使用Roaster解析和生成Java源碼的基礎上, 作了一些改進. 主要有:
- 對一般詞彙使用普通 英漢詞典 進行直譯(優先選取計算機領域詞義或者第一個詞義)
- 支援術語詞典, 比如'instance', 上面的英漢詞典中的第一個詞義是'建議', 于是在術語詞典中添加此項, 暫時譯為'個例'
- 支援駝峰命名和下劃線分隔法命名
- 各種忽略. 詳見 命名翻譯.java :
- 一些歧義太多的詞, 如to for of
- 單字元字段如M
- 對釋義進行清理, 如括号中的内容, 特殊符号等等
接下去的改進方面:
- 提高翻譯品質方面
- 繼續擴大術語詞典内容. 将在 術語詞典API項目 · Issue #85 · program-in-chinese/overview 更新進度
- 添加一些簡單的詞序重組規則. 比如現在'afterSave'譯為'在之後儲存', 最好改為'儲存之後'之類, 但這牽涉到較複雜的自然語言處理.
- 改進源碼分析方面
- 添加對一些變量, 方法類型進行翻譯
- 支援複雜類型的翻譯, 比如Person[], List中的'Person'現在還不能翻譯
- 前端方面
- 第一步是做一個最簡單的前端, 左邊輸入源碼, 右邊顯示翻譯結果
- 支援Outline模式, 就是類似IDE中隻顯示類的屬性/接口清單, 這樣也許更易于對一個類有個一目了然的了解
- 支援文法高亮
歡迎嘗鮮/回報/參與添加術語等.