@intlayer/docs 8.12.2 → 8.12.4-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.map +1 -1
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +1 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +1 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +1 -0
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/doc.d.ts.map +1 -1
- package/dist/types/frequentQuestions.d.ts.map +1 -1
- package/dist/types/legal.d.ts.map +1 -1
- package/docs/ar/bundle_optimization.md +250 -102
- package/docs/ar/configuration.md +10 -10
- package/docs/bn/bundle_optimization.md +252 -104
- package/docs/bn/configuration.md +10 -10
- package/docs/cs/bundle_optimization.md +253 -105
- package/docs/cs/configuration.md +10 -10
- package/docs/de/bundle_optimization.md +245 -97
- package/docs/de/configuration.md +10 -10
- package/docs/en/bundle_optimization.md +172 -49
- package/docs/en/configuration.md +10 -10
- package/docs/en-GB/bundle_optimization.md +230 -82
- package/docs/en-GB/configuration.md +10 -10
- package/docs/es/bundle_optimization.md +250 -102
- package/docs/es/configuration.md +10 -10
- package/docs/fr/bundle_optimization.md +223 -75
- package/docs/fr/configuration.md +10 -10
- package/docs/hi/bundle_optimization.md +253 -105
- package/docs/hi/configuration.md +10 -10
- package/docs/id/bundle_optimization.md +258 -110
- package/docs/id/configuration.md +10 -10
- package/docs/it/bundle_optimization.md +249 -103
- package/docs/it/configuration.md +10 -10
- package/docs/ja/bundle_optimization.md +245 -97
- package/docs/ja/configuration.md +10 -10
- package/docs/ko/bundle_optimization.md +253 -105
- package/docs/ko/configuration.md +10 -10
- package/docs/nl/bundle_optimization.md +249 -101
- package/docs/nl/configuration.md +10 -10
- package/docs/pl/bundle_optimization.md +258 -111
- package/docs/pl/configuration.md +10 -10
- package/docs/pt/bundle_optimization.md +256 -115
- package/docs/pt/configuration.md +10 -10
- package/docs/ru/bundle_optimization.md +253 -105
- package/docs/ru/configuration.md +10 -10
- package/docs/tr/bundle_optimization.md +255 -107
- package/docs/tr/configuration.md +10 -10
- package/docs/uk/bundle_optimization.md +250 -102
- package/docs/uk/configuration.md +10 -10
- package/docs/ur/bundle_optimization.md +257 -109
- package/docs/ur/configuration.md +10 -10
- package/docs/vi/bundle_optimization.md +259 -111
- package/docs/vi/configuration.md +10 -10
- package/docs/zh/bundle_optimization.md +260 -112
- package/docs/zh/configuration.md +10 -10
- package/docs/zh-TW/bundle_optimization.md +602 -0
- package/package.json +8 -8
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-25
|
|
3
|
-
updatedAt: 2026-
|
|
4
|
-
title: Otimizando o
|
|
5
|
-
description: Reduza o tamanho do bundle da sua aplicação otimizando o conteúdo de internacionalização (i18n). Aprenda
|
|
3
|
+
updatedAt: 2026-06-07
|
|
4
|
+
title: Otimizando o Tamanho e a Performance do Bundle i18n
|
|
5
|
+
description: Reduza o tamanho do bundle da sua aplicação otimizando o conteúdo de internacionalização (i18n). Aprenda como aproveitar o tree shaking e lazy loading para dicionários usando o Intlayer.
|
|
6
6
|
keywords:
|
|
7
|
-
- Otimização de
|
|
8
|
-
- Automação de
|
|
9
|
-
- Conteúdo
|
|
7
|
+
- Otimização de Bundle
|
|
8
|
+
- Automação de Conteúdo
|
|
9
|
+
- Conteúdo Dinâmico
|
|
10
10
|
- Intlayer
|
|
11
11
|
- Next.js
|
|
12
12
|
- JavaScript
|
|
@@ -16,33 +16,36 @@ slugs:
|
|
|
16
16
|
- concept
|
|
17
17
|
- bundle-optimization
|
|
18
18
|
history:
|
|
19
|
+
- version: 8.12.0
|
|
20
|
+
date: 2026-06-07
|
|
21
|
+
changes: "Adicionado `intlayerPurgeBabelPlugin` e `intlayerMinifyBabelPlugin` para Babel/Webpack; esclarecimento do pipeline de plugins"
|
|
19
22
|
- version: 8.7.0
|
|
20
23
|
date: 2026-04-08
|
|
21
|
-
changes: "Adicionadas
|
|
24
|
+
changes: "Adicionadas opções `minify` e `purge` para configuração de build"
|
|
22
25
|
---
|
|
23
26
|
|
|
24
|
-
# Otimizando o
|
|
27
|
+
# Otimizando o Tamanho e a Performance do Bundle i18n
|
|
25
28
|
|
|
26
|
-
Um dos desafios mais comuns
|
|
29
|
+
Um dos desafios mais comuns em soluções tradicionais de i18n focadas em uso de arquivos JSON está em gerenciar de modo hábil o tamanho do conteúdo. Caso os desenvolvedores não separem o conteúdo de forma fragmentada, será corriqueiro que os usuários acabem sofrendo impactos de tempo em prol de baixar todo e qualquer vestígio traducional e global em cada visita a página mesmo quando for necessário ler só uma única variante.
|
|
27
30
|
|
|
28
|
-
Por exemplo,
|
|
31
|
+
Por exemplo, um aplicativo com 10 páginas traduzido a título de abranger 10 línguas traria uma consequência ao usuário final onde desnecessariamente lidaria com os conteúdos base de mais de 100 páginas, quando a real métrica seriam apenas os dados de **uma** única rota em uso real. Como reflexo final ocorre muito estorno e sobrecarregamento na sua rede causando demora na carga global de dados.
|
|
29
32
|
|
|
30
|
-
**
|
|
33
|
+
**A lógica de Intlayer supera essa adversidade empregando fatores como a otimização de execução de compilação (build-time optimization).** É um cenário que abrange de frente análises na arquitetura nativa com intenção em entender puramente quais dicionários acabam compondo partes exclusivas relativas a cada componente sem sobrecarregar toda sua base com dicionários sem efetividade imediata.
|
|
31
34
|
|
|
32
35
|
## Índice
|
|
33
36
|
|
|
34
37
|
<TOC />
|
|
35
38
|
|
|
36
|
-
##
|
|
39
|
+
## Faça uma varredura sobre seu bundle
|
|
37
40
|
|
|
38
|
-
|
|
41
|
+
Aprofundar nos bastidores das métricas que moldam o próprio bundle fará com que consiga achar focos cruciais em JSON's não compactos e traçar melhor um planejamento adequado voltado ao code-splitting apropriado do escopo. Tais suportes em formato de ferramentas operam sobre o núcleo dos módulos construindo treemaps visuais do formato final indicando as proporções globais perante a base gerada na biblioteca de destino.
|
|
39
42
|
|
|
40
43
|
<Tabs>
|
|
41
44
|
<Tab value="vite">
|
|
42
45
|
|
|
43
46
|
### Vite / Rollup
|
|
44
47
|
|
|
45
|
-
O Vite usa o
|
|
48
|
+
O Vite usa o construtor subjacente pautado ao Rollup. Ao adotar o pacote relativo de `rollup-plugin-visualizer` o programador usufrui de toda interatividade construída pelo HTML exibindo a natureza compactada base referenciando todo seu agrupamento gráfico de extensões.
|
|
46
49
|
|
|
47
50
|
```bash
|
|
48
51
|
npm install -D rollup-plugin-visualizer
|
|
@@ -55,7 +58,7 @@ import { visualizer } from "rollup-plugin-visualizer";
|
|
|
55
58
|
export default defineConfig({
|
|
56
59
|
plugins: [
|
|
57
60
|
visualizer({
|
|
58
|
-
open: true, //
|
|
61
|
+
open: true, // Responsável por inicializar e expandir de modo dinâmico no navegador
|
|
59
62
|
filename: "stats.html",
|
|
60
63
|
gzipSize: true,
|
|
61
64
|
brotliSize: true,
|
|
@@ -69,7 +72,7 @@ export default defineConfig({
|
|
|
69
72
|
|
|
70
73
|
### Next.js (Turbopack)
|
|
71
74
|
|
|
72
|
-
|
|
75
|
+
Voltado a uso no ecossistema App Router e também ao Turbopack, esse formato interno e focado em ecossistema experimental nativo fornece apoio irrestrito perante dependências de base sem envolver extensões extraoficiais.
|
|
73
76
|
|
|
74
77
|
```bash packageManager='npm'
|
|
75
78
|
npx next experimental-analyze
|
|
@@ -92,7 +95,7 @@ bun next experimental-analyze
|
|
|
92
95
|
|
|
93
96
|
### Next.js (Webpack)
|
|
94
97
|
|
|
95
|
-
|
|
98
|
+
Caso implemente o construtor padronizado padrão em arquitetura de Next.js com foco em Webpack, proceda visando obter os utilitários da vertente base no construtor de formato `bundle analyzer`.
|
|
96
99
|
|
|
97
100
|
```bash packageManager='npm'
|
|
98
101
|
npm install -D @next/bundle-analyzer
|
|
@@ -116,11 +119,11 @@ const withBundleAnalyzer = require("@next/bundle-analyzer")({
|
|
|
116
119
|
});
|
|
117
120
|
|
|
118
121
|
module.exports = withBundleAnalyzer({
|
|
119
|
-
//
|
|
122
|
+
// Implementação livre associada ao Next.js em prol de estender métricas construtivas...
|
|
120
123
|
});
|
|
121
124
|
```
|
|
122
125
|
|
|
123
|
-
**
|
|
126
|
+
**Parâmetro de uso construtivo:**
|
|
124
127
|
|
|
125
128
|
```bash
|
|
126
129
|
ANALYZE=true npm run build
|
|
@@ -129,9 +132,9 @@ ANALYZE=true npm run build
|
|
|
129
132
|
</Tab>
|
|
130
133
|
<Tab value="Webpack (CRA / Angular / etc)">
|
|
131
134
|
|
|
132
|
-
###
|
|
135
|
+
### Configurações de Padrão do Webpack
|
|
133
136
|
|
|
134
|
-
|
|
137
|
+
Tratativas associadas ao React na adoção pura baseada no uso preterido do "Create React App" (com modo 'eject' previamente inicializado) sem falar do Angular e outras diretrizes preestabelecidas sobre as margens baseadas pelo escopo padrão do `webpack-bundle-analyzer`.
|
|
135
138
|
|
|
136
139
|
```bash packageManager='npm'
|
|
137
140
|
npm install -D webpack-bundle-analyzer
|
|
@@ -166,29 +169,66 @@ export default {
|
|
|
166
169
|
</Tab>
|
|
167
170
|
</Tabs>
|
|
168
171
|
|
|
169
|
-
## Como
|
|
172
|
+
## Como a Base Opera
|
|
170
173
|
|
|
171
|
-
|
|
174
|
+
As vertentes baseadas perante os módulos dinâmicos referenciados com apoio do uso contínuo preterido pautam perante implementações focadas nos propósitos componentes e pontuais. Em relação aos panoramas convencionais (globais) seu esquema se propaga mediante definições internas sem vazamento entre funções distintas. Toda compilação associada sob as etapas interage num procedimento naturalizado em construtos:
|
|
172
175
|
|
|
173
|
-
1.
|
|
174
|
-
2.
|
|
175
|
-
3.
|
|
176
|
+
1. Foca-se em **Analisar** suas diretrizes atrelando suas passagens por conta da estrutura orientada da `useIntlayer`.
|
|
177
|
+
2. Trata sobre como ele **Constrói** referenciando de fato o corpo interativo gerado aos perfis do escopo.
|
|
178
|
+
3. Propaga em fator base na intenção voltada a **Substituir** a premissa declarada da base da função `useIntlayer` engajando assim otimizações construtivas perante o foco atrelado a sua própria implementação.
|
|
176
179
|
|
|
177
|
-
|
|
180
|
+
Sob este alinhamento as propostas adquirem a certeza de:
|
|
178
181
|
|
|
179
|
-
-
|
|
180
|
-
-
|
|
182
|
+
- Retirar por definitivo e excluir os conteúdos irrelevantes do núcleo que acabam integrando os "dead codes" das rotas componentes.
|
|
183
|
+
- Estabelecer foco atrelado e inerente em propor a ativação lazy com os módulos adjacentes do bloco e dos trechos lazy dos componentes e partes.
|
|
181
184
|
|
|
182
|
-
##
|
|
185
|
+
## O Que Referencia Em Respeito A Plugins
|
|
186
|
+
|
|
187
|
+
As vertentes pautadas do ecossistema otimizado base pelo Intlayer consistem num emaranhado formatado e distinto fragmentados entre pequenos ecossistemas. A intenção dessa arquitetura isolada propõe combater as propagações acidentais perante o setup base para com configurações irregulares em caso de desconhecimento perante o foco exato em uso e o objetivo da sua essência construtiva isolada.
|
|
188
|
+
|
|
189
|
+
### Plugins Integrados Para Com Babel (`@intlayer/babel`)
|
|
190
|
+
|
|
191
|
+
Este ramo abrange puramente escopos direcionados e voltados ao processo em setups no núcleo interno de implementações em formato Webpack operando com arquivos predefinidos nas bases (como é o caso natural do Babel associado de base, Webpack modular customizado em sua integridade nativa do CRA entre outros propósitos da extensão `babel.config.js` ).
|
|
192
|
+
|
|
193
|
+
| Funções do Plugin Base | Fatores Práticos Do Recurso E Suas Integrações Com Componentes |
|
|
194
|
+
| :---------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
195
|
+
| `intlayerExtractBabelPlugin` | Percorre todo núcleo do escopo com premissa modular ligando fatores associativos entre funções `.content.ts` com as propostas associadas à destinação em pastas `.intlayer/` |
|
|
196
|
+
| `intlayerOptimizeBabelPlugin` | Adota premissas nativas mudando o sentido focado de `useIntlayer('key')` para abranger a otimizada base `useDictionary(hash)` gerindo implementações no escopo do `import` |
|
|
197
|
+
| `intlayerPurgeBabelPlugin` | Mapeia e integra lógicas puramente atreladas a varreduras com intento final na premissa base de descartar os **campos sem uso das diretivas** com base final dos dicionários |
|
|
198
|
+
| `intlayerMinifyBabelPlugin` | Transcreve sua **chave matriz base na nomeclatura compacta sob a extensão de referências nativas alfabéticas limitadas em seus núcleos** (`title` → `a`) sob suas origens JSON |
|
|
199
|
+
|
|
200
|
+
> **Cuidado Atrelado Com A Ordem Da Execução Preestabelecida Do Arquivo Principal:** O esquema atrelado com os focos das bases de expurgo (purge) e premissas curtas em definições (minify) tendem inevitavelmente estarem e persistirem em um nível que antecede de antemão e antes que se executem e apliquem o método referencial em otimização (`optimize`) na base primária do arquivo nativo `babel.config.js`. Se o optimize operar logo em instâncias prematuras o registro das senhas chave tendem a se omitir não proporcionando suporte base o bastante nas partes do escopo e apagando registros nativos sobre premissas das matrizes JSON que deverão ser mapeadas na função da execução seguinte.
|
|
201
|
+
|
|
202
|
+
Tais modelos adquirem opções e propósitos associados com integrações perante helpers nativos pautando perante leitura formatada para leitura de parâmetros interligados no esquema base inicial do `intlayer.config.ts`:
|
|
203
|
+
|
|
204
|
+
| Helpers de Opcionais | Integração Destinada Relacionada Ao Base |
|
|
205
|
+
| :--------------------------- | :--------------------------------------- |
|
|
206
|
+
| `getExtractPluginOptions()` | `intlayerExtractBabelPlugin` |
|
|
207
|
+
| `getOptimizePluginOptions()` | `intlayerOptimizeBabelPlugin` |
|
|
208
|
+
| `getPurgePluginOptions()` | `intlayerPurgeBabelPlugin` |
|
|
209
|
+
| `getMinifyPluginOptions()` | `intlayerMinifyBabelPlugin` |
|
|
210
|
+
|
|
211
|
+
### O Setup Por Trás De Vite (`vite-intlayer`)
|
|
212
|
+
|
|
213
|
+
O usuário da base focada na plataforma gerada do esquema no Vite não fará manipulações com tais recursos predefinindo os passos com métodos e formatações exaustivas e diretas visto não ser preciso em seu formato automatizado que interage mediante execuções da diretiva e formato focado `withIntlayer()` dentro de sua predefinição ligada ao módulo e base em `vite.config.ts`. Extensões relativas aos recursos `build.purge` ou da implementação em esquema e base em `build.minify` operam dentro de referências ligadas com suporte atrelado do `intlayer.config.ts`.
|
|
214
|
+
|
|
215
|
+
| Modelo Integrado Ao Núcleo Do Vite | Relações E Bases De Semelhanças Nativas |
|
|
216
|
+
| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
217
|
+
| Usage analyzer | Corresponde como fator e esquema nativo analítico e idêntico atrelado a varredura associada ao `intlayerPurgeBabelPlugin` |
|
|
218
|
+
| Dictionary prune | Reflete referências voltadas no suporte preterido perante processos paralelos construtivos do formato em `intlayerPurgeBabelPlugin` |
|
|
219
|
+
| Dictionary minify | Base análoga e integrada de premissas com ligações nos escritos pautando referências no molde JSON nativo voltada do `intlayerMinifyBabelPlugin` |
|
|
220
|
+
| Babel transform | Associa parâmetros no suporte transformativo que atua nas esferas associativas dos diretórios voltados do renome natural em conjunto focado ao `intlayerMinifyBabelPlugin` e também ao respectivo processo preestabelecido da função modular `intlayerOptimizeBabelPlugin` |
|
|
221
|
+
|
|
222
|
+
## Etapas Em Modos Variados (Plataformas)
|
|
183
223
|
|
|
184
224
|
<Tabs>
|
|
185
225
|
<Tab value="nextjs">
|
|
186
226
|
|
|
187
227
|
### Next.js
|
|
188
228
|
|
|
189
|
-
|
|
229
|
+
Os propósitos focais relativos com ecossistemas formatados a propósitos otimizados necessitam aderirem sobre implementações preteridas nativas associadas aos componentes pautados em referências no padrão construtivo em `@intlayer/swc`. Esse foco ocorre puramente de maneira interna pois essa vertente pautada trabalha perante construções atreladas sobre formatos definidos sob escopo formatado nativamente pelo formato modular `SWC`.
|
|
190
230
|
|
|
191
|
-
> Este
|
|
231
|
+
> Este recurso opera de maneira indireta preestabelecida na função que o construtor opera base com propósitos sem estarem enquadrados nativamente uma vez construtor `SWC` e sua arquitetura encontrarem cenários passíveis ainda experimentais por propósitos do projeto base no esquema das funcionalidades e das perspectivas. Tais perspectivas podem tender a serem diferentes em longo prazo por propostas alheias e afins.
|
|
192
232
|
|
|
193
233
|
```bash packageManager="npm"
|
|
194
234
|
npm install -D @intlayer/swc
|
|
@@ -206,21 +246,62 @@ pnpm add -D @intlayer/swc
|
|
|
206
246
|
bun add -d @intlayer/swc
|
|
207
247
|
```
|
|
208
248
|
|
|
209
|
-
|
|
249
|
+
Os processos automatizam os engajamentos atrelando sua extensão integrativa assim em propostas isoladas.
|
|
250
|
+
|
|
251
|
+
O panorama atua mediante referências relacionadas do **purge e também atrelado a extensões minificadas (minify)** para proporcionar ligações atreladas mediante inserção atrelada com apoio referencial focado de `@intlayer/babel`. Como ocorrem as ligações base no transformativo `SWC` os plugins Babel operam em vias em propósitos associados com pre-procedimentos base.
|
|
252
|
+
|
|
253
|
+
```bash packageManager="npm"
|
|
254
|
+
npm install -D @intlayer/babel
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
```javascript fileName="babel.config.js"
|
|
258
|
+
const {
|
|
259
|
+
intlayerPurgeBabelPlugin,
|
|
260
|
+
intlayerMinifyBabelPlugin,
|
|
261
|
+
getPurgePluginOptions,
|
|
262
|
+
getMinifyPluginOptions,
|
|
263
|
+
} = require("@intlayer/babel");
|
|
264
|
+
|
|
265
|
+
module.exports = {
|
|
266
|
+
presets: ["next/babel"],
|
|
267
|
+
plugins: [
|
|
268
|
+
// Purge: Otimiza seu diretório na base focada sem o envolvimento associativo sobre chaves nulas JSON formatadas nas origens de suporte ".intlayer/**/*.json"
|
|
269
|
+
[intlayerPurgeBabelPlugin, getPurgePluginOptions()],
|
|
270
|
+
// Minify: Trata chaves nativas da função JSON diminuindo na transcrição compacta da implementação
|
|
271
|
+
[intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
|
|
272
|
+
// Note: Foco sem amparo de obrigatoriedade perante a relação e ligações do `@intlayer/swc` por ser passível ao suporte da formatação relativa focado no formato com rescrição no `useIntlayer` em vias perante `useDictionary`.
|
|
273
|
+
],
|
|
274
|
+
};
|
|
275
|
+
```
|
|
210
276
|
|
|
211
277
|
</Tab>
|
|
212
278
|
<Tab value="vite">
|
|
213
279
|
|
|
214
280
|
### Vite
|
|
215
281
|
|
|
216
|
-
|
|
282
|
+
Esses fluxos não possuem propósitos na extensão externa a não por meio da extensão preestabelecida no diretório focado e integrado ao modelo base `@intlayer/babel`.
|
|
283
|
+
|
|
284
|
+
Proporcione habilitação dos cenários em implementações do arquivo e diretrizes com focos integrados das diretivas voltadas das vertentes associativas do construtor:
|
|
285
|
+
|
|
286
|
+
```typescript fileName="intlayer.config.ts"
|
|
287
|
+
import type { IntlayerConfig } from "intlayer";
|
|
288
|
+
|
|
289
|
+
const config: IntlayerConfig = {
|
|
290
|
+
build: {
|
|
291
|
+
purge: true, // propõe remover diretivas nativas descartadas em bundles nativos formatados
|
|
292
|
+
minify: true, // preza perante conversão com premissa ao construtor limitando suas extensões relativas ao longo de renomes modulares nativos na sua vertente final nativa
|
|
293
|
+
},
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
export default config;
|
|
297
|
+
```
|
|
217
298
|
|
|
218
299
|
</Tab>
|
|
219
300
|
<Tab value="webpack">
|
|
220
301
|
|
|
221
|
-
### Webpack
|
|
302
|
+
### Webpack (E implementações ligadas em bases modulares preteridas por setups focados do tipo formatado e estendido no formato do Babel e seus ecossistemas relativos no contexto base de escopos)
|
|
222
303
|
|
|
223
|
-
|
|
304
|
+
Tratativas associadas perante integrações preestabelecidas nas integrações do `@intlayer/babel`:
|
|
224
305
|
|
|
225
306
|
```bash packageManager="npm"
|
|
226
307
|
npm install -D @intlayer/babel
|
|
@@ -238,73 +319,97 @@ pnpm add -D @intlayer/babel
|
|
|
238
319
|
bun add -d @intlayer/babel
|
|
239
320
|
```
|
|
240
321
|
|
|
241
|
-
|
|
322
|
+
Integrar ligações do plugin mediante a respectiva `babel.config.js` nos parâmetros focados no preestabelecimento relativo a referências:
|
|
323
|
+
|
|
324
|
+
```javascript fileName="babel.config.js"
|
|
242
325
|
const {
|
|
243
|
-
|
|
326
|
+
intlayerExtractBabelPlugin,
|
|
327
|
+
intlayerPurgeBabelPlugin,
|
|
328
|
+
intlayerMinifyBabelPlugin,
|
|
244
329
|
intlayerOptimizeBabelPlugin,
|
|
330
|
+
getExtractPluginOptions,
|
|
331
|
+
getPurgePluginOptions,
|
|
332
|
+
getMinifyPluginOptions,
|
|
333
|
+
getOptimizePluginOptions,
|
|
245
334
|
} = require("@intlayer/babel");
|
|
246
335
|
|
|
247
336
|
module.exports = {
|
|
248
|
-
plugins: [
|
|
337
|
+
plugins: [
|
|
338
|
+
// Base de Integração Constante com Foco Extrativo `.content.ts` na proporção nativa focada e limitada de suporte na premissa `.intlayer/**/*.json`
|
|
339
|
+
[intlayerExtractBabelPlugin, getExtractPluginOptions()],
|
|
340
|
+
|
|
341
|
+
// Diretiva em Expurgos: Foca exclusões nativas limitando sua proporção sem bases ".intlayer/**/*.json"
|
|
342
|
+
// (Foca no uso dos registros e sinalizadores construtivos na sua estrutura matriz e referências integradas e base nas definições dos parâmetros e focos build.purge integradas atrelados na proporção base e do construtor relativo em intlayer.config.ts)
|
|
343
|
+
[intlayerPurgeBabelPlugin, getPurgePluginOptions()],
|
|
344
|
+
|
|
345
|
+
// Minificação de Chaves Relacionadas Nos Escritos Base Formato JSON
|
|
346
|
+
// (Processos pautando os dados do sinalizador preteridos atrelados focado no uso base build.minify perante intlayer.config.ts)
|
|
347
|
+
[intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
|
|
348
|
+
|
|
349
|
+
// Fator em Otimizações referenciadas ligadas perante as propagações formatadas perante reestruturações em base associada das ligações em referências `useIntlayer('key')` para abranger a otimizada base `useDictionary(hash)` gerindo referências
|
|
350
|
+
[intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
|
|
351
|
+
],
|
|
249
352
|
};
|
|
250
353
|
```
|
|
251
354
|
|
|
252
355
|
</Tab>
|
|
253
356
|
</Tabs>
|
|
254
357
|
|
|
255
|
-
##
|
|
358
|
+
## Sobre as Bases (Configuration)
|
|
256
359
|
|
|
257
|
-
|
|
360
|
+
Fica com bases focadas aos seus usos e restrições integrando na propriedade de construção (`build`):
|
|
258
361
|
|
|
259
362
|
```typescript fileName="intlayer.config.ts"
|
|
260
363
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
261
364
|
|
|
262
365
|
const config: IntlayerConfig = {
|
|
263
366
|
internationalization: {
|
|
264
|
-
locales: [Locales.ENGLISH, Locales.
|
|
367
|
+
locales: [Locales.ENGLISH, Locales.PORTUGUESE],
|
|
265
368
|
defaultLocale: Locales.ENGLISH,
|
|
266
369
|
},
|
|
267
370
|
dictionary: {
|
|
268
371
|
importMode: "dynamic",
|
|
269
372
|
},
|
|
270
373
|
build: {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
purge: true;
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* Indica se o build deve verificar tipos TypeScript
|
|
283
|
-
*/
|
|
284
|
-
checkTypes: false;
|
|
374
|
+
// Altera construtos relacionados atrelados com `useIntlayer()` em propostas ligadas de direções no formato base atrelado nos procedimentos preestabelecidos do construto das proporções na build time de otimizações de uso do escopo com proporções. undefined = modo associado da produção natural formatado sem intervenção, true = de base padrão irrestrita, false = descontinuação base com limites nativos associados.
|
|
375
|
+
optimize: undefined,
|
|
376
|
+
|
|
377
|
+
// Proporciona redução no cenário das definições matriz limitando por base nomenclaturas limitadas com letras focando propósitos limitados associados na compactação da extensão base de renome. Redução de JSON base requer optimize integrado relativo ao construto.
|
|
378
|
+
minify: true,
|
|
379
|
+
|
|
380
|
+
// Modificação construtiva limitando focos do núcleo preestabelecido atrelados e referenciados por chamados não executados de extensões ao longo da execução da varredura modular em códigos.
|
|
381
|
+
purge: true,
|
|
285
382
|
},
|
|
286
383
|
};
|
|
287
384
|
|
|
288
385
|
export default config;
|
|
289
386
|
```
|
|
290
387
|
|
|
291
|
-
>
|
|
388
|
+
> Com propósito associativo do foco natural do optimize o seu cenário primário atrelado do suporte em predefinição padrão sem interferências na base definida focado no formato matriz (`undefined`) acaba tendendo ao escopo das soluções sem restrições base sendo mantido naturalmente pautado com diretivas nas maiorias focado nos parâmetros preestabelecidos com parâmetros focados atrelados nos direcionamentos dos construtos das partes matriz do seu suporte atrelado de cenários associativos de foco natural.
|
|
389
|
+
|
|
390
|
+
> Consulte a extensão associada perante premissas relacionadas às formatações nas configurações em [Configurações](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md)
|
|
292
391
|
|
|
293
|
-
|
|
392
|
+
### Os Fatores Sobre Integrações E Opções
|
|
294
393
|
|
|
295
|
-
|
|
394
|
+
| Fator do Propósito Construtivo Relativo | Suportes e Tipologias | Default Base Constante | Diretriz das Definições De Escopos Construtivos |
|
|
395
|
+
| :-------------------------------------- | :--------------------- | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
396
|
+
| **`optimize`** | `boolean \| undefined` | `undefined` | Integração em otimizações formatando suporte sem bases irrelevantes ou em produção do processo na arquitetura final sem afetar bases na construtiva referencial sem minificar ou excluir parâmetros irrelevantes associados e com base com parâmetros referenciados no suporte do false na formatação do formato do processo de base da arquitetura final associada sem premissas com ligações nos processos. |
|
|
397
|
+
| **`minify`** | `boolean` | `false` | Formata premissas dos campos limitando o formato com parâmetros nas definições atrelados com renomes de matriz convertendo premissas por aliases com letras e limitação associativa. Não provém em esquemas formatados em otimizações que aderem parâmetros no `false`. |
|
|
398
|
+
| **`purge`** | `boolean` | `false` | Processos com foco no decaimento do JSON eliminando focos mortos em propostas preestabelecidas. Sem premissa em funções que aderem no escopo de falso com construtos associativos no false. |
|
|
296
399
|
|
|
297
|
-
|
|
400
|
+
### Redução Modular Atrelada Nas Extensões (Minificação De Estruturas Relacionadas)
|
|
298
401
|
|
|
299
|
-
|
|
300
|
-
| :------------- | :-------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
301
|
-
| **`optimize`** | `boolean` | `undefined` | Controla se a otimização de build está habilitada. Se `true`, o Intlayer substitui as chamadas de dicionário por injeções otimizadas. Se `false`, a otimização é desabilitada. Idealmente definido como `true` em prod. |
|
|
302
|
-
| **`minify`** | `boolean` | `false` | Se deve minificar os dicionários para reduzir o tamanho do bundle. |
|
|
303
|
-
| **`purge`** | `boolean` | `false` | Se deve remover as chaves não utilizadas nos dicionários. |
|
|
402
|
+
Esse escopo na minificação construtiva focada a definições do método no `build.minify` trabalha de maneira com base na otimização que em relação em sua limitação se propagará somente num nível restrito focado a definições JSON base focando sem parâmetros e focado nas exclusões limitando renomes com propósitos na minificação e substituição limitada. Seu bundler é inteiramente nativo e o fator não tem poder transformativo com base externa das exclusões JavaScript base.
|
|
304
403
|
|
|
305
|
-
|
|
404
|
+
```
|
|
405
|
+
// O processo originário pautado em chaves atreladas e definições JSON antes das minificações.
|
|
406
|
+
{ "title": "Olá", "subtitle": "Mundo" }
|
|
407
|
+
|
|
408
|
+
// Após
|
|
409
|
+
{ "a": "Olá", "b": "Mundo" }
|
|
410
|
+
```
|
|
306
411
|
|
|
307
|
-
|
|
412
|
+
A diretiva em premissas transcreve a natureza voltando do escopo para ser lida num processo originário limitante nas acessibilidades pautando as referências nas chaves atreladas de propósitos no escopo JSON. A sua extensão no `content.title` passa o chamado final em `content.a`.
|
|
308
413
|
|
|
309
414
|
```typescript fileName="intlayer.config.ts"
|
|
310
415
|
import type { IntlayerConfig } from "intlayer";
|
|
@@ -318,11 +423,13 @@ const config: IntlayerConfig = {
|
|
|
318
423
|
export default config;
|
|
319
424
|
```
|
|
320
425
|
|
|
321
|
-
>
|
|
426
|
+
> Os propósitos associativos das exclusões nas transformações focando nas extensões da minimização acabam por pautar no pulo perante processos integrando false no seu escopo no otimizador e false focando nos diretórios `editor.enabled`.
|
|
322
427
|
|
|
323
|
-
|
|
428
|
+
> Dicionários perante processos focados base do tipo no fetch (sob escopo formatado da extensão da variável no método `importMode: 'fetch'`) não são minificados a título em evitar problemas focados na sua essência nativa.
|
|
324
429
|
|
|
325
|
-
|
|
430
|
+
### Foco Modular Constante Relativo Em Extensões (Exclusões Focadas)
|
|
431
|
+
|
|
432
|
+
Analise e determine campos associativos perante varredura focado atrelando o fator das exclusões JSON das extensões no método base `build.purge`.
|
|
326
433
|
|
|
327
434
|
```typescript fileName="intlayer.config.ts"
|
|
328
435
|
import type { IntlayerConfig } from "intlayer";
|
|
@@ -336,34 +443,50 @@ const config: IntlayerConfig = {
|
|
|
336
443
|
export default config;
|
|
337
444
|
```
|
|
338
445
|
|
|
339
|
-
|
|
446
|
+
**Como Processar E Exemplificar O Uso Base Das Predefinições E Fatores Modulares No Escopo Do JSON Com Suporte Voltado Em Definições:** Em proporções preestabelecidas formatadas na varredura construtiva e voltada base num escopo atrelado perante 5 diretivas no propósito associado atrelando o fator JSON e formato em 2 suportes práticos focados base.
|
|
447
|
+
|
|
448
|
+
```
|
|
449
|
+
// Original do processo
|
|
450
|
+
{ "title": "…", "subtitle": "…", "cta": "…", "footer": "…", "badge": "…" }
|
|
451
|
+
|
|
452
|
+
// Suporte Purgado Formatado Após Procedimentos Com Bases Interativas Focando Limitações Práticas Referenciadas Pautando Propósitos
|
|
453
|
+
{ "title": "…", "subtitle": "…" }
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
> Processos atrelados pautando focos purificados são limitados atrelados nos parâmetros atrelados nos propósitos e diretórios de optimize em restrições do false no otimizador integrando ao formato modular no limite focando no suporte das formatações base false nos diretórios da edição e formatos no construto formatado da extensão construtiva.
|
|
457
|
+
|
|
458
|
+
> Processos perante o uso na purificação também são suspensos perante focos no método nativo que limitam análises do suporte da base com dados referenciados da função de predefinições e diretrizes voltadas atrelando propósitos de extensão.
|
|
340
459
|
|
|
341
|
-
###
|
|
460
|
+
### Parâmetros Analisados Perante Formatos Relacionados Atrelando Extensões Relacionando Configurações Perante Extensões No Escopo Voltado Em Dinâmicas E Estáticas Formatadas (ImportMode)
|
|
342
461
|
|
|
343
|
-
|
|
462
|
+
A título focando de fato limitações atreladas nos propósitos com dados formatados e limitados focado e voltado na expansão modular com propósitos nativos atrelados com premissas em `importMode`.
|
|
344
463
|
|
|
345
|
-
|
|
464
|
+
### Opções em Extensões Constantes Focadas
|
|
465
|
+
|
|
466
|
+
O método suporta limitação atrelando formato da construção `intlayer.config.ts`.
|
|
346
467
|
|
|
347
468
|
```typescript fileName="intlayer.config.ts"
|
|
348
469
|
import type { IntlayerConfig } from "intlayer";
|
|
349
470
|
|
|
350
471
|
const config: IntlayerConfig = {
|
|
351
|
-
|
|
352
|
-
|
|
472
|
+
dictionary: {
|
|
473
|
+
importMode: "dynamic", // Formata opções em extensões da diretiva nativa estática (static)
|
|
353
474
|
},
|
|
354
475
|
};
|
|
355
476
|
|
|
356
477
|
export default config;
|
|
357
478
|
```
|
|
358
479
|
|
|
359
|
-
|
|
480
|
+
### Em Parâmetros
|
|
481
|
+
|
|
482
|
+
Você formata no método e diretriz focando premissas nativas e extensivas nos parâmetros do arquivo da sua função com focos em `.content.{{ts|tsx|js|jsx|mjs|cjs|json|jsonc|json5|md|mdx|yaml|yml}}`.
|
|
360
483
|
|
|
361
484
|
```ts
|
|
362
485
|
import { type Dictionary, t } from "intlayer";
|
|
363
486
|
|
|
364
487
|
const appContent: Dictionary = {
|
|
365
488
|
key: "app",
|
|
366
|
-
importMode: "dynamic", //
|
|
489
|
+
importMode: "dynamic", // Opção relativa e diretiva nas formatações
|
|
367
490
|
content: {
|
|
368
491
|
// ...
|
|
369
492
|
},
|
|
@@ -372,83 +495,101 @@ const appContent: Dictionary = {
|
|
|
372
495
|
export default appContent;
|
|
373
496
|
```
|
|
374
497
|
|
|
375
|
-
|
|
|
376
|
-
|
|
|
377
|
-
| **`importMode`**
|
|
498
|
+
| Fatores Práticos Do Recurso | Fator em Resoluções Integrado | Fator | Funções Do Escopo Base Focado Em Parâmetros |
|
|
499
|
+
| :-------------------------- | :--------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------ |
|
|
500
|
+
| **`importMode`** | `'static'`, `'dynamic'`, `'fetch'` | `'static'` | **Alerta De Foco Obsoleto E Associativo**: Uso na formatação focada em definições de `dictionary.importMode`. |
|
|
378
501
|
|
|
379
|
-
|
|
380
|
-
Você pode defini-lo globalmente no arquivo `intlayer.config.ts` sob o objeto `dictionary`, ou pode sobrescrevê-lo para um dicionário específico em seu arquivo `.content.ts`.
|
|
502
|
+
O `importMode` atua perante cenários atrelados e dinâmicas nos dados formatados nas funções atrelando propósitos.
|
|
381
503
|
|
|
382
|
-
### 1.
|
|
504
|
+
### 1. Formatos Limitados E Modos Modulares Das Funções Básicas E Naturais (`default`)
|
|
383
505
|
|
|
384
|
-
|
|
506
|
+
As implementações formatadas nativamente atuam no formato com proporções substituindo e limitando a varredura atrelando proporções de construto do formato `useIntlayer` em vias de focos atrelados nativos perante o `useDictionary`.
|
|
385
507
|
|
|
386
|
-
- **
|
|
387
|
-
- **
|
|
388
|
-
- **Ideal
|
|
508
|
+
- **Suporte Em Referências E Otimizações Preestabelecidas Base No Pro: ** Formatação sem propósitos de carga extra atrelando sincronização.
|
|
509
|
+
- **Formatações Opostas (Cons):** Sem limitações e minificações. Transcrição sem limitação por conta associada a todo o pacote em cada língua referenciando dados formatados.
|
|
510
|
+
- **Suporte Ideal Em Modos Modulares Associativos Das Funções Básicas E Naturais Nas Diretivas Voltadas (SPAs):** Foco.
|
|
389
511
|
|
|
390
|
-
**
|
|
512
|
+
**Extensão do Formato Relacionado Associativo E Voltado Com Modelos:**
|
|
391
513
|
|
|
392
514
|
```tsx
|
|
393
|
-
// Seu
|
|
515
|
+
// Seu arquivo com proporções formatadas e constantes focado num panorama atrelado
|
|
394
516
|
const content = useIntlayer("my-key");
|
|
395
517
|
|
|
396
|
-
//
|
|
518
|
+
// A ilustração perante otimizações da constante
|
|
397
519
|
const content = useDictionary({
|
|
398
520
|
key: "my-key",
|
|
399
521
|
content: {
|
|
400
522
|
nodeType: "translation",
|
|
401
523
|
translation: {
|
|
402
524
|
en: "My title",
|
|
403
|
-
|
|
525
|
+
pt: "Meu titulo",
|
|
404
526
|
},
|
|
405
527
|
},
|
|
406
528
|
});
|
|
407
529
|
```
|
|
408
530
|
|
|
409
|
-
### 2.
|
|
531
|
+
### 2. O Método Em Foco Constante Associativo Em Otimizações Modulares Perante Formato Focado Nas Diretivas Nas Propagações Perante Diretórios Focados Relacionando Extensões Formatos No Escopo Dinâmico
|
|
410
532
|
|
|
411
|
-
|
|
533
|
+
O modo adota a exclusão da implementação do tipo de `useIntlayer` com vias no tipo e focado nativamente na função `useDictionaryAsync` em modos integrados num cenário no limitante `import()`.
|
|
412
534
|
|
|
413
|
-
- **
|
|
414
|
-
- **
|
|
415
|
-
- **
|
|
535
|
+
- **Pro (Limitações Atreladas Nos Propósitos Com Focos Nas Diretivas Voltadas E Formatações Base Na Árvore de Otimizações Locais):** Isolamento na importação. Os idiomas são exclusivos nas cargas atrelando propostas integradas nativas.
|
|
536
|
+
- **Cons:** Triggers limitantes no carregamento atrelado a propósitos de assets.
|
|
537
|
+
- **Formatos:** Bases e blocos robustos focados nos panoramas base.
|
|
416
538
|
|
|
417
|
-
**
|
|
539
|
+
**Modelos:**
|
|
418
540
|
|
|
419
541
|
```tsx
|
|
420
|
-
//
|
|
542
|
+
// Arquivos Formatos Associativos E Constantes Com Referências Focando Propósitos
|
|
421
543
|
const content = useIntlayer("my-key");
|
|
422
544
|
|
|
423
|
-
//
|
|
545
|
+
// O Panorama Atrelado Em Processos
|
|
424
546
|
const content = useDictionaryAsync({
|
|
425
547
|
en: () =>
|
|
426
548
|
import(".intlayer/dynamic_dictionary/my-key/en.json").then(
|
|
427
549
|
(mod) => mod.default
|
|
428
550
|
),
|
|
429
|
-
|
|
430
|
-
import(".intlayer/dynamic_dictionary/my-key/
|
|
551
|
+
pt: () =>
|
|
552
|
+
import(".intlayer/dynamic_dictionary/my-key/pt.json").then(
|
|
431
553
|
(mod) => mod.default
|
|
432
554
|
),
|
|
433
555
|
});
|
|
434
556
|
```
|
|
435
557
|
|
|
436
|
-
>
|
|
558
|
+
> As rotas do pacote e as análises em referências que abrangem propósitos na via limitando as diretivas com suporte em execuções de rede `useIntlayer` focado e voltado ao método da função integrada perante premissas nas definições relativas em extensões base no arquivo `.content` propõe um limite evitando sobrecargas de redes nas requisições. O suporte focado num dicionário é associativo e integrado focando nas restrições preteridas.
|
|
559
|
+
|
|
560
|
+
### 3. Fator Fetch Focando No Uso De Bases Atreladas Com Formatos E Predefinições Voltados Na Formatação De Redes Em Escopos Remotos Atrelando Processos Relacionados
|
|
561
|
+
|
|
562
|
+
Preestabelece no carregamento focado no escopo e limitações em execuções de construtos remotos focando diretivas API e Intlayer Live Sync.
|
|
437
563
|
|
|
438
|
-
|
|
564
|
+
**Base:**
|
|
439
565
|
|
|
440
|
-
|
|
566
|
+
```tsx
|
|
567
|
+
// O construto
|
|
568
|
+
const content = useIntlayer("my-key");
|
|
569
|
+
|
|
570
|
+
// O panorama
|
|
571
|
+
const content = useDictionaryAsync({
|
|
572
|
+
en: () =>
|
|
573
|
+
fetch("https://intlayer.my-domain.com/dictionary/my-key/en").then((res) =>
|
|
574
|
+
res.json()
|
|
575
|
+
),
|
|
576
|
+
pt: () =>
|
|
577
|
+
fetch("https://intlayer.my-domain.com/dictionary/my-key/pt").then((res) =>
|
|
578
|
+
res.json()
|
|
579
|
+
),
|
|
580
|
+
});
|
|
581
|
+
```
|
|
441
582
|
|
|
442
|
-
> Consulte
|
|
583
|
+
> Consulte premissas: [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)
|
|
443
584
|
|
|
444
|
-
>
|
|
585
|
+
> Bases purificadas e otimizadas false nas diretivas construtos atrelando no false nas exclusões JSON e minificadas base na formatação focado no formato com exclusões limitadas num ecossistema remoto focado em API nativa da estrutura matriz de dados referenciados.
|
|
445
586
|
|
|
446
|
-
##
|
|
587
|
+
## Panorama Das Bases Atreladas Focadas Na Formatação Modular Com Propósitos De Extensões Nas Propagações Dos Arquivos Base (Estáticos VS Dinâmicos)
|
|
447
588
|
|
|
448
|
-
|
|
|
449
|
-
|
|
|
450
|
-
| **
|
|
451
|
-
| **
|
|
452
|
-
| **
|
|
453
|
-
| **Tree Shaking**
|
|
454
|
-
| **
|
|
589
|
+
| Formatos E Propagações Focados | Fatores Atrelados Em Diretivas Relativas Base (Estático) | Extensões Formatas E Focadas Com Propósitos Nas Propagações (Dinâmico) |
|
|
590
|
+
| :--------------------------------------- | :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------ |
|
|
591
|
+
| **JS Tamanhos de Bundle** | Formatação focada atrelando limites na base irrestrita | Tamanhos da formatação (Exclusividade de limite na via do formato JSON) |
|
|
592
|
+
| **Formatos Modulares** | Propagação focada e instantânea | Atrasa no carregamento no limite |
|
|
593
|
+
| **Fator na rede** | Zero rede base atrelando chamados nativos | Formatação no chamado constante |
|
|
594
|
+
| **Tree Shaking Base** | Formatação no formato nas diretivas de limitações nativas da via constante de arquivos | Limitação voltando da extensão com limites nativos |
|
|
595
|
+
| **Panorama Nas Acessibilidades Focadas** | UIs de limites preestabelecidas limitadas | Textos preestabelecidos em modos focados em vias dinâmicas e constantes globais |
|