中文輸進去,程式出得來,開發者發大財 - LingaScript: 中文化 TypeScript

2019-03-15 02:39:31 +08:00
 xuanwu

知乎专栏文章: 转载: 中文輸進去,程式出得來,開發者發大財 -LingaScript:中文化 TypeScript

原文在原创者 (也是周蟒作者) 博客: 中文輸進去,程式出得來,開發者發大財

前陣子過年,終於得以抽出的一些時間,可以來嘗試一些不同的東西。

花了幾天查看 Typescript 程式碼,改寫了個可用繁 /簡中文語法寫 JS 的轉譯器 LingaScript

使用它做了個「中文輸進去,程式出得來,開發者發大財」的中文程式影片範例,歡迎大家開心試用。

如何做到的

這個專案脫胎自過去開發周蟒(Python + 中文語法)的經驗,並參考了 CTS (Typescript + 中文語法)原始碼。

微軟主導開發的 Typescript 提供了分析 Typescript 語法,並可輸出成 Javascript 的轉譯器(src/compiler)。更棒的是因為 Visual Studio 的開發工具中整合了 Typescript,而微軟為了讓 Visual Studio 中的所有編譯結果都有本地化語言輸出,也在 Typescript 中支援了本地化語言的命令行工具和錯誤輸出。

因此, ‵ LingaScript ‵ 目前所做的,是讓支援的中文語法可分析為對應的 symbol,並預設將命令行工具設成對應的本地化語言。如此一來就可以得到較完整的使用本地化語言的開發體驗。

因為看到 CTS 改版不易的問題,我使用自己開發,基於 Google 提供的 diff-match-patch 包裝的 file-patch 工具,來對修改後的程式碼和 Typescript 原始碼做 diff/patch。‵ LingaScript ‵ 專案中保存了修改後的 compiler 相關檔案和 diff 檔。透過 patch 的方式更容易相容版本升級時的改動。

具體可以查看相關用到的命令 https://github.com/gasolin/lingascript/blob/master/package.json#L14

其他想法

‵ LingaScript ‵ 目前的架構不僅止於能支援繁簡中文語法,只要加上對應的關鍵字檔案,也可以很快地支援其他語種,讓開發者或講師得以用熟悉的語言來介紹並執行 Javascript 相容的程式。

如果有興趣的話,歡迎前往 https://github.com/gasolin/lingascript 討論或提出想法。

2089 次点击
所在节点    JavaScript
3 条回复
Yvette
2019-03-15 06:49:14 +08:00
「真的」「假的」好喜感啊哈哈哈哈

而且,把等号和括号空格得弄成全角的才行啊,引号得用直角的,console.log 的也得改成「控制台。日志」。不然还得切换输入法,效率不够高啊!()
xuanwu
2019-03-15 08:13:47 +08:00
@Yvette "为避免频繁切换中英文: 为了在输入中文的同时不用切换就可以输入特殊符号(){};等等, 搜狗输入法支持”中文时使用英文标点”
API 汉化是个大工程, 另一个项目正在实现.
Kaiv2
2019-03-15 08:38:00 +08:00
支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/544771

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX