A integração Astro é um pacote, @universally-sdk/astro, que atende ao seu site Astro em todos os idiomas do seu projeto Universally a partir de uma única árvore de páginas. Seu idioma de origem permanece em /about, e cada idioma de destino é atendido no mesmo host sob seu próprio prefixo, como /fr/about, sem rotas extras. A integração está em Beta e requer Astro 5 ou mais recente.
Como as páginas traduzidas são atendidas
Ao criar um projeto Astro, a tela Instruções de Configuração pergunta Como as páginas traduzidas devem ser atendidas? e oferece três cartões. Nada é pré-selecionado, e Continuar permanece desabilitado até que você escolha um.
| Cartão | Exemplo de URL | O que acontece |
|---|---|---|
| SDK (Recomendado) | website.com/fr/ |
Seu servidor Astro renderiza páginas traduzidas. Você instala um pacote. |
| JavaScript | website.com |
Uma tag de script traduz a página no navegador. Nenhuma alteração de DNS, mas sem visibilidade para mecanismos de busca e apenas páginas públicas. |
| Subdomínio | fr.website.com |
Universally atende a cada idioma em seu próprio subdomínio, buscando sua página e traduzindo-a. Seu aplicativo Astro renderiza apenas o idioma de origem. |
Seu site continua funcionando como está até que você termine a configuração. O restante desta seção abrange os modos SDK e Subdomínio.
Como o modo SDK funciona
- Os idiomas são lidos uma vez, quando a configuração do seu Astro é executada. A integração solicita ao Universally os idiomas do projeto, pula aqueles cujo switch Ativo está desativado e usa o prefixo de URL de cada idioma como seu segmento de caminho.
- As traduções ficam na memória do seu servidor. Todo o catálogo é carregado quando o servidor de desenvolvimento ou uma compilação é iniciada, então
t()é uma consulta síncrona sem chamadas de rede enquanto uma página é renderizada. - Novas strings são reportadas após a resposta. Uma string sem tradução ainda é exibida em seu texto de origem e enviada ao Universally assim que o visitante já tem a página. Uma renderização posterior a exibirá traduzida, geralmente um ou dois segundos depois.
- Edições no painel chegam ao seu servidor por um push para o seu site, ou por uma verificação que é executada no máximo uma vez a cada 60 segundos por idioma, por padrão.
- O idioma de origem não custa nada. Em páginas de origem,
t()retorna seu argumento e não faz nenhuma consulta, relatório ou chamada de API.
As regras de glossário se aplicam a todas as strings, e as edições que você faz na tela Traduções chegam ao seu servidor. Regras de Tradução fica oculto para projetos SDK, porque seu código decide o que passa por t().
Limites
- Sem
t()no lado do cliente. Ele existe apenas no servidor, emAstro.locals. As ilhas recebem texto traduzido como props. - Sites estáticos traduzem no momento da compilação. Novas strings e edições no painel exigem uma recompilação.
- As palavras vêm do total pré-pago do seu projeto. Assim que ele for gasto, as strings que já foram traduzidas continuarão a ser exibidas e as novas permanecerão no idioma de origem. Veja Limites de uso.
- A criação de um projeto exige a função de Proprietário ou Administrador. Veja Funções e permissões.