Internazionalizzazione (i18n)
L'internazionalizzazione (i18n) è il processo di progettazione e ingegneria per garantire che un prodotto o sito web possa essere adattato a varie lingue e regioni senza richiedere modifiche al codice. Coinvolge l'astrazione delle stringhe di testo, l'abilitazione di formati di data variabili e il supporto Unicode per caratteri speciali.
Costruire le fondamenta per la localizzazione
Non è possibile tradurre un sito se il codice non lo supporta. L'internazionalizzazione (i18n) è il "lavoro preparatorio" — costruire lo scheletro della casa prima di dipingere le pareti. Il testo codificato in modo fisso come <p>Hello World</p> è impossibile da tradurre senza modificare il codice sorgente. Il codice internazionalizzato utilizza variabili: <p>{greeting_text}</p> che possono essere sostituite con qualsiasi lingua. Allo stesso modo, i database devono supportare la codifica UTF-8 per archiviare caratteri cinesi, i layout dell'interfaccia utente devono adattarsi per accogliere il testo tedesco (il 30% più lungo dell'inglese) e i sistemi di data devono gestire DD/MM/AAAA rispetto a MM/GG/AAAA. L'i18n viene eseguita una sola volta durante lo sviluppo; la localizzazione viene eseguita ripetutamente per ogni nuovo mercato.
Hardcoded vs. Internazionalizzato (i18n)
Impatto nel mondo reale
L'app SaaS ha il testo inglese codificato in modo fisso in oltre 500 componenti React
Il lancio della versione francese richiede la modifica di 500 file
6 mesi di sviluppo, 200.000$ di costo, alto rischio di bug
App creata con i18n fin dal primo giorno, tutto il testo nei file di lingua
Il lancio in francese richiede un nuovo file di traduzione fr.json
2 settimane, 15.000$ di costo, zero modifiche al codice