Kontinuerlig lokalisering: alle språk, ved hver merge.
Kontinuerlig lokalisering oversetter nye og endrede strenger etter hvert som koden endres, i stedet for i en egen fase før hver lansering. Alle språk er klare til lansering sammen med koden som trengte dem.
Hva er kontinuerlig lokalisering?
Kontinuerlig lokalisering er en arbeidsmåte der nye og endrede strenger sendes til oversettelse automatisk så snart de endres, og den oversatte teksten kommer tilbake til produktet uten at noen trenger å planlegge det.
Det finnes ingen oversettelsesfase, fordi oversettelsen aldri stopper. En utvikler merger en streng, oversettelsene følger i samme flyt som koden, og en lansering venter ikke på noens fil.
Det er lokaliseringsdelen av kontinuerlig leveranse. Et team som merger hver dag og overleverer oversettelser hver tredje uke, har språk som ligger etter koden mesteparten av måneden. Kontinuerlig lokalisering reduserer dette gapet til lengden på én kjøring.
Det betyr ikke at maskinoversatte tekster publiseres uten gjennomlesing. Du bestemmer hvilke strenger som trenger et menneske, og en lansering kan bare inneholde det som er gjennomgått.
Forskjellen er når oversettelsen skjer, ikke hvem som gjør det.
| Hva endres | Batch-overlevering | Kontinuerlig |
|---|---|---|
| Side ved side | ||
| Når oversettelsen skjer | I en fase før hver lansering | Etter hvert som strenger endres |
| Hva som utløser det | Noen eksporterer en fil | En push, en merge eller en innholdsendring |
| Størrelsen på hver del | Uker med strenger på én gang | Strengene i én endring |
| Hva en lansering venter på | At filen kommer tilbake | Gjennomgang, på strengene du har merket for det |
| En sen tekstendring | En ny runde frem og tilbake | En ny kjøring av den ene nøkkelen |
| Hva oversetteren arbeider ut fra | Et regneark med strenger | Radens, med dens ordlistetermer, treff fra minnet og skjermbilder |
| Språk ved lansering | Staggered, én bølge etter en annen | Sammen, med funksjonen |
- Når oversettelsen skjer
- I en fase før hver lansering
- Hva som utløser det
- Noen eksporterer en fil
- Størrelsen på hver del
- Uker med strenger på én gang
- Hva en lansering venter på
- At filen kommer tilbake
- En sen tekstendring
- En ny runde frem og tilbake
- Hva oversetteren arbeider ut fra
- Et regneark med strenger
- Språk ved lansering
- Staggered, én bølge etter en annen
- Når oversettelsen skjer
- Etter hvert som strenger endres
- Hva som utløser det
- En push, en merge eller en innholdsendring
- Størrelsen på hver del
- Strengene i én endring
- Hva en lansering venter på
- Gjennomgang, på strengene du har merket for det
- En sen tekstendring
- En ny kjøring av den ene nøkkelen
- Hva oversetteren arbeider ut fra
- Radens, med dens ordlistetermer, treff fra minnet og skjermbilder
- Språk ved lansering
- Sammen, med funksjonen
Slik fungerer kontinuerlig lokalisering
Følg én ny streng gjennom løkken. Hvert steg viser hva du faktisk ville se.
Endringen når Transglot via CLI, GitHub Action eller appen på Git-verten din. Kildefiler parses i ett av 20 native formater, og hver streng sammenlignes med det prosjektet allerede har. Bare nye og endrede strenger går videre.
En nøyaktig treff fra oversettelsesminnet fyller raden og koster ingen ord. Det som gjenstår, sendes til Glossa med din ordliste, stilguide og konteksten for den nøkkelen.
Plassholdere, flertallsformer, ordlistetermer og lengde kontrolleres på hver rad i hver kjøring. En ødelagt plassholder, en manglende flertallsform eller et forbudt ordlisteterm repareres én gang og sjekkes igjen, og hvis det feiler andre gang, avvises det og sendes ikke ut. En rad som bare overskrider lengden sin, skrives, og fra Team-planen auto-godkjennes eller en QA-kjøring flagger den for gjennomgang.
En kjøring overskriver aldri en rad en person har redigert eller gjennomgått. Hvis kilden endres senere, beholdes teksten, kjøringen teller raden og informerer deg, og fra Team-planen venter en foreslått oppdatering ved siden av den til noen aksepterer den.
Git-appene committer språkfilene til én synkroniseringsgren og holder én pull request oppdatert. På GitHub, kommenter /translate på en pull request, og filene havner på pull requestens egen gren. Eller publiser til CDN-en, og det kjørende produktet leser endringen uten noen lansering i det hele tatt.
Seks måter kontinuerlig lokalisering kan gå galt, og hva som stopper hver enkelt
En kjøring overskriver en persons arbeid
Hver skribent sjekker radens tilstand først: en kjøring, et minnetreff og en push. En rad en person har redigert eller gjennomgått beholdes, og kjøringen rapporterer den.
→fr, gjennomgått, kilde nettopp endret
✓beholdt, telt, rapportert
En ødelagt streng når produksjon
Hvert token som gikk inn må komme ut igjen. På et ICU-prosjekt holdes en melding som ville kastet feil ved gjengivelse utenfor pull-en, koblingen og CDN-bunten, og kjøringen navngir den.
→{count, plural, one {# article}
✓utelatt fra filen, navngitt i kjøringen
Repository-et fylles opp med bot-pull-forespørsler
Én synkroniseringsgren og én pull-forespørsel per repository. To raske pusher konvergerer mot den i stedet for å åpne en ny.
→#812 #815 #819 #823 l10n-oppdatering
✓#812 transglot/sync, oppdatert på plass
En kildeendring etterlater gamle oversettelser
Hver målrad registrerer kilden den ble skrevet mot, slik at en endret streng er kjent som utdatert i alle språk samtidig, og bare den nøkkelen kjøres på nytt.
→Lagre ble Lagre kladd. fr, de, ja sier fortsatt Lagre
✓fr, de, ja kjøres på nytt for den ene nøkkelen
Hver kjøring fakturerer hele prosjektet på nytt
En kjøring størrelsesbestemmes ut fra hva som har endret seg. En uendret streng sendes ikke, et nøyaktig minnetreff koster ingen ord, og en rad en person eier avslås før noe brukes.
→filen inneholder 48 000 ord
✓denne kjøringen: 60 ord
En halvferdig pull sletter en lokalisasjonsfil
Hvis serveren rapporterer ingen oppføringer for et språk, nekter pull-en å overskrive en fil som har innhold, og avslutter med kode 1 slik at pipeline-en stopper der.
→pull: 0 oppføringer for ja, filen inneholder 1 204
✓nekter å overskrive locales/ja.json med en tom bunt
- run 4182 fr: plassholder mangler i utkastet, reparert ved nytt forsøk
- run 4182 de: 3 rader beholdt, en person eier dem
- run 4182 ja: 41 rader fra minne, 0 ord
- run 4183 ar: flertallsform mangler etter nytt forsøk, rad avslått
- pull skrev locales/pt-BR.json
- sync transglot/sync oppdatert, pull-forespørsel #812
Alle tre kobles til repository-et ditt. Forskjellen ligger i hva som skjer når du fletter.
Les fra hvert selskaps egne sider per 5. november 2026. Prisraden kommer fra sammenligningssiden vår, lenket nedenfor, som viser planen og utregningen. Priser og planer endres, så sjekk dem før du bestemmer deg.
| Hva som skjer | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| En ny streng er flettet | Oversatt som standard Push-en starter kjøringen. En prosjektinnstilling slår den av. | Oversatt når du har satt det opp Automatiseringer er av som standard ved oppretting av nøkler og filimport. En arbeidsflyt med et AI-trinn kjører etter sin tidsplan. | Oversatt når du slår det på Under Innstillinger, Auto-oversettelse, kjører det deretter ved hver opplasting. Git-synkroniseringen kjører hver time som standard. |
| En oversettelse består ikke en kontroll | Reparert én gang, deretter avvist For en ødelagt plassholder, flertallsform eller forbudt term, på hver rad i hver kjøring. En lengdeoverskridelse blir skrevet. I et ICU-prosjekt holdes en ødelagt rad utenfor pull-en, koblingene og CDN-en. | En feilnivå-kontroll stopper lagring i editoren Hver kontroll er satt til Av, Advarsel eller Feil. | En feilnivå-kontroll stopper lagring Hver kontroll er satt til Advarsel eller Feil. |
| En person har allerede redigert raden | Kjøringen nekter å skrive den Det gjør også et minnetreff og en push. Hvis kilden endres senere, rapporterer kjøringen raden. | Automatiseringer fyller tomme verdier som standard Et tvangsalternativ og en tømmehandling skriver over utfylte verdier. | Alternativer beholder menneskelige og godkjente rader Et alternativ for å erstatte alt finnes også. |
| Pull-forespørsler i et travelt repository | Én gren, én pull-forespørsel Oppdatert på stedet ved hver push. | En ny gren for hver pull-forespørsel Navngitt med et tidsstempel. | En tjenestegren, synkronisert hver time Hver time er standard, og intervallet kan endres. |
| Hva abonnementet teller | Oversatte ord, én gang per språk Eksakte treff fra minnet koster ingenting. Lagring av en streng koster ingenting. | Behandlede ord Både kildespråket og målspråket telles. | Lagrede ord Ord som skal oversettes, ganget med antall målspråk. |
| Hva som betaler for AI-en | Abonnementets ord Det faktureres ikke separat. | AI-ordkvoter etter abonnement Standard AI- og Pro AI-ord er egne linjer i abonnementet. | En egen saldo eller din egen nøkkel Crowdins administrerte AI betales med kreditter, utenfor abonnementet. |
| Samme jobb: 5,000 strenger på 10 språk | $39 per måned Team, oversettelse inkludert | $1,049 per måned Advanced (billed yearly) | $138 per måned Pro with 560K hosted words (billed monthly), AI i tillegg |
| GitHub, GitLab, Bitbucket, Azure Repos, et CLI og en MCP-server | Alle sammen Git-appene starter på Team-abonnementet og dekker cloud-versjonene. | Alle sammen Integrasjoner finnes på alle abonnementer. | Alle sammen Det dekker også Bitbucket Server. |
- En ny streng er flettet
- Oversatt som standardPush-en starter kjøringen. En prosjektinnstilling slår den av.
- En oversettelse består ikke en kontroll
- Reparert én gang, deretter avvistFor en ødelagt plassholder, flertallsform eller forbudt term, på hver rad i hver kjøring. En lengdeoverskridelse blir skrevet. I et ICU-prosjekt holdes en ødelagt rad utenfor pull-en, koblingene og CDN-en.
- En person har allerede redigert raden
- Kjøringen nekter å skrive denDet gjør også et minnetreff og en push. Hvis kilden endres senere, rapporterer kjøringen raden.
- Pull-forespørsler i et travelt repository
- Én gren, én pull-forespørselOppdatert på stedet ved hver push.
- Hva abonnementet teller
- Oversatte ord, én gang per språkEksakte treff fra minnet koster ingenting. Lagring av en streng koster ingenting.
- Hva som betaler for AI-en
- Abonnementets ordDet faktureres ikke separat.
- Samme jobb: 5,000 strenger på 10 språk
- $39 per månedTeam, oversettelse inkludert
- GitHub, GitLab, Bitbucket, Azure Repos, et CLI og en MCP-server
- Alle sammenGit-appene starter på Team-abonnementet og dekker cloud-versjonene.
- En ny streng er flettet
- Oversatt når du har satt det oppAutomatiseringer er av som standard ved oppretting av nøkler og filimport. En arbeidsflyt med et AI-trinn kjører etter sin tidsplan.
- En oversettelse består ikke en kontroll
- En feilnivå-kontroll stopper lagring i editorenHver kontroll er satt til Av, Advarsel eller Feil.
- En person har allerede redigert raden
- Automatiseringer fyller tomme verdier som standardEt tvangsalternativ og en tømmehandling skriver over utfylte verdier.
- Pull-forespørsler i et travelt repository
- En ny gren for hver pull-forespørselNavngitt med et tidsstempel.
- Hva abonnementet teller
- Behandlede ordBåde kildespråket og målspråket telles.
- Hva som betaler for AI-en
- AI-ordkvoter etter abonnementStandard AI- og Pro AI-ord er egne linjer i abonnementet.
- Samme jobb: 5,000 strenger på 10 språk
- $1,049 per månedAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, et CLI og en MCP-server
- Alle sammenIntegrasjoner finnes på alle abonnementer.
- En ny streng er flettet
- Oversatt når du slår det påUnder Innstillinger, Auto-oversettelse, kjører det deretter ved hver opplasting. Git-synkroniseringen kjører hver time som standard.
- En oversettelse består ikke en kontroll
- En feilnivå-kontroll stopper lagringHver kontroll er satt til Advarsel eller Feil.
- En person har allerede redigert raden
- Alternativer beholder menneskelige og godkjente raderEt alternativ for å erstatte alt finnes også.
- Pull-forespørsler i et travelt repository
- En tjenestegren, synkronisert hver timeHver time er standard, og intervallet kan endres.
- Hva abonnementet teller
- Lagrede ordOrd som skal oversettes, ganget med antall målspråk.
- Hva som betaler for AI-en
- En egen saldo eller din egen nøkkelCrowdins administrerte AI betales med kreditter, utenfor abonnementet.
- Samme jobb: 5,000 strenger på 10 språk
- $138 per månedPro with 560K hosted words (billed monthly), AI i tillegg
- GitHub, GitLab, Bitbucket, Azure Repos, et CLI og en MCP-server
- Alle sammenDet dekker også Bitbucket Server.
Start der strengene dine befinner seg. Alle veier fører til samme pipeline.
Slik setter du opp kontinuerlig lokalisering
- 01
Hent strenger ut av koden
Alle brukerrettede strenger trenger en stabil nøkkel i en lokaliseringsfil. Transglot leser 20 formater, så behold det du har.
jsonyamlxliffarb - 02
Koble til repository
Init-kommandoen finner lokaliseringsfilene dine, logger deg på via nettleseren, laster opp det du allerede har og kjører den første oversettelsen.
npx transglot@latest init - 03
Kjør ved hver sammenslåing
Legg til GitHub Action, kall CLI fra hvilken som helst annen CI, eller installer appen for GitHub, GitLab, Bitbucket eller Azure Repos.
transglot push --wait - 04
Bestem hva som trenger menneskelig innsats
Angi min_state til reviewed i en pull-regel, og den filen vil bare inneholde strenger som er gjennomgått av en person. La den stå åpen, og utkast publiseres.
min_state: reviewed
Hva det koster å kjøre ved hver sammenslåing: ordene som ble endret.
Et ord er et kildeord, telt én gang per målspråk. En kjøring størrelsesbestemmes ut fra hva som ble endret, slik at en sammenslåing som berører tolv ord på fem språk teller som seksti, uansett hvor stort prosjektet er.
Passer inn på Starter: $19/mo, 300,000 ord i måneden.
Det er omtrent 9% av kvoten.
Dette gjelder kun oversettelse. Kvalitetssjekker, utkast til merkevaretoner og reparasjoner teller også som ord, mens eksakte treff fra minnet koster ingenting. CLI-en og GitHub Action starter på Starter-planen, og appene for GitHub, GitLab, Bitbucket og Azure Repos starter på Team-planen.
Tre ting kontinuerlig lokalisering ikke løser
Strenger som fortsatt er låst i koden
En pipeline kan bare oversette det den kan lese. Hardkodede strenger og setninger som er satt sammen av deler, må fikses først, og de er den vanligste årsaken til at utrullinger stopper opp.
Ingen som eier ordene
Automatisering flytter strenger. Den bestemmer ikke hva produktet ditt kaller ting. Noen må eie ordlisten, ellers vil et språk ingen leser, gli bort uten at noen merker det.
Tekst som krever dømmekraft
Juridisk tekst, prising og merkevareslaglinjer fortjener en person. Send dem til gjennomgang og hold dem ute av filene som leveres til noen har godkjent dem.
FAQ om kontinuerlig lokalisering
Spørsmålene team stiller før de slår det på.
Hva er kontinuerlig lokalisering?
Hvordan skiller kontinuerlig lokalisering seg fra tradisjonell lokalisering?
Er kontinuerlig lokalisering det samme som CI/CD?
Trenger jeg en CI/CD-pipeline for kontinuerlig lokalisering?
Betyr kontinuerlig lokalisering at det ikke er noen menneskelig gjennomgang?
Kan en automatisert kjøring overskrive en oversetters redigering?
Er kontinuerlig lokalisering verdt det for et lite team?
Hvordan stopper jeg en kjøring fra å koste mer enn forventet?
Fungerer det med GitLab, Bitbucket og Azure DevOps?
Kan jeg gjøre kontinuerlig lokalisering uten Git?
Kan oversettelser oppdateres uten en ny utgivelse?
Hvordan flytter jeg et eksisterende prosjekt over?
41 koblinger, allerede bygget.
Koble til et kodelager. Neste fletting ordner resten.
Én kommando finner språkfilene dine, logger deg på via nettleseren og starter den første oversettelsen.