Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Histórico de versões
- "Atualizar o uso da API useIntlayer do Solid para acesso direto a propriedades"v8.9.004/05/2026
- "Adicionar comando init"v7.5.930/12/2025
- "Histórico inicial"v7.1.1020/11/2025
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsSe você tiver uma ideia para melhorar esta documentação, sinta-se à vontade para contribuir enviando uma pull request no GitHub.
Link do GitHub para a documentaçãoCopiar o Markdown do documento para a área de transferência
Traduza seu site SvelteKit usando Intlayer | Internacionalização (i18n)
Índice
Por que Intlayer em vez de alternativas?
Comparado com soluções principais como svelte-i18n ou i18next, Intlayer é uma solução que vem com otimizações integradas como:
O Intlayer é otimizado para funcionar perfeitamente com o SvelteKit, oferecendo roteamento multilíngue, suporte SSR e todos os recursos necessários para dimensionar a internacionalização (i18n).
Em vez de carregar arquivos JSON enormes em suas páginas, carregue apenas o conteúdo necessário. O Intlayer ajuda a reduzir o tamanho do bundle e das páginas em até 50%.
Definir o escopo do conteúdo do seu aplicativo facilita a manutenção de aplicativos de grande escala. Você pode duplicar ou excluir uma única pasta de recursos sem o fardo mental de revisar toda a base de código de seu conteúdo. Além disso, o Intlayer é totalmente tipado (fully typed) para garantir a precisão do seu conteúdo.
A co-localização de conteúdo reduz o contexto necessário pelos Large Language Models (LLMs). O Intlayer também vem com um conjunto de ferramentas, como uma CLI para testar traduções ausentes,LSP, MCP, e habilidades do agente, para tornar a experiência do desenvolvedor (DX) ainda mais tranquila para os agentes de IA.
Use a automação para traduzir seu pipeline de CI/CD usando o LLM de sua escolha às custas de seu provedor de IA. O Intlayer também oferece um compilador para automatizar a extração de conteúdo, bem como uma plataforma web para ajudar a traduzir em segundo plano.
Conectar arquivos JSON enormes a componentes pode levar a problemas de desempenho e reatividade. O Intlayer otimiza o carregamento do seu conteúdo no momento da construção.
Mais do que apenas uma solução i18n, o Intlayer fornece um [editor visual] auto-hospedado(/pt/doc/concept/editor) e um CMS completo para ajudá-lo a gerenciar seu conteúdo multilíngue em tempo real, facilitando a colaboração com tradutores, redatores e outros membros da equipe. O conteúdo pode ser armazenado local e/ou remotamente.
Guia Passo a Passo para Configurar o Intlayer em uma Aplicação SvelteKit
Para começar, crie um novo projeto SvelteKit. Aqui está a estrutura final que iremos criar:
Copiar o código para a área de transferência
Instalar Dependências
Instale os pacotes necessários usando npm:
bashCopiar códigoCopiar o código para a área de transferência
- intlayer: O pacote principal de i18n.
- svelte-intlayer: Fornece context providers e stores para Svelte/SvelteKit.
- vite-intlayer: O plugin do Vite para integrar as declarações de conteúdo com o processo de build.
Configuração do seu projeto
Crie um arquivo de configuração na raiz do seu projeto:
intlayer.config.tsCopiar códigoCopiar o código para a área de transferência
Integre o Intlayer na sua Configuração do Vite
Atualize seu
vite.config.tspara incluir o plugin Intlayer. Este plugin gerencia a transpiração dos seus arquivos de conteúdo.vite.config.tsCopiar códigoCopiar o código para a área de transferência
Declare Seu Conteúdo
Crie seus arquivos de declaração de conteúdo em qualquer lugar dentro da sua pasta
src(por exemplo,src/lib/contentou junto aos seus componentes). Esses arquivos definem o conteúdo traduzível para sua aplicação usando a funçãot()para cada locale.Utilize o Intlayer em Seus Componentes
Utilize o Intlayer em Seus Componentes
Agora você pode usar a função
useIntlayerem qualquer componente Svelte. Ela retorna uma store reativa que atualiza automaticamente quando o locale muda. A função respeitará automaticamente o locale atual (tanto durante SSR quanto na navegação do lado do cliente).Nota:
useIntlayerretorna uma store do Svelte, então você precisa usar o prefixo `--- createdAt: 2025-11-20 updatedAt: 2026-05-31 title: Como traduzir sua aplicação SvelteKit – guia i18n 2026 description: Descubra como tornar seu site SvelteKit multilíngue. Siga a documentação para internacionalizar (i18n) e traduzir usando Server-Side Rendering (SSR). keywords:- Internacionalização
- Documentação
- Intlayer
- SvelteKit
- JavaScript
- SSR slugs:
- doc
- environment
- sveltekit applicationTemplate: https://github.com/aymericzip/intlayer-sveltekit-template history:
- version: 7.1.10 date: 2025-11-20 changes: Histórico inicial
Traduza seu site SvelteKit usando Intlayer | Internacionalização (i18n)
Índice
O que é o Intlayer?
Intlayer é uma biblioteca inovadora e open-source de internacionalização (i18n) projetada para simplificar o suporte multilíngue em aplicações web modernas. Ela funciona perfeitamente com as capacidades de Server-Side Rendering (SSR) do SvelteKit.
Com o Intlayer, você pode:
- Gerenciar traduções facilmente usando dicionários declarativos no nível do componente.
- Localizar dinamicamente metadados, rotas e conteúdo.
- Garantir suporte ao TypeScript com tipos gerados automaticamente.
- Aproveitar o SSR do SvelteKit para uma internacionalização amigável ao SEO.
Guia Passo a Passo para Configurar o Intlayer em uma Aplicação SvelteKit
Para começar, crie um novo projeto SvelteKit. Aqui está a estrutura final que iremos criar:
Copiar o código para a área de transferência
Instalar Dependências
Instale os pacotes necessários usando npm:
bashCopiar códigoCopiar o código para a área de transferência
- intlayer: O pacote principal de i18n.
- svelte-intlayer: Fornece context providers e stores para Svelte/SvelteKit.
- vite-intlayer: O plugin do Vite para integrar as declarações de conteúdo com o processo de build.
Configuração do seu projeto
Crie um arquivo de configuração na raiz do seu projeto:
intlayer.config.tsCopiar códigoCopiar o código para a área de transferência
Integre o Intlayer na sua Configuração do Vite
Atualize seu
vite.config.tspara incluir o plugin Intlayer. Este plugin gerencia a transpiração dos seus arquivos de conteúdo.vite.config.tsCopiar códigoCopiar o código para a área de transferência
Declare Seu Conteúdo
Crie seus arquivos de declaração de conteúdo em qualquer lugar dentro da sua pasta
src(por exemplo,src/lib/contentou junto aos seus componentes). Esses arquivos definem o conteúdo traduzível para sua aplicação usando a funçãot()para cada locale.Utilize o Intlayer em Seus Componentes
para acessar seu valor reativo (por exemplo,
$content.title).src/lib/components/Component.svelteCopiar códigoCopiar o código para a área de transferência
Configurar o roteamento
OpcionalOs passos a seguir mostram como configurar o roteamento baseado em locale no SvelteKit. Isso permite que suas URLs incluam o prefixo do locale (ex.:
/en/about,/fr/about) para melhor SEO e experiência do usuário.bashCopiar códigoCopiar o código para a área de transferência
Gerenciar a Detecção de Locale no Lado do Servidor
No SvelteKit, o servidor precisa saber o locale do usuário para renderizar o conteúdo correto durante o SSR. Usamos
hooks.server.tspara detectar o locale a partir da URL ou dos cookies.Crie ou modifique
src/hooks.server.ts:src/hooks.server.tsCopiar códigoCopiar o código para a área de transferência
Em seguida, crie um helper para obter a localidade do usuário a partir do evento da requisição:
src/lib/getLocale.tsCopiar códigoCopiar o código para a área de transferência
getLocaleFromStorageverificará o locale a partir do header ou cookie dependendo da sua configuração. Veja Configuração para mais detalhes.A função
localeDetectortratará o headerAccept-Languagee retornará a melhor correspondência.Se o locale não estiver configurado, queremos retornar um erro 404. Para facilitar, podemos criar uma função
matchpara verificar se o locale é válido:/src/params/locale.tsCopiar códigoCopiar o código para a área de transferência
Nota: Certifique-se de que seu arquivo
src/app.d.tsinclua a definição do locale:typescriptCopiar códigoCopiar o código para a área de transferência
Para o arquivo
+layout.svelte, podemos remover tudo, para manter apenas conteúdo estático, não relacionado à i18n:src/+layout.svelteCopiar códigoCopiar o código para a área de transferência
Em seguida, crie uma nova página e layout dentro do grupo
[[locale=locale]]:src/routes/[[locale=locale]]/+layout.tsCopiar códigoCopiar o código para a área de transferência
src/routes/[[locale=locale]]/+layout.svelteCopiar códigoCopiar o código para a área de transferência
src/routes/[[locale=locale]]/+page.tsCopiar códigoCopiar o código para a área de transferência
src/routes/[[locale=locale]]/+page.svelteCopiar códigoCopiar o código para a área de transferência
Links Internacionalizados
OpcionalPara SEO, é recomendado prefixar suas rotas com a localidade (ex:
/en/about,/fr/about). Este componente automaticamente prefixa qualquer link com a localidade atual.src/lib/components/LocalizedLink.svelteCopiar códigoCopiar o código para a área de transferência
Se você usar
gotodo SvelteKit, pode usar a mesma lógica comgetLocalizedUrlpara navegar para a URL localizada:typescriptCopiar códigoCopiar o código para a área de transferência
Seletor de Idioma
OpcionalPara permitir que os usuários mudem de idioma, atualize a URL.
src/lib/components/LanguageSwitcher.svelteCopiar códigoCopiar o código para a área de transferência
Adicionar proxy backend
OpcionalPara adicionar um proxy backend à sua aplicação SvelteKit, você pode usar a função
intlayerProxyfornecida pelo pluginvite-intlayer. Este plugin detectará automaticamente a melhor localidade para o usuário com base na URL, cookies e preferências de idioma do navegador.vite.config.tsCopiar códigoCopiar o código para a área de transferência
Configurar o editor / CMS do intlayer
OpcionalPara configurar o editor do intlayer, você deve seguir a documentação do editor intlayer.
Para configurar o CMS do intlayer, você deve seguir a documentação do CMS intlayer.
Para poder visualizar o seletor do editor intlayer, você deverá usar a sintaxe de componente no seu conteúdo intlayer.
Component.svelteCopiar códigoCopiar o código para a área de transferência
Extrair o conteúdo dos seus componentes
OpcionalSe você tiver uma base de código existente, transformar milhares de arquivos pode ser demorado.
Para facilitar esse processo, o Intlayer propõe um compilador / extrator para transformar seus componentes e extrair o conteúdo.
Para configurá-lo, você pode adicionar uma seção
compilerno seu arquivointlayer.config.ts:intlayer.config.tsCopiar códigoCopiar o código para a área de transferência
import { type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { // ... Resto da sua configuração compiler: { /** * Indica se o compilador deve ser ativado. */ enabled: true, /** * Define o caminho dos arquivos de saída */ output: ({ fileName, extension }) => `./${fileName}${extension}`, /** * Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido. */ saveComponents: false, /** * Prefixo da chave do dicionário */ dictionaryKeyPrefix: "", }, }; export default config;Execute o extrator para transformar seus componentes e extrair o conteúdo
bashCopiar códigoCopiar o código para a área de transferência
Configuração do Git
É recomendado ignorar os arquivos gerados pelo Intlayer.
Copiar o código para a área de transferência
Ir Além
Para poder visualizar o seletor do editor intlayer, você terá que usar a sintaxe de componente no seu conteúdo intlayer.
Copiar o código para a área de transferência
Configuração do Git
É recomendado ignorar os arquivos gerados pelo Intlayer.
Copiar o código para a área de transferência
Ir Além
- Editor Visual: Integre o Editor Visual Intlayer para editar traduções diretamente pela interface.
- CMS: Externalize o gerenciamento do seu conteúdo usando o CMS Intlayer.