@intlayer/docs 9.0.0-canary.5 → 9.0.0-canary.6
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/docs/ar/intlayer_with_react_native+expo.md +56 -79
- package/docs/ar/packages/react-native-intlayer/exports.md +48 -14
- package/docs/de/intlayer_with_react_native+expo.md +50 -68
- package/docs/de/packages/react-native-intlayer/exports.md +47 -13
- package/docs/en/intlayer_with_react_native+expo.md +14 -18
- package/docs/en/packages/react-native-intlayer/exports.md +47 -13
- package/docs/en-GB/intlayer_with_react_native+expo.md +40 -94
- package/docs/en-GB/packages/react-native-intlayer/exports.md +51 -18
- package/docs/es/intlayer_with_react_native+expo.md +43 -80
- package/docs/es/packages/react-native-intlayer/exports.md +47 -13
- package/docs/fr/intlayer_with_react_native+expo.md +54 -68
- package/docs/fr/packages/react-native-intlayer/exports.md +47 -13
- package/docs/hi/intlayer_with_react_native+expo.md +90 -87
- package/docs/hi/packages/react-native-intlayer/exports.md +48 -14
- package/docs/id/intlayer_with_react_native+expo.md +45 -33
- package/docs/id/packages/react-native-intlayer/exports.md +47 -13
- package/docs/it/intlayer_with_react_native+expo.md +32 -72
- package/docs/it/packages/react-native-intlayer/exports.md +47 -13
- package/docs/ja/intlayer_with_react_native+expo.md +98 -137
- package/docs/ja/packages/react-native-intlayer/exports.md +47 -14
- package/docs/ko/intlayer_with_react_native+expo.md +231 -29
- package/docs/ko/packages/react-native-intlayer/exports.md +48 -14
- package/docs/pl/intlayer_with_react_native+expo.md +75 -46
- package/docs/pl/packages/react-native-intlayer/exports.md +47 -13
- package/docs/pt/intlayer_with_react_native+expo.md +38 -75
- package/docs/pt/packages/react-native-intlayer/exports.md +47 -13
- package/docs/ru/intlayer_with_react_native+expo.md +71 -60
- package/docs/ru/packages/react-native-intlayer/exports.md +49 -16
- package/docs/tr/intlayer_with_react_native+expo.md +30 -56
- package/docs/tr/packages/react-native-intlayer/exports.md +48 -15
- package/docs/uk/intlayer_with_react_native+expo.md +64 -52
- package/docs/uk/packages/react-native-intlayer/exports.md +47 -13
- package/docs/vi/intlayer_with_react_native+expo.md +43 -32
- package/docs/vi/packages/react-native-intlayer/exports.md +47 -13
- package/docs/zh/intlayer_with_react_native+expo.md +216 -82
- package/docs/zh/packages/react-native-intlayer/exports.md +48 -14
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-06-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
4
|
title: "Expo + React Native i18n - Guía completa para traducir tu aplicación"
|
|
5
5
|
description: "Sin más i18next. La guía 2026 para crear una aplicación Expo + React Native multilingüe (i18n). Traduce con agentes de IA y optimiza el tamaño del bundle, SEO y rendimiento."
|
|
6
6
|
keywords:
|
|
@@ -17,12 +17,18 @@ slugs:
|
|
|
17
17
|
applicationTemplate: https://github.com/aymericzip/intlayer-react-native-template
|
|
18
18
|
applicationShowcase: https://intlayer-react-native.vercel.app
|
|
19
19
|
history:
|
|
20
|
+
- version: 9.0.0
|
|
21
|
+
date: 2026-06-25
|
|
22
|
+
changes: "Importar providers y hooks directamente desde react-native-intlayer; react-intlayer ya no se necesita como dependencia directa"
|
|
20
23
|
- version: 8.9.0
|
|
21
24
|
date: 2026-05-04
|
|
22
25
|
changes: "Actualizar el uso de la API useIntlayer de Solid para el acceso directo a las propiedades"
|
|
23
26
|
- version: 7.5.9
|
|
24
27
|
date: 2025-12-30
|
|
25
28
|
changes: "Agregar comando init"
|
|
29
|
+
- version: 6.1.6
|
|
30
|
+
date: 2025-10-02
|
|
31
|
+
changes: "Agregar sección de depuración"
|
|
26
32
|
- version: 5.5.10
|
|
27
33
|
date: 2025-06-29
|
|
28
34
|
changes: "Historial inicial"
|
|
@@ -37,7 +43,7 @@ author: aymericzip
|
|
|
37
43
|
<iframe
|
|
38
44
|
src="https://ide.intlayer.org/aymericzip/intlayer-react-native-template?file=intlayer.config.ts"
|
|
39
45
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
40
|
-
title="Demo CodeSandbox - Intlayer"
|
|
46
|
+
title="Demo CodeSandbox - Cómo internacionalizar tu aplicación usando Intlayer"
|
|
41
47
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
42
48
|
loading="lazy"
|
|
43
49
|
/>
|
|
@@ -56,7 +62,9 @@ author: aymericzip
|
|
|
56
62
|
</Tab>
|
|
57
63
|
</Tabs>
|
|
58
64
|
|
|
59
|
-
|
|
65
|
+
## Tabla de Contenidos
|
|
66
|
+
|
|
67
|
+
<TOC/>
|
|
60
68
|
|
|
61
69
|
## ¿Por qué Intlayer en lugar de alternativas?
|
|
62
70
|
|
|
@@ -72,7 +80,7 @@ Intlayer está optimizado para funcionar perfectamente con React Native y Expo a
|
|
|
72
80
|
|
|
73
81
|
<Accordion header="Mantenibilidad">
|
|
74
82
|
|
|
75
|
-
Determinar el alcance del contenido de su aplicación **facilita el mantenimiento** para aplicaciones a gran escala. Puede duplicar o eliminar una sola carpeta de funciones sin la carga mental de revisar todo el código base de contenido. Además, Intlayer está **completamente
|
|
83
|
+
Determinar el alcance del contenido de su aplicación **facilita el mantenimiento** para aplicaciones a gran escala. Puede duplicar o eliminar una sola carpeta de funciones sin la carga mental de revisar todo el código base de contenido. Además, Intlayer está **completamente tipado** para garantizar la precisión de su contenido.
|
|
76
84
|
|
|
77
85
|
</Accordion>
|
|
78
86
|
|
|
@@ -96,7 +104,7 @@ La conexión de archivos JSON masivos a componentes puede provocar problemas de
|
|
|
96
104
|
|
|
97
105
|
<Accordion header="Escalando sin ningún desarrollador">
|
|
98
106
|
|
|
99
|
-
Más que una simple solución i18n, Intlayer proporciona un **[editor visual]
|
|
107
|
+
Más que una simple solución i18n, Intlayer proporciona un **[editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** autohospedado y un **[CMS completo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** para ayudarle a administrar su contenido multilingüe en **tiempo real**, lo que facilita la colaboración con traductores, redactores y otros miembros del equipo. El contenido se puede almacenar de forma local y/o remota.
|
|
100
108
|
|
|
101
109
|
</Accordion>
|
|
102
110
|
|
|
@@ -109,55 +117,12 @@ En lugar de cargar archivos JSON masivos en sus páginas, cargue solo el conteni
|
|
|
109
117
|
|
|
110
118
|
<Steps>
|
|
111
119
|
|
|
112
|
-
<Step number={1} title="
|
|
120
|
+
<Step number={1} title="Instalar dependencias">
|
|
113
121
|
|
|
114
122
|
Consulte [Plantilla de aplicación](https://github.com/aymericzip/intlayer-react-native-template) en GitHub.
|
|
115
123
|
|
|
116
124
|
Desde su proyecto React Native, instale los siguientes paquetes:
|
|
117
125
|
|
|
118
|
-
```paquete de bashManager="npm"
|
|
119
|
-
npm instala intlayer reaccionar-intlayer
|
|
120
|
-
instalación npm --save-dev reaccionar-nativo-intlayer
|
|
121
|
-
inicio de capa interna npx
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
```paquete de bashManager="pnpm"
|
|
125
|
-
pnpm agregar intlayer reaccionar-intlayer
|
|
126
|
-
pnpm agregar --save-dev reaccionar-nativo-intlayer
|
|
127
|
-
inicio de capa interna pnpm
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
```bash packageManager="hilo"
|
|
131
|
-
hilo agregar capa interna reaccionar-capa interna
|
|
132
|
-
hilo agregar --save-dev reaccionar-nativo-intlayer
|
|
133
|
-
inicio de capa interna de hilo
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
```bash packageManager="bun"
|
|
137
|
-
bollo agregar intlayer reaccionar-intlayer
|
|
138
|
-
agregar bollo --dev reaccionar-nativo-intlayer
|
|
139
|
-
inicio de capa intermedia x bun
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### Paquetes
|
|
143
|
-
|
|
144
|
-
- **capa interna**
|
|
145
|
-
El conjunto de herramientas principal de i18n para configuración, contenido de diccionario, generación de tipos y comandos CLI.
|
|
146
|
-
|
|
147
|
-
- **reaccionar-intlayer**
|
|
148
|
-
Integración de React que proporciona los proveedores de contexto y los enlaces de React que usará en React Native para obtener y cambiar de configuración regional.
|
|
149
|
-
|
|
150
|
-
- **reaccionar-nativo-intlayer**
|
|
151
|
-
Integración de React Native que proporciona el complemento Metro para integrar Intlayer con el paquete React Native.
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
</Step>
|
|
156
|
-
|
|
157
|
-
<Step number={2} title="Instalar dependencias">
|
|
158
|
-
|
|
159
|
-
Desde tu proyecto React Native, instala los siguientes paquetes:
|
|
160
|
-
|
|
161
126
|
```bash packageManager="npm"
|
|
162
127
|
npx intlayer-cli init --interactive
|
|
163
128
|
```
|
|
@@ -174,28 +139,24 @@ yarn dlx intlayer-cli init --interactive
|
|
|
174
139
|
bunx intlayer-cli init --interactive
|
|
175
140
|
```
|
|
176
141
|
|
|
177
|
-
>
|
|
142
|
+
> La bandera `--interactive` es opcional. Usa `intlayer-cli init` si eres un agente de IA.
|
|
178
143
|
|
|
179
144
|
> Este comando detectará su entorno e instalará los paquetes necesarios. Por ejemplo:
|
|
180
145
|
|
|
181
146
|
```bash packageManager="npm"
|
|
182
|
-
npm install intlayer react-intlayer
|
|
183
|
-
npm install --save-dev react-native-intlayer
|
|
147
|
+
npm install intlayer react-native-intlayer
|
|
184
148
|
```
|
|
185
149
|
|
|
186
150
|
```bash packageManager="pnpm"
|
|
187
|
-
pnpm add intlayer react-intlayer
|
|
188
|
-
pnpm add --save-dev react-native-intlayer
|
|
151
|
+
pnpm add intlayer react-native-intlayer
|
|
189
152
|
```
|
|
190
153
|
|
|
191
154
|
```bash packageManager="yarn"
|
|
192
|
-
yarn add intlayer react-intlayer
|
|
193
|
-
yarn add --save-dev react-native-intlayer
|
|
155
|
+
yarn add intlayer react-native-intlayer
|
|
194
156
|
```
|
|
195
157
|
|
|
196
158
|
```bash packageManager="bun"
|
|
197
|
-
bun add intlayer react-intlayer
|
|
198
|
-
bun add --dev react-native-intlayer
|
|
159
|
+
bun add intlayer react-native-intlayer
|
|
199
160
|
```
|
|
200
161
|
|
|
201
162
|
### Paquetes
|
|
@@ -203,17 +164,14 @@ bun add --dev react-native-intlayer
|
|
|
203
164
|
- **intlayer**
|
|
204
165
|
El conjunto de herramientas principal de i18n para configuración, contenido de diccionarios, generación de tipos y comandos CLI.
|
|
205
166
|
|
|
206
|
-
- **react-intlayer**
|
|
207
|
-
Integración con React que proporciona los proveedores de contexto y hooks de React que usarás en React Native para obtener y cambiar configuraciones regionales.
|
|
208
|
-
|
|
209
167
|
- **react-native-intlayer**
|
|
210
|
-
Integración con React Native que proporciona el plugin Metro para integrar Intlayer con el empaquetador de React Native.
|
|
168
|
+
Integración con React Native que proporciona los proveedores de contexto y hooks de React que usarás para obtener y cambiar configuraciones regionales, los polyfills de React Native y el plugin Metro para integrar Intlayer con el empaquetador de React Native. Re-exporta todo desde `react-intlayer`, por lo que solo necesitas este único paquete en una aplicación React Native.
|
|
211
169
|
|
|
212
170
|
---
|
|
213
171
|
|
|
214
172
|
</Step>
|
|
215
173
|
|
|
216
|
-
<Step number={
|
|
174
|
+
<Step number={2} title="Crear una Configuración de Intlayer">
|
|
217
175
|
|
|
218
176
|
En la raíz de tu proyecto (o en cualquier lugar conveniente), crea un archivo de **configuración de Intlayer**. Podría verse así:
|
|
219
177
|
|
|
@@ -243,11 +201,11 @@ Dentro de esta configuración, puedes:
|
|
|
243
201
|
- Configurar tu **lista de configuraciones regionales soportadas**.
|
|
244
202
|
- Establecer una configuración regional **predeterminada**.
|
|
245
203
|
- Más adelante, puedes agregar opciones más avanzadas (por ejemplo, registros, directorios de contenido personalizados, etc.).
|
|
246
|
-
- Consulta la [documentación de configuración de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
204
|
+
- Consulta la [documentación de configuración de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md) para más información.
|
|
247
205
|
|
|
248
206
|
</Step>
|
|
249
207
|
|
|
250
|
-
<Step number={
|
|
208
|
+
<Step number={3} title="Añadir el plugin de Metro">
|
|
251
209
|
|
|
252
210
|
Metro es un empaquetador para React Native. Es el empaquetador predeterminado para proyectos de React Native creados con el comando `react-native init`. Para usar Intlayer con Metro, necesitas añadir el plugin en tu archivo `metro.config.js`:
|
|
253
211
|
|
|
@@ -262,13 +220,18 @@ module.exports = (async () => {
|
|
|
262
220
|
})();
|
|
263
221
|
```
|
|
264
222
|
|
|
223
|
+
> Nota: `configMetroIntlayer` es una función asíncrona. Usa `configMetroIntlayerSync` en su lugar si deseas usarlo de forma síncrona, o evitar IIFE (Expresión de función invocada inmediatamente).
|
|
224
|
+
> Nota: `configMetroIntlayerSync` no permite construir diccionarios de intlayer al iniciar el servidor
|
|
225
|
+
|
|
265
226
|
</Step>
|
|
266
227
|
|
|
267
|
-
<Step number={
|
|
228
|
+
<Step number={4} title="Añadir el proveedor de Intlayer">
|
|
229
|
+
|
|
230
|
+
Para mantener sincronizado el idioma del usuario en toda tu aplicación, necesitas envolver tu componente raíz con el componente `IntlayerProvider` de `react-native-intlayer`.
|
|
268
231
|
|
|
269
|
-
|
|
232
|
+
> Importa siempre desde `react-native-intlayer`. Su `IntlayerProvider` incluye polyfills para la API web usada por Intlayer, y el paquete re-exporta todos los hooks y utilidades de `react-intlayer`.
|
|
270
233
|
|
|
271
|
-
|
|
234
|
+
Además, necesitas agregar la función `intlayerPolyfill` a tu archivo `index.js` para garantizar que Intlayer pueda funcionar correctamente.
|
|
272
235
|
|
|
273
236
|
```tsx fileName="app/_layout.tsx" codeFormat={["typescript", "esm"]}
|
|
274
237
|
import { Stack } from "expo-router";
|
|
@@ -293,7 +256,7 @@ export default RootLayout;
|
|
|
293
256
|
|
|
294
257
|
</Step>
|
|
295
258
|
|
|
296
|
-
<Step number={
|
|
259
|
+
<Step number={5} title="Declara Tu Contenido">
|
|
297
260
|
|
|
298
261
|
Crea archivos de **declaración de contenido** en cualquier lugar de tu proyecto (comúnmente dentro de `src/`), usando cualquiera de los formatos de extensión que Intlayer soporta:
|
|
299
262
|
|
|
@@ -358,13 +321,13 @@ export default homeScreenContent;
|
|
|
358
321
|
}
|
|
359
322
|
```
|
|
360
323
|
|
|
361
|
-
> Para más detalles sobre las declaraciones de contenido, consulta [la documentación de contenido de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
324
|
+
> Para más detalles sobre las declaraciones de contenido, consulta [la documentación de contenido de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
362
325
|
|
|
363
326
|
---
|
|
364
327
|
|
|
365
328
|
</Step>
|
|
366
329
|
|
|
367
|
-
<Step number={
|
|
330
|
+
<Step number={6} title="Usa Intlayer en tus Componentes">
|
|
368
331
|
|
|
369
332
|
Usa el hook `useIntlayer` en componentes hijos para obtener contenido localizado.
|
|
370
333
|
|
|
@@ -372,7 +335,7 @@ Usa el hook `useIntlayer` en componentes hijos para obtener contenido localizado
|
|
|
372
335
|
|
|
373
336
|
```tsx fileName="app/(tabs)/index.tsx" codeFormat={["typescript", "esm"]}
|
|
374
337
|
import { Image, StyleSheet, Platform } from "react-native";
|
|
375
|
-
import { useIntlayer } from "intlayer";
|
|
338
|
+
import { useIntlayer } from "react-native-intlayer";
|
|
376
339
|
import { HelloWave } from "@/components/HelloWave";
|
|
377
340
|
import ParallaxScrollView from "@/components/ParallaxScrollView";
|
|
378
341
|
import { ThemedText } from "@/components/ThemedText";
|
|
@@ -413,13 +376,13 @@ export default HomeScreen;
|
|
|
413
376
|
|
|
414
377
|
> Al usar `content.someKey` en propiedades basadas en cadenas (por ejemplo, el `title` de un botón o los `children` de un componente `Text`), **llama a `content.someKey.value`** para obtener la cadena real.
|
|
415
378
|
|
|
416
|
-
> Si su aplicación ya existe, puede utilizar el [Compilador Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
379
|
+
> Si su aplicación ya existe, puede utilizar el [Compilador Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compiler.md), así como el [comando de extracción](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/extract.md), para transformar miles de componentes en un segundo.
|
|
417
380
|
|
|
418
381
|
---
|
|
419
382
|
|
|
420
383
|
</Step>
|
|
421
384
|
|
|
422
|
-
<Step number={
|
|
385
|
+
<Step number={7} title="Cambiar la configuración regional de la aplicación" isOptional={true}>
|
|
423
386
|
|
|
424
387
|
Para cambiar la configuración regional desde dentro de tus componentes, puedes usar el método `setLocale` del hook `useLocale`:
|
|
425
388
|
|
|
@@ -427,7 +390,7 @@ Para cambiar la configuración regional desde dentro de tus componentes, puedes
|
|
|
427
390
|
import { type FC } from "react";
|
|
428
391
|
import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
|
|
429
392
|
import { getLocaleName } from "intlayer";
|
|
430
|
-
import { useLocale } from "react-intlayer";
|
|
393
|
+
import { useLocale } from "react-native-intlayer";
|
|
431
394
|
|
|
432
395
|
export const LocaleSwitcher: FC = () => {
|
|
433
396
|
const { setLocale, availableLocales } = useLocale();
|
|
@@ -470,7 +433,7 @@ const styles = StyleSheet.create({
|
|
|
470
433
|
|
|
471
434
|
Esto provoca una nueva renderización de todos los componentes que usan contenido de Intlayer, mostrando ahora las traducciones para la nueva configuración regional.
|
|
472
435
|
|
|
473
|
-
> Consulta la [documentación de `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
436
|
+
> Consulta la [documentación de `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useLocale.md) para más detalles.
|
|
474
437
|
|
|
475
438
|
</Step>
|
|
476
439
|
|
|
@@ -529,9 +492,9 @@ Para más detalles sobre cómo usar la extensión, consulta la [documentación d
|
|
|
529
492
|
|
|
530
493
|
## Ir Más Allá
|
|
531
494
|
|
|
532
|
-
- **Editor Visual**: Usa el [Editor Visual de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
533
|
-
- **Integración con CMS**: También puedes externalizar y obtener el contenido de tu diccionario desde un [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
534
|
-
- **Comandos CLI**: Explora el [CLI de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
495
|
+
- **Editor Visual**: Usa el [Editor Visual de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) para gestionar las traducciones visualmente.
|
|
496
|
+
- **Integración con CMS**: También puedes externalizar y obtener el contenido de tu diccionario desde un [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md).
|
|
497
|
+
- **Comandos CLI**: Explora el [CLI de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) para tareas como **extraer traducciones** o **verificar claves faltantes**.
|
|
535
498
|
|
|
536
499
|
¡Disfruta construyendo tus aplicaciones **React Native** con i18n completamente potenciado a través de **Intlayer**!
|
|
537
500
|
|
|
@@ -545,7 +508,7 @@ Intlayer se orienta principalmente a la Web Intl API; en React Native debes incl
|
|
|
545
508
|
|
|
546
509
|
Lista de verificación:
|
|
547
510
|
|
|
548
|
-
- Usa las últimas versiones de `intlayer
|
|
511
|
+
- Usa las últimas versiones de `intlayer` y `react-native-intlayer`.
|
|
549
512
|
- Habilita el polyfill de Intlayer.
|
|
550
513
|
- Si usas `getLocaleName` u otras utilidades basadas en Intl-API, importa estos polyfills temprano (por ejemplo en `index.js` o `App.tsx`):
|
|
551
514
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-01-21
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
4
|
title: Documentación del paquete react-native-intlayer
|
|
5
|
-
description: Soporte para React Native de Intlayer, que proporciona providers y
|
|
5
|
+
description: Soporte para React Native de Intlayer, que proporciona providers, hooks, polyfills y configuración de Metro.
|
|
6
6
|
keywords:
|
|
7
7
|
- react-native-intlayer
|
|
8
8
|
- react-native
|
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- react-native-intlayer
|
|
15
15
|
- exports
|
|
16
16
|
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-06-25
|
|
19
|
+
changes: "Re-exportar la API completa de react-intlayer (hooks, utilidades, subpaths de format/html/markdown) para que una aplicación React Native solo dependa de react-native-intlayer"
|
|
17
20
|
- version: 8.0.0
|
|
18
21
|
date: 2026-01-21
|
|
19
22
|
changes: "Documentación unificada para todas las exportaciones"
|
|
@@ -22,7 +25,9 @@ author: aymericzip
|
|
|
22
25
|
|
|
23
26
|
# Paquete react-native-intlayer
|
|
24
27
|
|
|
25
|
-
El paquete `react-native-intlayer` proporciona las herramientas necesarias para integrar Intlayer en aplicaciones React Native.
|
|
28
|
+
El paquete `react-native-intlayer` proporciona las herramientas necesarias para integrar Intlayer en aplicaciones React Native. Re-exporta la API completa de `react-intlayer` (hooks y utilidades) con un `IntlayerProvider` listo para React Native, además de los polyfills y la configuración de Metro que requiere React Native.
|
|
29
|
+
|
|
30
|
+
> En una aplicación React Native, importa **todo** desde `react-native-intlayer`. No necesitas instalar ni importar `react-intlayer` directamente.
|
|
26
31
|
|
|
27
32
|
## Instalación
|
|
28
33
|
|
|
@@ -34,14 +39,30 @@ npm install react-native-intlayer
|
|
|
34
39
|
|
|
35
40
|
### Proveedor
|
|
36
41
|
|
|
37
|
-
| Componente | Descripción
|
|
38
|
-
| ------------------ |
|
|
39
|
-
| `IntlayerProvider` | Componente Provider que envuelve tu aplicación y proporciona el contexto de Intlayer. |
|
|
42
|
+
| Componente | Descripción |
|
|
43
|
+
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `IntlayerProvider` | Componente Provider que envuelve tu aplicación y proporciona el contexto de Intlayer. Aplica automáticamente los polyfills necesarios. |
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
import { IntlayerProvider } from "react-native-intlayer";
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Hooks y utilidades
|
|
51
|
+
|
|
52
|
+
Estos se re-exportan desde `react-intlayer`, por lo que puedes importarlos directamente desde `react-native-intlayer`:
|
|
40
53
|
|
|
41
|
-
|
|
54
|
+
| Exportación | Descripción |
|
|
55
|
+
| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
|
|
56
|
+
| `useIntlayer` | Accede al contenido localizado para una clave de diccionario. |
|
|
57
|
+
| `useLocale` | Lee y cambia el locale actual. |
|
|
58
|
+
| `useDictionary`, `useDictionaryAsync`, `useDictionaryDynamic`, `useLoadDynamic` | Carga el contenido del diccionario de diversas formas. |
|
|
59
|
+
| `useI18n` | Hook compatible con i18next. |
|
|
60
|
+
| `t` | Ayudante de traducción en línea. |
|
|
61
|
+
| `getIntlayer`, `getDictionary` | Obtención de contenido imperativa. |
|
|
62
|
+
| `localeCookie`, `localeInStorage`, `setLocaleCookie`, `setLocaleInStorage`, `useLocaleCookie`, `useLocaleStorage` | Ayudantes de persistencia de locale. |
|
|
42
63
|
|
|
43
64
|
```tsx
|
|
44
|
-
import "react-native-intlayer";
|
|
65
|
+
import { useIntlayer, useLocale, t } from "react-native-intlayer";
|
|
45
66
|
```
|
|
46
67
|
|
|
47
68
|
### Polyfill
|
|
@@ -50,10 +71,25 @@ import "react-native-intlayer";
|
|
|
50
71
|
| ------------------ | ----------------------------------------------------------------------------------- |
|
|
51
72
|
| `intlayerPolyfill` | Función que aplica los polyfills necesarios para que React Native soporte Intlayer. |
|
|
52
73
|
|
|
53
|
-
|
|
74
|
+
```tsx
|
|
75
|
+
import { intlayerPolyfill } from "react-native-intlayer";
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
> El polyfill se aplica automáticamente cuando importas `IntlayerProvider`. Llama a `intlayerPolyfill` manualmente solo si necesitas los polyfills antes de que se monte el provider.
|
|
79
|
+
|
|
80
|
+
### Formateadores
|
|
81
|
+
|
|
82
|
+
Los hooks de formato numérico, de fecha y otros basados en Intl están disponibles desde el subpath `/format`:
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { useNumber, useDate } from "react-native-intlayer/format";
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Renderizado de Markdown y HTML
|
|
54
89
|
|
|
55
90
|
```tsx
|
|
56
|
-
import "react-native-intlayer";
|
|
91
|
+
import { MarkdownProvider } from "react-native-intlayer/markdown";
|
|
92
|
+
import { HTMLProvider } from "react-native-intlayer/html";
|
|
57
93
|
```
|
|
58
94
|
|
|
59
95
|
### Configuración de Metro
|
|
@@ -66,8 +102,6 @@ El paquete `react-native-intlayer` proporciona utilidades de configuración de M
|
|
|
66
102
|
| `configMetroIntlayerSync` | Función síncrona que fusiona la configuración de Metro sin preparar los recursos de Intlayer. |
|
|
67
103
|
| `exclusionList` | Crea un patrón RegExp para el blockList de Metro para excluir archivos de contenido del bundle. |
|
|
68
104
|
|
|
69
|
-
Importación:
|
|
70
|
-
|
|
71
105
|
```tsx
|
|
72
|
-
import "react-native-intlayer/metro";
|
|
106
|
+
import { configMetroIntlayer } from "react-native-intlayer/metro";
|
|
73
107
|
```
|