Vai al contenuto

Analisi facoltative, registrazione delle sessioni e pubblicità rimangono disattivate a meno che non accetti. Puoi rifiutarle e utilizzare Transglot. Modifica la tua scelta in qualsiasi momento in Preferenze cookie. Informativa sui cookie

per i team che effettuano il merge ogni giorno

Localizzazione continua: ogni lingua, a ogni merge.

La localizzazione continua traduce le stringhe nuove e modificate man mano che il codice cambia, invece di farlo in una fase separata prima di ogni rilascio. Ogni lingua è sempre pronta per essere rilasciata insieme al codice che la richiede.

Una simulazione dei due modi di lavorare, non una misurazione. Premi Unisci una modifica e leggi la colonna a destra: è ciò che vedono gli utenti di quella lingua.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeautradotto
deGeschenkkarte hinzufügentradotto
jaギフトカードを追加tradotto
arأضف بطاقة هديةtradotto
pt-BRAdicionar vale-presentetradotto
Lingue pronte per il rilascio5 di 5
Stringhe in ritardo rispetto al ramo principalenessuno
la risposta breve

Che cos’è la localizzazione continua?

La localizzazione continua è un metodo di lavoro in cui le stringhe nuove e modificate vengono inviate alla traduzione automaticamente non appena cambiano e il testo tradotto ritorna nel prodotto senza che nessuno debba pianificarlo.

Non esiste una fase di traduzione, perché la traduzione non si ferma mai. Uno sviluppatore unisce una stringa, le traduzioni seguono lo stesso flusso del codice e un rilascio non dipende dai file di nessuno.

È la metà di localizzazione della continuous delivery. Un team che effettua il merge ogni giorno e affida la traduzione ogni poche settimane ha lingue in ritardo rispetto al codice per la maggior parte di ogni mese. La localizzazione continua riduce questo divario alla durata di una singola esecuzione.

Non significa che l’output automatico venga pubblicato senza revisione. Decidi quali stringhe richiedono l’intervento di una persona e un rilascio può includere solo ciò che è stato revisionato.

localizzazione continua vs tradizionale

La differenza sta nel momento in cui avviene la traduzione, non in chi la esegue.

Traduttori, revisori e glossari esistono in entrambe le colonne. Ciò che cambia è il momento in cui inizia il lavoro e la dimensione di ogni elemento.
Affiancato
Quando avviene la traduzione
In una fase precedente a ogni rilascio
Cosa lo avvia
Qualcuno esporta un file
La dimensione di ogni parte
Settimane di stringhe tutte insieme
Cosa attende un rilascio
Il ritorno del file
Una modifica tardiva della copia
Un altro viaggio di andata e ritorno
Su cosa lavora il traduttore
Un foglio di calcolo di stringhe
Lingue al lancio
Scaglionate, un’onda dopo l’altra
una stringa, dall’inizio alla fine

Come funziona la localizzazione continua

Segui una nuova stringa attraverso il ciclo. Ogni passaggio mostra ciò che vedresti realmente.

il tuo terminale o il log della 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
sorgenteAdd a {brand} gift card
frAjouter une carte cadeau {brand}Bozza Glossa
de{brand}-Geschenkkarte hinzufügendalla memoria, 0 parole
ja{brand} ギフトカードを追加Bozza Glossa
arأضف بطاقة هدية {brand}Bozza Glossa
i quattro controlli, una sola esecuzione
Segnaposto1 corretto
Forme pluralisuperato
Termini del glossariosuperato
Duratasuperato
ja · segnaposto perso, corretto una volta, ricontrollatoギフトカードを追加{brand} ギフトカードを追加
cart.save
sorgente modificataSave Save draft
frEnregistrerrevisionato da una persona: mantenuto, segnalato a teSuggerito: Enregistrer le brouillon
deEntwurf speichernriga automatica: tradotta di nuovo
pull requestaggiornato sul posto
Aggiorna traduzionitransglot/sync → mainaperta, una per repository
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
oppure, su una pull request su GitHub, commenta/translate

La modifica raggiunge Transglot tramite la CLI, l’azione GitHub o l’app sul tuo host Git. I file sorgente vengono analizzati in uno dei 20 formati nativi e ogni stringa viene confrontata con quanto già presente nel progetto. Procedono solo le stringhe nuove o modificate.

