L'integrazione Astro è un unico pacchetto, @universally-sdk/astro, che serve il tuo sito Astro in ogni lingua del tuo progetto Universally da un singolo albero di pagine. La tua lingua di origine rimane su /about e ogni lingua di destinazione viene servita sullo stesso host sotto il proprio prefisso, come /fr/about, senza percorsi aggiuntivi. L'integrazione è in Beta e richiede Astro 5 o versioni successive.
Come vengono servite le pagine tradotte
Quando crei un progetto Astro, la schermata Istruzioni per l'installazione chiede Come devono essere servite le pagine tradotte? e offre tre schede. Nulla è preselezionato e Continua rimane disabilitato finché non ne scegli una.
| Scheda | Esempio di URL | Cosa succede |
|---|---|---|
| SDK (Consigliato) | website.com/fr/ |
Il tuo server Astro esegue il rendering delle pagine tradotte. Installi un pacchetto. |
| JavaScript | sito.com |
Un tag di script traduce la pagina nel browser. Nessuna modifica DNS, ma nessuna visibilità per i motori di ricerca e solo pagine pubbliche. |
| Sottodominio | fr.sito.com |
Universally serve ogni lingua sul proprio sottodominio recuperando la tua pagina e traducendola. La tua app Astro esegue il rendering solo della lingua di origine. |
Il tuo sito continua a funzionare così com'è finché non completi l'installazione. Il resto di questa sezione copre le modalità SDK e Sottodominio.
Come funziona la modalità SDK
- Le lingue vengono lette una volta, quando viene eseguita la configurazione di Astro. L'integrazione chiede a Universally le lingue del progetto, salta quelle il cui interruttore Live è disattivato e utilizza il prefisso URL di ciascuna lingua come segmento del suo percorso.
- Le traduzioni risiedono nella memoria del tuo server. L'intero catalogo viene caricato all'avvio del server di sviluppo o di una build, quindi
t()è una ricerca sincrona senza chiamate di rete durante il rendering di una pagina. - Le nuove stringhe vengono segnalate dopo la risposta. Una stringa senza traduzione viene visualizzata nel tuo testo di origine e inviata a Universally una volta che il visitatore ha già la pagina. Un rendering successivo la servirà tradotta, di solito uno o due secondi dopo.
- Le modifiche della dashboard raggiungono il tuo server tramite una push al tuo sito, o tramite un controllo che viene eseguito al massimo una volta ogni 60 secondi per lingua per impostazione predefinita.
- La lingua di origine non costa nulla. Nelle pagine di origine
t()restituisce il suo argomento e non effettua ricerche, segnalazioni o chiamate API.
Le regole del glossario si applicano a ogni stringa e le modifiche apportate nella schermata Traduzioni raggiungono il tuo server. Regole di traduzione è nascosto per i progetti SDK, perché il tuo codice decide cosa viene trasmesso tramite t().
Limiti
- Nessun
t()lato client. Esiste solo sul server, inAstro.locals. Le isole ricevono il testo tradotto come props. - I siti statici vengono tradotti al momento della build. Le nuove stringhe e le modifiche della dashboard richiedono una nuova build.
- Le parole provengono dal totale prepagato del tuo progetto. Una volta esaurito, le stringhe già tradotte continuano a essere servite e quelle nuove rimangono nella lingua di origine. Vedi Limiti di utilizzo.
- La creazione di un progetto richiede il ruolo di Proprietario o Amministratore. Vedi Ruoli e autorizzazioni.