Salt la conținut

Analiticele opționale, înregistrarea sesiunilor și publicitatea rămân dezactivate dacă nu acceptați. Le puteți respinge și utiliza Transglot. Vă puteți schimba opțiunea oricând din Preferințe cookie-uri. Politica privind modulele cookie

pentru echipe care fac merge în fiecare zi

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.

O simulare a celor două moduri de lucru, nu o măsurătoare. Apasă „Merge a change” și citește coloana din dreapta: aceasta este ceea ce văd utilizatorii acelei limbi.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeautradus
deGeschenkkarte hinzufügentradus
jaギフトカードを追加tradus
arأضف بطاقة هديةtradus
pt-BRAdicionar vale-presentetradus
Limbi pe care le-ai putea lansa acum5 din 5
Șiruri în urma branch-ului mainniciunul
răspunsul scurt

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.

localizare continuă vs. tradițională

Diferența constă în momentul în care are loc traducerea, nu în cine o realizează.

Traducătorii, recenzorii și glosarele există în ambele coloane. Ceea ce se schimbă este momentul în care începe lucrul și dimensiunea fiecărei porțiuni.
Unul lângă altul
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
un șir de caractere, de la început până la sfârșit

Cum funcționează localizarea continuă

Urmărește un nou șir de caractere prin ciclu. Fiecare etapă arată ceea ce ai vedea efectiv.

terminalul tău sau jurnalul CI
+ "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
sursăAdd a {brand} gift card
frAjouter une carte cadeau {brand}Draft Glossa
de{brand}-Geschenkkarte hinzufügendin memorie, 0 cuvinte
ja{brand} ギフトカードを追加Draft Glossa
arأضف بطاقة هدية {brand}Draft Glossa
cele patru filtre, o execuție
Substituenți1 reparat
Forme de pluraltrece
Termeni din glosartrece
Duratătrece
ja · placeholder pierdut, reparat o dată, verificat din nouギフトカードを追加{brand} ギフトカードを追加
cart.save
sursa s-a schimbatSave Save draft
frEnregistrerrevizuit de o persoană: păstrat, raportat țieSugerat: Enregistrer le brouillon
deEntwurf speichernrând generat automat: tradus din nou
cerere de integrareactualizat pe loc
Actualizează traduceriletransglot/sync → maindeschis, unul per repository
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
sau, pe un pull request de pe GitHub, comentează/translate

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.

unde echipele întâmpină probleme

Ș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
măsurat față de cele două pe care le comparați

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.

Transglot
Un șir nou este îmbinat
Tradus implicit
Push-ul pornește execuția. O setare de proiect o dezactivează.
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 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.
Pull requests într-un depozit aglomerat
O ramură, un pull request
Actualizat 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 planului
Nu 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
Toate
Aplicațiile Git încep de la planul Team și acoperă edițiile cloud.
folosește ceea ce rulezi deja

Pornește-l de oriunde se află șirurile tale. Fiecare poartă duce la aceeași pipeline.

Aceeași memorie, glosar, porți și revizuire, indiferent pe unde a intrat un șir.
.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 }}
ce să faci mai întâi

Cum să configurezi localizarea continuă

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

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

  3. Rulează la fiecare îmbinare

    Adaugă GitHub Action, apelează CLI din orice alt CI sau instalează aplicația pentru GitHub, GitLab, Bitbucket sau Azure Repos.

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

calculează pe baza cifrelor tale

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.

25
40
6
20,000
Cuvinte pe lună26,000pe aceste cifre · 25 îmbinări pe săptămână, 40 cuvinte fiecare, 6 limbi

Se încadrează în Starter: $19/mo, 300,000 cuvinte pe lună.

Asta reprezintă aproximativ 9% din alocație.

Prima execuție, o singură dată120,000Șirurile existente în fiecare limbă. Traducerile pe care le imporți nu sunt traduse din nou.

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.

ceea ce nu va face pentru tine

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ă?
Un mod de lucru în care șirurile noi sau modificate sunt trimise automat la traducere pe măsură ce se schimbă, iar textul tradus revine în produs fără o predare programată. Înlocuiește faza de traducere dinaintea unei lansări cu un proces scurt după fiecare modificare.
Localizarea tradițională grupează șirurile într-un fișier, îl trimite spre exterior aproape de momentul lansării și așteaptă. Localizarea continuă procesează fiecare modificare pe măsură ce apare, astfel încât piesele sunt mici, limbile sunt lansate simultan, iar o modificare târzie a textului costă o reexecutare a unei singure chei, în loc de un alt ciclu complet.
Nu. CI/CD construiește, testează și lansează codul. Localizarea continuă menține traducerile în mișcare alături de acesta. Ele se întâlnesc în pipeline: push-ul care rulează testele tale poate trimite și șiruri pentru traducere și poate aduce fișierele înapoi.
Nu. Aplicațiile pentru GitHub, GitLab, Bitbucket și Azure Repos reacționează la un push fără a fi nevoie să adaugi nimic în pipeline-ul tău, iar conectorii de conținut reacționează la modificările dintr-un CMS sau magazin. CLI-ul și GitHub Action sunt disponibile dacă dorești integrarea în propriul flux de lucru.
Nu. Ciornele pot fi livrate, sau o regulă de pull poate include doar ceea ce a fost revizuit de o persoană, fișier cu fișier. Revizorii lucrează în editor, având termenii din glosar, potrivirile din memorie și capturile de ecran lângă fiecare rând.
Nu. O execuție, o potrivire din memorie și un push verifică mai întâi rândul, iar un rând editat sau revizuit de o persoană rămâne intact. Dacă sursa sa se schimbă ulterior, textul rămâne, execuția numără rândul și îl raportează, iar din planul Team este atașată o sugestie de actualizare pentru ca cineva să o accepte.
De obicei contează cel mai mult pentru o echipă mică, deoarece nimeni nu are ca sarcină gestionarea predărilor. Dacă lansezi într-o singură limbă fără un plan pentru o a doua, procesul poate aștepta.
A run is sized before it starts. Free is a hard cap. A paid plan stops at its allowance unless you turn on metered overage, which stops at a spend cap you set. In CI, the CLI exits with code 3 when a run would pass the limit, so the pipeline can act on it.
Da, pe GitLab.com, Bitbucket Cloud și Azure DevOps Services. Aplicațiile nu acoperă GitLab self-managed sau Bitbucket Data Center, dar CLI-ul rulează în orice CI care are Node 22 și poate accesa API-ul.
Da. Conectorii de conținut citesc dintr-un CMS, un magazin sau un centru de ajutor, iar cei bidirecționali scriu limba revizuită înapoi. Unii sunt doar pentru import, iar pagina fiecărui connector specifică acest lucru.
Da. Publică o localizare pe CDN, iar produsul tău o citește în timpul execuției prin SDK-urile de runtime. Cel mai recent URL este stocat în cache timp de șasezeci de secunde, fiecare versiune publicată își păstrează propriul URL, iar ultimele douăzeci de versiuni sunt menținute.
Instrumentul de import aduce proiecte, chei și traduceri existente din Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor. Traducerile importate sunt considerate muncă umană, astfel încât nicio execuție automată nu le va suprascrie. Este gratuit pentru orice plan și rulează o singură dată.