Skip to content

ChineseTypeScript ​

把汉语关键字做进 TypeScript 7(Go 版)的扫描器。

底本:microsoft/typescript-go | 许可:Apache-2.0 | 版本:0.1

typescript
如果 (x > 0) {
    常量 消息: 字符串 = "你好";
    console.log(消息);
}

上游源码只动了 7 个文件。


命令名 chtsc ​

取值
文件格式(后缀).ts(就是普通 TypeScript 后缀)
命令名chtsc

为什么后缀是普通的 .ts:用汉化版写的 .ts,从后缀上与原版完全无法区分; 但只有我们的编译器认识里面的汉语关键字。

同一份代码,在装了汉化版的人手里能编,在原版手里编不过 —— 代码能正常流出去,想读懂/改动它的人迟早需要汉化版。

代价(明确接受):const 变量 = 1; 会报 TS1389(变量 = var)。 英文关键字永远是逃生通道。


85 个关键字 ​

中文不是替换英文,是并列多出来的一种拼写。

中文英文中文英文
如果if类型class
否则else类型别名type
常量const接口interface
返回return异步async
导入import等待await

与 Chinese++ 同词:class 在两边都译作 「类型」,不是「类」。


判定体系:八项 + 打包 ​

判定覆盖
judge_chts(18 项)生成器幂等、守卫、英文逐字节一致
judge_proj(15 项)项目级与模块级
judge_oss5894 个真实 TS 文件,诊断与产物逐字节比对
judge_gotest上游 Go 测试全集
judge_tutorial9 个例子真编译真运行
judge_langservice(9 项)编辑器补全与建议
judge_zhdiag(7 项)诊断默认中文
judge_kwscope(6 项)关键字全局生效 + 保留字代价自证
judge_package(5 项)打包 → 中文路径解压 → 安装 → 破坏必被抓

以 MIT / Apache-2.0 等宽松许可发布 · 联系作者 QQ:1396257961