Una corrispondenza esatta dalla memoria di traduzione compila la riga e non costa parole. Ciò che resta va a Glossa con il tuo glossario, la tua guida di stile e il contesto di quella chiave.

I segnaposto, le forme plurali, i termini del glossario e la lunghezza vengono controllati su ogni riga di ogni esecuzione. Un segnaposto errato, una forma plurale mancante o un termine del glossario vietato viene corretto una volta e ricontrollato; se fallisce una seconda volta, viene rifiutato e non distribuito. Una riga che supera solo il limite di lunghezza viene scritta e, dal piano Team, l’approvazione automatica o un’esecuzione QA la segnala per la revisione.

Un’esecuzione non sovrascrive mai una riga modificata o rivista da una persona. Se la sorgente cambia in seguito, il testo rimane, l’esecuzione conta la riga e te lo segnala; dal piano Team, un aggiornamento suggerito resta in attesa accanto ad essa perché qualcuno lo accetti.

Le app Git eseguono il commit dei file di localizzazione su un branch di sincronizzazione e mantengono aggiornata una singola pull request. Su GitHub, commenta /translate su una pull request e i file verranno inseriti nel branch dedicato a quella pull request. Oppure pubblica sulla CDN: il prodotto in produzione leggerà la modifica senza necessità di alcun rilascio.

dove i team si bruciano

Sei modi in cui la localizzazione continua va storta e cosa impedisce ciascuno di essi

Un’esecuzione sovrascrive il lavoro di una persona

Ogni writer controlla prima lo stato della riga: un’esecuzione, una corrispondenza in memoria e un push. Una riga modificata o rivista da una persona viene mantenuta e l’esecuzione la segnala.

fr, revisionato, sorgente appena cambiata

mantenuto, contato, segnalato

Una stringa errata raggiunge la produzione

Ogni token inserito deve essere restituito. In un progetto ICU, un messaggio che genererebbe un errore in fase di rendering viene escluso dalla pull request, dal connettore e dal bundle CDN, e l'esecuzione lo segnala.

