Continue lokalisatie: elke taal, bij elke merge.
Bij continue lokalisatie worden nieuwe en gewijzigde strings vertaald terwijl je code wijzigt, in plaats van in een aparte fase voor elke release. Elke taal is klaar om te worden uitgebracht samen met de code waarvoor deze nodig was.
Wat is continue lokalisatie?
Continue lokalisatie is een werkwijze waarbij nieuwe en gewijzigde strings automatisch naar vertaling gaan zodra ze veranderen, en de vertaalde tekst terugkomt in het product zonder dat iemand dit hoeft in te plannen.
Er is geen vertaalfase, omdat vertalen nooit stopt. Een ontwikkelaar merged een string, de vertalingen volgen in dezelfde flow als de code, en een release wacht niet op iemands bestand.
Het is de lokalisatiekant van continuous delivery. Een team dat dagelijks merged en vertalingen elke paar weken overdraagt, heeft talen die achterlopen op de code gedurende het grootste deel van elke maand. Continue lokalisatie verkleint die kloof tot de duur van één run.
Het betekent niet dat machineoutput live gaat zonder controle. Jij bepaalt welke strings door een persoon moeten worden gecontroleerd, en een release kan alleen bevatten wat is beoordeeld.
Het verschil is wanneer vertalen plaatsvindt, niet wie het doet.
| Wat verandert | Batchoverdracht | Doorlopend |
|---|---|---|
| Naast elkaar | ||
| Wanneer vertaling plaatsvindt | In een fase voor elke release | Telkens wanneer een string wijzigt |
| Wat het proces start | Iemand exporteert een bestand | Een push, merge of inhoudswijziging |
| De omvang van elk onderdeel | Weken aan strings tegelijk | De strings in één wijziging |
| Waar een release op wacht | Het terugkerende bestand | Review, voor de strings die je daarvoor hebt gemarkeerd |
| Een late tekstwijziging | Nog een roundtrip | Een herverwerking van die ene sleutel |
| Waarmee de vertaler werkt | Een spreadsheet met strings | De rij, met bijbehorende glossariumtermen, geheugentreffers en screenshots |
| Talen bij lancering | Gefaseerd, de ene golf na de andere | Samen met de feature |
- Wanneer vertaling plaatsvindt
- In een fase voor elke release
- Wat het proces start
- Iemand exporteert een bestand
- De omvang van elk onderdeel
- Weken aan strings tegelijk
- Waar een release op wacht
- Het terugkerende bestand
- Een late tekstwijziging
- Nog een roundtrip
- Waarmee de vertaler werkt
- Een spreadsheet met strings
- Talen bij lancering
- Gefaseerd, de ene golf na de andere
- Wanneer vertaling plaatsvindt
- Telkens wanneer een string wijzigt
- Wat het proces start
- Een push, merge of inhoudswijziging
- De omvang van elk onderdeel
- De strings in één wijziging
- Waar een release op wacht
- Review, voor de strings die je daarvoor hebt gemarkeerd
- Een late tekstwijziging
- Een herverwerking van die ene sleutel
- Waarmee de vertaler werkt
- De rij, met bijbehorende glossariumtermen, geheugentreffers en screenshots
- Talen bij lancering
- Samen met de feature
Hoe continue lokalisatie werkt
Volg één nieuwe string door de cyclus. Bij elke stap zie je wat er daadwerkelijk gebeurt.
De wijziging bereikt Transglot via de CLI, de GitHub Action of de app op je Git-host. Bronbestanden worden geparseerd in een van de 20 native formaten, en elke string wordt vergeleken met wat het project al heeft. Alleen nieuwe en gewijzigde strings gaan verder.
Een exacte match uit het vertaalgeheugen vult de rij en kost geen woorden. Wat overblijft, gaat naar Glossa met je glossarium, je stijlgids en de context van die sleutel.
Placeholders, meervoudsvormen, glossariumtermen en lengte worden bij elke rij van elke run gecontroleerd. Een foutieve placeholder, een ontbrekende meervoudsvorm of een verboden glossariumterm wordt eenmaal gerepareerd en opnieuw gecontroleerd; faalt het een tweede keer, dan wordt het geweigerd en niet verzonden. Een rij die alleen de maximale lengte overschrijdt, wordt wel geschreven, en vanaf het Team-plan markeert auto-approve of een QA-run deze voor review.
Een run overschrijft nooit een regel die door iemand is bewerkt of beoordeeld. Als de brontekst later verandert, blijft de vertaling staan, telt de run de regel mee en informeert hij je hierover. Vanaf het Team-plan staat er een voorgestelde update naast, klaar om door iemand te worden geaccepteerd.
De Git-apps committen taalbestanden naar één synchronisatiebranch en houden één pull request up-to-date. Op GitHub kun je /translate commentaren plaatsen op een pull request, waarna de bestanden terechtkomen op de eigen branch van die pull request. Of publiceer naar de CDN, zodat het live product de wijziging leest zonder dat er een nieuwe release nodig is.
Zes manieren waarop continue lokalisatie misgaat, en hoe je elk probleem voorkomt
Een run overschrijft het werk van een persoon
Elke schrijver controleert eerst de status van de regel: een run, een match uit het geheugen en een push. Een regel die door iemand is bewerkt of beoordeeld, blijft staan en de run rapporteert dit.
→fr, beoordeeld, bron zojuist gewijzigd
✓behouden, meegeteld, gerapporteerd
Een defecte string bereikt de productieomgeving
Elk token dat erin gaat, moet er ook weer uitkomen. Bij een ICU-project wordt een bericht dat tijdens het renderen een fout zou veroorzaken, weggelaten uit de pull, de connector en de CDN-bundle, en de run identificeert deze.
→{count, plural, one {# article}
✓niet opgenomen in het bestand, genoemd in de run
De repository loopt vol met pull-requests van bots
Eén sync-branch en één pull-request per repository. Twee snelle pushes komen hier samen in plaats van een tweede te openen.
→#812 #815 #819 #823 l10n-update
✓#812 transglot/sync, ter plekke bijgewerkt
Een bronwijziging laat oude vertalingen achter
Elke doelrij registreert de bron waartegen deze is geschreven, zodat een gewijzigde string in elke taal direct als verouderd wordt herkend, en alleen die sleutel opnieuw wordt uitgevoerd.
→Opslaan werd Concept opslaan. fr, de, ja zeggen nog steeds Opslaan
✓fr, de, ja worden opnieuw uitgevoerd voor die ene sleutel
Elke run factureert het hele project opnieuw
Een run wordt bepaald door wat er is veranderd. Een onveranderde string wordt niet verzonden, een exacte geheugentreffer kost geen woorden en een rij die door een persoon is geclaimd, wordt geweigerd voordat er kosten worden gemaakt.
→bestand bevat 48.000 woorden
✓deze run: 60 woorden
Een halfvoltooide pull wist een locale-bestand
Als de server geen items voor een locale rapporteert, weigert de pull om een bestand met inhoud te overschrijven en stopt met exit-code 1, zodat de pipeline daar stopt.
→pull: 0 items voor ja, bestand bevat 1.204
✓weigeren om locales/ja.json te overschrijven met een leeg bundle
- run 4182 fr: placeholder ontbreekt in het concept, gerepareerd bij nieuwe poging
- run 4182 de: 3 rijen behouden, een persoon claimt ze
- run 4182 ja: 41 rijen uit geheugen, 0 woorden
- run 4183 ar: meervoudsvorm ontbreekt na nieuwe poging, rij geweigerd
- pull geschreven locales/pt-BR.json
- sync transglot/sync bijgewerkt, pull-request #812
Alle drie maken verbinding met je repository. Het verschil zit in wat er gebeurt wanneer je samenvoegt.
Gelezen van de eigen pagina's van elk bedrijf op 5 november 2026. De prijsrij komt van onze vergelijkingspagina's, hieronder gelinkt, die het plan en de berekening tonen. Prijzen en plannen wijzigen, dus controleer ze voordat je beslist.
| Wat er gebeurt | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Een nieuwe string wordt samengevoegd | Standaard vertaald De push start de run. Een projectinstelling schakelt dit uit. | Vertaald zodra u het hebt ingesteld Automatiseringen staan standaard uit bij het aanmaken van sleutels en het importeren van bestanden. Een workflow met een AI-stap wordt uitgevoerd volgens zijn schema. | Vertaald zodra u het inschakelt Onder Instellingen, Auto-vertalen, wordt het vervolgens bij elke upload uitgevoerd. De Git-synchronisatie draait standaard elk uur. |
| Een vertaling slaagt niet voor een controle | Eén keer gerepareerd, daarna geweigerd Voor een beschadigde placeholder, meervoudsvorm of verboden term, op elke rij van elke uitvoering. Een lengteoverschrijding wordt geregistreerd. Bij een ICU-project blijft een defecte rij buiten de pull, de connectors en het CDN. | Een controle op foutniveau blokkeert het opslaan in de editor Elke controle is ingesteld op Uit, Waarschuwing of Fout. | Een controle op foutniveau blokkeert het opslaan Elke controle is ingesteld op Waarschuwing of Fout. |
| Iemand heeft de rij al bewerkt | De uitvoering weigert deze te schrijven Dit geldt ook voor een geheugentreffer en een push. Als de bron later wijzigt, rapporteert de uitvoering de rij. | Automatiseringen vullen standaard lege waarden in Een forceeroptie en een wisactie overschrijven ingevulde waarden. | Opties behouden door mensen bewerkte en goedgekeurde rijen Er bestaat ook een optie om alles te vervangen. |
| Pullrequests in een drukke repository | Eén branch, één pullrequest Wordt bij elke push ter plekke bijgewerkt. | Een nieuwe branch voor elke pullrequest Genoemd met een tijdstempel. | Een servicebranch, elk uur gesynchroniseerd Elk uur is de standaardinstelling en het interval kan worden gewijzigd. |
| Wat het abonnement telt | Vertaalde woorden, één keer per taal Exacte geheugentreffers kosten niets. Het opslaan van een string kost niets. | Verwerkte woorden Zowel de basistaal als de doeltaal worden geteld. | Gehoste woorden Te vertalen woorden, vermenigvuldigd met het aantal doeltalen. |
| Wat de AI betaalt | Woorden van het abonnement Dit wordt niet apart gefactureerd. | AI-woordlimieten per abonnement Standaard AI- en Pro AI-woorden zijn aparte lijnen binnen het abonnement. | Een apart saldo of uw eigen sleutel Crowdins beheerde AI wordt betaald via credits, buiten het abonnement om. |
| Dezelfde taak: 5,000 strings in 10 talen | $39 per maand Team, vertaling inbegrepen | $1,049 per maand Advanced (billed yearly) | $138 per maand Pro with 560K hosted words (billed monthly), plus AI |
| GitHub, GitLab, Bitbucket, Azure Repos, een CLI en een MCP-server | Allemaal De Git-apps beginnen bij Team en dekken de cloudversies. | Allemaal Integraties zijn beschikbaar in elk abonnement. | Allemaal Het dekt ook Bitbucket Server. |
- Een nieuwe string wordt samengevoegd
- Standaard vertaaldDe push start de run. Een projectinstelling schakelt dit uit.
- Een vertaling slaagt niet voor een controle
- Eén keer gerepareerd, daarna geweigerdVoor een beschadigde placeholder, meervoudsvorm of verboden term, op elke rij van elke uitvoering. Een lengteoverschrijding wordt geregistreerd. Bij een ICU-project blijft een defecte rij buiten de pull, de connectors en het CDN.
- Iemand heeft de rij al bewerkt
- De uitvoering weigert deze te schrijvenDit geldt ook voor een geheugentreffer en een push. Als de bron later wijzigt, rapporteert de uitvoering de rij.
- Pullrequests in een drukke repository
- Eén branch, één pullrequestWordt bij elke push ter plekke bijgewerkt.
- Wat het abonnement telt
- Vertaalde woorden, één keer per taalExacte geheugentreffers kosten niets. Het opslaan van een string kost niets.
- Wat de AI betaalt
- Woorden van het abonnementDit wordt niet apart gefactureerd.
- Dezelfde taak: 5,000 strings in 10 talen
- $39 per maandTeam, vertaling inbegrepen
- GitHub, GitLab, Bitbucket, Azure Repos, een CLI en een MCP-server
- AllemaalDe Git-apps beginnen bij Team en dekken de cloudversies.
- Een nieuwe string wordt samengevoegd
- Vertaald zodra u het hebt ingesteldAutomatiseringen staan standaard uit bij het aanmaken van sleutels en het importeren van bestanden. Een workflow met een AI-stap wordt uitgevoerd volgens zijn schema.
- Een vertaling slaagt niet voor een controle
- Een controle op foutniveau blokkeert het opslaan in de editorElke controle is ingesteld op Uit, Waarschuwing of Fout.
- Iemand heeft de rij al bewerkt
- Automatiseringen vullen standaard lege waarden inEen forceeroptie en een wisactie overschrijven ingevulde waarden.
- Pullrequests in een drukke repository
- Een nieuwe branch voor elke pullrequestGenoemd met een tijdstempel.
- Wat het abonnement telt
- Verwerkte woordenZowel de basistaal als de doeltaal worden geteld.
- Wat de AI betaalt
- AI-woordlimieten per abonnementStandaard AI- en Pro AI-woorden zijn aparte lijnen binnen het abonnement.
- Dezelfde taak: 5,000 strings in 10 talen
- $1,049 per maandAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, een CLI en een MCP-server
- AllemaalIntegraties zijn beschikbaar in elk abonnement.
- Een nieuwe string wordt samengevoegd
- Vertaald zodra u het inschakeltOnder Instellingen, Auto-vertalen, wordt het vervolgens bij elke upload uitgevoerd. De Git-synchronisatie draait standaard elk uur.
- Een vertaling slaagt niet voor een controle
- Een controle op foutniveau blokkeert het opslaanElke controle is ingesteld op Waarschuwing of Fout.
- Iemand heeft de rij al bewerkt
- Opties behouden door mensen bewerkte en goedgekeurde rijenEr bestaat ook een optie om alles te vervangen.
- Pullrequests in een drukke repository
- Een servicebranch, elk uur gesynchroniseerdElk uur is de standaardinstelling en het interval kan worden gewijzigd.
- Wat het abonnement telt
- Gehoste woordenTe vertalen woorden, vermenigvuldigd met het aantal doeltalen.
- Wat de AI betaalt
- Een apart saldo of uw eigen sleutelCrowdins beheerde AI wordt betaald via credits, buiten het abonnement om.
- Dezelfde taak: 5,000 strings in 10 talen
- $138 per maandPro with 560K hosted words (billed monthly), plus AI
- GitHub, GitLab, Bitbucket, Azure Repos, een CLI en een MCP-server
- AllemaalHet dekt ook Bitbucket Server.
Start vanaf waar jouw strings zich bevinden. Elke ingang leidt naar dezelfde pipeline.
Continue lokalisatie instellen
- 01
Strings uit de code halen
Elke voor de gebruiker zichtbare string heeft een stabiele sleutel in een taalbestand nodig. Transglot leest 20 formaten, dus gebruik het formaat dat je al hebt.
jsonyamlxliffarb - 02
Verbind de repository
De init-opdracht vindt je taalbestanden, logt je in via de browser, uploadt wat je al hebt en voert de eerste vertaling uit.
npx transglot@latest init - 03
Uitvoeren bij elke merge
Voeg de GitHub Action toe, roep de CLI aan vanuit een andere CI, of installeer de app voor GitHub, GitLab, Bitbucket of Azure Repos.
transglot push --wait - 04
Bepaal wat menselijke controle vereist
Stel min_state in op 'reviewed' in een pull-regel en dat bestand bevat alleen strings die door een persoon zijn gecontroleerd. Laat het uitgeschakeld en concepten worden gepubliceerd.
min_state: reviewed
Wat kost het om bij elke merge uit te voeren: de woorden die zijn gewijzigd.
Een woord is een bronwoord, eenmaal geteld per doeltaal. Een run wordt bepaald door wat er is veranderd, dus een merge die twaalf woorden in vijf talen raakt, telt als zestig, ongeacht de grootte van het project.
Past binnen Starter: $19/mo, 300,000 woorden per maand.
Dat is ongeveer 9% van de limiet.
Dit telt alleen vertaling. Kwaliteitscontroles, concepten voor brand voice en reparaties tellen ook als woorden, en exacte matches uit het geheugen kosten niets. De CLI en de GitHub Action starten op Starter, en de apps voor GitHub, GitLab, Bitbucket en Azure Repos starten op Team.
Drie dingen die continue lokalisatie niet oplost
Strings blijven vastzitten in code
Een pipeline kan alleen vertalen wat hij kan lezen. Hardcoded strings en zinnen die uit delen zijn samengesteld, moeten eerst worden aangepast; dit is de gebruikelijke reden waarom een rollout vastloopt.
Niemand die eigenaar is van de tekst
Automatisering verplaatst strings. Het beslist niet hoe je product dingen noemt. Iemand moet eigenaar zijn van de glossary, anders vervreemdt een taal die niemand leest zonder dat iemand het merkt.
Tekst die beoordeling vereist
Juridische tekst, prijsinformatie en merkuitingen verdienen menselijke aandacht. Stuur ze ter review en houd ze buiten de bestanden die worden uitgeleverd totdat iemand akkoord gaat.
FAQ over continue lokalisatie
De vragen die teams stellen voordat ze het inschakelen.
Wat is continue lokalisatie?
Hoe verschilt continue lokalisatie van traditionele lokalisatie?
Is continue lokalisatie hetzelfde als CI/CD?
Heb ik een CI/CD-pipeline nodig voor continue lokalisatie?
Betekent continue lokalisatie dat er geen menselijke review is?
Kan een geautomatiseerde run een bewerking van een vertaler overschrijven?
Is continue lokalisatie de moeite waard voor een klein team?
Hoe voorkom ik dat een run meer kost dan verwacht?
Werkt het met GitLab, Bitbucket en Azure DevOps?
Kan ik continue lokalisatie doen zonder Git?
Kunnen vertalingen worden bijgewerkt zonder een release?
Hoe verplaats ik een bestaand project?
41 connectors, al gebouwd.
Koppel een repository. De volgende merge doet de rest.
Met één opdracht worden je lokale bestanden gevonden, meld je je aan via de browser en wordt de eerste vertaling uitgevoerd.