Naar inhoud springen

Optionele analytics, sessierecording en advertenties blijven uitgeschakeld totdat je ze accepteert. Je kunt ze weigeren en Transglot gewoon gebruiken. Wijzig je keuze op elk moment in Cookievoorkeuren. Cookiebeleid

voor teams die dagelijks mergen

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.

Een simulatie van de twee manieren van werken, geen meting. Druk op Merge a change en lees de kolom rechts: dit is wat gebruikers van die taal zien.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeauvertaald
deGeschenkkarte hinzufügenvertaald
jaギフトカードを追加vertaald
arأضف بطاقة هديةvertaald
pt-BRAdicionar vale-presentevertaald
Talen die je nu kunt uitbrengen5 van 5
Strings achter op maingeen
het korte antwoord

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.

continue versus traditionele lokalisatie

Het verschil is wanneer vertalen plaatsvindt, niet wie het doet.

Vertalers, reviewers en glossaria bestaan in beide kolommen. Wat verschuift, is het moment waarop het werk begint en de omvang van elk onderdeel.
Naast elkaar
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
één string, van begin tot eind

Hoe continue lokalisatie werkt

Volg één nieuwe string door de cyclus. Bij elke stap zie je wat er daadwerkelijk gebeurt.

je terminal, of je CI-logboek
+ "checkout.gift_card": "Add a {brand} gift card"
$ git push origin main
$ transglot push --wait
push locales/en.json (en, json_nested)
Batch: #4182
$ transglot pull
written locales/fr.json
written locales/ja.json
checkout.gift_card
bronAdd a {brand} gift card
frAjouter une carte cadeau {brand}Glossa-concept
de{brand}-Geschenkkarte hinzufügenuit geheugen, 0 woorden
ja{brand} ギフトカードを追加Glossa-concept
arأضف بطاقة هدية {brand}Glossa-concept
de vier poorten, één run
Tijdelijke aanduidingen1 gerepareerd
Meervoudsvormengeslaagd
Woordenlijsttermengeslaagd
Duurgeslaagd
ja · placeholder verloren, eenmaal gerepareerd, opnieuw gecontroleerdギフトカードを追加{brand} ギフトカードを追加
cart.save
bron gewijzigdSave Save draft
frEnregistrerbeoordeeld door een persoon: behouden, aan jou gerapporteerdVoorgesteld: Enregistrer le brouillon
deEntwurf speichernmachineregels: opnieuw vertaald
pull requestter plekke bijgewerkt
Vertalingen bijwerkentransglot/sync → mainopen, één per repository
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
of, bij een pull request op GitHub, plaats een commentaar/translate

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.

waar teams tegenaan lopen

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
gemeten ten opzichte van de twee die je vergelijkt

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.

Transglot
Een nieuwe string wordt samengevoegd
Standaard vertaald
De push start de run. Een projectinstelling schakelt dit uit.
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.
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.
Pullrequests in een drukke repository
Eén branch, één pullrequest
Wordt bij elke push ter plekke bijgewerkt.
Wat het abonnement telt
Vertaalde woorden, één keer per taal
Exacte geheugentreffers kosten niets. Het opslaan van een string kost niets.
Wat de AI betaalt
Woorden van het abonnement
Dit wordt niet apart gefactureerd.
Dezelfde taak: 5,000 strings in 10 talen
$39 per maand
Team, vertaling inbegrepen
GitHub, GitLab, Bitbucket, Azure Repos, een CLI en een MCP-server
Allemaal
De Git-apps beginnen bij Team en dekken de cloudversies.
gebruik wat je al draait

Start vanaf waar jouw strings zich bevinden. Elke ingang leidt naar dezelfde pipeline.

Hetzelfde geheugen, glossarium, checks en review, ongeacht via welke ingang een string binnenkomt.
.github/workflows/translations.yml
on:
push:
branches: [main]
jobs:
translations:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: transglot/transglot-action@v1
with:
token: ${{ secrets.TRANSGLOT_TOKEN }}
waar te beginnen