{count, plural, one {# article}

escluso dal file, segnalato nell'esecuzione

Il repository si riempie di pull request dei bot

Un branch di sincronizzazione e una pull request per repository. Due push rapidi convergono su di esso invece di aprirne un secondo.

#812 #815 #819 #823 aggiornamento l10n

#812 transglot/sync, aggiornato sul posto

Una modifica alla sorgente lascia indietro le vecchie traduzioni

Ogni riga di destinazione registra la sorgente rispetto alla quale è stata scritta, quindi una stringa modificata viene riconosciuta come obsoleta in tutte le lingue contemporaneamente e solo quella chiave viene elaborata nuovamente.

Salva è diventato Salva bozza. fr, de, ja dicono ancora Salva

fr, de, ja vengono elaborati nuovamente per quella singola chiave

Ogni esecuzione fattura nuovamente l'intero progetto

Un'esecuzione è dimensionata in base a ciò che è cambiato. Una stringa invariata non viene inviata, una corrispondenza esatta nella memoria non ha costo in parole e una riga di proprietà di una persona viene rifiutata prima di qualsiasi addebito.

il file contiene 48.000 parole

questa esecuzione: 60 parole

Una pull request incompleta cancella un file di localizzazione

Se il server non riporta voci per una locale, la pull request si rifiuta di sovrascrivere un file che ha contenuto ed esce con codice 1, fermando la pipeline.

pull: 0 voci per ja, il file ne contiene 1.204

rifiuto di sovrascrivere locales/ja.json con un bundle vuoto

  • run 4182 fr: segnaposto mancante nella bozza, riparato al nuovo tentativo
  • run 4182 de: 3 righe mantenute, sono di proprietà di una persona
  • run 4182 ja: 41 righe dalla memoria, 0 parole
  • run 4183 ar: forma plurale mancante dopo il nuovo tentativo, riga rifiutata
  • pull scritto locales/pt-BR.json
  • sync transglot/sync aggiornato, pull request #812
misurato rispetto ai due che stai confrontando

Tutti e tre si collegano al tuo repository. La differenza sta in ciò che accade quando esegui il merge.

Letto dalle pagine ufficiali di ciascuna azienda il 5 novembre 2026. La riga dei prezzi proviene dalle nostre pagine di confronto, linkate di seguito, che mostrano il piano e i calcoli. Prezzi e piani cambiano, quindi verificateli prima di decidere.

Transglot
Viene merged una nuova stringa
Tradotto per impostazione predefinita
L’invio avvia l’esecuzione. Un’impostazione del progetto la disattiva.
Una traduzione non supera un controllo
Riparato una volta, poi rifiutato
Per un segnaposto danneggiato, una forma plurale o un termine vietato, su ogni riga di ogni esecuzione. Viene registrato un superamento della lunghezza. In un progetto ICU, una riga danneggiata rimane esclusa dal pull, dai connettori e dalla CDN.
Una persona ha già modificato la riga
L’esecuzione si rifiuta di scriverla
Lo stesso vale per una corrispondenza nella memoria di traduzione e per un push. Se la sorgente cambia in seguito, l’esecuzione segnala la riga.
Pull request in un repository ad alta attività
Un branch, una pull request
Aggiornato sul posto a ogni push.
Cosa conteggia il piano
Parole tradotte, una volta per lingua
Le corrispondenze esatte nella memoria di traduzione non hanno costo. L’archiviazione di una stringa non ha costo.
Ciò che copre i costi dell'IA
Le parole del piano
Non viene fatturato separatamente.
Lo stesso lavoro: 5,000 stringhe in 10 lingue
$39 al mese
Team, traduzione inclusa
GitHub, GitLab, Bitbucket, Azure Repos, una CLI e un server MCP
Tutti
Le app Git sono disponibili dal piano Team e coprono le edizioni cloud.
usa ciò che già esegui

Avvialo da dove risiedono le tue stringhe. Ogni porta conduce alla stessa pipeline.

La stessa memoria, glossario, gate e revisione, indipendentemente dalla porta attraverso cui è passata una stringa.
.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 }}
cosa fare per primo

Come configurare la localizzazione continua

  1. Estrai le stringhe dal codice

    Ogni stringa visibile all’utente necessita di una chiave stabile in un file di localizzazione. Transglot legge 20 formati, quindi puoi mantenere quello che hai già.

  2. Collega il repository

    Il comando init individua i tuoi file di localizzazione, ti fa accedere tramite browser, carica ciò che hai già e avvia la prima traduzione.

  3. Eseguilo a ogni merge

    Aggiungi l’azione GitHub, richiama la CLI da qualsiasi altra CI o installa l’app per GitHub, GitLab, Bitbucket o Azure Repos.

  4. Decidi cosa richiede un intervento umano

    Imposta min_state su reviewed in una regola di pull request: quel file includerà solo stringhe revisionate da una persona. Se non lo imposti, le bozze verranno pubblicate.

fai i calcoli con i tuoi numeri

Quanto costa eseguirlo a ogni merge: le parole modificate.

Una parola è una parola nella lingua sorgente, conteggiata una volta per ogni lingua di destinazione. Un’esecuzione viene dimensionata in base alle modifiche: un merge che tocca dodici parole in cinque lingue ne conta sessanta, indipendentemente dalle dimensioni del progetto.

25
40
6
20,000
Parole al mese26,000su questi numeri · 25 merge a settimana, 40 parole ciascuno, 6 lingue

Rientra in Starter: $19/mo, 300,000 parole al mese.

Corrisponde a circa il 9% della quota.

Prima esecuzione, una tantum120,000Le tue stringhe esistenti in ogni lingua. Le traduzioni che importi non vengono tradotte di nuovo.

Questo conteggio riguarda solo la traduzione. I controlli di qualità, le bozze per il tono del brand e le correzioni contano anch’essi come parole, mentre le corrispondenze esatte dalla memoria non hanno costo. La CLI e l’azione GitHub iniziano dal piano Starter, mentre le app per GitHub, GitLab, Bitbucket e Azure Repos iniziano dal piano Team.

cosa non farà per te

Tre problemi che la localizzazione continua non risolve

Stringhe ancora incorporate nel codice

