@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.
Files changed (37) hide show
  1. package/docs/ar/intlayer_with_react_native+expo.md +56 -79
  2. package/docs/ar/packages/react-native-intlayer/exports.md +48 -14
  3. package/docs/de/intlayer_with_react_native+expo.md +50 -68
  4. package/docs/de/packages/react-native-intlayer/exports.md +47 -13
  5. package/docs/en/intlayer_with_react_native+expo.md +14 -18
  6. package/docs/en/packages/react-native-intlayer/exports.md +47 -13
  7. package/docs/en-GB/intlayer_with_react_native+expo.md +40 -94
  8. package/docs/en-GB/packages/react-native-intlayer/exports.md +51 -18
  9. package/docs/es/intlayer_with_react_native+expo.md +43 -80
  10. package/docs/es/packages/react-native-intlayer/exports.md +47 -13
  11. package/docs/fr/intlayer_with_react_native+expo.md +54 -68
  12. package/docs/fr/packages/react-native-intlayer/exports.md +47 -13
  13. package/docs/hi/intlayer_with_react_native+expo.md +90 -87
  14. package/docs/hi/packages/react-native-intlayer/exports.md +48 -14
  15. package/docs/id/intlayer_with_react_native+expo.md +45 -33
  16. package/docs/id/packages/react-native-intlayer/exports.md +47 -13
  17. package/docs/it/intlayer_with_react_native+expo.md +32 -72
  18. package/docs/it/packages/react-native-intlayer/exports.md +47 -13
  19. package/docs/ja/intlayer_with_react_native+expo.md +98 -137
  20. package/docs/ja/packages/react-native-intlayer/exports.md +47 -14
  21. package/docs/ko/intlayer_with_react_native+expo.md +231 -29
  22. package/docs/ko/packages/react-native-intlayer/exports.md +48 -14
  23. package/docs/pl/intlayer_with_react_native+expo.md +75 -46
  24. package/docs/pl/packages/react-native-intlayer/exports.md +47 -13
  25. package/docs/pt/intlayer_with_react_native+expo.md +38 -75
  26. package/docs/pt/packages/react-native-intlayer/exports.md +47 -13
  27. package/docs/ru/intlayer_with_react_native+expo.md +71 -60
  28. package/docs/ru/packages/react-native-intlayer/exports.md +49 -16
  29. package/docs/tr/intlayer_with_react_native+expo.md +30 -56
  30. package/docs/tr/packages/react-native-intlayer/exports.md +48 -15
  31. package/docs/uk/intlayer_with_react_native+expo.md +64 -52
  32. package/docs/uk/packages/react-native-intlayer/exports.md +47 -13
  33. package/docs/vi/intlayer_with_react_native+expo.md +43 -32
  34. package/docs/vi/packages/react-native-intlayer/exports.md +47 -13
  35. package/docs/zh/intlayer_with_react_native+expo.md +216 -82
  36. package/docs/zh/packages/react-native-intlayer/exports.md +48 -14
  37. package/package.json +6 -6
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2026-01-21
3
- updatedAt: 2026-01-21
3
+ updatedAt: 2026-06-25
4
4
  title: Documentação do pacote react-native-intlayer
5
- description: Suporte a React Native para o Intlayer, fornecendo providers e polyfills.
5
+ description: Suporte a React Native para o Intlayer, fornecendo providers, hooks, polyfills e configuração 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: "Reexportar a API completa do react-intlayer (hooks, utilitários, subcaminhos format/html/markdown) para que um aplicativo React Native dependa apenas de react-native-intlayer"
17
20
  - version: 8.0.0
18
21
  date: 2026-01-21
19
22
  changes: "Documentação unificada para todas as exportações"
@@ -22,7 +25,9 @@ author: aymericzip
22
25
 
23
26
  # Pacote react-native-intlayer
24
27
 
