国际化策略(i18n)¶
重要性:⭐⭐⭐(i18n 全景——RTL 支持 / Locale / 字符编码 / 多语言 prompt) 范围:
src/全部 i18n 相关 方法:grep locale / i18n / l10n / RTL 关键词
1. 4 大 i18n 维度¶
┌─────────────────────────────────────┐
│ 1. Locale(语言/地区) │
│ 2. 字符编码(UTF-8 / bytes) │
│ 3. 文本方向(LTR / RTL) │
│ 4. 多语言 prompt / system msg │
└─────────────────────────────────────┘
2. Locale 推断¶
2.1 getPlatform¶
OS 平台 —— 不含 locale。
2.2 LANG / LC_ALL 环境变量¶
Unix 风格 —— 终端 locale。
2.3 系统消息¶
i18n 库 —— 未知是否使用。
3. UTF-8 字符编码¶
3.1 bashParser 字节偏移¶
详见 topics/deep-dive-bash-parser.md。
type Lexer = {
byteLen: number
charIdx: number // 字符索引
byteIdx: number // 字节偏移
byteAt(L, charIdx) // 字符 → 字节
}
双索引 —— charIdx + byteIdx。
为什么用字节: - bash 工具输出(错误信息)用字节 - 与 tree-sitter 一致 - UTF-8 安全
3.2 bashParser 3449 黄金语料库¶
大量验证 —— UTF-8 安全。
4. RTL 支持¶
4.1 Yoga Edge 抽象¶
// yoga-layout/index.ts
const EDGE_LEFT = 0
const EDGE_TOP = 1
const EDGE_RIGHT = 2
const EDGE_BOTTOM = 3
function resolveEdge(...): Value { ... }
逻辑边(start/end)→ 物理边(left/right)。
RTL 支持 —— 阿拉伯语 / 希伯来语。
4.2 direction 属性¶
渲染方向 —— 自动镜像布局。
4.3 flexDirection¶
自动 reverse —— 适配 RTL。
5. 字符宽度¶
5.1 双宽字符¶
CJK 字符 —— 终端宽度 2。
5.2 emoji¶
emoji 宽度 —— 终端兼容。
5.3 ANSI escape¶
彩色文本 —— chalk 处理 ANSI。
6. 多语言支持¶
6.1 系统 prompt¶
英文 system prompt —— Claude 是英文。
6.2 错误信息¶
英文错误 —— 推测未本地化。
6.3 命令帮助¶
英文 help —— 推测未本地化。
6.4 UI 文本¶
英文 UI —— 推测未本地化。
结论:当前主要英文 —— 不确定是否有完整 i18n 框架。
7. prompt cache 跨语言¶
7.1 内容哈希¶
相同内容 → 相同路径 → 相同 prompt cache 命中。
跨语言 —— 内容哈希语言无关。
7.2 session ID¶
UUID —— 语言无关。
8. 输入 / 输出本地化¶
8.1 输入¶
任意 Unicode 输入 —— 接受。
8.2 输出¶
UTF-8 输出 —— 终端依赖。
8.3 文件路径¶
路径 —— 文件系统处理 UTF-8。
9. 时间 / 数字 格式¶
9.1 ISO 时间戳¶
ISO 8601 —— 语言无关。
9.2 数字格式¶
本地化数字 —— toLocaleString。
9.3 货币¶
美元 —— 商业产品以美元计价。
10. 假设 / 推测¶
⚠️ 注意:以下为推测 —— 没有完整 i18n 框架的明显证据。
| 项 | 状态 | 证据 |
|---|---|---|
| 完整 i18n 框架 | ❓ | 未发现 t() / i18n 库 |
| Locale 推断 | ⚠️ 弱 | 仅 OS 平台 |
| RTL | ✅ 有 | Yoga 抽象 |
| UTF-8 | ✅ 有 | bashParser 字节 |
| 多语言 UI | ❌ 推测无 | 英文 help / 错误 |
| 翻译文件 | ❓ | 未发现 locales/ |
结论:i18n 仅基础设施级(UTF-8 / RTL)—— UI 文本未本地化。
11. 改进方向¶
11.1 引入 i18n 框架¶
统一管理 —— 翻译文件。
11.2 Locale 推断¶
用户可控 —— 设置 preferred language。
11.3 错误信息翻译¶
错误码 + 翻译。
11.4 命令 help 翻译¶
help 翻译。
11.5 文档多语言¶
多语言文档。
12. 关键洞察¶
12.1 i18n 仅基础设施级¶
UTF-8 + RTL —— 文本未本地化。
12.2 Yoga Edge 抽象是亮点¶
支持 RTL —— 罕见细节。
12.3 bashParser 字节偏移¶
UTF-8 安全 —— 全局。
12.4 UUID / ISO 时间¶
语言无关 —— 安全。
12.5 内容哈希跨语言¶
prompt cache 不受语言影响。
12.6 推测无完整 i18n¶
未发现 翻译框架。
12.7 英文为主¶
商业产品以英文 —— 推测。
12.8 改进空间大¶
引入 i18n 框架可大幅提升。
13. 阅读建议¶
- 看
utils/bash/bashParser.ts—— UTF-8 字节 - 看
native-ts/yoga-layout/index.ts—— RTL - grep
t(/i18n/locale—— 是否有框架 - 看错误信息字符串 —— 是否英文
14. 与其他分析的关系¶
| 文件 | 关系 |
|---|---|
extensibility.md |
settings 含语言配置可能 |
security-audit.md |
错误信息脱敏跨语言 |
architecture-history.md |
国际化演进 |