Una pipeline può tradurre solo ciò che riesce a leggere. Le stringhe hardcoded e le frasi costruite assemblando parti devono essere sistemate prima, e sono la causa più comune del blocco di un rollout.

Nessuno possiede le parole

L'automazione sposta le stringhe, ma non decide come il tuo prodotto chiama le cose. Qualcuno deve gestire il glossario, altrimenti una lingua che nessuno legge deriva senza che nessuno se ne accorga.

Testi che richiedono giudizio

I testi legali, i prezzi e gli slogan del brand meritano l'intervento di una persona. Inviali per la revisione e tienili fuori dai file di rilascio finché qualcuno non li approva.

FAQ sulla localizzazione continua

Le domande che i team si pongono prima di attivarla.

Cos'è la localizzazione continua?
Un modo di lavorare in cui le stringhe nuove o modificate vengono inviate alla traduzione automaticamente al momento del cambiamento e il testo tradotto ritorna nel prodotto senza un passaggio di consegne programmato. Sostituisce la fase di traduzione prima del rilascio con una piccola esecuzione dopo ogni modifica.
La localizzazione tradizionale raggruppa le stringhe in un file, lo invia vicino a un rilascio e attende. La localizzazione continua sposta ogni modifica man mano che avviene, così i pezzi sono piccoli, le lingue vengono lanciate insieme e una modifica tardiva dei testi costa una riesecuzione di una sola chiave anziché un altro round trip.
No. La CI/CD compila, testa e rilascia il codice. La localizzazione continua mantiene le traduzioni in movimento parallelamente. Si incontrano nella pipeline: il push che esegue i tuoi test può anche inviare le stringhe per la traduzione e riportare indietro i file.
No. Le app per GitHub, GitLab, Bitbucket e Azure Repos reagiscono a un push senza aggiungere nulla alla tua pipeline, e i connettori di contenuto reagiscono alle modifiche in un CMS o store. La CLI e l'Azione GitHub sono disponibili se vuoi integrarle nel tuo flusso di lavoro.
No. Le bozze possono essere pubblicate, oppure una regola di pull può includere solo ciò che una persona ha revisionato, file per file. I revisori lavorano nell'editor con i termini del glossario, le corrispondenze della memoria di traduzione e gli screenshot accanto a ogni riga.
No. Un'esecuzione, una corrispondenza della memoria e un push controllano prima la riga e una riga modificata o revisionata da una persona rimane intatta. Se la sua fonte cambia successivamente, il testo resta, l'esecuzione conta la riga e la segnala e, dal piano Team, viene allegato un suggerimento di aggiornamento affinché qualcuno lo accetti.
Tende a essere più importante per un piccolo team, perché nessuno ha il compito di gestire i passaggi di consegne. Se pubblichi in una lingua senza piani per una seconda, può aspettare.
Un'esecuzione viene dimensionata prima di iniziare. Il piano gratuito ha un limite rigido. Un piano a pagamento si ferma alla sua quota a meno che tu non attivi l'eccedenza a consumo, che si ferma a un limite di spesa impostato da te. Nella CI, la CLI esce con codice 3 quando un'esecuzione supererebbe il limite, così la pipeline può agire di conseguenza.
Sì, su GitLab.com, Bitbucket Cloud e Azure DevOps Services. Le app non coprono GitLab self-managed o Bitbucket Data Center, ma la CLI funziona in qualsiasi CI che abbia Node 22 e possa raggiungere l'API.
Sì. I connettori di contenuto leggono da un CMS, uno store o un centro assistenza e quelli bidirezionali scrivono nuovamente la lingua revisionata. Alcuni sono solo di importazione e la pagina di ciascun connettore specifica quali.
Sì. Pubblica una locale sulla CDN e il tuo prodotto la legge in runtime tramite gli SDK runtime. L'URL più recente viene memorizzato nella cache per sessanta secondi, ogni versione pubblicata mantiene il proprio URL e vengono conservate le ultime venti versioni.
Lo strumento di importazione trasferisce progetti, chiavi e traduzioni esistenti da Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor. Le traduzioni importate contano come lavoro umano, quindi nessuna esecuzione le sovrascrive. È gratuito su qualsiasi piano e viene eseguito una volta.