Vai al contenuto principale

Flusso di Lavoro dell'Applicazione

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Mentre la nostra guida all'Installazione può aiutarti a iniziare, questa guida ti offre una panoramica di come potrebbe apparire il tuo flusso di lavoro quotidiano per le traduzioni.

Esistono due tipologie di strumenti e servizi di traduzione:

  • Strumenti che funzionano localmente sul tuo computer, come il tuo IDE.

  • Servizi di traduzione cloud che richiedono il caricamento dei file di traduzione, necessitando di una pipeline con flusso di lavoro complesso.

Questa guida ti mostrerà come lavorare con entrambe le tipologie.

Flusso di lavoro semplice con strumento di traduzione locale

projectRoot
|-- src
| |-- App.js
|-- extracted
| |-- en.json
|-- lang
| |-- fr.json
| |-- de.json
|-- package.json
|-- .eslintrc.js

I file di traduzione estratti risiedono nella cartella extracted poiché possiedono una struttura interna diversa (ad esempio, includono informazioni aggiuntive come i commenti). I file di traduzione prodotti durante il processo vengono memorizzati nella cartella lang.

Il flusso operativo

Il flusso si articola come segue:

Pipeline

  1. Estrazione: Questo passaggio aggrega tutti i defaultMessage dell'applicazione in un singolo file JSON con le relative description, pronti per la traduzione.

  2. Modifica: Modifica le traduzioni e salva al termine.

  3. Le modifiche saranno immediatamente visibili nella tua build

Flusso di lavoro complesso con servizio di traduzione cloud

Struttura del progetto

Un progetto minimale compatibile con l'i18n può presentare questa struttura:

projectRoot
|-- src
| |-- App.js
|-- lang
| |-- en-US.json
| |-- fr.json
|-- package.json
|-- .eslintrc.js

dove la cartella lang ospita il file delle stringhe aggregate dell'applicazione. L'integrazione con fornitori di traduzione di terze parti può utilizzare il file en-US.json per generare fr.json o altri file di localizzazione.

Pipeline operativa

Una pipeline di traduzione generica si presenta così:

Pipeline

  1. Estrazione: Questo passaggio aggrega tutti i defaultMessage dell'applicazione in un singolo file JSON con le relative description, pronti per la traduzione.

  2. Caricamento messaggi: Carica il file JSON sul servizio di traduzione.

  3. Scarica traduzioni: Interroga periodicamente (poll) il servizio o si collega (hook) per scaricare le traduzioni nelle localizzazioni configurate.

  4. Commit: Inserisce le traduzioni nel codebase.

Ruolo di formatjs

L'obiettivo di questo progetto non è fornire una soluzione completa per la pipeline, ma migliorare la Developer Experience attraverso strumenti e best practice per rendere gli sviluppatori consapevoli dell'i18n. Ciò include:

  1. Dichiarazione di messaggi compatibili con l'i18n

  2. Linter per l'applicazione di tali messaggi

  3. CLI per estrazione e compilazione

  4. Polyfill per ambienti runtime i18n stabili

  5. Plugin per bundler per compilare TypeScript/JavaScript