Hopp til innhold

Flyttet alle brukerrettede strenger ut av Python og inn i et innholdstre på 874 filer på tre språk, etter å ha funnet døde oversettelser ingen kunne se var døde, og en kontroll som i det stille vurderte en tredjedel av resultatene.

874 innholdsfiler, og de døde oversettelsene de avslørte

Situasjon. Hver brukerrettet streng i generatoren — hvert resultat, hver prosjektgjennomgang, hver seksjonsoverskrift, hvert sammendrag, på tre språk — lå i Python‑kildekoden. Dermed blir redigering av en setning en kodeendring, gjennomgang av en oversettelse blir en diff mot kildekoden, og det blir umulig å se ved første øyekast om et språk er fullstendig. Det skjuler også den feiltypen som betyr noe: en oversettelse kan være til stede, feil og utilgjengelig på samme tid.

Oppgave. Strengene måtte flyttes ut av koden og inn i et innholdstre som kan telles, sammenlignes på tvers av språk og sjekkes uten å kjøre renderingen.

Handling. Det endte med 874 filer under en innholdskatalog, ordnet først etter type og så etter språk: resultater, prosjektgjennomganger, sammendrag, titler, selskaper, regioner, kategorier, tjenester, profiler, referanser og fragmenter av søknadsbrev. Tabulatorseparerte filer der enheten er en linje med en identifikator, enkeltfiler der enheten er et avsnitt. Lasteren leser dem ved bygging, og databasen settes sammen av dem, så treet er kilden og databasen er avledet. To funn kom direkte av at det gikk an å telle. Noen oversatte strenger hadde ikke lenger noe engelsk motstykke — døde oppføringer som ingenting viste frem, og som ingen kunne ha lagt merke til mens de lå innebygd i koden, fordi en ordboknøkkel ingen refererer til, ser nøyaktig ut som en det refereres til. Og en innholdssjekk som skulle vurdere hvert resultat, leste bare den delmengden den klarte å slå opp, vurderte trettisju av nittitre og meldte suksess. Da korpuset ble en katalog, ble begge disse synlige som et avvik i antall filer.

Resultat. Teksten kan nå redigeres uten å røre koden og sammenlignes på tvers av språk ved å telle. Prisen er at det å legge til et språk nå er entydig og ikke gradvis — treet gjør et ufullstendig språk åpenbart, og det er poenget, men det betyr også at delvise oversettelser ikke kan leveres i det stille mens de gjøres ferdige.

Ett stykke av en lengre oversikt — og den ligger i sin helhet her.

Hver oppføring er skrevet på samme måte: situasjonen, oppgaven, hva vi gjorde, og hva som endret seg.

Se hele oversikten