Hoppa till innehållet

Flyttade varje sträng som användarna ser ut ur Python till ett innehållsträd med 874 filer på tre språk, efter att ha hittat döda översättningar som ingen kunde se var döda och en kontroll som i tysthet bedömde en tredjedel av resultaten.

874 innehållsfiler, och de döda översättningar de avslöjade

Situation. Varje sträng som användaren ser i generatorn — varje resultat, varje genomgång, varje avsnittsrubrik, varje sammanfattning, på tre språk — låg i Python‑källkoden. Det gör en ändrad mening till en kodändring, gör granskningen av en översättning till en diff mot källkoden och gör det omöjligt att med en blick avgöra om ett språk är komplett. Det döljer också det felläge som spelar roll: en översättning kan på samma gång finnas, vara fel och vara onåbar.

Uppgift. Strängarna måste flyttas ut ur koden till ett innehållsträd som går att räkna, jämföra mellan språk och kontrollera utan att köra renderaren.

Handling. Det blev 874 filer under en innehållskatalog, ordnade först efter typ och sedan efter språk: resultat, genomgångar, sammanfattningar, titlar, företag, regioner, kategorier, tjänster, profiler, referenser och fragment av personliga brev. Tabbseparerade filer där enheten är en rad med en identifierare, enskilda filer där enheten är ett stycke. Inläsaren läser dem vid byggtid och databasen sätts samman av dem, så trädet är källan och databasen härleds ur det. Två fynd kom direkt ur möjligheten att räkna. Vissa översatta strängar saknade numera engelsk motsvarighet — döda poster som ingenting renderade och som ingen kunde ha märkt så länge de låg inbäddade i koden, eftersom en ordboksnyckel som ingenting refererar till ser exakt likadan ut som en som används. Och en innehållskontroll som skulle bedöma varje resultat läste bara den delmängd den kunde slå upp, bedömde trettiosju av nittiotre och rapporterade framgång. När korpusen blev en katalog syntes båda som en avvikelse i antalet filer.

Resultat. Texterna går nu att redigera utan att röra koden och att jämföra mellan språk genom att räkna. Priset är att ett nytt språk nu läggs till i ett entydigt steg i stället för gradvis — trädet gör ett ofullständigt språk uppenbart, vilket är poängen, men det betyder också att halvfärdiga översättningar inte kan levereras i tysthet medan de färdigställs.

En del av en längre historik — och den finns i sin helhet här.

Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.

Se hela historiken