
I flere av applikasjonene våre ligger tekstene for hvert språk i egne
TypeScript-filer som nøkkel-verdi-par. Hver nøkkel peker til en melding eller
etikett i grensesnittet, mens verdien inneholder den oversatte teksten.
Engelsk kan for eksempel ligge i english.ts, og spansk i spanish.ts.
Kunden leverer nye oversettelser i et Excel-ark der hver rad inneholder:
Strukturen er enkel, men mengden kan bli stor. Å kopiere hver linje manuelt fra Excel til TypeScript tar tid og øker risikoen for feil, særlig når en nøkkel, oversettelse eller variabel mangler.
Vi laget et Python-skript som leser Excel-arket og oppdaterer TypeScript-filene automatisk. Skriptet finner riktig nøkkel, kontrollerer oversettelsen og erstatter teksten i riktig språkfil. Slik fungerer prosessen.
Hvert språk får et eget ark, for eksempel «Spanish». Arket har tre nødvendige kolonner:
common.greeting.
Vanligvis fyller kunden ut arket etter at vi har sendt over nøklene og de engelske referansetekstene. Her tar vi utgangspunkt i at arket er ferdig oversatt og klart til import.
Med pandas leser skriptet Excel-filen og filtrerer bort rader uten nøkkel eller
oversettelse. Dermed går bare gyldige data videre i prosessen.
Før importen kontrollerer skriptet tomme oversettelser og variabler som kan ha
blitt endret ved en feil. Deretter leser det TypeScript-filen linje for linje,
finner hver nøkkel og erstatter den gamle teksten med den nye oversettelsen.
Til slutt skrives resultatet tilbake til språkfilen, for eksempel spanish.ts.
Eventuelle TODO-markeringer fjernes når oppdateringen lykkes.
Vi bruker regulære uttrykk til å dele hver oppføring i tre deler: nøkkelen og tegnene frem til åpningstegnet, selve teksten og avslutningen av linjen. Da kan teksten byttes uten at formateringen rundt blir endret.
Skriptet gir en kort og tydelig status for hvert steg. Med colorama får de
ulike meldingstypene egne farger:

Fargene legges til ved å bruke Fore.COLOR_NAME i de aktuelle
utskriftsmeldingene. Loggen gjør det enkelt å finne og rette avvik før endringene
går til produksjon.
Når kunden leverer oppdaterte spanske oversettelser, kjører vi
import_translations.py med én kommando. Skriptet leser Excel-dataene,
kontrollerer oversettelsene og oppdaterer spanish.ts. Feil i variabler,
manglende tekster og nøkler uten treff blir markert, slik at vi raskt kan rydde
opp før publisering.
Automatiseringen sparer ikke bare tid. Den fjerner ensformig kopiering, gir bedre kontroll og lar oss bruke mer av tiden på selve produktet. Det er fortsatt litt tilfredsstillende å se en times manuelt arbeid bli gjort på ett sekund.
Hvis teamet ditt håndterer oversettelser uten et eget verktøy, kan en enkel importflyt som denne være et godt sted å starte. Målet er ikke et komplisert system, men en pålitelig prosess som gjør det lettere å levere riktig tekst på riktig sted.
La oss utforske mulighetene sammen
Kom i gang