@intlayer/docs 6.0.0 → 6.0.2-canary.0
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/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +6 -5
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +318 -1863
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +1317 -6282
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +197 -1182
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +43 -84
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +2 -5
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +318 -1863
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +1317 -6282
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +197 -1182
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +43 -84
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/blog.d.ts +1 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_CMS.md +261 -85
- package/docs/ar/releases/v6.md +273 -0
- package/docs/ar/roadmap.md +1 -3
- package/docs/ar/vs_code_extension.md +94 -63
- package/docs/de/intlayer_CMS.md +247 -65
- package/docs/de/releases/v6.md +298 -0
- package/docs/de/roadmap.md +1 -3
- package/docs/de/vs_code_extension.md +89 -58
- package/docs/en/configuration.md +9 -2
- package/docs/en/intlayer_CMS.md +205 -23
- package/docs/en/intlayer_cli.md +4 -4
- package/docs/en/intlayer_visual_editor.md +7 -6
- package/docs/en/intlayer_with_nextjs_14.md +17 -1
- package/docs/en/intlayer_with_nextjs_15.md +17 -1
- package/docs/en/releases/v6.md +268 -0
- package/docs/en/roadmap.md +1 -3
- package/docs/en/vs_code_extension.md +79 -49
- package/docs/en-GB/intlayer_CMS.md +216 -52
- package/docs/en-GB/releases/v6.md +297 -0
- package/docs/en-GB/roadmap.md +1 -3
- package/docs/en-GB/vs_code_extension.md +79 -48
- package/docs/es/intlayer_CMS.md +257 -84
- package/docs/es/releases/v6.md +274 -0
- package/docs/es/roadmap.md +1 -3
- package/docs/es/vs_code_extension.md +90 -60
- package/docs/fr/intlayer_CMS.md +250 -68
- package/docs/fr/releases/v6.md +274 -0
- package/docs/fr/roadmap.md +1 -3
- package/docs/fr/vs_code_extension.md +94 -63
- package/docs/hi/intlayer_CMS.md +253 -77
- package/docs/hi/releases/v6.md +273 -0
- package/docs/hi/roadmap.md +1 -3
- package/docs/hi/vs_code_extension.md +92 -61
- package/docs/it/intlayer_CMS.md +251 -73
- package/docs/it/releases/v6.md +273 -0
- package/docs/it/roadmap.md +1 -3
- package/docs/it/vs_code_extension.md +94 -63
- package/docs/ja/intlayer_CMS.md +282 -97
- package/docs/ja/releases/v6.md +273 -0
- package/docs/ja/roadmap.md +1 -3
- package/docs/ja/vs_code_extension.md +99 -68
- package/docs/ko/intlayer_CMS.md +267 -93
- package/docs/ko/releases/v6.md +273 -0
- package/docs/ko/roadmap.md +1 -3
- package/docs/ko/vs_code_extension.md +88 -57
- package/docs/pt/intlayer_CMS.md +261 -83
- package/docs/pt/releases/v6.md +273 -0
- package/docs/pt/roadmap.md +1 -3
- package/docs/pt/vs_code_extension.md +89 -58
- package/docs/ru/intlayer_CMS.md +240 -65
- package/docs/ru/releases/v6.md +274 -0
- package/docs/ru/roadmap.md +1 -1
- package/docs/ru/vs_code_extension.md +83 -52
- package/docs/tr/intlayer_CMS.md +278 -96
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +3 -0
- package/docs/tr/releases/v6.md +273 -0
- package/docs/tr/roadmap.md +1 -1
- package/docs/tr/vs_code_extension.md +100 -71
- package/docs/zh/intlayer_CMS.md +257 -76
- package/docs/zh/releases/v6.md +273 -0
- package/docs/zh/roadmap.md +1 -3
- package/docs/zh/vs_code_extension.md +99 -68
- package/package.json +9 -8
- package/src/blog.ts +1 -1
- package/src/common.ts +2 -6
- package/src/generated/blog.entry.ts +323 -1864
- package/src/generated/docs.entry.ts +1317 -6278
- package/src/generated/frequentQuestions.entry.ts +202 -1183
- package/src/generated/legal.entry.ts +48 -85
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-22
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
|
+
title: Nova versão Intlayer v6 - Novidades
|
|
5
|
+
description: Descubra as novidades do Intlayer v6. Grandes melhorias em desempenho, experiência do desenvolvedor e novos recursos para aprimorar seu fluxo de trabalho de internacionalização.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Localização
|
|
9
|
+
- Desenvolvimento
|
|
10
|
+
- Desempenho
|
|
11
|
+
- Experiência do Desenvolvedor
|
|
12
|
+
- Recursos
|
|
13
|
+
- React
|
|
14
|
+
- Next.js
|
|
15
|
+
- JavaScript
|
|
16
|
+
- TypeScript
|
|
17
|
+
slugs:
|
|
18
|
+
- doc
|
|
19
|
+
- releases
|
|
20
|
+
- v6
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Nova versão Intlayer v6 - Novidades
|
|
24
|
+
|
|
25
|
+
Bem-vindo ao Intlayer v6! Esta versão foca em desempenho, experiência do desenvolvedor e confiabilidade. Abaixo estão os destaques, com notas de migração e exemplos prontos para copiar e colar.
|
|
26
|
+
|
|
27
|
+
## Destaques
|
|
28
|
+
|
|
29
|
+
- Novo comando: `npx intlayer content test` para detectar traduções faltantes
|
|
30
|
+
- Nova opção global `autoFill` para auto-gerar traduções ausentes
|
|
31
|
+
- Comando Fill padrão pula traduções existentes: `npx intlayer fill`
|
|
32
|
+
- Extensão VS Code: nova Barra de Atividades Intlayer (Busca & Dicionários), ações na barra de ferramentas/contexto, auto-revelação, comandos Fill/Test
|
|
33
|
+
- Builds 10× mais rápidas graças à paralelização de promises
|
|
34
|
+
- Cache remoto de dicionário para evitar refetch no início do app
|
|
35
|
+
- Logging aprimorado: defina `log.mode: 'verbose'` para inspecionar o comportamento
|
|
36
|
+
- Validação mais rigorosa para evitar falhas do app por problemas no dicionário
|
|
37
|
+
- Atualizações ao vivo com CMS usando `build.importMode = 'live'` e `pnpm intlayer live`
|
|
38
|
+
- Correções: integração Vue.js, adaptador Lynx, Editor Visual no Windows
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Novo: Testar traduções ausentes
|
|
43
|
+
|
|
44
|
+
Audite rapidamente seu projeto para encontrar quais chaves/idiomas estão faltando.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx intlayer content test
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Output:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pnpm intlayer content test
|
|
54
|
+
Traduções ausentes:
|
|
55
|
+
- blog-data - Japonês (ja), Coreano (ko), Chinês (zh), Alemão (de), Italiano (it) - src/components/BlogPage/blogData.content.ts
|
|
56
|
+
- demo-page - Francês (fr), Italiano (it) - src/components/DemoPage/demo.content.ts
|
|
57
|
+
- locale-switcher - Italiano (it), Português (pt) - src/components/LocaleSwitcher/localeSwitcher.content.ts
|
|
58
|
+
Locales: Inglês (en), Russo (ru), Japonês (ja), Francês (fr), Coreano (ko), Chinês (zh), Espanhol (es), Alemão (de), Árabe (ar), Italiano (it), Inglês Britânico (en-GB), Português (pt), Hindi (hi)
|
|
59
|
+
Locales obrigatórios: Inglês (en)
|
|
60
|
+
Traduções ausentes: Japonês (ja), Coreano (ko), Chinês (zh), Alemão (de), Italiano (it), Francês (fr), Português (pt)
|
|
61
|
+
Traduções obrigatórias ausentes: -
|
|
62
|
+
Total de traduções ausentes: 7
|
|
63
|
+
Total de traduções obrigatórias ausentes: 0
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Veja mais opções na documentação do CLI: [Referência do CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_cli.md) → "Testar traduções ausentes". Assim como o guia de [Testes](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/testing.md).
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Novo: autoFill global para completar traduções ausentes
|
|
71
|
+
|
|
72
|
+
Agora você pode ativar o auto‑fill globalmente para que qualquer dicionário com traduções ausentes seja completado automaticamente.
|
|
73
|
+
|
|
74
|
+
```ts fileName="intlayer.config.ts"
|
|
75
|
+
import { type IntlayerConfig, Locales } from "intlayer";
|
|
76
|
+
|
|
77
|
+
const config: IntlayerConfig = {
|
|
78
|
+
internationalization: {
|
|
79
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
80
|
+
defaultLocale: Locales.ENGLISH,
|
|
81
|
+
requiredLocales: [Locales.ENGLISH, Locales.FRENCH],
|
|
82
|
+
},
|
|
83
|
+
content: {
|
|
84
|
+
// Auto-gerar traduções ausentes para todos os dicionários
|
|
85
|
+
autoFill: "./{{fileName}}.content.ts",
|
|
86
|
+
//
|
|
87
|
+
// autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",
|
|
88
|
+
//
|
|
89
|
+
// autoFill: true, // auto-gerar traduções ausentes para todos os dicionários como usar "./{{fileName}}.content.json"
|
|
90
|
+
//
|
|
91
|
+
// autoFill: {
|
|
92
|
+
// en: "./{{fileName}}.en.content.json",
|
|
93
|
+
// fr: "./{{fileName}}.fr.content.json",
|
|
94
|
+
// es: "./{{fileName}}.es.content.json",
|
|
95
|
+
// },
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export default config;
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Você ainda pode ajustar por dicionário usando o campo `autoFill` nos arquivos de conteúdo. Veja a referência completa em `doc/autoFill` e `doc/dictionary/content_file`.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Comando fill: padrões mais seguros
|
|
107
|
+
|
|
108
|
+
O comando fill agora, por padrão, preenche apenas traduções ausentes e pula o conteúdo existente.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npx intlayer fill
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
Chaves de dicionário afetadas para processamento: access-key-creation-form-schema, doc-search-metadata, doc-search-page
|
|
116
|
+
- [access-key-creation-form-schema] Dicionário não possui caminho de arquivo. Pulando.
|
|
117
|
+
- [access-key-creation-form-schema] Processando declaração de conteúdo: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts
|
|
118
|
+
- [access-key-creation-form-schema] Nenhum local para preencher - Pulando dicionário
|
|
119
|
+
- [doc-search-metadata] Dicionário não possui caminho de arquivo. Pulando.
|
|
120
|
+
- [doc-search-metadata] Processando declaração de conteúdo: src/app/[locale]/(docs)/doc/search/metadata.content.ts
|
|
121
|
+
- [doc-search-metadata] Nenhum idioma para preencher - Pulando dicionário
|
|
122
|
+
- [doc-search-page] Dicionário não possui caminho de arquivo. Pulando.
|
|
123
|
+
- [doc-search-page] Processando declaração de conteúdo: src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
124
|
+
- [doc-search-page] [Russo (ru)] Preparando tradução para dicionário do Inglês (en) para Russo (ru)
|
|
125
|
+
[intlayer] Aplicado formatação Prettier em src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
126
|
+
- [doc-search-page] Declaração de conteúdo escrita em src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Exemplos de CI estão disponíveis em [CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/CI_CD.md).
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Extensão VS Code atualizada
|
|
134
|
+
|
|
135
|
+
A extensão agora inclui uma aba dedicada do Intlayer na Barra de Atividades e várias melhorias no fluxo de trabalho:
|
|
136
|
+
|
|
137
|
+
- Barra de Atividades do Intlayer com duas visualizações:
|
|
138
|
+
- Webview de busca (`intlayer.searchBar`) para busca ao vivo no dicionário/conteúdo
|
|
139
|
+
- Árvore de dicionários (`intlayer.dictionaries`) listando ambientes, dicionários e arquivos contribuintes
|
|
140
|
+
- Barra de ferramentas na visualização de Dicionários: Construir, Puxar, Enviar, Preencher, Atualizar, Testar, Criar Arquivo de Dicionário
|
|
141
|
+
- Menus de contexto: Puxar/Enviar nos dicionários; Preencher nos arquivos
|
|
142
|
+
- Auto-revelação: o arquivo atual do editor é destacado na árvore de Dicionários quando aplicável
|
|
143
|
+
- Novos comandos disponíveis no Command Palette: Preencher Dicionários e Testar Dicionários
|
|
144
|
+
|
|
145
|
+
Veja detalhes na documentação da [Extensão Oficial do VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/vs_code_extension.md).
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Performance: 10× mais rápido
|
|
150
|
+
|
|
151
|
+
- Resolução paralela de dicionários locais e remotos
|
|
152
|
+
- Dicionários remotos são armazenados em cache para evitar reobtenção na inicialização do app
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
npx intlayer build
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Saída:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
[intlayer] Preparando Intlayer (v6.0.1)
|
|
162
|
+
[intlayer] Dicionários:
|
|
163
|
+
[intlayer] ✓ Conteúdo local: 163/163
|
|
164
|
+
[intlayer] ✓ Conteúdo remoto: 100/100
|
|
165
|
+
[intlayer] - access-key-creation-form [local: ✔ construído] [distant: ✔ importado]
|
|
166
|
+
[intlayer] - access-key-creation-form-schema [local: ✔ construído] [distant: ✔ importado]
|
|
167
|
+
[intlayer] - access-key-form [local: ✔ construído] [distant: ✔ importado]
|
|
168
|
+
[intlayer] - ai-ab-testing-section [distant: ✔ importado]
|
|
169
|
+
[intlayer] - application-not-running-view [local: ✔ construído] [distant: ✔ importado]
|
|
170
|
+
[intlayer] - application-template-message [local: ✔ construído] [distant: ✔ buscado]
|
|
171
|
+
[intlayer] - aside-navigation [local: ✔ construído] [distant: ✔ importado]
|
|
172
|
+
[intlayer] - ask-reset-password [local: ✔ construído] [distant: ✔ importado]
|
|
173
|
+
[intlayer] - ask-reset-password-schema [local: ✔ construído] [distant: ✔ importado]
|
|
174
|
+
[intlayer] - autocompletion-section [local: ✔ construído] [distant: ✔ buscado]
|
|
175
|
+
[intlayer] - available-techno-section [local: ✔ construído] [distant: ✔ importado]
|
|
176
|
+
[intlayer] - blog-data [local: ✔ construído]
|
|
177
|
+
[intlayer] - blog-metadata [local: ✔ construído]
|
|
178
|
+
[intlayer] - blog-nav-list [local: ✔ construído] [distant: ✔ importado]
|
|
179
|
+
[intlayer] - blog-page [distant: ✔ buscado]
|
|
180
|
+
[intlayer] - blog-search-metadata [local: ✔ construído] [distant: ✔ importado]
|
|
181
|
+
[intlayer] - blog-search-page [local: ✔ construído] [distant: ✔ importado]
|
|
182
|
+
...
|
|
183
|
+
[intlayer] Conteúdo carregado (Total: 8401ms - Local: 4050ms - Remoto: 4222ms)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Melhorias no registro de logs
|
|
189
|
+
|
|
190
|
+
O sistema de logs foi aprimorado para fornecer informações mais detalhadas sobre o que acontece durante as transformações de build e em tempo de execução.
|
|
191
|
+
|
|
192
|
+
> Ative logs detalhados para entender melhor o que acontece durante as transformações de build e em tempo de execução.
|
|
193
|
+
|
|
194
|
+
```ts fileName="intlayer.config.ts"
|
|
195
|
+
export default {
|
|
196
|
+
log: {
|
|
197
|
+
mode: "verbose", // opções: "default" | "verbose" | "disabled"
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Veja [Configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md) para todas as opções de logging.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Validação mais robusta
|
|
207
|
+
|
|
208
|
+
O processamento de dicionários agora realiza uma validação mais robusta. Quando um dicionário falha ao ser processado, o Intlayer evita quebrar sua aplicação e exibe erros acionáveis.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Atualizações ao vivo com CMS (Seguro para produção)
|
|
213
|
+
|
|
214
|
+
Sirva atualizações de conteúdo ao vivo (por exemplo, atualizações editoriais) em produção sem precisar reconstruir sua aplicação.
|
|
215
|
+
|
|
216
|
+
1. Ative o modo de importação ao vivo:
|
|
217
|
+
|
|
218
|
+
```ts fileName="intlayer.config.ts"
|
|
219
|
+
import { type IntlayerConfig } from "intlayer";
|
|
220
|
+
|
|
221
|
+
const config: IntlayerConfig = {
|
|
222
|
+
build: {
|
|
223
|
+
importMode: "live", // "static" | "dynamic" | "live"
|
|
224
|
+
},
|
|
225
|
+
editor: {
|
|
226
|
+
liveSync: true, // habilitar sincronização ao vivo no lado do servidor
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export default config;
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
2. Execute seu aplicativo e o processo ao vivo lado a lado:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
npx intlayer live --process 'vite preview'
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Notas:
|
|
240
|
+
|
|
241
|
+
- Apenas dicionários marcados para usar o modo ao vivo serão buscados ao vivo. Outros são otimizados para desempenho.
|
|
242
|
+
- Retorna para importação dinâmica se a API ao vivo não estiver acessível.
|
|
243
|
+
|
|
244
|
+
Consulte [CMS e Sincronização ao Vivo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md) e [Configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md) para orientações completas.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Notas de migração
|
|
249
|
+
|
|
250
|
+
- Removido: `dictionaryOutput` (anteriormente `i18next` ou `next-intl`). Isso voltará como adaptadores plugáveis em versões futuras. Remova o campo da sua configuração.
|
|
251
|
+
- Remoção relacionada: `i18nextResourcesDir` (veja o changelog em `doc/configuration`).
|
|
252
|
+
- Prefira a nova opção global `content.autoFill` para gerar traduções ausentes em escala.
|
|
253
|
+
- Use `npx intlayer content test` para bloquear PRs com traduções ausentes.
|
|
254
|
+
- Para diagnósticos detalhados, defina `log.mode = 'verbose'`.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Correções
|
|
259
|
+
|
|
260
|
+
- Estabilidade da integração com Vue.js
|
|
261
|
+
- Melhorias no adaptador Lynx
|
|
262
|
+
- Editor Visual no Windows
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Links úteis
|
|
267
|
+
|
|
268
|
+
- [Referência CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_cli.md)
|
|
269
|
+
- [Preenchimento automático](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/autoFill.md)
|
|
270
|
+
- [Configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md)
|
|
271
|
+
- [Referência do arquivo de conteúdo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/content_file.md)
|
|
272
|
+
- [Extensão oficial para VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/vs_code_extension.md)
|
|
273
|
+
- [CMS e Sincronização ao Vivo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)
|
package/docs/pt/roadmap.md
CHANGED
|
@@ -112,18 +112,16 @@ O Intlayer oferece vários métodos para inserir e gerenciar conteúdo dinâmico
|
|
|
112
112
|
O Intlayer suporta **TypeScript** (também JavaScript) e **JSON** para declarar conteúdo.
|
|
113
113
|
|
|
114
114
|
- **TypeScript**:
|
|
115
|
-
|
|
116
115
|
- Garante que a estrutura do seu conteúdo está correta e que nenhuma tradução está faltando.
|
|
117
116
|
- Oferece modos de validação rigorosos ou mais flexíveis.
|
|
118
117
|
- Permite a busca dinâmica de dados a partir de variáveis, funções ou APIs externas.
|
|
119
118
|
|
|
120
119
|
- **JSON**:
|
|
121
|
-
|
|
122
120
|
- Facilita a integração com ferramentas externas (como editores visuais) devido ao seu formato padronizado.
|
|
123
121
|
|
|
124
122
|
> Recursos:
|
|
125
123
|
>
|
|
126
|
-
> - [Formatos de Declaração de Conteúdo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/
|
|
124
|
+
> - [Formatos de Declaração de Conteúdo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/content_file.md)
|
|
127
125
|
|
|
128
126
|
### 7. Purga, otimização de bundle e importações dinâmicas
|
|
129
127
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-17
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
4
|
title: Extensão Oficial do VS Code
|
|
5
5
|
description: Aprenda a usar a extensão Intlayer no VS Code para aprimorar seu fluxo de trabalho de desenvolvimento. Navegue rapidamente entre conteúdos localizados e gerencie seus dicionários de forma eficiente.
|
|
6
6
|
keywords:
|
|
@@ -23,7 +23,7 @@ slugs:
|
|
|
23
23
|
|
|
24
24
|
[**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) é a extensão oficial do Visual Studio Code para **Intlayer**, projetada para melhorar a experiência do desenvolvedor ao trabalhar com conteúdo localizado em seus projetos.
|
|
25
25
|
|
|
26
|
-

|
|
26
|
+

|
|
27
27
|
|
|
28
28
|
Link da extensão: [https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)
|
|
29
29
|
|
|
@@ -31,7 +31,7 @@ Link da extensão: [https://marketplace.visualstudio.com/items?itemName=Intlayer
|
|
|
31
31
|
|
|
32
32
|
### Navegação Instantânea
|
|
33
33
|
|
|
34
|
-
**Suporte a Ir para Definição** – Use
|
|
34
|
+
**Suporte a Ir para Definição** – Use `⌘ + Clique` (Mac) ou `Ctrl + Clique` (Windows/Linux) em uma chave `useIntlayer` para abrir instantaneamente o arquivo de conteúdo correspondente.
|
|
35
35
|
**Integração Fluida** – Funciona perfeitamente com projetos **react-intlayer** e **next-intlayer**.
|
|
36
36
|
**Suporte Multilíngue** – Suporta conteúdo localizado em diferentes idiomas.
|
|
37
37
|
**Integração com VS Code** – Integra-se suavemente com a navegação e a paleta de comandos do VS Code.
|
|
@@ -40,18 +40,66 @@ Link da extensão: [https://marketplace.visualstudio.com/items?itemName=Intlayer
|
|
|
40
40
|
|
|
41
41
|
Gerencie seus dicionários de conteúdo diretamente do VS Code:
|
|
42
42
|
|
|
43
|
-
- **Construir Dicionários**
|
|
44
|
-
- **Enviar Dicionários**
|
|
45
|
-
- **Puxar Dicionários**
|
|
43
|
+
- **Construir Dicionários** – Gere arquivos de conteúdo com base na estrutura do seu projeto.
|
|
44
|
+
- **Enviar Dicionários** – Faça upload do conteúdo mais recente do dicionário para o seu repositório.
|
|
45
|
+
- **Puxar Dicionários** – Sincronize o conteúdo mais recente do dicionário do seu repositório para o seu ambiente local.
|
|
46
|
+
- **Preencher Dicionários** – Popule os dicionários com conteúdo do seu projeto.
|
|
47
|
+
- **Testar Dicionários** – Identifique traduções faltantes ou incompletas.
|
|
46
48
|
|
|
47
49
|
### Gerador de Declaração de Conteúdo
|
|
48
50
|
|
|
49
51
|
Gere facilmente arquivos de dicionário estruturados em diferentes formatos:
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
Se você estiver trabalhando em um componente, ele gerará o arquivo `.content.{ts,tsx,js,jsx,mjs,cjs,json}` para você.
|
|
54
|
+
|
|
55
|
+
Exemplo de componente:
|
|
56
|
+
|
|
57
|
+
```tsx fileName="src/components/MyComponent/index.tsx"
|
|
58
|
+
const MyComponent = () => {
|
|
59
|
+
const { myTranslatedContent } = useIntlayer("my-component");
|
|
60
|
+
|
|
61
|
+
return <span>{myTranslatedContent}</span>;
|
|
62
|
+
};
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Arquivo gerado no formato TypeScript:
|
|
66
|
+
|
|
67
|
+
```tsx fileName="src/components/MyComponent/index.content.ts"
|
|
68
|
+
import { t, type Dictionary } from "intlayer";
|
|
69
|
+
|
|
70
|
+
const componentContent = {
|
|
71
|
+
key: "my-component",
|
|
72
|
+
content: {
|
|
73
|
+
myTranslatedContent: t({
|
|
74
|
+
en: "Hello World",
|
|
75
|
+
es: "Hola Mundo",
|
|
76
|
+
fr: "Bonjour le monde",
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export default componentContent;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Formatos disponíveis:
|
|
85
|
+
|
|
86
|
+
- **TypeScript (`.ts`)**
|
|
87
|
+
- **ES Module (`.esm`)**
|
|
88
|
+
- **CommonJS (`.cjs`)**
|
|
89
|
+
- **JSON (`.json`)**
|
|
90
|
+
|
|
91
|
+
### Aba Intlayer (Barra de Atividades)
|
|
92
|
+
|
|
93
|
+
Abra a aba Intlayer clicando no ícone do Intlayer na Barra de Atividades do VS Code. Ela contém duas visualizações:
|
|
94
|
+
|
|
95
|
+
- **Pesquisar**: Uma barra de pesquisa ao vivo para filtrar rapidamente os dicionários e seu conteúdo. Digitar atualiza os resultados instantaneamente.
|
|
96
|
+
- **Dicionários**: Uma visualização em árvore dos seus ambientes/projetos, chaves dos dicionários e os arquivos que contribuem com entradas. Você pode:
|
|
97
|
+
- Clicar em um arquivo para abri-lo no editor.
|
|
98
|
+
- Usar a barra de ferramentas para executar ações: Build, Pull, Push, Fill, Refresh, Test e Create Dictionary File.
|
|
99
|
+
- Usar o menu de contexto para ações específicas do item:
|
|
100
|
+
- Em um dicionário: Pull ou Push
|
|
101
|
+
- Em um arquivo: Fill Dictionary
|
|
102
|
+
- Quando você alternar de editor, a árvore revelará o arquivo correspondente se ele pertencer a um dicionário.
|
|
55
103
|
|
|
56
104
|
## Instalação
|
|
57
105
|
|
|
@@ -59,15 +107,9 @@ Você pode instalar o **Intlayer** diretamente no Marketplace do VS Code:
|
|
|
59
107
|
|
|
60
108
|
1. Abra o **VS Code**.
|
|
61
109
|
2. Vá para o **Marketplace de Extensões**.
|
|
62
|
-
3.
|
|
110
|
+
3. Pesquise por **"Intlayer"**.
|
|
63
111
|
4. Clique em **Instalar**.
|
|
64
112
|
|
|
65
|
-
Alternativamente, instale via linha de comando:
|
|
66
|
-
|
|
67
|
-
```sh
|
|
68
|
-
code --install-extension intlayer
|
|
69
|
-
```
|
|
70
|
-
|
|
71
113
|
## Uso
|
|
72
114
|
|
|
73
115
|
### Navegação Rápida
|
|
@@ -79,74 +121,63 @@ code --install-extension intlayer
|
|
|
79
121
|
const content = useIntlayer("app");
|
|
80
122
|
```
|
|
81
123
|
|
|
82
|
-
3. **Command-click** (`⌘+Click` no macOS) ou **Ctrl+Click** (no Windows/Linux) na chave (
|
|
124
|
+
3. **Command-click** (`⌘+Click` no macOS) ou **Ctrl+Click** (no Windows/Linux) na chave (ex.: `"app"`).
|
|
83
125
|
4. O VS Code abrirá automaticamente o arquivo de dicionário correspondente, por exemplo, `src/app.content.ts`.
|
|
84
126
|
|
|
85
127
|
### Gerenciando Dicionários de Conteúdo
|
|
86
128
|
|
|
129
|
+
### Aba Intlayer (Barra de Atividades)
|
|
130
|
+
|
|
131
|
+
Use a aba lateral para navegar e gerenciar os dicionários:
|
|
132
|
+
|
|
133
|
+
- Abra o ícone do Intlayer na Barra de Atividades.
|
|
134
|
+
- Em **Pesquisar**, digite para filtrar dicionários e entradas em tempo real.
|
|
135
|
+
- Em **Dicionários**, navegue por ambientes, dicionários e arquivos. Use a barra de ferramentas para Construir, Puxar, Enviar, Preencher, Atualizar, Testar e Criar Arquivo de Dicionário. Clique com o botão direito para ações de contexto (Puxar/Enviar em dicionários, Preencher em arquivos). O arquivo atual do editor é revelado automaticamente na árvore quando aplicável.
|
|
136
|
+
|
|
87
137
|
#### Construindo Dicionários
|
|
88
138
|
|
|
89
|
-
Gere todos os arquivos de conteúdo
|
|
139
|
+
Gere todos os arquivos de conteúdo dos dicionários com:
|
|
90
140
|
|
|
91
141
|
```sh
|
|
92
142
|
Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
|
|
93
143
|
```
|
|
94
144
|
|
|
95
|
-
|
|
145
|
+
Pesquise por **Construir Dicionários** e execute o comando.
|
|
96
146
|
|
|
97
147
|
#### Enviando Dicionários
|
|
98
148
|
|
|
99
|
-
|
|
149
|
+
Envie o conteúdo mais recente dos dicionários:
|
|
100
150
|
|
|
101
151
|
1. Abra a **Paleta de Comandos**.
|
|
102
|
-
2.
|
|
152
|
+
2. Pesquise por **Enviar Dicionários**.
|
|
103
153
|
3. Selecione os dicionários para enviar e confirme.
|
|
104
154
|
|
|
105
|
-
####
|
|
155
|
+
#### Puxando Dicionários
|
|
106
156
|
|
|
107
157
|
Sincronize o conteúdo mais recente do dicionário:
|
|
108
158
|
|
|
109
159
|
1. Abra a **Paleta de Comandos**.
|
|
110
|
-
2. Procure por **
|
|
111
|
-
3. Escolha os dicionários para
|
|
112
|
-
|
|
113
|
-
## Desenvolvimento & Contribuição
|
|
114
|
-
|
|
115
|
-
Quer contribuir? Agradecemos contribuições da comunidade!
|
|
160
|
+
2. Procure por **Puxar Dicionários**.
|
|
161
|
+
3. Escolha os dicionários para puxar.
|
|
116
162
|
|
|
117
|
-
|
|
163
|
+
#### Preenchendo Dicionários
|
|
118
164
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
Clone o repositório e instale as dependências:
|
|
122
|
-
|
|
123
|
-
```sh
|
|
124
|
-
git clone https://github.com/aymericzip/intlayer-vs-code-extension.git
|
|
125
|
-
cd intlayer-vs-code-extension
|
|
126
|
-
npm install
|
|
127
|
-
```
|
|
165
|
+
Preencha os dicionários com conteúdo do seu projeto:
|
|
128
166
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
1. Abra o projeto no **VS Code**.
|
|
134
|
-
2. Pressione `F5` para iniciar uma nova janela **Extension Development Host**.
|
|
135
|
-
|
|
136
|
-
### Enviar um Pull Request
|
|
137
|
-
|
|
138
|
-
Se você melhorar a extensão, envie um PR no [GitHub](https://github.com/aymericzip/intlayer-vs-code-extension).
|
|
139
|
-
|
|
140
|
-
## Feedback & Problemas
|
|
141
|
-
|
|
142
|
-
Encontrou um bug ou tem uma solicitação de recurso? Abra uma issue em nosso **repositório do GitHub**:
|
|
167
|
+
1. Abra a **Paleta de Comandos**.
|
|
168
|
+
2. Procure por **Preencher Dicionários**.
|
|
169
|
+
3. Execute o comando para popular os dicionários.
|
|
143
170
|
|
|
144
|
-
|
|
171
|
+
#### Testando Dicionários
|
|
145
172
|
|
|
146
|
-
|
|
173
|
+
Valide os dicionários e encontre traduções faltantes:
|
|
147
174
|
|
|
148
|
-
|
|
175
|
+
1. Abra a **Paleta de Comandos**.
|
|
176
|
+
2. Procure por **Testar Dicionários**.
|
|
177
|
+
3. Revise os problemas relatados e corrija conforme necessário.
|
|
149
178
|
|
|
150
|
-
## Histórico
|
|
179
|
+
## Histórico do Documento
|
|
151
180
|
|
|
152
|
-
|
|
181
|
+
| Versão | Data | Alterações |
|
|
182
|
+
| ------ | ---------- | ----------------- |
|
|
183
|
+
| 5.5.10 | 2025-06-29 | Histórico inicial |
|