什么是 R-Machine
国际化只是一个更通用理念的第一个用例。
应用中的每一个资源(本地化文本、服务、响应式状态)都位于一个稳定的 namespace 之后,就像数据库中的一张表。使用方依赖于名称,而不依赖于值存放在哪里或如何构建。你可以更改 namespace 背后的实现,而无需改动使用方、测试或 mock:编译器会保证契约始终成立。这就是我们所说的 uniformity under change ——代码不断演进,边界始终稳定。
i18n 正是这一机制有效的证明:翻译只是 namespace 背后的另一种资源,从端到端完全 type-safe。让架构对你而言可预测的那个特性,同样让它对 coding agent 而言可读——依赖图是显式且具名的,而非隐式的。