Se 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çãoO conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsFaça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Ao integrar o servidor MCP Intlayer ao seu assistente de IA, você pode recuperar todos os documentos diretamente de ChatGPT, DeepSeek, Cursor, VSCode, etc.
Ver a documentação do servidor MCPCopiar o Markdown do documento para a área de transferência
Declaração de Conteúdo Por Localidade no Intlayer
O Intlayer suporta duas formas de declarar conteúdo multilíngue:
- Arquivo único com todas as traduções
- Um arquivo por localidade (formato por-localidade)
Essa flexibilidade permite:
- Migração fácil a partir de outras ferramentas de i18n
- Suporte para fluxos de trabalho de tradução automatizados
- Organização clara das traduções em arquivos separados, específicos por localidade
Arquivo Único com Múltiplas Traduções
Este formato é ideal para:
- Iteração rápida no código.
- Integração perfeita com o CMS.
Esta é a abordagem recomendada para a maioria dos casos de uso. Centraliza as traduções, facilitando a iteração e a integração com o CMS.
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", content: { multilingualContent: t({ en: "Title of my component", es: "Título de mi componente", }), },} satisfies Dictionary;export default helloWorldContent;
Recomendado: Este formato é o melhor quando se utiliza o editor visual do Intlayer ou se gerenciam traduções diretamente no código.
Formato Por Localidade
Este formato é útil quando:
- Você deseja versionar ou sobrescrever traduções de forma independente.
- Você está integrando fluxos de trabalho de tradução automática ou humana.
Você também pode dividir as traduções em arquivos individuais por localidade especificando o campo locale:
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, // Importante content: { multilingualContent: "Título do meu componente" },} satisfies Dictionary;export default helloWorldContent;
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.SPANISH, // Importante content: { multilingualContent: "Título de mi componente" },} satisfies Dictionary;export default helloWorldContent;
Importante: Certifique-se de que o campo locale está definido. Ele informa ao Intlayer qual idioma o arquivo representa.
Nota: Em ambos os casos, o arquivo de declaração de conteúdo deve seguir o padrão de nomenclatura *.content.{ts,tsx,js,jsx,mjs,cjs,json} para ser reconhecido pelo Intlayer. O sufixo .[locale] é opcional e usado apenas como convenção de nomenclatura.
Misturando Formatos
Você pode combinar ambas as abordagens de declaração para a mesma chave de conteúdo. Por exemplo:
- Declare seu conteúdo base estaticamente em um arquivo como index.content.ts.
- Adicione ou substitua traduções específicas em arquivos separados, como index.fr.content.ts ou index.content.json.
Esta configuração é especialmente útil quando:
- Você deseja definir a estrutura inicial do conteúdo no código.
- Você planeja enriquecer ou completar traduções posteriormente usando o CMS ou ferramentas automatizadas.
.└── Components └── MyComponent ├── index.content.ts ├── index.content.json └── index.ts
Exemplo
Aqui um arquivo de declaração de conteúdo multilíngue:
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, content: { multilingualContent: "Título do meu componente", projectName: "Meu projeto", },} satisfies Dictionary;export default helloWorldContent;
{ "$schema": "https://intlayer.org/schema.json", "key": "hello-world", "content": { "multilingualContent": { "nodeType": "translation", "translation": { "fr": "Titre de mon composant", "es": "Título de mi componente" } } }}
O Intlayer mescla automaticamente arquivos multilíngues e por localidade.
import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // O locale padrão é INGLÊS, então ele retornará o conteúdo em INGLÊSconsole.log(JSON.stringify(intlayer, null, 2));// Resultado:// {// "multilingualContent": "Título do meu componente",// "projectName": "Meu projeto"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Resultado:// {// "multilingualContent": "Título de mi componente",// "projectName": "Meu projeto"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Resultado:// {// "multilingualContent": "Titre de mon composant",// "projectName": "Meu projeto"// }
Geração Automática de Tradução
Use o intlayer CLI para preencher automaticamente as traduções faltantes com base nos seus serviços preferidos.
Histórico do Documento
- 5.5.10 - 2025-06-29: Histórico inicial