Continue lokalisatie instellen

  1. 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.

  2. 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.

  3. 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.

  4. 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.

bereken het zelf met je eigen cijfers

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.

25
40
6
20,000
Woorden per maand26,000op basis van deze cijfers · 25 merges per week, 40 woorden elk, 6 talen

Past binnen Starter: $19/mo, 300,000 woorden per maand.

Dat is ongeveer 9% van de limiet.

Eerste run, eenmalig120,000Je bestaande strings in elke taal. Geïmporteerde vertalingen worden niet opnieuw vertaald.

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.

wat het niet voor je doet

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?
Een werkwijze waarbij nieuwe en gewijzigde strings automatisch naar vertaling gaan zodra ze veranderen, en vertaalde tekst terugkeert naar het product zonder geplande overdracht. Het vervangt de vertaalfase vóór een release door een kleine run na elke wijziging.
Bij traditionele lokalisatie worden strings gebundeld in een bestand, kort voor een release verzonden en wordt er gewacht. Bij continue lokalisatie wordt elke wijziging direct verwerkt, zodat de onderdelen klein zijn, talen gelijktijdig worden gelanceerd en een late tekstwijziging slechts een herhaling van één sleutel kost in plaats van een nieuwe ronde.
Nee. CI/CD bouwt, test en levert code uit. Continue lokalisatie houdt vertalingen parallel daaraan in beweging. Ze komen samen in de pipeline: de push die je tests uitvoert, kan ook strings voor vertaling verzenden en de bestanden terugbrengen.
Nee. De apps voor GitHub, GitLab, Bitbucket en Azure Repos reageren op een push zonder dat er iets aan je pipeline hoeft te worden toegevoegd, en contentconnectors reageren op wijzigingen in een CMS of winkel. De CLI en de GitHub Action zijn beschikbaar als je het in je eigen workflow wilt integreren.
Nee. Concepten kunnen worden gepubliceerd, of een pull-regel kan alleen bevatten wat door een persoon is beoordeeld, bestand per bestand. Reviewers werken in de editor met glossariumtermen, geheugentreffers en screenshots naast elke rij.
Nee. Een run, een geheugentreffer en een push controleren eerst de rij, en een rij die door een persoon is bewerkt of beoordeeld, blijft behouden. Als de brontekst later verandert, blijft de vertaling staan, telt de run de rij mee en rapporteert deze, en vanaf het Team-plan wordt een voorgestelde update toegevoegd die iemand kan accepteren.
Het is vaak het meest waardevol voor een klein team, omdat niemand bezig is met het uitvoeren van overdrachten. Als je in één taal publiceert zonder plannen voor een tweede, kan het wachten.
De omvang van een run wordt bepaald voordat deze start. Free heeft een harde limiet. Een betaald plan stopt bij de toegewezen hoeveelheid, tenzij je metered overage inschakelt, wat stopt bij een door jou ingesteld uitgavenplafond. In CI sluit de CLI af met code 3 wanneer een run de limiet zou overschrijden, zodat de pipeline daarop kan reageren.
Ja, op GitLab.com, Bitbucket Cloud en Azure DevOps Services. De apps dekken niet self-managed GitLab of Bitbucket Data Center, maar de CLI draait in elke CI-omgeving met Node 22 die toegang heeft tot de API.
Ja. Contentconnectors lezen vanuit een CMS, een winkel of een helpcentrum, en de tweerichtingsconnectors schrijven de beoordeelde taal terug. Sommige zijn alleen voor import; op de pagina van elke connector staat welke.
Ja. Publiceer een locale naar de CDN en je product leest deze tijdens runtime via de runtime SDK's. De nieuwste URL wordt zestig seconden gecached, elke gepubliceerde versie behoudt zijn eigen URL en de laatste twintig versies worden bewaard.
De importeur brengt projecten, sleutels en bestaande vertalingen over van Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor. Geïmporteerde vertalingen gelden als menselijk werk, dus geen run overschrijft ze. Het is gratis op elk plan en wordt eenmalig uitgevoerd.