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

简介: 如何修改TypeScript使之支持繁簡中文語法

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

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

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

使用它做了個「中文輸進去,程式出得來,開發者發大財」的中文程式影片範例,歡迎大家開心試用。
无法粘贴,详见原文。
2019-03-14-LingaScript演示

如何做到的

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

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

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

因為看到 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 討論或提出想法。

2019-03-14

相关文章
|
JavaScript 前端开发 API
007 Umi 使用 TypeScript 提升开发者体验
007 Umi 使用 TypeScript 提升开发者体验
1160 0
007 Umi 使用 TypeScript 提升开发者体验
|
5月前
|
JavaScript 前端开发 编译器
探讨TypeScript如何帮助JavaScript开发者避免这些常见错误,从而提高代码质量和开发效率
【6月更文挑战第13天】TypeScript,JavaScript的超集,通过添加静态类型检查和面向对象特性,帮助开发者避免常见错误,提升代码质量和开发效率。它能检测类型错误,防止运行时类型转变引发的问题;使用可选链和空值合并避免引用错误;通过枚举减少逻辑错误中的魔法数字;接口和泛型等特性提高代码可维护性。学习TypeScript对提升JavaScript开发质量有显著效果。
62 4
|
5月前
|
前端开发 JavaScript 开发者
React和TypeScript各自以其独特的优势赢得了广大开发者的青睐
【6月更文挑战第12天】React和TypeScript是前端开发的强强联合。TypeScript提供静态类型检查和面向对象特性,增强代码健壮性和团队协作效率;React凭借组件化、高性能和丰富生态系统引领UI构建。两者结合,能精确定义React组件类型,提升代码组织和维护性,通过安装TypeScript、配置、编写及构建步骤,可在React项目中实现这一优势。这种结合为前端开发带来进步,未来应用将更加广泛。
55 1
|
6月前
|
JavaScript 前端开发 安全
【JavaScript与TypeScript技术专栏】TypeScript如何帮助JavaScript开发者避免常见错误
【4月更文挑战第30天】TypeScript,JavaScript的超集,通过静态类型检查和面向对象特性,帮助开发者避免类型错误、引用错误和逻辑错误,提升代码质量和可维护性。它引入类型注解、接口、可选链和空值合并,使代码更清晰、安全。对于大型项目,TypeScript的接口、类和泛型有助于代码结构化和模块化。学习TypeScript能提高JavaScript开发效率。
50 0
|
JavaScript IDE 前端开发
Java和TypeScript开发者之间的区别必须知道
Java和TypeScript开发者之间的区别必须知道
276 0
|
前端开发 JavaScript 架构师
2022 前端开发报告:TypeScript 成 84% Web 开发者的“最爱”|无障碍性、边缘渲染成大趋势
2022 前端开发报告:TypeScript 成 84% Web 开发者的“最爱”|无障碍性、边缘渲染成大趋势
272 0
2022 前端开发报告:TypeScript 成 84% Web 开发者的“最爱”|无障碍性、边缘渲染成大趋势
|
JavaScript 前端开发 编译器
开发者热议:微软新提议或将“彻底”改变 JavaScript 和 TypeScript!
开发者热议:微软新提议或将“彻底”改变 JavaScript 和 TypeScript!
163 0
开发者热议:微软新提议或将“彻底”改变 JavaScript 和 TypeScript!
|
Web App开发 JavaScript Java
​TypeScript 遭库开发者嫌弃;苹果秋季发布会时间确定;​​PyCharm 2022.2.1 发布| 思否周刊
​TypeScript 遭库开发者嫌弃;苹果秋季发布会时间确定;​​PyCharm 2022.2.1 发布| 思否周刊
173 0
|
JavaScript C++
5分钟入门LingaScript-尝鲜中文版TypeScript
基于TypeScript官方入门文档, 用中文版TypeScript LingaScript重写示例代码.
1021 0
|
1月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
45 0