25
- O pacote `react-native-intlayer` fornece as ferramentas necessárias para integrar o Intlayer em aplicações React Native. Inclui um provider e polyfills para suporte a locale.
28
+ O pacote `react-native-intlayer` fornece as ferramentas necessárias para integrar o Intlayer em aplicações React Native. Reexporta a API completa do `react-intlayer` (hooks e utilitários) com um `IntlayerProvider` pronto para React Native, além dos polyfills e da configuração Metro exigidos pelo React Native.
29
+
30
+ > Em um aplicativo React Native, importe **tudo** de `react-native-intlayer`. Você não precisa instalar ou importar `react-intlayer` diretamente.
26
31
 
27
32
  ## Instalação
28
33
 
@@ -34,14 +39,30 @@ npm install react-native-intlayer
34
39
 
35
40
  ### Provider
36
41
 
37
- | Componente | Descrição |
38
- | ------------------ | ------------------------------------------------------------------------------- |
39
- | `IntlayerProvider` | Componente Provider que envolve sua aplicação e fornece o contexto do Intlayer. |
42
+ | Componente | Descrição |
43
+ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
44
+ | `IntlayerProvider` | Componente Provider que envolve sua aplicação e fornece o contexto do Intlayer. Aplica automaticamente os polyfills necessários. |
45
+
46
+ ```tsx
47
+ import { IntlayerProvider } from "react-native-intlayer";
48
+ ```
49
+
50
+ ### Hooks e utilitários
51
+
52
+ Estes são reexportados de `react-intlayer`, portanto você pode importá-los diretamente de `react-native-intlayer`:
40
53
 
41
- Import:
54
+ | Exportação | Descrição |
55
+ | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
56
+ | `useIntlayer` | Acessa conteúdo localizado para uma chave de dicionário. |
57
+ | `useLocale` | Lê e altera o locale atual. |
58
+ | `useDictionary`, `useDictionaryAsync`, `useDictionaryDynamic`, `useLoadDynamic` | Carrega conteúdo de dicionário de diversas formas. |
59
+ | `useI18n` | Hook compatível com i18next. |
60
+ | `t` | Auxiliar de tradução inline. |
61
+ | `getIntlayer`, `getDictionary` | Getters imperativos de conteúdo. |
62
+ | `localeCookie`, `localeInStorage`, `setLocaleCookie`, `setLocaleInStorage`, `useLocaleCookie`, `useLocaleStorage` | Auxiliares de persistência 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` | Função que aplica os polyfills necessários para o React Native dar suporte ao Intlayer. |
52
73
 
53
- Import:
74
+ ```tsx
75
+ import { intlayerPolyfill } from "react-native-intlayer";
76
+ ```
77
+
78
+ > O polyfill é aplicado automaticamente quando você importa `IntlayerProvider`. Chame `intlayerPolyfill` manualmente apenas se precisar dos polyfills antes que o provider seja montado.
79
+
80
+ ### Formatadores
81
+
82
+ Hooks de formatação numérica, de data e outros baseados em Intl estão disponíveis no subcaminho `/format`:
83
+
84
+ ```tsx
85
+ import { useNumber, useDate } from "react-native-intlayer/format";
86
+ ```
87
+
88
+ ### Renderização de Markdown e 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
  ### Configuração do Metro
@@ -66,8 +102,6 @@ O pacote `react-native-intlayer` fornece utilitários de configuração do Metro
66
102
  | `configMetroIntlayerSync` | Função síncrona que mescla a configuração do Metro sem preparar os recursos do Intlayer. |
67
103
  | `exclusionList` | Cria um padrão RegExp para o blockList do Metro para excluir arquivos de conteúdo do bundle. |
68
104
 
69
- Importação:
70
-
71
105
  ```tsx
72
- import "react-native-intlayer/metro";
106
+ import { configMetroIntlayer } from "react-native-intlayer/metro";
73
107
  ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-06-18
3
- updatedAt: 2026-05-31
3
+ updatedAt: 2026-06-25
4
4
  title: "Expo + React Native i18n - Полное руководство по переводу вашего приложения"
