Cinque lingue

L’interfaccia, la documentazione e le pagine di testo sono in inglese, tedesco, francese, spagnolo e italiano, con le frasi in un solo catalogo tipizzato e un passaggio di build che confronta ogni lingua con l’inglese: stesse chiavi, stesse lunghezze degli elenchi, niente di vuoto, gli stessi segnaposto. Alla prima esecuzione ha trovato 192 chiavi mancanti.

La lingua sta nell’indirizzo — /de/docs, /fr/csv-to-markdown — e l’inglese conserva i percorsi nudi, perché sessantotto pagine erano già indicizzate lì.

Il selettore nell’intestazione nomina ogni lingua nella lingua stessa — Deutsch, Français, Español, Italiano — perché quello è l’unico nome che chi la legge riconosce. Sceglierne una ti porta alla stessa pagina in quella lingua, e la scelta resta.

La lingua sta nell’indirizzo

/de/docs, /fr/csv-to-markdown, /es/markdown-to-html: un indirizzo per pagina e per lingua, che è ciò di cui un motore di ricerca ha bisogno per proporre quello giusto. L’inglese conserva di proposito i percorsi nudi. Sessantotto pagine erano già indicizzate lì, e spostare l’inglese sotto un prefisso proprio avrebbe barattato tutto quello che un motore sa di questo sito con uno schema più ordinato.

Un browser che chiede una lingua che qui nessuno ha scritto atterra sull’inglese, invece che su un reindirizzamento verso qualcosa che non sa leggere. Le date e i nomi dei mesi non si traducono affatto a mano: li compone Intl, ed è anche il motivo per cui qui l’inglese scrive «8 September 2026» e non l’ordine americano.

Un solo catalogo, controllato dalla build

Ogni frase che l’interfaccia pronuncia vive in un catalogo tipizzato, con l’inglese come fonte. Una chiave aggiunta in inglese e dimenticata in tedesco non compila, il che elimina il difetto di ogni tabella di stringhe controllata a mano.

I tipi però non vedono tutto. Un elenco di tre sezioni soddisfa lo stesso tipo di uno di cinque, quindi chi traducendo perdesse un paragrafo pubblicherebbe una pagina monca, in una lingua, in silenzio. Perciò un passaggio di build percorre ogni lingua contro l’inglese — stesse chiavi, stesse lunghezze degli elenchi, niente di vuoto, gli stessi segnaposto — e sta dentro la build, così una lingua che non combacia ferma un rilascio invece di arrivare a un lettore. Alla prima esecuzione ha trovato 192 chiavi mancanti.

Il blog è un’altra cosa

Un articolo è un file e non una stringa, e la sua traduzione è un altro file accanto: il blog si traduce quindi un pezzo alla volta. L’inglese, il tedesco e il francese hanno tutti e sessantatré. Dove una lingua non ha nulla, non elenca nulla, non collega nulla e non rivendica alcun hreflang: un titolo sopra un indice vuoto è peggio di un’assenza onesta.

Che cosa resta in inglese

I messaggi dell’API e quelli del connettore, perché un’API risponde in una lingua sola. La pagina di consenso a cui ti manda un assistente, e la versione che il server compone di un documento condiviso: entrambe sono preparate per un lettore di cui non sappiamo nulla, a un indirizzo senza lingua dentro, e sbagliare su una schermata di consenso è peggio dell’inglese. Anche le voci di questo registro delle modifiche sono in inglese: una pagina come questa viene scritta in un’altra lingua quando vale la pena averla.

Da leggere: a che cosa serve un convertitore da Markdown a HTML e come scegliere fra i convertitori di documenti online.