Contatta l'assistenza

Rispondiamo per e-mail, di solito entro due giorni.

Per prevenire abusi, Google reCAPTCHA verifica questo invio; alcuni dati vengono trasmessi a Google. Lo script viene caricato solo quando apri questo modulo.

← Tutti gli articoli

Un blog che controlla le proprie traduzioni

Questo blog ha 64 articoli in undici lingue: 704 righe e circa 2,2 milioni di caratteri. Nessun articolo manca in nessuna lingua — un'affermazione che significa qualcosa solo se qualcosa la impone.

Qualcosa la impone. Prima che una riga tradotta venga scritta, viene confrontata con l'originale inglese, e una riga che non passa non viene scritta affatto — viene segnalata e lasciata a una persona.

1 — stesse destinazioni 2 — stessi segnaposto 3 — stesso conteggio per tag 4 — lunghezza tra 0,5x e 2,5x 5 — nessun segnaposto a metà scritta saltata e segnalata 704 righe, 64 articoli, undici lingue

A cosa serve ogni controllo

Le stesse destinazioni dei collegamenti. Un percorso interno non deve cambiare traducendo: /privacy resta /privacy in ogni lingua, e il prefisso di lingua viene aggiunto solo al momento della resa. Un traduttore — umano o no — che localizza premurosamente un percorso produce un collegamento che non porta da nessuna parte.

Gli stessi segnaposto. Alcuni articoli portano cifre sostituite quando la pagina viene costruita, così da non invecchiare. Una traduzione che ne perde uno perde una cifra; una che ne inventa uno produce una parentesi in mezzo a una frase.

Lo stesso conteggio per tag. Non solo tag bilanciati — lo stesso numero dell'inglese. Questo è il controllo che si guadagna il posto: una riga di tabella persa, un punto elenco inghiottito o un diagramma mancante sono invisibili a ogni altro test, perché il risultato resta HTML valido e si legge benissimo.

Una lunghezza dentro una fascia. Tra la metà e due volte e mezzo l'inglese. Le lingue differiscono davvero in lunghezza, quindi la fascia è ampia; ciò che prende è una traduzione che si è fermata a metà strada.

Cosa ha preso e cosa ha preso a torto

Una presa vera: una traduzione francese è arrivata con quattro parole evidenziate dove l'inglese ne aveva tre, perché una negazione era stata marcata in due pezzi. Niente sembrava sbagliato. Il conteggio sì.

Due falsi allarmi, lo stesso giorno, entrambi istruttivi.

Il primo: un articolo cita una riga di CSS, e il CSS finisce con }}. Il controllo delle parentesi contava ogni {{ e ogni }}, così ogni traduzione di quell'articolo cadeva mentre niente era rotto. Un }} senza un {{ non può essere un segnaposto spezzato — i segnaposto cominciano con {{ — quindi ora si conta solo il lato che apre.

Il secondo: <rect/> e <path/> non hanno tag di chiusura, quindi un test di bilanciamento li segnala come sbilanciati per sempre. Gli elementi vuoti ora vengono contati anziché bilanciati.

Entrambi sono costati un giro di lavoro, ed entrambi erano il controllo troppo severo anziché troppo lasco. È la direzione migliore in cui fallire, ma non è gratis: un controllo che grida al lupo viene allentato da chi ha fretta, e allora non c'è più quando conta.

La prova che contava di più

Quando gli articoli hanno ricevuto i diagrammi, il controllo dei tag è stato esteso per coprirli. Invece di fidarsi, il controllo è stato messo alla prova: un diagramma è stato cancellato di proposito da una traduzione e l'importatore è stato eseguito.

Ha segnalato esattamente ciò che mancava — il diagramma, le sue dieci etichette, i suoi quattro rettangoli, i suoi sette tracciati — e ha rifiutato di scrivere la riga. Il diagramma è stato ripristinato e il controllo è tornato a passare.

Ci sono voluti due minuti. Una verifica che non hai mai visto fallire è una verifica che stai dando per scontata, e dare per scontato è proprio ciò che tutto questo esiste per evitare.

Pubblicità