Indietro

Modifiche locali in gtx-cli@2.4.0

Fernando Aviles avatarFernando Aviles
gtx-clisave-localtranslate

Panoramica

In gtx-cli 2.4.0 abbiamo aggiunto un nuovo modo per salvare le modifiche locali alle traduzioni direttamente dalla CLI.
Questo significa che ora puoi modificare le traduzioni in locale, salvarle in modo permanente e mantenere tutto sincronizzato con il tuo progetto senza dover usare la dashboard.


Il comando save-local

Storicamente, l'unico modo per modificare le traduzioni era tramite l'editor nella dashboard. Funzionava, ma spesso interrompeva il flusso, soprattutto se eri nel mezzo dello sviluppo e volevi solo ritoccare una traduzione inline.

Il nuovo comando save-local ti consente di salvare le modifiche alle traduzioni locali nel tuo progetto General Translation. Rimani nel tuo workspace e le tue modifiche restano sincronizzate.

npx gtx-cli save-local

L'esecuzione di questo comando carica tutti i file di traduzione modificati, integra le modifiche locali nel progetto e garantisce che la successiva esecuzione di translate rifletta i tuoi interventi.


Translate (Ora con riconoscimento delle modifiche locali)

Finora, translate presumeva sempre che la versione remota di una traduzione fosse l'unica fonte di verità.

Se apportavi modifiche in locale ed eseguivi di nuovo translate, tali modifiche venivano sovrascritte. Ora non è più così.

Ora, quando esegui:

npx gtx-cli translate

la CLI controlla automaticamente le modifiche locali e le salva in background — proprio come fa save-local — prima di riscaricare le traduzioni. Questo garantisce che le tue versioni locali vengano preservate e che le nuove traduzioni mantengano sempre le tue modifiche.

Vedrai qualcosa di simile:

Avvio traduzione...

File da tradurre:
  - src/i18n/en/common.json
  - ...

  Aggiornamento traduzioni in corso...
  Traduzioni aggiornate

Cosa succede quando le sorgenti cambiano

Potresti chiederti: cosa succede se modifico il file sorgente dopo aver fatto modifiche di traduzione locali?
Nelle versioni precedenti, questo avrebbe attivato una ritraduzione completa che sovrascriveva le tue modifiche personalizzate.

Nella 2.4.0, la CLI è più intelligente. Anche quando un aggiornamento della sorgente provoca una ritraduzione, le tue precedenti modifiche locali vengono mantenute. Vengono incorporate automaticamente nella nuova traduzione.

Per esempio, immagina di avere una stringa sorgente:

"Sono con mia madre"

che è stato tradotto come:

"Sono con mia madre"

Apporti quindi una modifica locale per preferire mamá invece di madre:

"Sono con mia mamma"

Se in seguito modifichi il sorgente:

"NON sono con mia madre"

la ritraduzione continuerà comunque a rispettare la tua scelta di formulazione:

"NON sono con mia mamma"

La tua formulazione locale viene preservata finché il contesto rimane pertinente.

Se il significato della sorgente cambia completamente (per esempio, passando da mother a father), la CLI avvierà una nuova traduzione per quel nuovo contenuto.

Per i team che gestiscono le traduzioni direttamente nel codice, questo colma un fastidioso divario tra modifica locale e sincronizzazione del progetto. Non devi più scegliere tra lavorare in locale o fidarti del testo nella dashboard, perché entrambi rimangono allineati.


In sintesi

  • save-local ti consente di inviare le modifiche di traduzione locali dal tuo CLI.
  • translate ora conserva e unisce automaticamente le modifiche locali.
  • Una logica di ritraduzione intelligente mantiene le tue modifiche locali, a meno che il sorgente non cambi in modo sostanziale.