@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,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-07
3
- updatedAt: 2026-05-31
3
+ updatedAt: 2026-06-25
4
4
  title: "Expo + React Native i18n - Uygulamanızı çevirmek için eksiksiz kılavuz"
5
5
  description: "Artık i18next yok. 2026 yılı için çok dilli (i18n) Expo + React Native uygulaması oluşturma kılavuzu. Yapay zeka ajanlarıyla çevirin ve bundle boyutu, SEO ve performansı optimize edin."
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: "Sağlayıcıları ve hook'ları doğrudan react-native-intlayer'dan içe aktarın; react-intlayer artık doğrudan bağımlılık olarak gerekli değildir"
20
23
  - version: 8.9.0
21
24
  date: 2026-05-04
22
25
  changes: "Solid useIntlayer API kullanımını doğrudan özellik erişimine güncelle"
@@ -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,11 +59,13 @@ author: aymericzip
56
59
  </Tab>
57
60
  </Tabs>
58
61
 
59
- GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-react-native-template)na bakın.
62
+ ## İçindekiler
63
+
64
+ <TOC/>
60
65
 
61
66
  ## Neden alternatifler yerine Intlayer?
62
67
 
63
- 'React-native-localize' veya 'i18next' gibi ana çözümlerle karşılaştırıldığında Intlayer, aşağıdaki gibi entegre optimizasyonlarla gelen bir çözümdür:
68
+ `react-native-localize` veya `i18next` gibi ana çözümlerle karşılaştırıldığında Intlayer, aşağıdaki gibi entegre optimizasyonlarla gelen bir çözümdür:
64
69
 
65
70
  <AccordionGroup>
66
71
 
@@ -78,7 +83,7 @@ Uygulamanızın içeriğinin kapsamını belirlemek, büyük ölçekli uygulamal
78
83
 
79
84
  <Accordion header="Yapay Zeka Temsilcisi">
80
85
 
