@intlayer/docs 9.3.0 → 9.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/blog/ar/rag_powered_documentation_assistant.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/authors2.cjs +0 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +4 -2
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +24 -2
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -2
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +4 -2
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +24 -2
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +4 -2
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/configuration.md +10 -10
- package/docs/ar/eslint.md +336 -0
- package/docs/ar/interest_of_intlayer.md +24 -22
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ar/intlayer_with_tanstack.md +5 -3
- package/docs/ar/lsp.md +114 -175
- package/docs/ar/readme.md +25 -25
- package/docs/bn/configuration.md +10 -10
- package/docs/bn/eslint.md +336 -0
- package/docs/bn/interest_of_intlayer.md +24 -22
- package/docs/cs/configuration.md +10 -10
- package/docs/cs/eslint.md +336 -0
- package/docs/cs/interest_of_intlayer.md +24 -22
- package/docs/de/configuration.md +10 -10
- package/docs/de/eslint.md +336 -0
- package/docs/de/interest_of_intlayer.md +24 -22
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +5 -3
- package/docs/de/intlayer_with_tanstack.md +5 -3
- package/docs/de/lsp.md +111 -172
- package/docs/de/readme.md +24 -24
- package/docs/en/configuration.md +10 -10
- package/docs/en/eslint.md +336 -0
- package/docs/en/interest_of_intlayer.md +24 -22
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en/intlayer_with_tanstack.md +5 -3
- package/docs/en/lsp.md +109 -170
- package/docs/en/readme.md +24 -24
- package/docs/en-GB/configuration.md +10 -10
- package/docs/en-GB/eslint.md +336 -0
- package/docs/en-GB/interest_of_intlayer.md +24 -22
- package/docs/en-GB/intlayer_with_create_react_app.md +32 -35
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en-GB/intlayer_with_tanstack.md +5 -3
- package/docs/en-GB/lsp.md +109 -170
- package/docs/en-GB/readme.md +24 -24
- package/docs/es/configuration.md +10 -10
- package/docs/es/eslint.md +336 -0
- package/docs/es/interest_of_intlayer.md +24 -22
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +5 -3
- package/docs/es/intlayer_with_tanstack.md +5 -3
- package/docs/es/lsp.md +114 -175
- package/docs/es/readme.md +24 -24
- package/docs/fr/configuration.md +10 -10
- package/docs/fr/eslint.md +336 -0
- package/docs/fr/interest_of_intlayer.md +24 -22
- package/docs/fr/intlayer_with_svelte_kit.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/fr/intlayer_with_tanstack.md +5 -3
- package/docs/fr/lsp.md +110 -171
- package/docs/fr/readme.md +24 -24
- package/docs/hi/configuration.md +10 -10
- package/docs/hi/eslint.md +336 -0
- package/docs/hi/interest_of_intlayer.md +24 -22
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/hi/intlayer_with_tanstack.md +5 -3
- package/docs/hi/intlayer_with_vite+svelte.md +2 -2
- package/docs/hi/lsp.md +113 -174
- package/docs/hi/readme.md +24 -24
- package/docs/id/configuration.md +10 -10
- package/docs/id/eslint.md +336 -0
- package/docs/id/interest_of_intlayer.md +24 -22
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +5 -3
- package/docs/id/intlayer_with_tanstack.md +5 -3
- package/docs/id/lsp.md +113 -174
- package/docs/id/readme.md +24 -24
- package/docs/it/configuration.md +10 -10
- package/docs/it/eslint.md +336 -0
- package/docs/it/interest_of_intlayer.md +24 -22
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +5 -3
- package/docs/it/intlayer_with_tanstack.md +5 -3
- package/docs/it/lsp.md +115 -176
- package/docs/it/readme.md +24 -24
- package/docs/ja/configuration.md +10 -10
- package/docs/ja/eslint.md +336 -0
- package/docs/ja/interest_of_intlayer.md +24 -22
- package/docs/ja/intlayer_with_react_router_v7.md +1 -146
- package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ja/intlayer_with_tanstack.md +5 -3
- package/docs/ja/intlayer_with_vite+react.md +5 -1
- package/docs/ja/lsp.md +113 -174
- package/docs/ja/readme.md +24 -24
- package/docs/ko/configuration.md +10 -10
- package/docs/ko/eslint.md +336 -0
- package/docs/ko/interest_of_intlayer.md +24 -22
- package/docs/ko/intlayer_with_lynx+react.md +4 -0
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/ko/intlayer_with_storybook.md +5 -5
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ko/intlayer_with_tanstack.md +5 -3
- package/docs/ko/lsp.md +112 -173
- package/docs/ko/readme.md +24 -24
- package/docs/nl/configuration.md +10 -10
- package/docs/nl/eslint.md +336 -0
- package/docs/nl/interest_of_intlayer.md +24 -22
- package/docs/pl/configuration.md +10 -10
- package/docs/pl/eslint.md +336 -0
- package/docs/pl/interest_of_intlayer.md +4 -2
- package/docs/pl/intlayer_with_astro.md +1 -114
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pl/intlayer_with_tanstack.md +5 -3
- package/docs/pl/lsp.md +115 -176
- package/docs/pl/migration_from_i18next_to_intlayer.md +4 -0
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +8 -4
- package/docs/pl/migration_from_next-intl_to_intlayer.md +11 -5
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +8 -4
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +4 -0
- package/docs/pl/readme.md +24 -24
- package/docs/pt/configuration.md +10 -10
- package/docs/pt/eslint.md +336 -0
- package/docs/pt/interest_of_intlayer.md +24 -22
- package/docs/pt/intlayer_with_astro.md +1 -114
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pt/intlayer_with_tanstack.md +5 -3
- package/docs/pt/lsp.md +113 -174
- package/docs/pt/readme.md +24 -24
- package/docs/ru/configuration.md +10 -10
- package/docs/ru/eslint.md +336 -0
- package/docs/ru/interest_of_intlayer.md +24 -22
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ru/intlayer_with_tanstack.md +5 -3
- package/docs/ru/lsp.md +112 -173
- package/docs/ru/readme.md +24 -24
- package/docs/tr/configuration.md +10 -10
- package/docs/tr/eslint.md +336 -0
- package/docs/tr/interest_of_intlayer.md +24 -22
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/tr/intlayer_with_tanstack.md +5 -3
- package/docs/tr/lsp.md +113 -174
- package/docs/tr/readme.md +24 -24
- package/docs/uk/configuration.md +10 -10
- package/docs/uk/eslint.md +336 -0
- package/docs/uk/interest_of_intlayer.md +4 -2
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
- package/docs/uk/intlayer_with_tanstack.md +5 -3
- package/docs/uk/lsp.md +113 -174
- package/docs/uk/packages/angular-intlayer/exports.md +2 -2
- package/docs/uk/per_locale_file.md +1 -1
- package/docs/uk/readme.md +24 -24
- package/docs/ur/configuration.md +10 -10
- package/docs/ur/eslint.md +336 -0
- package/docs/ur/interest_of_intlayer.md +24 -22
- package/docs/vi/configuration.md +10 -10
- package/docs/vi/eslint.md +336 -0
- package/docs/vi/interest_of_intlayer.md +24 -22
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/vi/intlayer_with_tanstack.md +5 -3
- package/docs/vi/lsp.md +115 -176
- package/docs/vi/readme.md +24 -24
- package/docs/zh/configuration.md +10 -10
- package/docs/zh/eslint.md +336 -0
- package/docs/zh/interest_of_intlayer.md +24 -22
- package/docs/zh/intlayer_with_create_react_app.md +4 -0
- package/docs/zh/intlayer_with_lynx+react.md +4 -0
- package/docs/zh/intlayer_with_nextjs_14.md +0 -2
- package/docs/zh/intlayer_with_nextjs_15.md +0 -2
- package/docs/zh/intlayer_with_nextjs_page_router.md +0 -2
- package/docs/zh/intlayer_with_nuxt.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +4 -0
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +4 -0
- package/docs/zh/intlayer_with_solid_start.md +1 -1
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
- package/docs/zh/intlayer_with_tanstack.md +5 -3
- package/docs/zh/intlayer_with_vite+vue.md +0 -2
- package/docs/zh/lsp.md +113 -174
- package/docs/zh/readme.md +21 -21
- package/docs/zh-TW/eslint.md +336 -0
- package/docs/zh-TW/interest_of_intlayer.md +24 -22
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +20 -0
|
@@ -207,7 +207,7 @@ export const ComponentExample = () => {
|
|
|
207
207
|
Esta abordagem permite-lhe:
|
|
208
208
|
|
|
209
209
|
1. **Aumentar a velocidade de desenvolvimento**
|
|
210
|
-
- Os arquivos `.content.{
|
|
210
|
+
- Os arquivos `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}` podem ser criados utilizando uma extensão do VSCode
|
|
211
211
|
- Ferramentas de autocompletar de IA no seu IDE (como GitHub Copilot) podem ajudá-lo a declarar seus conteúdos, reduzindo cópias/colas
|
|
212
212
|
|
|
213
213
|
2. **Limpar a sua base de código**
|
|
@@ -231,27 +231,27 @@ Esta abordagem permite-lhe:
|
|
|
231
231
|
|
|
232
232
|
## Recursos adicionais do Intlayer
|
|
233
233
|
|
|
234
|
-
| Recurso | Descrição
|
|
235
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
-
|  | **Suporte Cross-Framework**<br><br>O Intlayer é compatível com todos os principais frameworks e bibliotecas, incluindo Next.js, React, Vite, Vue.js, Nuxt, Preact, Express e mais.
|
|
237
|
-
|  | **Gerenciamento de Conteúdo via JavaScript**<br><br>Aproveite a flexibilidade do JavaScript para definir e gerenciar seu conteúdo de forma eficiente. <br><br> - [Declaração de conteúdo](https://intlayer.org/doc/concept/content)
|
|
238
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compilador**<br><br>O Compilador Intlayer extrai automaticamente o conteúdo dos componentes e gera os arquivos de dicionário.<br><br> - [Compilador](https://intlayer.org/doc/compiler)
|
|
239
|
-
|  | **Arquivo de Declaração de Conteúdo por Idioma**<br><br>Acelere o seu desenvolvimento declarando o seu conteúdo uma única vez, antes da geração automática.<br><br> - [Arquivo de Declaração de Conteúdo por Idioma](https://intlayer.org/doc/concept/per-locale-file)
|
|
240
|
-
|  | **Ambiente Seguro para Tipos (Type-Safe)**<br><br>Aproveite o TypeScript para garantir que suas definições de conteúdo e código estejam livres de erros, enquanto se beneficia do preenchimento automático do IDE.<br><br> - [Configuração do TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript)
|
|
241
|
-
|  | **Configuração Simplificada**<br><br>Comece a funcionar rapidamente com uma configuração mínima. Ajuste as configurações de internacionalização, roteamento, IA, compilação e manuseio de conteúdo de maneira fácil. <br><br> - [Explorar integração com Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
242
|
-
|  | **Recuperação de Conteúdo Simplificada**<br><br>Não há necessidade de chamar sua função `t` para cada elemento de conteúdo. Recupere todo o seu conteúdo diretamente usando um único hook.<br><br> - [Integração com React](https://intlayer.org/doc/environment/create-react-app)
|
|
243
|
-
|  | **Implementação Consistente de Componentes de Servidor**<br><br>Perfeitamente adequado para componentes de servidor Next.js, use a mesma implementação tanto para componentes cliente quanto servidor, sem a necessidade de passar sua função `t` através de cada componente de servidor. <br><br> - [Componentes de Servidor](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)
|
|
244
|
-
|  | **Base de Código Organizada**<br><br>Mantenha sua base de código mais organizada: 1 componente = 1 dicionário na mesma pasta. Traduções próximas a seus respectivos componentes melhoram a manutenibilidade e a clareza. <br><br> - [Como o Intlayer funciona](https://intlayer.org/doc/concept/how-works-intlayer)
|
|
245
|
-
|  | **Roteamento Aprimorado**<br><br>Suporte completo de roteamento de apps, adaptando-se perfeitamente a estruturas de aplicações complexas, para Next.js, React, Vite, Vue.js, etc.<br><br> - [Explorar integração com Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
246
|
-
|  | **Suporte a Markdown**<br><br>Importe e interprete arquivos locais e Markdown remoto para conteúdos multilíngues como políticas de privacidade, documentação, etc. Interprete e torne os metadados de Markdown acessíveis em seu código.<br><br> - [Arquivos de conteúdo](https://intlayer.org/doc/concept/content/file)
|
|
247
|
-
|  | **Editor Visual & CMS Gratuitos**<br><br>Um editor visual e CMS gratuitos estão disponíveis para criadores de conteúdo, eliminando a necessidade de uma plataforma de localização externa. Mantenha seu conteúdo sincronizado usando o Git, ou externalize-o total ou parcialmente com o CMS.<br><br> - [Editor do Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS do Intlayer](https://intlayer.org/doc/concept/cms)
|
|
248
|
-
|  | **Conteúdo com Otimização Tree-shaking**<br><br>Conteúdo compatível com otimização tree-shaking, reduzindo o tamanho do pacote final. Carrega conteúdo por componente, excluindo do bundle os conteúdos não utilizados. Suporta carregamento lento (lazy loading) para melhorar a eficiência de carregamento do app. <br><br> - [Otimização do build de aplicação](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization)
|
|
249
|
-
|  | **Renderização Estática**<br><br>Não bloqueia o Renderização Estática. <br><br> - [Integração com Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
250
|
-
|  | **Tradução Inteligente baseada em IA**<br><br>Transforme o seu site para até 231 idiomas com apenas um clique usando as ferramentas avançadas de tradução por IA do Intlayer com o seu próprio provedor de IA/chave de API. <br><br> - [Integração com CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Preenchimento Automático](https://intlayer.org/doc/concept/auto-fill)
|
|
251
|
-
|  | **Integração do Servidor MCP**<br><br>Fornece um servidor MCP (Model Context Protocol) para automação de IDE, permitindo gerenciamento integrado de conteúdo e fluxos de trabalho i18n diretamente no seu ambiente de desenvolvimento. <br><br> - [Servidor MCP](https://github.com/aymericzip/intlayer/blob/main/docs/pt/mcp_server.md)
|
|
252
|
-
|  | **Extensão VSCode**<br><br>O Intlayer fornece uma extensão do VSCode para ajudá-lo a gerenciar seu conteúdo e traduções, construir dicionários, traduzir conteúdos e muito mais. <br><br> - [Extensão VSCode](https://intlayer.org/doc/vs-code-extension)
|
|
253
|
-
|  | **Interoperabilidade**<br><br>Permite a interoperabilidade com react-i18next, next-i18next, next-intl e react-intl. <br><br> - [Intlayer e react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer e next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer e next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next)
|
|
254
|
-
| Testar Traduções Ausentes (CLI/CI) | ✅ CLI: npx intlayer content test (auditoria compatível com CI)
|
|
234
|
+
| Recurso | Descrição |
|
|
235
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
236
|
+
|  | **Suporte Cross-Framework**<br><br>O Intlayer é compatível com todos os principais frameworks e bibliotecas, incluindo Next.js, React, Vite, Vue.js, Nuxt, Preact, Express e mais. |
|
|
237
|
+
|  | **Gerenciamento de Conteúdo via JavaScript**<br><br>Aproveite a flexibilidade do JavaScript para definir e gerenciar seu conteúdo de forma eficiente. <br><br> - [Declaração de conteúdo](https://intlayer.org/doc/concept/content) |
|
|
238
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compilador**<br><br>O Compilador Intlayer extrai automaticamente o conteúdo dos componentes e gera os arquivos de dicionário.<br><br> - [Compilador](https://intlayer.org/doc/compiler) |
|
|
239
|
+
|  | **Arquivo de Declaração de Conteúdo por Idioma**<br><br>Acelere o seu desenvolvimento declarando o seu conteúdo uma única vez, antes da geração automática.<br><br> - [Arquivo de Declaração de Conteúdo por Idioma](https://intlayer.org/doc/concept/per-locale-file) |
|
|
240
|
+
|  | **Ambiente Seguro para Tipos (Type-Safe)**<br><br>Aproveite o TypeScript para garantir que suas definições de conteúdo e código estejam livres de erros, enquanto se beneficia do preenchimento automático do IDE.<br><br> - [Configuração do TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
241
|
+
|  | **Configuração Simplificada**<br><br>Comece a funcionar rapidamente com uma configuração mínima. Ajuste as configurações de internacionalização, roteamento, IA, compilação e manuseio de conteúdo de maneira fácil. <br><br> - [Explorar integração com Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
242
|
+
|  | **Recuperação de Conteúdo Simplificada**<br><br>Não há necessidade de chamar sua função `t` para cada elemento de conteúdo. Recupere todo o seu conteúdo diretamente usando um único hook.<br><br> - [Integração com React](https://intlayer.org/doc/environment/create-react-app) |
|
|
243
|
+
|  | **Implementação Consistente de Componentes de Servidor**<br><br>Perfeitamente adequado para componentes de servidor Next.js, use a mesma implementação tanto para componentes cliente quanto servidor, sem a necessidade de passar sua função `t` através de cada componente de servidor. <br><br> - [Componentes de Servidor](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
244
|
+
|  | **Base de Código Organizada**<br><br>Mantenha sua base de código mais organizada: 1 componente = 1 dicionário na mesma pasta. Traduções próximas a seus respectivos componentes melhoram a manutenibilidade e a clareza. <br><br> - [Como o Intlayer funciona](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
245
|
+
|  | **Roteamento Aprimorado**<br><br>Suporte completo de roteamento de apps, adaptando-se perfeitamente a estruturas de aplicações complexas, para Next.js, React, Vite, Vue.js, etc.<br><br> - [Explorar integração com Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
246
|
+
|  | **Suporte a Markdown**<br><br>Importe e interprete arquivos locais e Markdown remoto para conteúdos multilíngues como políticas de privacidade, documentação, etc. Interprete e torne os metadados de Markdown acessíveis em seu código.<br><br> - [Arquivos de conteúdo](https://intlayer.org/doc/concept/content/file) |
|
|
247
|
+
|  | **Editor Visual & CMS Gratuitos**<br><br>Um editor visual e CMS gratuitos estão disponíveis para criadores de conteúdo, eliminando a necessidade de uma plataforma de localização externa. Mantenha seu conteúdo sincronizado usando o Git, ou externalize-o total ou parcialmente com o CMS.<br><br> - [Editor do Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS do Intlayer](https://intlayer.org/doc/concept/cms) |
|
|
248
|
+
|  | **Conteúdo com Otimização Tree-shaking**<br><br>Conteúdo compatível com otimização tree-shaking, reduzindo o tamanho do pacote final. Carrega conteúdo por componente, excluindo do bundle os conteúdos não utilizados. Suporta carregamento lento (lazy loading) para melhorar a eficiência de carregamento do app. <br><br> - [Otimização do build de aplicação](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
249
|
+
|  | **Renderização Estática**<br><br>Não bloqueia o Renderização Estática. <br><br> - [Integração com Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
250
|
+
|  | **Tradução Inteligente baseada em IA**<br><br>Transforme o seu site para até 231 idiomas com apenas um clique usando as ferramentas avançadas de tradução por IA do Intlayer com o seu próprio provedor de IA/chave de API. <br><br> - [Integração com CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Preenchimento Automático](https://intlayer.org/doc/concept/auto-fill) |
|
|
251
|
+
|  | **Integração do Servidor MCP**<br><br>Fornece um servidor MCP (Model Context Protocol) para automação de IDE, permitindo gerenciamento integrado de conteúdo e fluxos de trabalho i18n diretamente no seu ambiente de desenvolvimento. <br><br> - [Servidor MCP](https://github.com/aymericzip/intlayer/blob/main/docs/pt/mcp_server.md) |
|
|
252
|
+
|  | **Extensão VSCode**<br><br>O Intlayer fornece uma extensão do VSCode para ajudá-lo a gerenciar seu conteúdo e traduções, construir dicionários, traduzir conteúdos e muito mais. <br><br> - [Extensão VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
253
|
+
|  | **Interoperabilidade**<br><br>Permite a interoperabilidade com react-i18next, next-i18next, next-intl e react-intl. <br><br> - [Intlayer e react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer e next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer e next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Adaptadores de compatibilidade do Intlayer](https://intlayer.org/doc/compatibility) |
|
|
254
|
+
| Testar Traduções Ausentes (CLI/CI) | ✅ CLI: npx intlayer content test (auditoria compatível com CI) |
|
|
255
255
|
|
|
256
256
|
## Comparação do Intlayer com outras soluções
|
|
257
257
|
|
|
@@ -290,3 +290,5 @@ As estrelas no GitHub são um forte indicador da popularidade de um projeto, da
|
|
|
290
290
|
`intlayer` também pode ajudar a gerenciar seus namespaces para `react-intl`, `react-i18next`, `next-intl`, `next-i18next` e `vue-i18n`.
|
|
291
291
|
|
|
292
292
|
Utilizando `intlayer`, você pode declarar seu conteúdo no formato de sua biblioteca i18n favorita, e o intlayer gerará seus namespaces no local de sua escolha (exemplo: `/messages/{{locale}}/{{namespace}}.json`).
|
|
293
|
+
|
|
294
|
+
Se você quiser continuar usando a API da sua biblioteca i18n atual, o `intlayer` também fornece **adaptadores de compatibilidade (compat adapters)**: pacotes que expõem exatamente a mesma API que `react-i18next`, `next-intl`, `react-intl`, `vue-i18n` e outras, mas servidos pelos dicionários do Intlayer. Isso permite migrar progressivamente sem reescrever seu código. Consulte a [documentação dos adaptadores de compatibilidade](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md).
|
|
@@ -317,120 +317,7 @@ A integração do Astro adiciona um middleware Vite que ajuda no roteamento sens
|
|
|
317
317
|
|
|
318
318
|
</Step>
|
|
319
319
|
|
|
320
|
-
<Step number={
|
|
321
|
-
|
|
322
|
-
Continue construindo sua aplicação usando o framework de sua escolha.
|
|
323
|
-
|
|
324
|
-
- Intlayer + React: [Intlayer com React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_vite+react.md)
|
|
325
|
-
- Intlayer + Vue: [Intlayer com Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_vite+vue.md)
|
|
326
|
-
- Intlayer + Svelte: [Intlayer com Svelte](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_vite+svelte.md)
|
|
327
|
-
- Intlayer + Solid: [Intlayer com Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_vite+solid.md)
|
|
328
|
-
- Intlayer + Preact: [Intlayer com Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_vite+preact.md)
|
|
329
|
-
</Step>
|
|
330
|
-
|
|
331
|
-
<Step number={15} title="Extrair o conteúdo dos seus componentes" isOptional={true}>
|
|
332
|
-
|
|
333
|
-
Se você tiver uma base de código existente, transformar milhares de arquivos pode ser demorado.
|
|
334
|
-
|
|
335
|
-
Para facilitar esse processo, o Intlayer propõe um [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) / [extrator](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md) para transformar seus componentes e extrair o conteúdo.
|
|
336
|
-
|
|
337
|
-
Para configurá-lo, você pode adicionar uma seção `compiler` no seu arquivo `intlayer.config.ts`:
|
|
338
|
-
|
|
339
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
340
|
-
import { type IntlayerConfig } from "intlayer";
|
|
341
|
-
|
|
342
|
-
const config: IntlayerConfig = {
|
|
343
|
-
// ... Resto da sua configuração
|
|
344
|
-
compiler: {
|
|
345
|
-
/**
|
|
346
|
-
* Indica se o compilador deve ser ativado.
|
|
347
|
-
*/
|
|
348
|
-
enabled: true,
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* Define o caminho dos arquivos de saída
|
|
352
|
-
*/
|
|
353
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* 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.
|
|
357
|
-
*/
|
|
358
|
-
saveComponents: false,
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* Prefixo da chave do dicionário
|
|
362
|
-
*/
|
|
363
|
-
dictionaryKeyPrefix: "",
|
|
364
|
-
},
|
|
365
|
-
};
|
|
366
|
-
|
|
367
|
-
export default config;
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
<Tabs>
|
|
371
|
-
<Tab value='Comando de extração'>
|
|
372
|
-
|
|
373
|
-
Execute o extrator para transformar seus componentes e extrair o conteúdo
|
|
374
|
-
|
|
375
|
-
```bash packageManager="npm"
|
|
376
|
-
npx intlayer extract
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
```bash packageManager="pnpm"
|
|
380
|
-
pnpm intlayer extract
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
```bash packageManager="yarn"
|
|
384
|
-
yarn intlayer extract
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
```bash packageManager="bun"
|
|
388
|
-
bun x intlayer extract
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
</Tab>
|
|
392
|
-
<Tab value='Compilador Babel'>
|
|
393
|
-
|
|
394
|
-
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
395
|
-
|
|
396
|
-
Atualize seu `vite.config.ts` para incluir o plugin `intlayerCompiler`:
|
|
397
|
-
|
|
398
|
-
```ts fileName="vite.config.ts"
|
|
399
|
-
import { defineConfig } from "vite";
|
|
400
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
401
|
-
|
|
402
|
-
export default defineConfig({
|
|
403
|
-
plugins: [
|
|
404
|
-
intlayer(),
|
|
405
|
-
intlayerCompiler(), // Adds the compiler plugin
|
|
406
|
-
],
|
|
407
|
-
});
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
```bash packageManager="npm"
|
|
411
|
-
npm run build # Ou npm run dev
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
```bash packageManager="pnpm"
|
|
415
|
-
pnpm run build # Or pnpm run dev
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
```bash packageManager="yarn"
|
|
419
|
-
yarn build # Or yarn dev
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
```bash packageManager="bun"
|
|
423
|
-
bun run build # Or bun run dev
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
</Tab>
|
|
427
|
-
</Tabs>
|
|
428
|
-
|
|
429
|
-
---
|
|
430
|
-
|
|
431
|
-
</Step>
|
|
432
|
-
|
|
433
|
-
</Steps>
|
|
320
|
+
<Step number={8} title="Sitemap e Robots.txt">
|
|
434
321
|
|
|
435
322
|
#### Sitemap
|
|
436
323
|
|
|
@@ -404,7 +404,7 @@ export const getLocale = (event: RequestEvent): Locale => {
|
|
|
404
404
|
};
|
|
405
405
|
```
|
|
406
406
|
|
|
407
|
-
> `getLocaleFromStorage` verificará o locale a partir do header ou cookie dependendo da sua configuração. Veja [Configuração](https://intlayer.org/doc/configuration) para mais detalhes.
|
|
407
|
+
> `getLocaleFromStorage` verificará o locale a partir do header ou cookie dependendo da sua configuração. Veja [Configuração](https://intlayer.org/doc/concept/configuration) para mais detalhes.
|
|
408
408
|
|
|
409
409
|
> A função `localeDetector` tratará o header `Accept-Language` e retornará a melhor correspondência.
|
|
410
410
|
|
|
@@ -254,19 +254,21 @@ import {
|
|
|
254
254
|
HeadContent,
|
|
255
255
|
Scripts,
|
|
256
256
|
createRootRouteWithContext,
|
|
257
|
+
getRouteApi,
|
|
257
258
|
} from "@tanstack/solid-router";
|
|
258
259
|
import { HydrationScript } from "solid-js/web";
|
|
259
260
|
import { Suspense, type ParentComponent } from "solid-js";
|
|
260
261
|
import { IntlayerProvider } from "solid-intlayer";
|
|
261
262
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
262
|
-
|
|
263
|
+
|
|
264
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
263
265
|
|
|
264
266
|
export const Route = createRootRouteWithContext()({
|
|
265
267
|
shellComponent: RootComponent,
|
|
266
268
|
});
|
|
267
269
|
|
|
268
270
|
const RootComponent: ParentComponent = (props) => {
|
|
269
|
-
const params =
|
|
271
|
+
const params = localeRoute.useParams();
|
|
270
272
|
const locale = params()?.locale ?? defaultLocale;
|
|
271
273
|
|
|
272
274
|
return (
|
|
@@ -551,7 +553,7 @@ Como visto no Passo 5, você pode gerenciar os atributos `lang` e `dir` da tag `
|
|
|
551
553
|
|
|
552
554
|
```tsx fileName="src/routes/__root.tsx"
|
|
553
555
|
const RootComponent: ParentComponent = (props) => {
|
|
554
|
-
const params =
|
|
556
|
+
const params = localeRoute.useParams();
|
|
555
557
|
const locale = params()?.locale ?? defaultLocale;
|
|
556
558
|
|
|
557
559
|
return (
|
|
@@ -271,13 +271,15 @@ Configure seu layout raiz para suportar internacionalização usando `useParams`
|
|
|
271
271
|
```tsx fileName="src/routes/__root.tsx"
|
|
272
272
|
import {
|
|
273
273
|
createRootRouteWithContext,
|
|
274
|
+
getRouteApi,
|
|
274
275
|
HeadContent,
|
|
275
276
|
Scripts,
|
|
276
277
|
} from "@tanstack/react-router";
|
|
277
278
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
278
279
|
import { type ReactNode } from "react";
|
|
279
280
|
import { IntlayerProvider } from "react-intlayer";
|
|
280
|
-
|
|
281
|
+
|
|
282
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
281
283
|
|
|
282
284
|
export const Route = createRootRouteWithContext<{}>()({
|
|
283
285
|
head: () => ({
|
|
@@ -299,7 +301,7 @@ export const Route = createRootRouteWithContext<{}>()({
|
|
|
299
301
|
});
|
|
300
302
|
|
|
301
303
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
302
|
-
const params =
|
|
304
|
+
const params = localeRoute.useParams();
|
|
303
305
|
const locale = params?.locale ?? defaultLocale;
|
|
304
306
|
|
|
305
307
|
return (
|
|
@@ -633,7 +635,7 @@ Como visto no Passo 5, você pode gerenciar os atributos `lang` e `dir` da tag `
|
|
|
633
635
|
|
|
634
636
|
```tsx fileName="src/routes/__root.tsx"
|
|
635
637
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
636
|
-
const params =
|
|
638
|
+
const params = localeRoute.useParams();
|
|
637
639
|
const locale = params?.locale ?? defaultLocale;
|
|
638
640
|
|
|
639
641
|
return (
|