A implantação precisa de uma coisa além da sua configuração usual: UNIVERSALLY_API_KEY deve ser definida no ambiente onde a compilação é executada, não apenas onde o servidor é executado. A integração lê a chave quando sua configuração do Astro é executada e a compila no pacote do servidor. Ela nunca chega ao pacote do cliente.
Antes de começar
- O site funciona localmente. Veja Instalar a integração do Astro.
siteemastro.config.mjsé o seu domínio de produção, então os links hreflang apontam para ele.- Você tem a chave de API de 64 caracteres de Configurações de API. Veja Encontrar sua chave de API.
Defina a chave para seu host
Seu arquivo .env fica fora do repositório, então a máquina de compilação precisa da variável de outro lugar. .env.production e outros arquivos de modo não são lidos.
- Node: defina
UNIVERSALLY_API_KEYno shell, unidade systemd ou ambiente de contêiner que executa a compilação, então inicie o servidor que o adaptador produziu. - Cloudflare: defina-a como uma variável de ambiente de compilação nas configurações de compilação do Workers ou Pages. Onde o runtime expõe
waitUntil, a integração o utiliza, então relatórios e recarregamentos terminam após a resposta em vez de serem cortados. - Vercel: adicione-a nas variáveis de ambiente do projeto, para cada ambiente que você compila.
- Netlify: adicione-a nas variáveis de ambiente do site, disponíveis no momento da compilação.
Nunca coloque a chave em uma variável PUBLIC_, em um componente cliente ou em código commitado. Ela pode gastar as palavras do seu projeto.
Deploy
- Defina a variável como acima.
- Execute sua compilação e deploy usuais.
- Abra uma página sob um prefixo de destino, como
https://exemplo.com/fr/about. O servidor Node compilado carrega seu catálogo na primeira solicitação localizada, então essa solicitação é mais lenta.
Uma compilação estática exibe N novas strings traduzidas. Recompile para incluí-las. quando encontra novo texto. Compile e faça o deploy novamente para enviar essas traduções.
Torne o endpoint de push acessível
Para que as edições do painel apareçam imediatamente, https://{seu domínio}/_universally/revalidate deve aceitar requisições POST da internet. A integração responde antes do roteamento do Astro, então você não adiciona nenhuma página ou rota. Se o endpoint estiver atrás de um firewall ou login, a verificação ainda capta a edição dentro de revalidateSeconds. Veja Atualizações de tradução no Astro.
Sites estáticos não têm endpoint de push. Recompile e redeploy para publicar edições do painel.
Várias instâncias
Cada instância do servidor mantém seu próprio catálogo em memória. Um push atinge uma instância, e as outras se atualizam verificando periodicamente. Defina revalidateSeconds para um atraso que você aceita. Veja Opções de integração do Astro.
Após regenerar a chave
Regenerar em Configurações da API invalida a chave antiga imediatamente. Atualize UNIVERSALLY_API_KEY no seu host e reimplante, ou a próxima compilação falhará e o endpoint de push de um servidor em execução retornará 401.
Verificar se funcionou
- A página implantada em
/fr/mostra o texto traduzido após uma recarga. - O código-fonte da página tem um
<link rel="alternate" hreflang>por idioma, com seu domínio de produção. - Edite uma string na tela Traduções, depois recarregue a página. A edição aparece imediatamente se o push chegou até você, ou dentro de
revalidateSecondsse a pesquisa a captou.