Localizare continuă: fiecare limbă, la fiecare merge.
Localizarea continuă traduce șirurile noi și modificate pe măsură ce codul se schimbă, în loc să o facă într-o fază separată înainte de fiecare lansare. Fiecare limbă rămâne gata de lansare împreună cu codul care a necesitat-o.
Ce este localizarea continuă?
Localizarea continuă este un mod de lucru în care șirurile noi și modificate sunt trimise automat la traducere imediat ce se schimbă, iar textul tradus revine în produs fără ca cineva să trebuiască să programeze acest lucru.
Nu există o fază de traducere, deoarece traducerea nu se oprește niciodată. Un dezvoltator integrează un șir, traducerile urmează în același flux ca și codul, iar o lansare nu așteaptă fișierul nimănui.
Este jumătatea de localizare a livrării continue. O echipă care face merge în fiecare zi și predă traducerea la câteva săptămâni are limbile în urma codului pentru majoritatea fiecărei luni. Localizarea continuă reduce această decalaj la durata unei singure execuții.
Nu înseamnă că ieșirea generată automat ajunge live fără a fi citită. Tu decizi care șiruri au nevoie de intervenția unei persoane, iar o lansare poate include doar ceea ce a fost revizuit.
Diferența constă în momentul în care are loc traducerea, nu în cine o realizează.
| Ce se schimbă | Predare în loturi | Continuu |
|---|---|---|
| Unul lângă altul | ||
| Când are loc traducerea | Într-o fază anterioară fiecărei lansări | Pe măsură ce fiecare șir de caractere se modifică |
| Ce declanșează procesul | Cineva exportă un fișier | Un push, un merge sau o modificare de conținut |
| Dimensiunea fiecărei porțiuni | Săptămâni întregi de șiruri de caractere simultan | Șirurile de caractere dintr-o singură modificare |
| De ce așteaptă o lansare | Ca fișierul să fie returnat | Recenzia, pentru șirurile de caractere pe care le-ai marcat |
| O modificare tardivă a textului | Încă o călătorie dus-întors | O reexecuție doar pentru acea cheie |
| Sursa de lucru a traducătorului | Un tabel cu șiruri de caractere | Rândul, împreună cu termenii din glosar, potrivirile din memorie și capturile de ecran |
| Limbi la lansare | Eșalonat, un val după altul | Simultan, odată cu funcționalitatea |
- Când are loc traducerea
- Într-o fază anterioară fiecărei lansări
- Ce declanșează procesul
- Cineva exportă un fișier
- Dimensiunea fiecărei porțiuni
- Săptămâni întregi de șiruri de caractere simultan
- De ce așteaptă o lansare
- Ca fișierul să fie returnat
- O modificare tardivă a textului
- Încă o călătorie dus-întors
- Sursa de lucru a traducătorului
- Un tabel cu șiruri de caractere
- Limbi la lansare
- Eșalonat, un val după altul
- Când are loc traducerea
- Pe măsură ce fiecare șir de caractere se modifică
- Ce declanșează procesul
- Un push, un merge sau o modificare de conținut
- Dimensiunea fiecărei porțiuni
- Șirurile de caractere dintr-o singură modificare
- De ce așteaptă o lansare
- Recenzia, pentru șirurile de caractere pe care le-ai marcat
- O modificare tardivă a textului
- O reexecuție doar pentru acea cheie
- Sursa de lucru a traducătorului
- Rândul, împreună cu termenii din glosar, potrivirile din memorie și capturile de ecran
- Limbi la lansare
- Simultan, odată cu funcționalitatea
Cum funcționează localizarea continuă
Urmărește un nou șir de caractere prin ciclu. Fiecare etapă arată ceea ce ai vedea efectiv.
Modificarea ajunge la Transglot prin CLI, GitHub Action sau aplicația de pe gazda ta Git. Fișierele sursă sunt analizate într-unul dintre cele 20 de formate native, iar fiecare șir de caractere este comparat cu ceea ce deține deja proiectul. Doar șirurile noi și modificate merg mai departe.
O potrivire exactă din memoria de traducere completează rândul și nu consumă cuvinte. Restul este trimis către Glossa împreună cu glosarul tău, ghidul de stil și contextul acelei chei.
Placeholder-urile, formele de plural, termenii din glosar și lungimea sunt verificate pentru fiecare rând din fiecare execuție. Un placeholder defect, o formă de plural lipsă sau un termen interzis din glosar sunt reparate o dată și verificate din nou; dacă eșuează a doua oară, sunt respinse, nu livrate. Un rând care depășește doar limita de lungime este scris, iar începând cu planul Team, aprobarea automată sau o rulare QA îl marchează pentru revizuire.
O execuție nu suprascrie niciodată un rând editat sau revizuit de o persoană. Dacă sursa se schimbă ulterior, textul rămâne, execuția numără rândul și te informează, iar începând cu planul Team, o actualizare sugerată așteaptă alături pentru ca cineva să o accepte.
Aplicațiile Git fac commit fișierelor de localizare pe o ramură de sincronizare și mențin un singur pull request actualizat. Pe GitHub, comentează /translate pe un pull request, iar fișierele ajung pe ramura acelui pull request. Sau publică pe CDN, iar produsul în funcțiune citește modificarea fără nicio lansare.
Șase moduri în care localizarea continuă poate eșua și ce oprește fiecare dintre ele
O execuție suprascrie munca unei persoane
Fiecare scriitor verifică mai întâi starea rândului: o execuție, o potrivire din memorie și un push. Un rând editat sau revizuit de o persoană rămâne intact, iar execuția îl raportează.
→fr, revizuit, sursa tocmai modificată
✓păstrat, numărat, raportat
Un șir defect ajunge în producție
Fiecare token introdus trebuie să fie returnat. Într-un proiect ICU, un mesaj care ar genera o eroare la randare este exclus din pull request, din conector și din pachetul CDN, iar execuția îl identifică explicit.
→{count, plural, one {# article}
✓exclus din fișier, identificat în execuție
Depozitul se umple cu pull request-uri automate
O singură ramură de sincronizare și un singur pull request per depozit. Două push-uri rapide converg către aceasta, în loc să deschidă un al doilea pull request.
→#812 #815 #819 #823 actualizare l10n
✓#812 transglot/sync, actualizat pe loc
O editare a sursei lasă în urmă traduceri vechi
Fiecare rând țintă înregistrează sursa pentru care a fost creat, astfel încât un șir modificat este identificat ca fiind expirat în toate limbile simultan, iar doar acea cheie este procesată din nou.
→Salvare a devenit Salvare draft. fr, de, ja afișează încă Salvează
✓fr, de, ja procesate din nou pentru acea cheie
Fiecare execuție facturează întregul proiect din nou
Dimensiunea unei execuții este determinată de ceea ce s-a schimbat. Un șir nemodificat nu este trimis, o potrivire exactă din memorie nu costă cuvinte, iar un rând deținut de o persoană este refuzat înainte de a se cheltui orice resurse.
→fișierul conține 48.000 de cuvinte
✓această execuție: 60 de cuvinte
Un pull request neterminat șterge fișierul de localizare
Dacă serverul raportează zero intrări pentru o localizare, procesul de pull refuză suprascrierea unui fișier care are conținut și se termină cu codul 1, oprind pipeline-ul.
→pull: 0 intrări pentru ja, fișierul conține 1.204
✓refuz suprascriere locales/ja.json cu un pachet gol
- run 4182 fr: placeholder lipsă din draft, reparat la reîncercare
- run 4182 de: 3 rânduri păstrate, deținute de o persoană
- run 4182 ja: 41 rânduri din memorie, 0 cuvinte
- run 4183 ar: formă de plural lipsă după reîncercare, rând refuzat
- pull scris locales/pt-BR.json
- sync transglot/sync actualizat, pull request #812
Toate trei se conectează la depozitul dumneavoastră. Ceea ce diferă este ceea ce se întâmplă la merge.
Citit de pe paginile proprii ale fiecărei companii la 5 noiembrie 2026. Rândul cu prețuri provine din paginile noastre de comparare, legate mai jos, care afișează planul și calculul matematic. Prețurile și planurile se schimbă, așa că verificați-le înainte de a decide.
| Ce se întâmplă | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Un șir nou este îmbinat | Tradus implicit Push-ul pornește execuția. O setare de proiect o dezactivează. | Tradus după ce îl configurați Automatizările sunt dezactivate implicit la crearea cheilor și la importul fișierelor. Un flux de lucru cu un pas AI rulează conform programului său. | Tradus după ce îl activați În Setări, Traducere automată, apoi rulează la fiecare încărcare. Sincronizarea Git rulează orar, implicit. |
| O traducere nu trece o verificare | Reparat o dată, apoi refuzat Pentru un placeholder stricat, o formă de plural sau un termen interzis, pe fiecare rând al fiecărei execuții. Se scrie o depășire a lungimii. Într-un proiect ICU, un rând stricat rămâne exclus din pull, conectori și CDN. | O verificare de nivel Eroare oprește salvarea în editor Fiecare verificare este setată pe Dezactivat, Avertisment sau Eroare. | O verificare de nivel Eroare oprește salvarea Fiecare verificare este setată pe Avertisment sau Eroare. |
| O persoană a editat deja rândul | Execuția refuză să îl scrie La fel fac și o potrivire din memorie și un push. Dacă sursa se schimbă ulterior, execuția raportează rândul. | Automatizările completează valorile goale implicit O opțiune de forțare și o acțiune de ștergere suprascriu cele completate. | Opțiunile păstrează rândurile umane și aprobate Există și o opțiune de înlocuire totală. |
| Pull requests într-un depozit aglomerat | O ramură, un pull request Actualizat pe loc la fiecare push. | O ramură nouă pentru fiecare pull request Denumită cu un timestamp. | O ramură de serviciu, sincronizată orar Orar este implicit, iar intervalul poate fi modificat. |
| Ce numără planul | Cuvinte traduse, o dată per limbă Potrivirile exacte din memorie sunt gratuite. Stocarea unui șir nu costă nimic. | Cuvinte procesate Limba de bază și cea țintă se numără ambele. | Cuvinte găzduite Cuvinte de tradus, înmulțite cu limbile țintă. |
| Ce plătește pentru AI | Cuvintele planului Nu este facturat separat. | Alocări de cuvinte AI pe plan Cuvintele Standard AI și Pro AI sunt linii separate ale planului. | Un sold separat sau propria cheie AI-ul gestionat de Crowdin se plătește din credite, în afara abonamentului. |
| Aceeași lucrare: 5,000 șiruri în 10 limbi | $39 pe lună Team, traducere inclusă | $1,049 pe lună Advanced (billed yearly) | $138 pe lună Pro with 560K hosted words (billed monthly), plus AI |
| GitHub, GitLab, Bitbucket, Azure Repos, un CLI și un server MCP | Toate Aplicațiile Git încep de la planul Team și acoperă edițiile cloud. | Toate Integrările sunt disponibile în fiecare plan. | Toate Acoperă și Bitbucket Server. |
- Un șir nou este îmbinat
- Tradus implicitPush-ul pornește execuția. O setare de proiect o dezactivează.
- O traducere nu trece o verificare
- Reparat o dată, apoi refuzatPentru un placeholder stricat, o formă de plural sau un termen interzis, pe fiecare rând al fiecărei execuții. Se scrie o depășire a lungimii. Într-un proiect ICU, un rând stricat rămâne exclus din pull, conectori și CDN.
- O persoană a editat deja rândul
- Execuția refuză să îl scrieLa fel fac și o potrivire din memorie și un push. Dacă sursa se schimbă ulterior, execuția raportează rândul.
- Pull requests într-un depozit aglomerat
- O ramură, un pull requestActualizat pe loc la fiecare push.
- Ce numără planul
- Cuvinte traduse, o dată per limbăPotrivirile exacte din memorie sunt gratuite. Stocarea unui șir nu costă nimic.
- Ce plătește pentru AI
- Cuvintele planuluiNu este facturat separat.
- Aceeași lucrare: 5,000 șiruri în 10 limbi
- $39 pe lunăTeam, traducere inclusă
- GitHub, GitLab, Bitbucket, Azure Repos, un CLI și un server MCP
- ToateAplicațiile Git încep de la planul Team și acoperă edițiile cloud.
- Un șir nou este îmbinat
- Tradus după ce îl configurațiAutomatizările sunt dezactivate implicit la crearea cheilor și la importul fișierelor. Un flux de lucru cu un pas AI rulează conform programului său.
- O traducere nu trece o verificare
- O verificare de nivel Eroare oprește salvarea în editorFiecare verificare este setată pe Dezactivat, Avertisment sau Eroare.
- O persoană a editat deja rândul
- Automatizările completează valorile goale implicitO opțiune de forțare și o acțiune de ștergere suprascriu cele completate.
- Pull requests într-un depozit aglomerat
- O ramură nouă pentru fiecare pull requestDenumită cu un timestamp.
- Ce numără planul
- Cuvinte procesateLimba de bază și cea țintă se numără ambele.
- Ce plătește pentru AI
- Alocări de cuvinte AI pe planCuvintele Standard AI și Pro AI sunt linii separate ale planului.
- Aceeași lucrare: 5,000 șiruri în 10 limbi
- $1,049 pe lunăAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, un CLI și un server MCP
- ToateIntegrările sunt disponibile în fiecare plan.
- Un șir nou este îmbinat
- Tradus după ce îl activațiÎn Setări, Traducere automată, apoi rulează la fiecare încărcare. Sincronizarea Git rulează orar, implicit.
- O traducere nu trece o verificare
- O verificare de nivel Eroare oprește salvareaFiecare verificare este setată pe Avertisment sau Eroare.
- O persoană a editat deja rândul
- Opțiunile păstrează rândurile umane și aprobateExistă și o opțiune de înlocuire totală.
- Pull requests într-un depozit aglomerat
- O ramură de serviciu, sincronizată orarOrar este implicit, iar intervalul poate fi modificat.
- Ce numără planul
- Cuvinte găzduiteCuvinte de tradus, înmulțite cu limbile țintă.
- Ce plătește pentru AI
- Un sold separat sau propria cheieAI-ul gestionat de Crowdin se plătește din credite, în afara abonamentului.
- Aceeași lucrare: 5,000 șiruri în 10 limbi
- $138 pe lunăPro with 560K hosted words (billed monthly), plus AI
- GitHub, GitLab, Bitbucket, Azure Repos, un CLI și un server MCP
- ToateAcoperă și Bitbucket Server.
Pornește-l de oriunde se află șirurile tale. Fiecare poartă duce la aceeași pipeline.
Cum să configurezi localizarea continuă
- 01
Extrage șirurile din cod
Fiecare șir vizibil pentru utilizator necesită o cheie stabilă într-un fișier de localizare. Transglot citește 20 de formate, așa că păstrează-l pe cel pe care îl ai deja.
jsonyamlxliffarb - 02
Conectează depozitul
Comanda init găsește fișierele tale de localizare, te autentifică prin browser, încarcă ceea ce ai deja și rulează prima traducere.
npx transglot@latest init - 03
Rulează la fiecare îmbinare
Adaugă GitHub Action, apelează CLI din orice alt CI sau instalează aplicația pentru GitHub, GitLab, Bitbucket sau Azure Repos.
transglot push --wait - 04
Decide ce necesită intervenție umană
Setează min_state la reviewed într-o regulă de pull request, iar acel fișier va include doar șirurile revizuite de o persoană. Lasă-l dezactivat și ciornele vor fi livrate.
min_state: reviewed
Costul rulării la fiecare îmbinare: cuvintele care s-au schimbat.
Un cuvânt este un cuvânt sursă, numărat o singură dată per limbă țintă. O execuție este dimensionată în funcție de modificări, astfel încât o îmbinare care atinge douăsprezece cuvinte în cinci limbi contează ca șasezeci, indiferent de mărimea proiectului.
Se încadrează în Starter: $19/mo, 300,000 cuvinte pe lună.
Asta reprezintă aproximativ 9% din alocație.
Aceasta numără doar traducerea. Verificările de calitate, ciornele pentru tonul brandului și reparațiile se numără, de asemenea, ca cuvinte, iar potrivirile exacte din memorie nu costă nimic. CLI și GitHub Action încep cu planul Starter, iar aplicațiile pentru GitHub, GitLab, Bitbucket și Azure Repos încep cu planul Team.
Trei aspecte pe care localizarea continuă nu le rezolvă
Șiruri de caractere încă blocate în cod
O pipeline poate traduce doar ceea ce poate citi. Șirurile hard-codate și propozițiile formate din părți lipite trebuie remediate mai întâi, iar acestea sunt motivul obișnuit pentru care o lansare se blochează.
Nimeni nu deține responsabilitatea pentru text
Automatizarea mută șirurile de caractere. Ea nu decide cum numește produsul tău lucrurile. Cineva trebuie să fie responsabil de glosar, altfel o limbă pe care nimeni nu o citește va deriva fără ca cineva să observe.
Text care necesită judecată umană
Textele legale, prețurile și mesajele de brand merită atenția unei persoane. Trimite-le la revizuire și ține-le departe de fișierele livrate până când cineva își dă acordul.
Întrebări frecvente despre localizarea continuă
Întrebările pe care echipele le pun înainte de a activa acest proces.
Ce este localizarea continuă?
Cum diferă localizarea continuă de localizarea tradițională?
Localizarea continuă este același lucru cu CI/CD?
Am nevoie de o pipeline CI/CD pentru localizarea continuă?
Localizarea continuă înseamnă absența revizuirii umane?
O execuție automată poate suprascrie editarea unui translator?
Merită localizarea continuă pentru o echipă mică?
Cum pot evita ca o execuție să coste mai mult decât mă aștept?
Funcționează cu GitLab, Bitbucket și Azure DevOps?
Pot face localizare continuă fără Git?
Se pot actualiza traducerile fără o lansare?
Cum mut un proiect existent?
41 conectori, deja construiți.
Conectează un depozit. Următorul merge face restul.
O singură comandă găsește fișierele tale de localizare, te autentifică prin browser și rulează prima traducere.