Cos'è R-Machine
L'internazionalizzazione è solo il primo caso d'uso di un'idea più generale.
Ogni risorsa della tua applicazione — testi localizzati, servizi, stato reattivo — vive dietro un namespace stabile, come una tabella in un database. Chi la consuma dipende dal nome, non da dove vive il valore né da come è fatto. Puoi cambiare l'implementazione dietro un namespace senza toccare i consumer, i test o i mock: il compilatore garantisce che il contratto regga. È quello che chiamiamo uniformity under change — il codice evolve, i confini restano stabili.
L'i18n è la dimostrazione che il meccanismo funziona: le traduzioni sono solo un altro tipo di risorsa dietro un namespace, completamente type-safe end-to-end. La stessa proprietà che rende l'architettura prevedibile per te la rende leggibile per un coding agent — il grafo delle dipendenze è esplicito e nominato, non implicito.