81
- İçeriğin bir arada konumlandırılması **Büyük Dil Modellerinin (LLM'ler) ihtiyaç duyduğu bağlamı azaltır**. Intlayer ayrıca eksik çevirileri test etmek için **CLI** gibi bir araç paketiyle birlikte gelir**[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)** ve **[aracı becerileri](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, geliştirici deneyimini (DX) yapay zeka için daha da sorunsuz hale getirmek için ajanlar.
86
+ İçeriğin bir arada konumlandırılması **Büyük Dil Modellerinin (LLM'ler) ihtiyaç duyduğu bağlamı azaltır**. Intlayer ayrıca eksik çevirileri test etmek için **CLI** gibi bir araç paketiyle birlikte gelir; **[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)** ve **[aracı becerileri](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, geliştirici deneyimini (DX) yapay zeka ajanları için daha da sorunsuz hale getirmek için.
82
87
 
83
88
  </Accordion>
84
89
 
@@ -107,23 +112,12 @@ Sayfalarınıza çok büyük JSON dosyaları yüklemek yerine yalnızca gerekli
107
112
  </Accordion>
108
113
  </AccordionGroup>
109
114
 
110
- ### Paketler
111
-
112
- - **ara katman**
113
- Yapılandırma, sözlük içeriği, tür oluşturma ve CLI komutları için temel i18n araç seti.
114
-
115
- - **tepki katmanı**
116
- Yerel ayarları edinmek ve değiştirmek için React Native'de kullanacağınız içerik sağlayıcıları ve React kancalarını sağlayan React entegrasyonu.
117
-
118
- - **tepki-yerel-intlayer**
119
- Intlayer'ı React Native paketleyiciyle entegre etmek için Metro eklentisini sağlayan React Native entegrasyonu.
120
-
121
- ---
122
-
123
115
  <Steps>
124
116
 
125
117
  <Step number={1} title="Bağımlılıkları Kurma">
126
118
 
119
+ GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-react-native-template)na bakın.
120
+
127
121
  React Native projenizden aşağıdaki paketleri kurun:
128
122
 
129
123
  ```bash packageManager="npm"
@@ -147,23 +141,19 @@ bunx intlayer-cli init --interactive
147
141
  > Bu komut ortamınızı algılayacak ve gerekli paketleri yükleyecektir. Örneğin:
148
142
 
149
143
  ```bash packageManager="npm"
150
- npm install intlayer react-intlayer
151
- npm install --save-dev react-native-intlayer
144
+ npm install intlayer react-native-intlayer
152
145
  ```
153
146
 
154
147
  ```bash packageManager="pnpm"
155
- pnpm add intlayer react-intlayer
156
- pnpm add --save-dev react-native-intlayer
148
+ pnpm add intlayer react-native-intlayer
157
149
  ```
158
150
 
159
151
  ```bash packageManager="yarn"
160
- yarn add intlayer react-intlayer
161
- yarn add --save-dev react-native-intlayer
152
+ yarn add intlayer react-native-intlayer
162
153
  ```
163
154
 
164
155
  ```bash packageManager="bun"
165
- bun add intlayer react-intlayer
166
- bun add --dev react-native-intlayer
156
+ bun add intlayer react-native-intlayer
167
157
  ```
168
158
 
169
159
  ### Paketler
@@ -171,11 +161,8 @@ bun add --dev react-native-intlayer
171
161
  - **intlayer**
172
162
  Yapılandırma, sözlük içeriği, tür oluşturma ve CLI komutları için çekirdek i18n araç takımı.
173
163
 
174
- - **react-intlayer**
175
- React entegrasyonu, React Native'te yerel ayarları elde etmek ve değiştirmek için kullanacağınız bağlam sağlayıcıları ve React kancalarını sağlar.
176
-
177
164
  - **react-native-intlayer**
178
- React Native entegrasyonu, Intlayer'ı React Native paketleyici ile entegre etmek için Metro eklentisini sağlar.
165
+ React Native entegrasyonu, yerel ayarları elde etmek ve değiştirmek için kullanacağınız bağlam sağlayıcıları ve React kancalarını, React Native polyfill'lerini ve Intlayer'ı React Native paketleyici ile entegre etmek için Metro eklentisini sağlar. `react-intlayer`'dan her şeyi yeniden dışa aktarır, bu nedenle bir React Native uygulamasında yalnızca bu tek pakete ihtiyaç duyarsınız.
179
166
 
180
167
  ---
181
168
 
@@ -230,13 +217,18 @@ module.exports = (async () => {
230
217
  })();
231
218
  ```
232
219
 
220
+ > Not: `configMetroIntlayer` bir promise fonksiyonudur. Eş zamanlı kullanmak istiyorsanız `configMetroIntlayerSync` kullanın veya IIFE'den (Hemen Çağrılan Fonksiyon İfadesi) kaçının.
221
+ > Not: `configMetroIntlayerSync`, sunucu başlatıldığında intlayer sözlükleri oluşturmaya izin vermez
222
+
233
223
  </Step>
234
224
 
235
225
  <Step number={4} title="Intlayer Sağlayıcısını Ekleyin">
236
226
 
237
- Uygulamanız genelinde kullanıcı dilini senkronize tutmak için, kök bileşeninizi `react-intlayer-native`'den gelen `IntlayerProvider` bileşeni ile sarmanız gerekir.
227
+ Uygulamanız genelinde kullanıcı dilini senkronize tutmak için, kök bileşeninizi `react-native-intlayer`'dan gelen `IntlayerProvider` bileşeni ile sarmanız gerekir.
228
+
229
+ > Her zaman `react-native-intlayer`'dan içe aktarın. Onun `IntlayerProvider`'ı, Intlayer tarafından kullanılan web API'si için polyfill'leri içerir ve paket, `react-intlayer`'dan tüm hook'ları ve yardımcı programları yeniden dışa aktarır.
238
230
 
239
- > `react-intlayer` yerine `react-native-intlayer`'dan gelen sağlayıcıyı kullandığınızdan emin olun. `react-native-intlayer`'dan gelen dışa aktarım, web API'si için polyfill'leri içerir.
231
+ Ayrıca Intlayer'ın düzgün çalışmasını sağlamak için `intlayerPolyfill` fonksiyonunu `index.js` dosyanıza eklemeniz gerekir.
240
232
 
241
233
  ```tsx fileName="app/_layout.tsx" codeFormat={["typescript", "esm"]}
242
234
  import { Stack } from "expo-router";
@@ -286,7 +278,7 @@ Projenizde herhangi bir yerde **içerik bildirim** dosyaları oluşturun (genell
286
278
 
287
279
  Örnek (React Native için TSX düğümleriyle TypeScript):
288
280
 
289
- ```tsx fileName="src/app.content.tsx" contentDeclarationFormat={["typescript", "esm"]}
281
+ ```tsx fileName="src/app.content.tsx" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
290
282
  import { t, type Dictionary } from "intlayer";
291
283
  import type { ReactNode } from "react";
292
284
 
@@ -309,24 +301,6 @@ const homeScreenContent = {
309
301
  export default homeScreenContent;
310
302
  ```
311
303
 
312
- ```jsx fileName="src/app.content.csx" codeFormat="commonjs"
313
- const { t } = require("intlayer");
314
-
315
- /** @type {import('intlayer').Dictionary} */
316
- const appContent = {
317
- key: "home-screen",
318
- content: {
319
- title: t({
320
- en: "Welcome!",
321
- fr: "Bienvenue!",
322
- es: "¡Bienvenido!",
323
- }),
324
- },
325
- };
326
-
327
- module.exports = appContent;
328
- ```
329
-
330
304
  ```json fileName="src/app.content.json" contentDeclarationFormat="json"
331
305
  {
332
306
  "$schema": "https://intlayer.org/schema.json",
@@ -358,7 +332,7 @@ Alt bileşenlerde yerelleştirilmiş içerik almak için `useIntlayer` kancasın
358
332
 
359
333
  ```tsx fileName="app/(tabs)/index.tsx" codeFormat={["typescript", "esm"]}
360
334
  import { Image, StyleSheet, Platform } from "react-native";
361
- import { useIntlayer } from "react-intlayer";
335
+ import { useIntlayer } from "react-native-intlayer";
362
336
  import { HelloWave } from "@/components/HelloWave";
363
337
  import ParallaxScrollView from "@/components/ParallaxScrollView";
364
338
  import { ThemedText } from "@/components/ThemedText";
@@ -405,7 +379,7 @@ export default HomeScreen;
405
379
 
406
380
  </Step>
407
381
 
408
- <Step number={7} title="Uygulama Yerel Ayarını Değiştirin">
382
+ <Step number={7} title="Uygulama Yerel Ayarını Değiştirin" isOptional={true}>
409
383
 
410
384
  Bileşenlerinizden yerel ayarları değiştirmek için, `useLocale` kancasının `setLocale` metodunu kullanabilirsiniz:
411
385
 
@@ -413,7 +387,7 @@ Bileşenlerinizden yerel ayarları değiştirmek için, `useLocale` kancasının
413
387
  import { type FC } from "react";
414
388
  import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
415
389
  import { getLocaleName } from "intlayer";
416
- import { useLocale } from "react-intlayer";
390
+ import { useLocale } from "react-native-intlayer";
417
391
 
418
392
  export const LocaleSwitcher: FC = () => {
419
393
  const { setLocale, availableLocales } = useLocale();
@@ -490,7 +464,7 @@ Bu, aşağıdaki gibi özellikleri etkinleştirir:
490
464
  Intlayer tarafından otomatik olarak oluşturulan dosyaları göndermekten kaçınmak için, `.gitignore`'nize aşağıdakileri ekleyin:
491
465
 
492
466
  ```bash
493
- # Intlayer tarafından oluşturulan dosyaları yok say
467
+ # Intlayer tarafından oluşturulan dosyaları yok say
494
468
  .intlayer
495
469
  ```
496
470
 
@@ -531,7 +505,7 @@ Intlayer öncelikle Web Intl API'sini hedefler; React Native'de uygun polyfill'l
531
505
 
532
506
  Kontrol Listesi:
533
507
 
534
- - `intlayer`, `react-intlayer` ve `react-native-intlayer`'ın en son sürümlerini kullanın.
508
+ - `intlayer` ve `react-native-intlayer`'ın en son sürümlerini kullanın.
535
509
  - Intlayer polyfill'ini etkinleştirin.
536
510
  - `getLocaleName` veya diğer Intl-API tabanlı yardımcı programları kullanıyorsanız, bu polyfill'leri erken aktarın (örneğin `index.js` veya `App.tsx` içinde):
537
511
 
@@ -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 Paket Dokümantasyonu
5
- description: Intlayer için React Native desteği, provider'lar ve polyfill'ler sağlar.
5
+ description: Intlayer için React Native desteği, provider'lar, hook'lar, polyfill'ler ve Metro yapılandırması sağlar.
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: "Bir React Native uygulamasının yalnızca react-native-intlayer'a bağımlı olması için tam react-intlayer API'sini (hook'lar, yardımcı programlar, format/html/markdown alt yolları) yeniden dışa aktar"
17
20
  - version: 8.0.0
18
21
  date: 2026-01-21
19
22
  changes: "Tüm dışa aktarımlar için birleştirilmiş dokümantasyon"
@@ -22,7 +25,9 @@ author: aymericzip
22
25
 
23
26
  # react-native-intlayer Paketi
24
27
 
25
- `react-native-intlayer` paketi, Intlayer'ı React Native uygulamalarına entegre etmek için gerekli araçları sağlar. Bir provider ve locale desteği için polyfill'ler içerir.
28
+ `react-native-intlayer` paketi, Intlayer'ı React Native uygulamalarına entegre etmek için gerekli araçları sağlar. React Native'e hazır `IntlayerProvider` ile tam `react-intlayer` API'sini (hook'lar ve yardımcı programlar) yeniden dışa aktarır, ayrıca React Native tarafından gereken polyfill'leri ve Metro yapılandırmasını içerir.
29
+
30
+ > Bir React Native uygulamasında **her şeyi** `react-native-intlayer`'dan içe aktarın. `react-intlayer`'ı doğrudan yüklemeniz veya içe aktarmanız gerekmez.
26
31
 
27
32
  ## Kurulum
28
33
 
@@ -34,14 +39,30 @@ npm install react-native-intlayer
34
39
 
35
40
  ### Provider (Sağlayıcı)
36
41
 
37
- | Bileşen | Açıklama |
38
- | ------------------ | -------------------------------------------------------------------- |
39
- | `IntlayerProvider` | Uygulamanızı saran ve Intlayer bağlamını sağlayan provider bileşeni. |
42
+ | Bileşen | Açıklama |
43
+ | ------------------ | ------------------------------------------------------------------------------------------------------------------- |
44
+ | `IntlayerProvider` | Uygulamanızı saran ve Intlayer bağlamını sağlayan provider bileşeni. Gerekli polyfill'leri otomatik olarak uygular. |
45
+
46
+ ```tsx
47
+ import { IntlayerProvider } from "react-native-intlayer";
48
+ ```
49
+
50
+ ### Hook'lar ve Yardımcı Programlar
51
+
52
+ Bunlar `react-intlayer`'dan yeniden dışa aktarılmıştır, bu nedenle doğrudan `react-native-intlayer`'dan içe aktarabilirsiniz:
40
53
 
41
- İçe Aktarma:
54
+ | Dışa Aktarım | Açıklama |
55
+ | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
56
+ | `useIntlayer` | Bir sözlük anahtarı için yerelleştirilmiş içeriğe erişin. |
57
+ | `useLocale` | Geçerli yerel ayarı okuyun ve değiştirin. |
58
+ | `useDictionary`, `useDictionaryAsync`, `useDictionaryDynamic`, `useLoadDynamic` | Sözlük içeriğini çeşitli yollarla yükleyin. |
59
+ | `useI18n` | i18next uyumlu hook. |
60
+ | `t` | Satır içi çeviri yardımcısı. |
61
+ | `getIntlayer`, `getDictionary` | Zorunlu içerik alıcıları. |
62
+ | `localeCookie`, `localeInStorage`, `setLocaleCookie`, `setLocaleInStorage`, `useLocaleCookie`, `useLocaleStorage` | Yerel ayar kalıcılığı yardımcıları. |
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,15 +71,30 @@ import "react-native-intlayer";
50
71
  | ------------------ | --------------------------------------------------------------------------------------- |
51
72
  | `intlayerPolyfill` | React Native'ın Intlayer'ı desteklemesi için gerekli polyfill'leri uygulayan fonksiyon. |
52
73
 
53
- İçe Aktarma:
74
+ ```tsx
75
+ import { intlayerPolyfill } from "react-native-intlayer";
76
+ ```
77
+
78
+ > Polyfill, `IntlayerProvider`'ı içe aktardığınızda otomatik olarak uygulanır. `intlayerPolyfill`'i yalnızca provider bağlanmadan önce polyfill'lere ihtiyaç duyuyorsanız manuel olarak çağırın.
79
+
80
+ ### Biçimleyiciler
81
+
82
+ Sayı, tarih ve diğer Intl tabanlı biçimlendirme hook'ları `/format` alt yolundan kullanılabilir:
83
+
84
+ ```tsx
85
+ import { useNumber, useDate } from "react-native-intlayer/format";
86
+ ```
87
+
88
+ ### Markdown ve HTML Oluşturma
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 Yapılandırması
60
96
 
61
- react-native-intlayer paketi, Intlayer'ın React Native ile doğru şekilde çalışmasını sağlamak için Metro yapılandırma yardımcıları sağlar.
97
+ `react-native-intlayer` paketi, Intlayer'ın React Native ile doğru şekilde çalışmasını sağlamak için Metro yapılandırma yardımcıları sağlar.
62
98
 
63
99
  | Fonksiyon | Açıklama |
64
100
  | ------------------------- | ------------------------------------------------------------------------------------------------------- |
@@ -66,9 +102,6 @@ react-native-intlayer paketi, Intlayer'ın React Native ile doğru şekilde çal
66
102
  | `configMetroIntlayerSync` | Intlayer kaynaklarını hazırlamadan Metro yapılandırmasını birleştiren senkron fonksiyon. |
67
103
  | `exclusionList` | bundle'dan içerik dosyalarını hariç tutmak için Metro'nun blockList'i için bir RegExp deseni oluşturur. |
68
104
 
69
- İçe Aktarım:
70
-
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
  ```
@@ -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 для прямого доступу до властивостей"
@@ -40,7 +43,7 @@ author: aymericzip
40
43
  <iframe
41
44
  src="https://ide.intlayer.org/aymericzip/intlayer-react-native-template?file=intlayer.config.ts"
42
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"
43
- title="Демо CodeSandbox, як інтернаціоналізувати ваш застосунок за допомогою Intlayer"
46
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
44
47
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
45
48
  loading="lazy"
46
49
  />
@@ -83,13 +86,13 @@ Intlayer оптимізовано для ідеальної роботи з Reac
83
86
 
84
87
  <Accordion header="Агент AI">
85
88
 
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) ще зручнішою для агентів ШІ.
89
+ Спільне розміщення вмісту **зменшує контекст, необхідний** для великих мовних моделей (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
90
 
88
91
  </Accordion>
89
92
 
90
93
  <Accordion header="Автоматизація">
91
94
 
92
- Використовуйте автоматизацію для перекладу в конвеєрі CI/CD за допомогою LLM за вашим вибором за рахунок вашого постачальника штучного інтелекту. Intlayer також пропонує **компілятор** для автоматизації екстракція вмісту, а також [веб-платформу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md), щоб допомогти **перекладати у фоновому режимі**.
95
+ Використовуйте автоматизацію для перекладу в конвеєрі CI/CD за допомогою LLM за вашим вибором за рахунок вашого постачальника штучного інтелекту. Intlayer також пропонує **компілятор** для автоматизації екстракції вмісту, а також [веб-платформу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md), щоб допомогти **перекладати у фоновому режимі**.
93
96
 
94
97
  </Accordion>
95
98
 
@@ -121,27 +124,39 @@ Intlayer оптимізовано для ідеальної роботи з Reac
121
124
  Зі свого проекту React Native встановіть такі пакети:
122
125
 
123
126
  ```bash packageManager="npm"
124
- npm встановити intlayer react-intlayer
125
- npm install --save-dev react-native-intlayer
126
- npx intlayer ініціал
127
+ npx intlayer-cli init --interactive
127
128
  ```
128
129
 
129
130
  ```bash packageManager="pnpm"
130
- pnpm add intlayer react-intlayer
131
- pnpm add --save-dev react-native-intlayer
132
- pnpm intlayer ініціал
131
+ pnpm dlx intlayer-cli init --interactive
133
132
  ```
134
133
 
135
- ```bash packageManager="пряжа"
136
- пряжа add intlayer react-intlayer
137
- yarn add --save-dev react-native-intlayer
138
- yarn intlayer ініц
134
+ ```bash packageManager="yarn"
135
+ yarn dlx intlayer-cli init --interactive
139
136
  ```
140
137
 
141
- ```bash packageManager="булочка"
142
- bun add intlayer react-intlayer
143
- bun add --dev react-native-intlayer
144
- bun x intlayer init
138
+ ```bash packageManager="bun"
139
+ bunx intlayer-cli init --interactive
140
+ ```
141
+
142
+ > Прапорець `--interactive` є необов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
143
+
144
+ > Ця команда визначить ваше середовище та встановить необхідні пакети. Наприклад:
145
+
146
+ ```bash packageManager="npm"
147
+ npm install intlayer react-native-intlayer
148
+ ```
149
+
150
+ ```bash packageManager="pnpm"
151
+ pnpm add intlayer react-native-intlayer
152
+ ```
153
+
154
+ ```bash packageManager="yarn"
155
+ yarn add intlayer react-native-intlayer
156
+ ```
157
+
158
+ ```bash packageManager="bun"
159
+ bun add intlayer react-native-intlayer
145
160
  ```
146
161
 
147
162
  ### Пакети
@@ -149,17 +164,14 @@ bun x intlayer init
149
164
  - **intlayer**
150
165
  Основний i18n-набір інструментів для конфігурації, вмісту словників, генерації типів та команд CLI.
151
166
 
152
- - **react-intlayer**
153
- Інтеграція для React, яка надає провайдери контексту та React hooks, які ви використовуватимете в React Native для отримання та перемикання локалей.
154
-
155
167
  - **react-native-intlayer**
156
- Інтеграція для React Native, яка забезпечує плагін Metro для інтеграції Intlayer з бандлером React Native.
168
+ Інтеграція для React Native, яка надає провайдери контексту та React hooks для отримання та перемикання локалей, поліфіли React Native, а також плагін Metro для інтеграції Intlayer з бандлером React Native. Він реекспортує все з `react-intlayer`, тому у застосунку React Native достатньо лише цього одного пакету.
157
169
 
158
170
  ---
159
171
 
160
172
  </Step>
161
173
 
162
- <Step number={3} title="Створіть конфігурацію Intlayer">
174
+ <Step number={2} title="Створіть конфігурацію Intlayer">
163
175
 
164
176
  У корені вашого проєкту (або в будь-якому зручному місці) створіть файл **Intlayer config**. Він може виглядати так:
165
177
 
@@ -187,15 +199,15 @@ export default config;
187
199
  У цій конфігурації ви можете:
188
200
 
189
201
  - Налаштувати ваш **список підтримуваних локалей**.
190
- - Встановіть локаль за **замовчуванням**.
202
+ - Встановити локаль за **замовчуванням**.
191
203
  - Пізніше ви зможете додати більш просунуті опції (наприклад, логи, користувацькі директорії контенту тощо).
192
204
  - Див. [документацію конфігурації Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md) для детальнішої інформації.
193
205
 
194
206
  </Step>
195
207
 
196
- <Step number={4} title="Додайте плагін Metro">
208
+ <Step number={3} title="Додайте плагін Metro">
197
209
 
198
- Metro, це бандлер для React Native. Він є бандлером за замовчуванням для проєктів React Native, створених за допомогою команди `react-native init`. Щоб використовувати Intlayer з Metro, потрібно додати плагін у файл `metro.config.js`:
210
+ Metro це бандлер для React Native. Він є бандлером за замовчуванням для проєктів React Native, створених за допомогою команди `react-native init`. Щоб використовувати Intlayer з Metro, потрібно додати плагін у файл `metro.config.js`:
199
211
 
200
212
  ```js fileName="metro.config.js"
201
213
  const { getDefaultConfig } = require("expo/metro-config");
@@ -208,16 +220,16 @@ module.exports = (async () => {
208
220
  })();
209
221
  ```
210
222
 
211
- > Примітка: `configMetroIntlayer`, це функція, яка повертає проміс. Використовуйте `configMetroIntlayerSync`, якщо хочете виконувати це синхронно, або уникайте IFFE (Immediately Invoked Function Expression).
223
+ > Примітка: `configMetroIntlayer` це функція, яка повертає проміс. Використовуйте `configMetroIntlayerSync`, якщо хочете виконувати це синхронно, або уникайте IIFE (Immediately Invoked Function Expression).
212
224
  > Примітка: `configMetroIntlayerSync` не дозволяє будувати словники intlayer під час запуску сервера
213
225
 
214
226
  </Step>
215
227
 
216
- <Step number={5} title="Додайте провайдер Intlayer">
228
+ <Step number={4} title="Додайте провайдер Intlayer">
217
229
 
218
- Щоб синхронізувати мову користувача по всьому застосунку, потрібно обгорнути кореневий компонент компонентом `IntlayerProvider` з `react-intlayer-native`.
230
+ Щоб синхронізувати мову користувача по всьому застосунку, потрібно обгорнути кореневий компонент компонентом `IntlayerProvider` з `react-native-intlayer`.
219
231
 
220
- > Переконайтеся, що використовуєте провайдер з `react-native-intlayer`, а не з `react-intlayer`. Експорт з `react-native-intlayer` включає поліфіли для Web API.
232
+ > Завжди імпортуйте з `react-native-intlayer`. Його `IntlayerProvider` включає поліфіли для Web API, які використовує Intlayer, і пакет реекспортує всі хуки та утиліти з `react-intlayer`.
221
233
 
222
234
  Також потрібно додати функцію `intlayerPolyfill` у ваш файл `index.js`, щоб забезпечити правильну роботу Intlayer.
223
235
 
@@ -244,7 +256,7 @@ export default RootLayout;
244
256
 
245
257
  </Step>
246
258
 
247
- <Step number={6} title="Оголосіть свій контент">
259
+ <Step number={5} title="Оголосіть свій контент">
248
260
 
249
261
  Створіть файли **декларації контенту** у будь-якому місці вашого проєкту (зазвичай у `src/`), використовуючи будь-який з форматів розширень, які підтримує Intlayer:
250
262
 
@@ -317,7 +329,7 @@ export default homeScreenContent;
317
329
 
318
330
  </Step>
319
331
 
320
- <Step number={7} title="Використання Intlayer у ваших компонентах">
332
+ <Step number={6} title="Використання Intlayer у ваших компонентах">
321
333
 
322
334
  Використовуйте хук `useIntlayer` у дочірніх компонентах, щоб отримувати локалізований контент.
323
335
 
@@ -325,7 +337,7 @@ export default homeScreenContent;
325
337
 
326
338
  ```tsx fileName="app/(tabs)/index.tsx" codeFormat={["typescript", "esm"]}
327
339
  import { Image, StyleSheet, Platform } from "react-native";
328
- import { useIntlayer } from "react-intlayer";
340
+ import { useIntlayer } from "react-native-intlayer";
329
341
  import { HelloWave } from "@/components/HelloWave";
330
342
  import ParallaxScrollView from "@/components/ParallaxScrollView";
331
343
  import { ThemedText } from "@/components/ThemedText";
@@ -335,8 +347,6 @@ import { type FC } from "react";
335
347
  const HomeScreen = (): FC => {
336
348
  const { title, steps } = useIntlayer("home-screen");
337
349
 
338
- > Якщо ваш застосунок уже існує, ви можете скористатися [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compiler.md) у поєднанні з [командой extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md), щоб перетворити тисячі компонентів за одну секунду.
339
-
340
350
  return (
341
351
  <ParallaxScrollView
342
352
  headerBackgroundColor={{ light: "#A1CEDC", dark: "#1D3D47" }}
@@ -368,11 +378,13 @@ export default HomeScreen;
368
378
 
369
379
  > Коли ви використовуєте `content.someKey` у властивостях, які очікують рядок (наприклад, `title` кнопки або `children` компонента `Text`), **викликайте `content.someKey.value`**, щоб отримати фактичний рядок.
370
380
 
381
+ > Якщо ваш застосунок уже існує, ви можете скористатися [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compiler.md) у поєднанні з [командою extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md), щоб перетворити тисячі компонентів за одну секунду.
382
+
371
383
  ---
372
384
 
373
385
  </Step>
374
386
 
375
- <Step number={8} title="Змінити локаль додатку">
387
+ <Step number={7} title="Змінити локаль додатку" isOptional={true}>
376
388
 
377
389
  Щоб перемикати локалі зсередини ваших компонентів, ви можете використовувати метод `setLocale` хука `useLocale`:
378
390
 
@@ -380,7 +392,7 @@ export default HomeScreen;
380
392
  import { type FC } from "react";
381
393
  import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
382
394
  import { getLocaleName } from "intlayer";
383
- import { useLocale } from "react-intlayer";
395
+ import { useLocale } from "react-native-intlayer";
384
396
 
385
397
  export const LocaleSwitcher: FC = () => {
386
398
  const { setLocale, availableLocales } = useLocale();
@@ -447,17 +459,17 @@ Intlayer генерує визначення типів у прихованій
447
459
 
448
460
  Це дозволяє такі можливості, як:
449
461
 
450
- - **Autocompletion** для ключів вашого словника.
451
- - **Type checking**, що попереджає, якщо ви звертаєтеся до неіснуючого ключа або є невідповідність типів.
462
+ - **Автодоповнення** для ключів вашого словника.
463
+ - **Перевірка типів**, що попереджає, якщо ви звертаєтеся до неіснуючого ключа або є невідповідність типів.
452
464
 
453
465
  ---
454
466
 
455
- ## Git Configuration
467
+ ## Конфігурація Git
456
468
 
457
469
  Щоб уникнути коміту автоматично згенерованих Intlayer файлів, додайте наступне до вашого `.gitignore`:
458
470
 
459
471
  ```bash
460
- # Ігнорувати файли, згенеровані Intlayer
472
+ # Ігнорувати файли, згенеровані Intlayer
461
473
  .intlayer
462
474
  ```
463
475
 
@@ -471,10 +483,10 @@ Intlayer генерує визначення типів у прихованій
471
483
 
472
484
  Це розширення надає:
473
485
 
474
- - **Autocompletion** для ключів перекладу.
475
- - **Real-time error detection** для відсутніх перекладів.
476
- - **Inline previews** перекладеного вмісту.
477
- - **Quick actions** для простого створення та оновлення перекладів.
486
+ - **Автодоповнення** для ключів перекладу.
487
+ - **Виявлення помилок у реальному часі** для відсутніх перекладів.
488
+ - **Вбудований перегляд** перекладеного вмісту.
489
+ - **Швидкі дії** для простого створення та оновлення перекладів.
478
490
 
479
491
  Для детальнішого опису використання розширення зверніться до [документації Intlayer VS Code Extension](https://intlayer.org/doc/vs-code-extension).
480
492
 
@@ -482,9 +494,9 @@ Intlayer генерує визначення типів у прихованій
482
494
 
483
495
  ## Додаткові ресурси
484
496
 
485
- - **Visual Editor**: Використовуйте [Intlayer Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) для візуального керування перекладами.
486
- - **CMS Integration**: Ви також можете винести та отримувати вміст вашого словника з [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md).
487
- - **CLI Commands**: Ознайомтеся з [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md) для завдань, таких як **extracting translations** або **checking missing keys**.
497
+ - **Візуальний редактор**: Використовуйте [Intlayer Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) для візуального керування перекладами.
498
+ - **Інтеграція з CMS**: Ви також можете винести та отримувати вміст вашого словника з [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md).
499
+ - **Команди CLI**: Ознайомтеся з [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md) для завдань, таких як **вилучення перекладів** або **перевірка відсутніх ключів**.
488
500
 
489
501
  Насолоджуйтесь створенням ваших додатків на **React Native** з повноцінною i18n за допомогою **Intlayer**!
490
502
 
@@ -494,13 +506,13 @@ Intlayer генерує визначення типів у прихованій
494
506
 
495
507
  React Native може бути менш стабільним, ніж React для Web, тому приділяйте особливу увагу узгодженню версій.
496
508
 
497
- Intlayer в першу чергу орієнтований на Web Intl API; на React Native потрібно підключити відповідні polyfills.
509
+ Intlayer в першу чергу орієнтований на Web Intl API; на React Native потрібно підключити відповідні поліфіли.
498
510
 
499
511
  Контрольний список:
500
512
 
501
- - Використовуйте останні версії `intlayer`, `react-intlayer` та `react-native-intlayer`.
502
- - Увімкніть Intlayer polyfill.
503
- - Якщо ви використовуєте `getLocaleName` або інші утиліти на базі Intl API, імпортуйте ці polyfills на ранньому етапі (наприклад, в `index.js` або `App.tsx`):
513
+ - Використовуйте останні версії `intlayer` та `react-native-intlayer`.
514
+ - Увімкніть Intlayer поліфіл.
515
+ - Якщо ви використовуєте `getLocaleName` або інші утиліти на базі Intl API, імпортуйте ці поліфіли на ранньому етапі (наприклад, в `index.js` або `App.tsx`):
504
516
 
505
517
  ```ts
506
518
  import "intl";