5
5
  description: "Больше никакого i18next. Руководство 2026 по созданию многоязычного (i18n) приложения Expo + React Native. Переводите с помощью ИИ-агентов и оптимизируйте размер бандла, SEO и производительность."
6
6
  keywords:
@@ -17,6 +17,9 @@ 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: "Импорт провайдеров и хуков напрямую из react-native-intlayer; react-intlayer больше не нужен как прямая зависимость"
20
23
  - version: 8.9.0
21
24
  date: 2026-05-04
22
25
  changes: "Обновление использования API useIntlayer в Solid для прямого доступа к свойствам"
@@ -37,7 +40,7 @@ author: aymericzip
37
40
  <iframe
38
41
  src="https://ide.intlayer.org/aymericzip/intlayer-react-native-template?file=intlayer.config.ts"
39
42
  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"
43
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
41
44
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
42
45
  loading="lazy"
43
46
  />
@@ -56,56 +59,66 @@ author: aymericzip
56
59
  </Tab>
57
60
  </Tabs>
58
61
 
59
- Смотрите [Шаблон приложения](https://github.com/aymericzip/intlayer-react-native-template) на GitHub.
62
+ ## Содержание
60
63
 
61
- ## Шаг 1. Установите зависимости
64
+ <TOC/>
62
65
 
63
- См. [Шаблон приложения](https://github.com/aymericzip/intlayer-react-native-template) на GitHub.
66
+ ## Почему Intlayer, а не альтернативы?
64
67
 
65
- Из вашего проекта React Native установите следующие пакеты:
68
+ По сравнению с основными решениями, такими как `react-native-localize` или `i18next`, Intlayer — это решение, включающее такие интегрированные оптимизации, как:
66
69
 
67
- ```bash packageManager="npm"
68
- npm установить intlayer
69
- npm install --save-dev реагирование-native-intlayer
70
- Инициализация промежуточного слоя npx
71
- ```
70
+ <AccordionGroup>
72
71
 
73
- ```bash packageManager="pnpm"
74
- pnpm добавить промежуточный слой
75
- pnpm добавить --save-dev реагирование-native-intlayer
76
- инициализация промежуточного слоя pnpm
77
- ```
72
+ <Accordion header="Полная поддержка React Native">
78
73
 
79
- ```bash packageManager="yarn"
80
- пряжа добавить промежуточный слой
81
- пряжа добавить --save-dev
82
- инициализация промежуточного слоя пряжи
83
- ```
74
+ Intlayer оптимизирован для идеальной работы с React Native и Expo, предлагая **определение контента на уровне компонентов**, **поддержку TypeScript** и все необходимые функции для масштабирования интернационализации (i18n) в мобильных приложениях.
84
75
 
85
- ```bash packageManager="булочка"
86
- булочка добавить промежуточный слой
87
- булочка добавить --dev response-native-intlayer
88
- инициализация промежуточного слоя булочки x
89
- ```
76
+ </Accordion>
90
77
 
91
- ### Пакеты
78
+ <Accordion header="Поддерживаемость">
92
79
 
93
- - **промежуточный слой**
94
- Базовый набор инструментов i18n для настройки, содержимого словаря, генерации типов и команд CLI.
80
+ Организация контента по отдельным областям (scoping) **упрощает сопровождение** крупных приложений. Вы можете скопировать или удалить папку с функцией без необходимости просматривать всю кодовую базу контента. Кроме того, Intlayer **полностью типизирован (fully typed)**, что обеспечивает точность вашего контента.
95
81
 
96
- - **реакция-intlayer**
97
- Интеграция React, которая предоставляет поставщиков контекста и перехватчики React, которые вы будете использовать в React Native для получения и переключения локалей.
82
+ </Accordion>
98
83
 
99
- - **реагировать-родной-intlayer**
100
- Интеграция React Native, предоставляющая плагин Metro для интеграции Intlayer с упаковщиком React Native.
84
+ <Accordion header="ИИ-агент">
101
85
 
102
- ---
86
+ Совместное размещение контента **сокращает контекст, необходимый** для больших языковых моделей (LLM). Intlayer также поставляется с набором инструментов, таких как **CLI** для проверки отсутствующих переводов, **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** и **[навыки агента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, чтобы сделать опыт разработчика (DX) ещё более комфортным для ИИ-агентов.
87
+
88
+ </Accordion>
89
+
90
+ <Accordion header="Автоматизация">
91
+
92
+ Используйте автоматизацию для перевода в вашем CI/CD-пайплайне с помощью LLM по вашему выбору за счёт вашего провайдера ИИ. Intlayer также предлагает **компилятор** для автоматизации извлечения контента, а также [веб-платформу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md), чтобы помочь **переводить в фоновом режиме**.
93
+
94
+ </Accordion>
95
+
96
+ <Accordion header="Производительность">
97
+
98
+ Подключение больших JSON-файлов к компонентам может привести к проблемам с производительностью и реактивностью. Intlayer оптимизирует загрузку контента во время сборки (build time).
99
+
100
+ </Accordion>
101
+
102
+ <Accordion header="Масштабирование с не-разработчиками">
103
+
104
+ Будучи больше, чем просто решением для i18n, Intlayer предлагает **собственный [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** и **[полноценную CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)**, чтобы помочь вам управлять многоязычным контентом в **реальном времени**, делая сотрудничество с переводчиками, копирайтерами и другими членами команды бесперебойным. Контент может храниться локально и/или удалённо.
105
+
106
+ </Accordion>
107
+
108
+ <Accordion header="Размер бандла">
109
+
110
+ Вместо загрузки огромных JSON-файлов на ваши страницы загружайте только необходимый контент. Intlayer помогает **уменьшить размер вашего бандла и представлений до 50%**.
111
+
112
+ </Accordion>
113
+ </AccordionGroup>
103
114
 
104
115
  <Steps>
105
116
 
106
- <Step number={1} title="Установка зависимостей">
117
+ <Step number={1} title="Установите зависимости">
118
+
119
+ См. [Шаблон приложения](https://github.com/aymericzip/intlayer-react-native-template) на GitHub.
107
120
 
108
- В вашем проекте React Native установите следующие пакеты:
121
+ Из вашего проекта React Native установите следующие пакеты:
109
122
 
110
123
  ```bash packageManager="npm"
111
124
  npx intlayer-cli init --interactive
@@ -123,28 +136,24 @@ yarn dlx intlayer-cli init --interactive
123
136
  bunx intlayer-cli init --interactive
124
137
  ```
125
138
 
126
- > флаг `--interactive` не является обязательным. Используйте `intlayer-cli init`, если вы являетесь ИИ-агентом.
139
+ > Флаг `--interactive` не является обязательным. Используйте `intlayer-cli init`, если вы являетесь ИИ-агентом.
127
140
 
128
141
  > Эта команда определит вашу среду и установит необходимые пакеты. Например:
129
142
 
130
143
  ```bash packageManager="npm"
131
- npm install intlayer react-intlayer
132
- npm install --save-dev react-native-intlayer
144
+ npm install intlayer react-native-intlayer
133
145
  ```
134
146
 
135
147
  ```bash packageManager="pnpm"
136
- pnpm add intlayer react-intlayer
137
- pnpm add --save-dev react-native-intlayer
148
+ pnpm add intlayer react-native-intlayer
138
149
  ```
139
150
 
140
151
  ```bash packageManager="yarn"
141
- yarn add intlayer react-intlayer
142
- yarn add --save-dev react-native-intlayer
152
+ yarn add intlayer react-native-intlayer
143
153
  ```
144
154
 
145
155
  ```bash packageManager="bun"
146
- bun add intlayer react-intlayer
147
- bun add --dev react-native-intlayer
156
+ bun add intlayer react-native-intlayer
148
157
  ```
149
158
 
150
159
  ### Пакеты
@@ -152,11 +161,8 @@ bun add --dev react-native-intlayer
152
161
  - **intlayer**
153
162
  Основной набор инструментов i18n для конфигурации, содержимого словарей, генерации типов и команд CLI.
154
163
 
155
- - **react-intlayer**
156
- Интеграция с React, предоставляющая провайдеры контекста и React-хуки, которые вы будете использовать в React Native для получения и переключения локалей.
157
-
158
164
  - **react-native-intlayer**
159
- Интеграция с React Native, предоставляющая плагин Metro для интеграции Intlayer с бандлером React Native.
165
+ Интеграция с React Native, предоставляющая провайдеры контекста и React-хуки, которые вы будете использовать для получения и переключения локалей, полифилы React Native, а также плагин Metro для интеграции Intlayer с бандлером React Native. Он реэкспортирует всё из `react-intlayer`, поэтому в приложении React Native достаточно этого единственного пакета.
160
166
 
161
167
  ---
162
168
 
@@ -198,7 +204,7 @@ export default config;
198
204
 
199
205
  <Step number={3} title="Добавьте плагин Metro">
200
206
 
201
- Metro - это сборщик для React Native. Он является сборщиком по умолчанию для проектов React Native, созданных с помощью команды `react-native init`. Чтобы использовать Intlayer с Metro, необходимо добавить плагин в файл `metro.config.js`:
207
+ Metro это сборщик для React Native. Он является сборщиком по умолчанию для проектов React Native, созданных с помощью команды `react-native init`. Чтобы использовать Intlayer с Metro, необходимо добавить плагин в файл `metro.config.js`:
202
208
 
203
209
  ```js fileName="metro.config.js"
204
210
  const { getDefaultConfig } = require("expo/metro-config");
@@ -211,13 +217,18 @@ module.exports = (async () => {
211
217
  })();
212
218
  ```
213
219
 
220
+ > Примечание: `configMetroIntlayer` — это асинхронная функция. Используйте `configMetroIntlayerSync`, если хотите использовать её синхронно, или избегайте IIFE (Immediately Invoked Function Expression).
221
+ > Примечание: `configMetroIntlayerSync` не позволяет собирать словари intlayer при запуске сервера
222
+
214
223
  </Step>
215
224
 
216
225
  <Step number={4} title="Добавьте провайдер Intlayer">
217
226
 
218
- Чтобы синхронизировать язык пользователя во всем приложении, необходимо обернуть корневой компонент в компонент `IntlayerProvider` из `react-intlayer-native`.
227
+ Чтобы синхронизировать язык пользователя по всему приложению, необходимо обернуть корневой компонент в компонент `IntlayerProvider` из `react-native-intlayer`.
228
+
229
+ > Всегда импортируйте из `react-native-intlayer`. Его `IntlayerProvider` включает полифилы для веб-API, используемого Intlayer, и пакет реэкспортирует все хуки и утилиты из `react-intlayer`.
219
230
 
220
- > Убедитесь, что вы используете провайдер из `react-native-intlayer`, а не из `react-intlayer`. Экспорт из `react-native-intlayer` включает полифилы для веб-API.
231
+ Также необходимо добавить функцию `intlayerPolyfill` в ваш файл `index.js`, чтобы обеспечить корректную работу Intlayer.
221
232
 
222
233
  ```tsx fileName="app/_layout.tsx" codeFormat={["typescript", "esm"]}
223
234
  import { Stack } from "expo-router";
@@ -321,7 +332,7 @@ export default homeScreenContent;
321
332
 
322
333
  ```tsx fileName="app/(tabs)/index.tsx" codeFormat={["typescript", "esm"]}
323
334
  import { Image, StyleSheet, Platform } from "react-native";
324
- import { useIntlayer } from "react-intlayer";
335
+ import { useIntlayer } from "react-native-intlayer";
325
336
  import { HelloWave } from "@/components/HelloWave";
326
337
  import ParallaxScrollView from "@/components/ParallaxScrollView";
327
338
  import { ThemedText } from "@/components/ThemedText";
@@ -368,7 +379,7 @@ export default HomeScreen;
368
379
 
369
380
  </Step>
370
381
 
371
- <Step number={7} title="Изменение локали приложения">
382
+ <Step number={7} title="Изменение локали приложения" isOptional={true}>
372
383
 
373
384
  Для переключения локалей изнутри ваших компонентов вы можете использовать метод `setLocale` хука `useLocale`:
374
385
 
@@ -376,7 +387,7 @@ export default HomeScreen;
376
387
  import { type FC } from "react";
377
388
  import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
378
389
  import { getLocaleName } from "intlayer";
379
- import { useLocale } from "react-intlayer";
390
+ import { useLocale } from "react-native-intlayer";
380
391
 
381
392
  export const LocaleSwitcher: FC = () => {
382
393
  const { setLocale, availableLocales } = useLocale();
@@ -453,7 +464,7 @@ Intlayer генерирует определения типов в скрыто
453
464
  Чтобы избежать коммита автоматически сгенерированных файлов Intlayer, добавьте следующее в ваш `.gitignore`:
454
465
 
455
466
  ```bash
456
- # Игнорировать файлы, сгенерированные Intlayer
467
+ # Игнорировать файлы, сгенерированные Intlayer
457
468
  .intlayer
458
469
  ```
459
470
 
@@ -490,13 +501,13 @@ Intlayer генерирует определения типов в скрыто
490
501
 
491
502
  React Native может быть менее стабильным, чем React Web, поэтому обратите особое внимание на выравнивание версий.
492
503
 
493
- Intlayer в основном ориентирован на Web Intl API; в React Native вы должны включить соответствующие polyfills.
504
+ Intlayer в основном ориентирован на Web Intl API; в React Native вы должны включить соответствующие полифилы.
494
505
 
495
506
  Контрольный список:
496
507
 
497
- - Используйте последние версии `intlayer`, `react-intlayer` и `react-native-intlayer`.
498
- - Включите Intlayer polyfill.
499
- - Если вы используете `getLocaleName` или другие утилиты на основе Intl API, импортируйте эти polyfills рано (например, в `index.js` или `App.tsx`):
508
+ - Используйте последние версии `intlayer` и `react-native-intlayer`.
509
+ - Включите Intlayer полифил.
510
+ - Если вы используете `getLocaleName` или другие утилиты на основе Intl API, импортируйте эти полифилы рано (например, в `index.js` или `App.tsx`):
500
511
 
501
512
  ```ts
502
513
  import "intl";
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2026-01-21
3
- updatedAt: 2026-01-21
3
+ updatedAt: 2026-06-25
4
4
  title: Документация пакета react-native-intlayer
5
- description: Поддержка React Native для Intlayer, предоставляющая провайдеры и полифилы.
5
+ description: Поддержка React Native для Intlayer, предоставляющая провайдеры, хуки, полифилы и конфигурацию 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: "Реэкспорт полного API react-intlayer (хуки, утилиты, подпути format/html/markdown), чтобы приложение React Native зависело только от react-native-intlayer"
17
20
  - version: 8.0.0
18
21
  date: 2026-01-21
19
22
  changes: "Унифицированная документация для всех экспортов"
@@ -22,7 +25,9 @@ author: aymericzip
22
25
 
23
26
  # Пакет react-native-intlayer
24
27
 
25
- Пакет `react-native-intlayer` предоставляет необходимые инструменты для интеграции Intlayer в приложения React Native. Он включает провайдер и полифилы для поддержки локалей.
28
+ Пакет `react-native-intlayer` предоставляет необходимые инструменты для интеграции Intlayer в приложения React Native. Он реэкспортирует полный API `react-intlayer` (хуки и утилиты) с `IntlayerProvider`, адаптированным для React Native, а также полифилы и конфигурацию Metro, необходимые для работы в React Native.
29
+
30
+ > В приложении React Native импортируйте **всё** из `react-native-intlayer`. Устанавливать или импортировать `react-intlayer` напрямую не нужно.
26
31
 
27
32
  ## Установка
28
33
 
@@ -34,26 +39,57 @@ npm install react-native-intlayer
34
39
 
35
40
  ### Провайдер
36
41
 
37
- | Компонент | Описание |
38
- | ------------------ | ------------------------------------------------------------------------------------------- |
39
- | `IntlayerProvider` | Провайдер-компонент, который оборачивает ваше приложение и предоставляет контекст Intlayer. |
42
+ | Компонент | Описание |
43
+ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
44
+ | `IntlayerProvider` | Провайдер-компонент, который оборачивает ваше приложение и предоставляет контекст Intlayer. Автоматически применяет необходимые полифилы. |
45
+
46
+ ```tsx
47
+ import { IntlayerProvider } from "react-native-intlayer";
48
+ ```
49
+
50
+ ### Хуки и утилиты
51
+
52
+ Они реэкспортируются из `react-intlayer`, поэтому вы можете импортировать их напрямую из `react-native-intlayer`:
40
53
 
41
- Импорт:
54
+ | Экспорт | Описание |
55
+ | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
56
+ | `useIntlayer` | Доступ к локализованному контенту по ключу словаря. |
57
+ | `useLocale` | Чтение и изменение текущей локали. |
58
+ | `useDictionary`, `useDictionaryAsync`, `useDictionaryDynamic`, `useLoadDynamic` | Загрузка содержимого словаря различными способами. |
59
+ | `useI18n` | Совместимый с i18next хук. |
60
+ | `t` | Вспомогательная функция для встроенного перевода. |
61
+ | `getIntlayer`, `getDictionary` | Императивные геттеры контента. |
62
+ | `localeCookie`, `localeInStorage`, `setLocaleCookie`, `setLocaleInStorage`, `useLocaleCookie`, `useLocaleStorage` | Вспомогательные функции для сохранения локали. |
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
+ ### Полифил
48
69
 
49
70
  | Функция | Описание |
50
71
  | ------------------ | -------------------------------------------------------------------------------- |
51
72
  | `intlayerPolyfill` | Функция, применяющая необходимые полифилы для поддержки Intlayer в React Native. |
52
73
 
53
- Импорт:
74
+ ```tsx
75
+ import { intlayerPolyfill } from "react-native-intlayer";
76
+ ```
77
+
78
+ > Полифил применяется автоматически при импорте `IntlayerProvider`. Вызывайте `intlayerPolyfill` вручную только если вам нужны полифилы до монтирования провайдера.
79
+
80
+ ### Форматтеры
81
+
82
+ Хуки форматирования чисел, дат и другие функции на базе Intl доступны из подпути `/format`:
83
+
84
+ ```tsx
85
+ import { useNumber, useDate } from "react-native-intlayer/format";
86
+ ```
87
+
88
+ ### Markdown и 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
  ### Конфигурация Metro
@@ -64,11 +100,8 @@ import "react-native-intlayer";
64
100
  | ------------------------- | ------------------------------------------------------------------------------------------- |
65
101
  | `configMetroIntlayer` | Асинхронная функция, которая подготавливает Intlayer и объединяет конфигурацию Metro. |
66
102
  | `configMetroIntlayerSync` | Синхронная функция, которая объединяет конфигурацию Metro без подготовки ресурсов Intlayer. |
67
- | `exclusionList` | Создаёт шаблон RegExp для blockList Metro, чтобы исключать файлы контента из bundle. |
68
-
69
- Импорт:
103
+ | `exclusionList` | Создаёт шаблон RegExp для blockList Metro, чтобы исключать файлы контента из бандла. |
70
104
 
71
105
  ```tsx
72
- import "react-native-intlayer/metro";
73
- import "react-native-intlayer/metro";
106
+ import { configMetroIntlayer } from "react-native-intlayer/metro";
74
107
  ```