@intlayer/docs 6.1.6-canary.0 → 6.1.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 (242) hide show
  1. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +71 -80
  2. package/dist/cjs/generated/docs.entry.cjs +16 -0
  3. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  4. package/dist/esm/generated/docs.entry.mjs +16 -0
  5. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  6. package/dist/types/generated/docs.entry.d.ts +1 -0
  7. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  8. package/docs/ar/intlayer_with_angular.md +2 -2
  9. package/docs/ar/intlayer_with_astro.md +246 -0
  10. package/docs/ar/intlayer_with_create_react_app.md +3 -2
  11. package/docs/ar/intlayer_with_express.md +2 -2
  12. package/docs/ar/intlayer_with_nestjs.md +2 -2
  13. package/docs/ar/intlayer_with_nextjs_14.md +2 -2
  14. package/docs/ar/intlayer_with_nextjs_15.md +2 -2
  15. package/docs/ar/intlayer_with_nextjs_page_router.md +2 -2
  16. package/docs/ar/intlayer_with_nuxt.md +2 -2
  17. package/docs/ar/intlayer_with_react_native+expo.md +11 -20
  18. package/docs/ar/intlayer_with_react_router_v7.md +195 -241
  19. package/docs/ar/intlayer_with_tanstack.md +198 -272
  20. package/docs/ar/intlayer_with_vite+preact.md +9 -9
  21. package/docs/ar/intlayer_with_vite+react.md +7 -7
  22. package/docs/ar/intlayer_with_vite+vue.md +9 -9
  23. package/docs/de/intlayer_with_angular.md +2 -2
  24. package/docs/de/intlayer_with_astro.md +246 -0
  25. package/docs/de/intlayer_with_create_react_app.md +2 -2
  26. package/docs/de/intlayer_with_express.md +2 -2
  27. package/docs/de/intlayer_with_nestjs.md +2 -2
  28. package/docs/de/intlayer_with_nextjs_14.md +2 -2
  29. package/docs/de/intlayer_with_nextjs_15.md +2 -2
  30. package/docs/de/intlayer_with_nextjs_page_router.md +2 -2
  31. package/docs/de/intlayer_with_nuxt.md +2 -2
  32. package/docs/de/intlayer_with_react_native+expo.md +11 -20
  33. package/docs/de/intlayer_with_react_router_v7.md +193 -242
  34. package/docs/de/intlayer_with_tanstack.md +194 -266
  35. package/docs/de/intlayer_with_vite+preact.md +9 -9
  36. package/docs/de/intlayer_with_vite+react.md +9 -9
  37. package/docs/de/intlayer_with_vite+vue.md +11 -11
  38. package/docs/de/packages/vite-intlayer/index.md +3 -3
  39. package/docs/en/how_works_intlayer.md +1 -1
  40. package/docs/en/index.md +1 -1
  41. package/docs/en/intlayer_cli.md +1 -1
  42. package/docs/en/intlayer_with_angular.md +4 -4
  43. package/docs/en/intlayer_with_astro.md +246 -0
  44. package/docs/en/intlayer_with_create_react_app.md +4 -4
  45. package/docs/en/intlayer_with_express.md +3 -3
  46. package/docs/en/intlayer_with_lynx+react.md +1 -1
  47. package/docs/en/intlayer_with_nestjs.md +2 -2
  48. package/docs/en/intlayer_with_nextjs_14.md +13 -4
  49. package/docs/en/intlayer_with_nextjs_15.md +13 -4
  50. package/docs/en/intlayer_with_nextjs_page_router.md +5 -5
  51. package/docs/en/intlayer_with_nuxt.md +4 -4
  52. package/docs/en/intlayer_with_react_native+expo.md +46 -24
  53. package/docs/en/intlayer_with_react_router_v7.md +164 -211
  54. package/docs/en/intlayer_with_tanstack.md +166 -241
  55. package/docs/en/intlayer_with_vite+preact.md +12 -12
  56. package/docs/en/intlayer_with_vite+react.md +12 -12
  57. package/docs/en/intlayer_with_vite+solid.md +2 -2
  58. package/docs/en/intlayer_with_vite+svelte.md +2 -2
  59. package/docs/en/intlayer_with_vite+vue.md +12 -12
  60. package/docs/en/introduction.md +1 -1
  61. package/docs/en/packages/next-intlayer/useDictionary.md +1 -1
  62. package/docs/en/packages/next-intlayer/useIntlayer.md +1 -1
  63. package/docs/en/packages/react-intlayer/useDictionary.md +1 -1
  64. package/docs/en/packages/react-intlayer/useI18n.md +1 -1
  65. package/docs/en/packages/react-intlayer/useIntlayer.md +1 -1
  66. package/docs/en/releases/v6.md +1 -0
  67. package/docs/en/roadmap.md +1 -1
  68. package/docs/en-GB/intlayer_with_angular.md +3 -3
  69. package/docs/en-GB/intlayer_with_astro.md +246 -0
  70. package/docs/en-GB/intlayer_with_create_react_app.md +5 -4
  71. package/docs/en-GB/intlayer_with_express.md +2 -2
  72. package/docs/en-GB/intlayer_with_nestjs.md +2 -2
  73. package/docs/en-GB/intlayer_with_nextjs_14.md +4 -4
  74. package/docs/en-GB/intlayer_with_nextjs_15.md +2 -2
  75. package/docs/en-GB/intlayer_with_nextjs_page_router.md +2 -2
  76. package/docs/en-GB/intlayer_with_nuxt.md +2 -2
  77. package/docs/en-GB/intlayer_with_react_native+expo.md +11 -20
  78. package/docs/en-GB/intlayer_with_react_router_v7.md +171 -220
  79. package/docs/en-GB/intlayer_with_tanstack.md +174 -248
  80. package/docs/en-GB/intlayer_with_vite+preact.md +9 -9
  81. package/docs/en-GB/intlayer_with_vite+react.md +9 -9
  82. package/docs/en-GB/intlayer_with_vite+vue.md +11 -11
  83. package/docs/en-GB/packages/next-intlayer/useIntlayer.md +1 -1
  84. package/docs/en-GB/packages/react-intlayer/useIntlayer.md +1 -1
  85. package/docs/es/intlayer_with_angular.md +2 -2
  86. package/docs/es/intlayer_with_astro.md +246 -0
  87. package/docs/es/intlayer_with_create_react_app.md +3 -2
  88. package/docs/es/intlayer_with_express.md +2 -2
  89. package/docs/es/intlayer_with_nextjs_14.md +2 -2
  90. package/docs/es/intlayer_with_nextjs_15.md +2 -2
  91. package/docs/es/intlayer_with_react_native+expo.md +11 -20
  92. package/docs/es/intlayer_with_react_router_v7.md +188 -232
  93. package/docs/es/intlayer_with_tanstack.md +203 -273
  94. package/docs/es/intlayer_with_vite+preact.md +7 -7
  95. package/docs/es/intlayer_with_vite+react.md +7 -7
  96. package/docs/es/intlayer_with_vite+vue.md +9 -9
  97. package/docs/fr/intlayer_with_angular.md +2 -2
  98. package/docs/fr/intlayer_with_astro.md +246 -0
  99. package/docs/fr/intlayer_with_create_react_app.md +3 -2
  100. package/docs/fr/intlayer_with_express.md +2 -2
  101. package/docs/fr/intlayer_with_nestjs.md +2 -2
  102. package/docs/fr/intlayer_with_nextjs_14.md +2 -2
  103. package/docs/fr/intlayer_with_react_native+expo.md +11 -20
  104. package/docs/fr/intlayer_with_react_router_v7.md +188 -248
  105. package/docs/fr/intlayer_with_tanstack.md +192 -265
  106. package/docs/fr/intlayer_with_vite+preact.md +7 -7
  107. package/docs/fr/intlayer_with_vite+react.md +7 -7
  108. package/docs/fr/intlayer_with_vite+vue.md +9 -9
  109. package/docs/hi/intlayer_cli.md +1 -4
  110. package/docs/hi/intlayer_with_angular.md +2 -2
  111. package/docs/hi/intlayer_with_astro.md +246 -0
  112. package/docs/hi/intlayer_with_create_react_app.md +2 -2
  113. package/docs/hi/intlayer_with_express.md +2 -2
  114. package/docs/hi/intlayer_with_nestjs.md +2 -2
  115. package/docs/hi/intlayer_with_nextjs_14.md +2 -2
  116. package/docs/hi/intlayer_with_nextjs_15.md +2 -2
  117. package/docs/hi/intlayer_with_nextjs_page_router.md +2 -2
  118. package/docs/hi/intlayer_with_nuxt.md +2 -2
  119. package/docs/hi/intlayer_with_react_native+expo.md +11 -20
  120. package/docs/hi/intlayer_with_react_router_v7.md +199 -243
  121. package/docs/hi/intlayer_with_tanstack.md +210 -285
  122. package/docs/hi/intlayer_with_vite+preact.md +9 -9
  123. package/docs/hi/intlayer_with_vite+react.md +9 -9
  124. package/docs/hi/intlayer_with_vite+solid.md +1 -1
  125. package/docs/hi/intlayer_with_vite+vue.md +11 -11
  126. package/docs/it/intlayer_with_angular.md +2 -2
  127. package/docs/it/intlayer_with_astro.md +246 -0
  128. package/docs/it/intlayer_with_create_react_app.md +3 -2
  129. package/docs/it/intlayer_with_express.md +2 -2
  130. package/docs/it/intlayer_with_nestjs.md +2 -2
  131. package/docs/it/intlayer_with_nextjs_14.md +2 -2
  132. package/docs/it/intlayer_with_nextjs_15.md +2 -2
  133. package/docs/it/intlayer_with_nextjs_page_router.md +2 -2
  134. package/docs/it/intlayer_with_nuxt.md +2 -2
  135. package/docs/it/intlayer_with_react_native+expo.md +11 -21
  136. package/docs/it/intlayer_with_react_router_v7.md +195 -242
  137. package/docs/it/intlayer_with_tanstack.md +203 -267
  138. package/docs/it/intlayer_with_vite+preact.md +9 -9
  139. package/docs/it/intlayer_with_vite+react.md +13 -11
  140. package/docs/it/intlayer_with_vite+vue.md +11 -11
  141. package/docs/ja/intlayer_with_angular.md +2 -2
  142. package/docs/ja/intlayer_with_astro.md +246 -0
  143. package/docs/ja/intlayer_with_create_react_app.md +3 -2
  144. package/docs/ja/intlayer_with_express.md +2 -2
  145. package/docs/ja/intlayer_with_nestjs.md +2 -2
  146. package/docs/ja/intlayer_with_nextjs_14.md +2 -2
  147. package/docs/ja/intlayer_with_nextjs_15.md +2 -2
  148. package/docs/ja/intlayer_with_nextjs_page_router.md +2 -2
  149. package/docs/ja/intlayer_with_nuxt.md +2 -2
  150. package/docs/ja/intlayer_with_react_native+expo.md +18 -29
  151. package/docs/ja/intlayer_with_react_router_v7.md +204 -250
  152. package/docs/ja/intlayer_with_tanstack.md +218 -286
  153. package/docs/ja/intlayer_with_vite+preact.md +9 -9
  154. package/docs/ja/intlayer_with_vite+react.md +11 -11
  155. package/docs/ja/intlayer_with_vite+vue.md +11 -11
  156. package/docs/ko/intlayer_with_angular.md +2 -2
  157. package/docs/ko/intlayer_with_astro.md +246 -0
  158. package/docs/ko/intlayer_with_create_react_app.md +3 -2
  159. package/docs/ko/intlayer_with_express.md +2 -2
  160. package/docs/ko/intlayer_with_nestjs.md +2 -2
  161. package/docs/ko/intlayer_with_nextjs_14.md +2 -2
  162. package/docs/ko/intlayer_with_nextjs_15.md +2 -2
  163. package/docs/ko/intlayer_with_nextjs_page_router.md +2 -2
  164. package/docs/ko/intlayer_with_nuxt.md +2 -2
  165. package/docs/ko/intlayer_with_react_native+expo.md +19 -28
  166. package/docs/ko/intlayer_with_react_router_v7.md +190 -244
  167. package/docs/ko/intlayer_with_tanstack.md +200 -270
  168. package/docs/ko/intlayer_with_vite+preact.md +9 -9
  169. package/docs/ko/intlayer_with_vite+react.md +9 -9
  170. package/docs/ko/intlayer_with_vite+vue.md +11 -11
  171. package/docs/pt/intlayer_with_angular.md +2 -2
  172. package/docs/pt/intlayer_with_astro.md +246 -0
  173. package/docs/pt/intlayer_with_create_react_app.md +3 -2
  174. package/docs/pt/intlayer_with_express.md +2 -2
  175. package/docs/pt/intlayer_with_nestjs.md +2 -2
  176. package/docs/pt/intlayer_with_nextjs_14.md +2 -2
  177. package/docs/pt/intlayer_with_nextjs_15.md +2 -2
  178. package/docs/pt/intlayer_with_nextjs_page_router.md +2 -2
  179. package/docs/pt/intlayer_with_nuxt.md +2 -2
  180. package/docs/pt/intlayer_with_react_native+expo.md +11 -20
  181. package/docs/pt/intlayer_with_react_router_v7.md +7 -13
  182. package/docs/pt/intlayer_with_tanstack.md +183 -258
  183. package/docs/pt/intlayer_with_vite+preact.md +9 -9
  184. package/docs/pt/intlayer_with_vite+react.md +9 -9
  185. package/docs/pt/intlayer_with_vite+vue.md +9 -9
  186. package/docs/ru/intlayer_with_angular.md +2 -2
  187. package/docs/ru/intlayer_with_astro.md +246 -0
  188. package/docs/ru/intlayer_with_create_react_app.md +3 -2
  189. package/docs/ru/intlayer_with_express.md +2 -2
  190. package/docs/ru/intlayer_with_nestjs.md +2 -2
  191. package/docs/ru/intlayer_with_nextjs_14.md +2 -2
  192. package/docs/ru/intlayer_with_nextjs_15.md +2 -2
  193. package/docs/ru/intlayer_with_nextjs_page_router.md +2 -2
  194. package/docs/ru/intlayer_with_nuxt.md +2 -2
  195. package/docs/ru/intlayer_with_react_native+expo.md +11 -20
  196. package/docs/ru/intlayer_with_react_router_v7.md +192 -238
  197. package/docs/ru/intlayer_with_tanstack.md +197 -269
  198. package/docs/ru/intlayer_with_vite+preact.md +9 -9
  199. package/docs/ru/intlayer_with_vite+react.md +9 -9
  200. package/docs/ru/intlayer_with_vite+vue.md +11 -11
  201. package/docs/tr/how_works_intlayer.md +1 -1
  202. package/docs/tr/index.md +1 -1
  203. package/docs/tr/intlayer_cli.md +1 -1
  204. package/docs/tr/intlayer_with_angular.md +4 -4
  205. package/docs/tr/intlayer_with_astro.md +246 -0
  206. package/docs/tr/intlayer_with_create_react_app.md +4 -4
  207. package/docs/tr/intlayer_with_express.md +3 -3
  208. package/docs/tr/intlayer_with_lynx+react.md +1 -1
  209. package/docs/tr/intlayer_with_nestjs.md +2 -2
  210. package/docs/tr/intlayer_with_nextjs_14.md +2 -2
  211. package/docs/tr/intlayer_with_nextjs_15.md +4 -4
  212. package/docs/tr/intlayer_with_nextjs_page_router.md +5 -5
  213. package/docs/tr/intlayer_with_nuxt.md +4 -4
  214. package/docs/tr/intlayer_with_react_native+expo.md +12 -21
  215. package/docs/tr/intlayer_with_react_router_v7.md +222 -267
  216. package/docs/tr/intlayer_with_tanstack.md +400 -303
  217. package/docs/tr/intlayer_with_vite+preact.md +12 -12
  218. package/docs/tr/intlayer_with_vite+react.md +12 -12
  219. package/docs/tr/intlayer_with_vite+solid.md +2 -2
  220. package/docs/tr/intlayer_with_vite+svelte.md +2 -2
  221. package/docs/tr/intlayer_with_vite+vue.md +12 -12
  222. package/docs/tr/introduction.md +1 -1
  223. package/docs/tr/packages/react-intlayer/useDictionary.md +1 -1
  224. package/docs/tr/packages/react-intlayer/useI18n.md +1 -1
  225. package/docs/tr/roadmap.md +1 -1
  226. package/docs/zh/intlayer_with_angular.md +2 -2
  227. package/docs/zh/intlayer_with_astro.md +246 -0
  228. package/docs/zh/intlayer_with_create_react_app.md +3 -2
  229. package/docs/zh/intlayer_with_express.md +2 -2
  230. package/docs/zh/intlayer_with_nestjs.md +2 -2
  231. package/docs/zh/intlayer_with_nextjs_14.md +2 -2
  232. package/docs/zh/intlayer_with_nextjs_15.md +2 -2
  233. package/docs/zh/intlayer_with_nextjs_page_router.md +2 -2
  234. package/docs/zh/intlayer_with_nuxt.md +2 -2
  235. package/docs/zh/intlayer_with_react_native+expo.md +19 -28
  236. package/docs/zh/intlayer_with_react_router_v7.md +200 -248
  237. package/docs/zh/intlayer_with_tanstack.md +208 -283
  238. package/docs/zh/intlayer_with_vite+preact.md +9 -9
  239. package/docs/zh/intlayer_with_vite+react.md +9 -9
  240. package/docs/zh/intlayer_with_vite+vue.md +9 -9
  241. package/package.json +11 -11
  242. package/src/generated/docs.entry.ts +16 -0
@@ -1056,38 +1056,38 @@ const App = () => (
1056
1056
  module.exports = App;
1057
1057
  ```
1058
1058
 
1059
- Em paralelo, você também pode usar o `intlayerMiddlewarePlugin` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o locale atual com base na URL e definirá o cookie de locale apropriado. Se nenhum locale for especificado, o plugin determinará o locale mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum locale for detectado, ele redirecionará para o locale padrão.
1059
+ Em paralelo, você também pode usar o `intlayerMiddleware` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o locale atual com base na URL e definirá o cookie de locale apropriado. Se nenhum locale for especificado, o plugin determinará o locale mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum locale for detectado, ele redirecionará para o locale padrão.
1060
1060
 
1061
1061
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1062
1062
  import { defineConfig } from "vite";
1063
1063
  import preact from "@preact/preset-vite";
1064
- import { intlayer, intlayerMiddlewarePlugin } from "vite-intlayer";
1064
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
1065
1065
 
1066
1066
  // https://vitejs.dev/config/
1067
1067
  export default defineConfig({
1068
- plugins: [preact(), intlayer(), intlayerMiddlewarePlugin()],
1068
+ plugins: [preact(), intlayer(), intlayerMiddleware()],
1069
1069
  });
1070
1070
  ```
1071
1071
 
1072
1072
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
1073
1073
  import { defineConfig } from "vite";
1074
1074
  import preact from "@preact/preset-vite";
1075
- import { intlayer, intlayerMiddlewarePlugin } from "vite-intlayer";
1075
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
1076
1076
 
1077
1077
  // https://vitejs.dev/config/
1078
1078
  export default defineConfig({
1079
- plugins: [preact(), intlayer(), intlayerMiddlewarePlugin()],
1079
+ plugins: [preact(), intlayer(), intlayerMiddleware()],
1080
1080
  });
1081
1081
  ```
1082
1082
 
1083
1083
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
1084
1084
  const { defineConfig } = require("vite");
1085
1085
  const preact = require("@preact/preset-vite");
1086
- const { intlayer, intlayerMiddlewarePlugin } = require("vite-intlayer");
1086
+ const { intlayer, intlayerMiddleware } = require("vite-intlayer");
1087
1087
 
1088
1088
  // https://vitejs.dev/config/
1089
1089
  module.exports = defineConfig({
1090
- plugins: [preact(), intlayer(), intlayerMiddlewarePlugin()],
1090
+ plugins: [preact(), intlayer(), intlayerMiddleware()],
1091
1091
  });
1092
1092
  ```
1093
1093
 
@@ -1631,9 +1631,9 @@ module.exports = { LocalizedLink, checkIsExternalLink };
1631
1631
 
1632
1632
  O Intlayer usa a ampliação de módulos para aproveitar os benefícios do TypeScript e tornar sua base de código mais robusta.
1633
1633
 
1634
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1634
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1635
1635
 
1636
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1636
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1637
1637
 
1638
1638
  Garanta que sua configuração do TypeScript inclua os tipos gerados automaticamente.
1639
1639
 
@@ -1018,38 +1018,38 @@ const App = () => (
1018
1018
  );
1019
1019
  ```
1020
1020
 
1021
- Paralelamente, você também pode usar o `intlayerMiddlewarePlugin` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o idioma atual com base na URL e definirá o cookie de idioma apropriado. Se nenhum idioma for especificado, o plugin determinará o idioma mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum idioma for detectado, ele redirecionará para o idioma padrão.
1021
+ Paralelamente, você também pode usar o `intlayerMiddleware` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o idioma atual com base na URL e definirá o cookie de idioma apropriado. Se nenhum idioma for especificado, o plugin determinará o idioma mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum idioma for detectado, ele redirecionará para o idioma padrão.
1022
1022
 
1023
1023
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1024
1024
  import { defineConfig } from "vite";
1025
1025
  import react from "@vitejs/plugin-react-swc";
1026
- import { intlayer, intlayerMiddlewarePlugin } from "vite-intlayer";
1026
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
1027
1027
 
1028
1028
  // https://vitejs.dev/config/
1029
1029
  export default defineConfig({
1030
- plugins: [react(), intlayer(), intlayerMiddlewarePlugin()],
1030
+ plugins: [react(), intlayer(), intlayerMiddleware()],
1031
1031
  });
1032
1032
  ```
1033
1033
 
1034
1034
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
1035
1035
  import { defineConfig } from "vite";
1036
1036
  import react from "@vitejs/plugin-react-swc";
1037
- import { intlayer, intlayerMiddlewarePlugin } from "vite-intlayer";
1037
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
1038
1038
 
1039
1039
  // https://vitejs.dev/config/
1040
1040
  export default defineConfig({
1041
- plugins: [react(), intlayer(), intlayerMiddlewarePlugin()],
1041
+ plugins: [react(), intlayer(), intlayerMiddleware()],
1042
1042
  });
1043
1043
  ```
1044
1044
 
1045
1045
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
1046
1046
  const { defineConfig } = require("vite");
1047
1047
  const react = require("@vitejs/plugin-react-swc");
1048
- const { intlayer, intlayerMiddlewarePlugin } = require("vite-intlayer");
1048
+ const { intlayer, intlayerMiddleware } = require("vite-intlayer");
1049
1049
 
1050
1050
  // https://vitejs.dev/config/
1051
1051
  module.exports = defineConfig({
1052
- plugins: [react(), intlayer(), intlayerMiddlewarePlugin()],
1052
+ plugins: [react(), intlayer(), intlayerMiddleware()],
1053
1053
  });
1054
1054
  ```
1055
1055
 
@@ -1583,9 +1583,9 @@ Ao integrar este componente `Link` em toda a sua aplicação, você mantém uma
1583
1583
 
1584
1584
  O Intlayer utiliza a ampliação de módulos para aproveitar os benefícios do TypeScript e tornar sua base de código mais robusta.
1585
1585
 
1586
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1586
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1587
1587
 
1588
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1588
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1589
1589
 
1590
1590
  Certifique-se de que sua configuração do TypeScript inclua os tipos gerados automaticamente.
1591
1591
 
@@ -670,46 +670,46 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
670
670
  </template>
671
671
  ```
672
672
 
673
- Paralelamente, você também pode usar o `intlayerMiddlewarePlugin` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o idioma atual com base na URL e definirá o cookie de idioma apropriado. Se nenhum idioma for especificado, o plugin determinará o idioma mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum idioma for detectado, ele redirecionará para o idioma padrão.
673
+ Paralelamente, você também pode usar o `intlayerMiddleware` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o idioma atual com base na URL e definirá o cookie de idioma apropriado. Se nenhum idioma for especificado, o plugin determinará o idioma mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum idioma for detectado, ele redirecionará para o idioma padrão.
674
674
 
675
675
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
676
676
  import { defineConfig } from "vite";
677
677
  import vue from "@vitejs/plugin-vue";
678
- import { intlayer, intlayerMiddlewarePlugin } from "vite-intlayer";
678
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
679
679
 
680
680
  // https://vitejs.dev/config/
681
681
  export default defineConfig({
682
- plugins: [vue(), intlayer(), intlayerMiddlewarePlugin()],
682
+ plugins: [vue(), intlayer(), intlayerMiddleware()],
683
683
  });
684
684
  ```
685
685
 
686
686
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
687
687
  import { defineConfig } from "vite";
688
688
  import vue from "@vitejs/plugin-vue";
689
- import { intlayer, intlayerMiddlewarePlugin } from "vite-intlayer";
689
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
690
690
 
691
691
  // https://vitejs.dev/config/
692
692
  export default defineConfig({
693
- plugins: [vue(), intlayer(), intlayerMiddlewarePlugin()],
693
+ plugins: [vue(), intlayer(), intlayerMiddleware()],
694
694
  });
695
695
  ```
696
696
 
697
697
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
698
698
  const { defineConfig } = require("vite");
699
699
  const vue = require("@vitejs/plugin-vue");
700
- const { intlayer, intlayerMiddlewarePlugin } = require("vite-intlayer");
700
+ const { intlayer, intlayerMiddleware } = require("vite-intlayer");
701
701
 
702
702
  // https://vitejs.dev/config/
703
703
  module.exports = defineConfig({
704
- plugins: [vue(), intlayer(), intlayerMiddlewarePlugin()],
704
+ plugins: [vue(), intlayer(), intlayerMiddleware()],
705
705
  });
706
706
  const { defineConfig } = require("vite");
707
707
  const vue = require("@vitejs/plugin-vue");
708
- const { intlayer, intlayerMiddlewarePlugin } = require("vite-intlayer");
708
+ const { intlayer, intlayerMiddleware } = require("vite-intlayer");
709
709
 
710
710
  // https://vitejs.dev/config/
711
711
  module.exports = defineConfig({
712
- plugins: [vue(), intlayer(), intlayerMiddlewarePlugin()],
712
+ plugins: [vue(), intlayer(), intlayerMiddleware()],
713
713
  });
714
714
  ```
715
715
 
@@ -664,9 +664,9 @@ export const appConfig: ApplicationConfig = {
664
664
 
665
665
  Intlayer использует расширение модулей (module augmentation), чтобы использовать преимущества TypeScript и сделать ваш код более надежным.
666
666
 
667
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
667
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
668
668
 
669
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
669
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
670
670
 
671
671
  Убедитесь, что ваша конфигурация TypeScript включает автогенерируемые типы.
672
672
 
@@ -0,0 +1,246 @@
1
+ ---
2
+ createdAt: 2024-03-07
3
+ updatedAt: 2025-10-03
4
+ title: Начало работы с Intlayer в Astro
5
+ description: Узнайте, как добавить интернационализацию (i18n) в ваше приложение на Vite и React с помощью Intlayer. Следуйте этому руководству, чтобы сделать ваше приложение многоязычным.
6
+ keywords:
7
+ - Интернационализация
8
+ - Документация
9
+ - Intlayer
10
+ - Vite
11
+ - React
12
+ - i18n
13
+ - JavaScript
14
+ slugs:
15
+ - doc
16
+ - environment
17
+ - astro
18
+ applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
19
+ ---
20
+
21
+ # Начало работы с интернационализацией (i18n) с Intlayer и Astro
22
+
23
+ Смотрите [Шаблон приложения](https://github.com/aymericzip/intlayer-astro-template) на GitHub.
24
+
25
+ ## Что такое Intlayer?
26
+
27
+ **Intlayer** — это инновационная, с открытым исходным кодом библиотека интернационализации (i18n), разработанная для упрощения поддержки многоязычности в современных веб-приложениях.
28
+
29
+ С помощью Intlayer вы можете:
30
+
31
+ - **Легко управлять переводами** с использованием декларативных словарей на уровне компонентов.
32
+ - **Динамически локализовать метаданные**, маршруты и контент.
33
+ - **Обеспечить поддержку TypeScript** с помощью автогенерируемых типов, улучшая автозаполнение и обнаружение ошибок.
34
+ - **Воспользоваться расширенными возможностями**, такими как динамическое определение и переключение локали.
35
+
36
+ ---
37
+
38
+ ## Пошаговое руководство по настройке Intlayer в Astro
39
+
40
+ ### Шаг 1: Установка зависимостей
41
+
42
+ Установите необходимые пакеты с помощью вашего менеджера пакетов:
43
+
44
+ ```bash packageManager="npm"
45
+ npm install intlayer astro-intlayer
46
+ # Optional: add React island support
47
+ npm install react react-dom react-intlayer @astrojs/react
48
+ ```
49
+
50
+ ```bash packageManager="pnpm"
51
+ pnpm add intlayer astro-intlayer
52
+ # Необязательно: добавить поддержку React island
53
+ pnpm add react react-dom react-intlayer @astrojs/react
54
+ ```
55
+
56
+ ```bash packageManager="yarn"
57
+ yarn add intlayer astro-intlayer
58
+ # Необязательно: добавить поддержку React island
59
+ yarn add react react-dom react-intlayer @astrojs/react
60
+ ```
61
+
62
+ - **intlayer**
63
+ Основной пакет, предоставляющий инструменты интернационализации для управления конфигурацией, переводами, [объявлением контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/get_started.md), транспиляцией и [CLI-командами](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_cli.md).
64
+
65
+ - **astro-intlayer**
66
+ Включает плагин интеграции Astro для интеграции Intlayer с [сборщиком Vite](https://vite.dev/guide/why.html#why-bundle-for-production), а также промежуточное ПО для определения предпочитаемой пользователем локали, управления cookie и обработки перенаправления URL.
67
+
68
+ ### Шаг 2: Конфигурация вашего проекта
69
+
70
+ Создайте файл конфигурации для настройки языков вашего приложения:
71
+
72
+ ```typescript fileName="intlayer.config.ts"
73
+ import { Locales, type IntlayerConfig } from "intlayer";
74
+
75
+ const config: IntlayerConfig = {
76
+ internationalization: {
77
+ locales: [
78
+ Locales.ENGLISH,
79
+ Locales.FRENCH,
80
+ Locales.SPANISH,
81
+ // Ваши другие локали
82
+ ],
83
+ defaultLocale: Locales.ENGLISH,
84
+ },
85
+ };
86
+
87
+ export default config;
88
+ ```
89
+
90
+ > Через этот файл конфигурации вы можете настроить локализованные URL, перенаправление в промежуточном ПО, имена cookie, расположение и расширение ваших деклараций контента, отключить логи Intlayer в консоли и многое другое. Для полного списка доступных параметров обратитесь к [документации по конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md).
91
+
92
+ ### Шаг 3: Интеграция Intlayer в вашу конфигурацию Astro
93
+
94
+ Добавьте плагин intlayer в вашу конфигурацию.
95
+
96
+ ```typescript fileName="astro.config.ts"
97
+ // @ts-check
98
+
99
+ import { intlayer } from "astro-intlayer";
100
+ import { defineConfig } from "astro/config";
101
+
102
+ // https://astro.build/config
103
+ export default defineConfig({
104
+ integrations: [intlayer()],
105
+ });
106
+ ```
107
+
108
+ > Плагин интеграции `intlayer()` для Astro используется для интеграции Intlayer с Astro. Он обеспечивает создание файлов деклараций контента и их мониторинг в режиме разработки. Определяет переменные окружения Intlayer внутри приложения Astro. Кроме того, предоставляет алиасы для оптимизации производительности.
109
+
110
+ ### Шаг 4: Объявите ваш контент
111
+
112
+ Создайте и управляйте декларациями контента для хранения переводов:
113
+
114
+ ```tsx fileName="src/app.content.tsx"
115
+ import { t, type Dictionary } from "intlayer";
116
+ import type { ReactNode } from "react";
117
+
118
+ const appContent = {
119
+ key: "app",
120
+ content: {
121
+ title: t({
122
+ en: "Hello World",
123
+ fr: "Bonjour le monde",
124
+ es: "Hola mundo",
125
+ }),
126
+ },
127
+ } satisfies Dictionary;
128
+
129
+ export default appContent;
130
+ ```
131
+
132
+ > Ваши декларации контента могут быть определены в любом месте вашего приложения, как только они включены в директорию `contentDir` (по умолчанию, `./src`). И соответствуют расширению файла декларации контента (по умолчанию, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
133
+
134
+ > Для получения дополнительной информации обратитесь к [документации по декларации контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/get_started.md).
135
+
136
+ ### Шаг 5: Используйте ваш контент в Astro
137
+
138
+ Вы можете использовать словари напрямую в файлах `.astro`, используя основные помощники, экспортируемые `intlayer`.
139
+
140
+ ```astro fileName="src/pages/index.astro"
141
+ <!-- astro -->
142
+ ---
143
+ import { getIntlayer } from "intlayer";
144
+ import appContent from "../app.content";
145
+
146
+ const { title } = getIntlayer('app');
147
+ ---
148
+
149
+ <html lang="en">
150
+ <head>
151
+ <meta charset="utf-8" />
152
+ <meta name="viewport" content="width=device-width" />
153
+ <title>{title}</title>
154
+ </head>
155
+ <body>
156
+ <h1>{title}</h1>
157
+ </body>
158
+ </html>
159
+ ```
160
+
161
+ ### Шаг 6: Локализованный роутинг
162
+
163
+ Создайте динамический сегмент маршрута для обслуживания локализованных страниц, например `src/pages/[locale]/index.astro`:
164
+
165
+ ```astro fileName="src/pages/[locale]/index.astro"
166
+ <!-- astro -->
167
+ ---
168
+ import { getIntlayer } from "intlayer";
169
+
170
+ const { title } = getIntlayer('app');
171
+ ---
172
+
173
+ <h1>{title}</h1>
174
+ ```
175
+
176
+ Интеграция Astro добавляет промежуточное ПО Vite во время разработки, которое помогает с маршрутизацией с учётом локали и определениями окружения. Вы всё ещё можете создавать ссылки между локалями, используя свою логику или утилиты, такие как `getLocalizedUrl` из `intlayer`.
177
+
178
+ ### Шаг 7: Продолжайте использовать ваш любимый фреймворк
179
+
180
+ Продолжайте использовать ваш любимый фреймворк для создания вашего приложения.
181
+
182
+ - Intlayer + React: [Intlayer с React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_with_vite+react.md)
183
+ - Intlayer + Vue: [Intlayer с Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_with_vite+vue.md)
184
+ - Intlayer + Svelte: [Intlayer с Svelte](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_with_vite+svelte.md)
185
+ - Intlayer + Solid: [Intlayer с Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_with_vite+solid.md)
186
+ - Intlayer + Preact: [Intlayer с Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_with_vite+preact.md)
187
+
188
+ ### Настройка TypeScript
189
+
190
+ Intlayer использует расширение модулей, чтобы получить преимущества TypeScript и сделать вашу кодовую базу более надежной.
191
+
192
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
193
+
194
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
195
+
196
+ Убедитесь, что ваша конфигурация TypeScript включает автоматически сгенерированные типы.
197
+
198
+ ```json5 fileName="tsconfig.json"
199
+ {
200
+ // ... Ваши существующие конфигурации TypeScript
201
+ "include": [
202
+ // ... Ваши существующие конфигурации TypeScript
203
+ ".intlayer/**/*.ts", // Включить автоматически сгенерированные типы
204
+ ],
205
+ }
206
+ ```
207
+
208
+ ### Конфигурация Git
209
+
210
+ Рекомендуется игнорировать файлы, сгенерированные Intlayer. Это позволит избежать их коммита в ваш Git-репозиторий.
211
+
212
+ Для этого вы можете добавить следующие инструкции в ваш файл `.gitignore`:
213
+
214
+ ```plaintext
215
+ # Игнорировать файлы, сгенерированные Intlayer
216
+ .intlayer
217
+ ```
218
+
219
+ ### Расширение VS Code
220
+
221
+ Для улучшения вашего опыта разработки с Intlayer вы можете установить официальное **расширение Intlayer для VS Code**.
222
+
223
+ [Установить из магазина расширений VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
224
+
225
+ Это расширение предоставляет:
226
+
227
+ - **Автозаполнение** ключей переводов.
228
+ - **Обнаружение ошибок в реальном времени** для отсутствующих переводов.
229
+ - **Встроенный просмотр** переведённого контента.
230
+ - **Быстрые действия** для лёгкого создания и обновления переводов.
231
+
232
+ Для получения дополнительной информации о том, как использовать расширение, обратитесь к [документации расширения Intlayer для VS Code](https://intlayer.org/doc/vs-code-extension).
233
+
234
+ ---
235
+
236
+ ### Продвинутые возможности
237
+
238
+ Для расширения возможностей вы можете реализовать [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) или вынести ваш контент с помощью [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md).
239
+
240
+ ---
241
+
242
+ ## История документации
243
+
244
+ | Версия | Дата | Изменения |
245
+ | ------ | ---------- | -------------------------------------------------------------- |
246
+ | 6.2.0 | 2025-10-03 | Обновление для интеграции с Astro, конфигурация, использование |
@@ -1223,9 +1223,10 @@ module.exports = App;
1223
1223
 
1224
1224
  Intlayer использует расширение модулей (module augmentation), чтобы получить преимущества TypeScript и сделать вашу кодовую базу более надежной.
1225
1225
 
1226
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1226
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1227
+
1228
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1227
1229
 
1228
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1229
1230
  Убедитесь, что ваша конфигурация TypeScript включает автогенерируемые типы.
1230
1231
 
1231
1232
  ```json5 fileName="tsconfig.json"
@@ -388,9 +388,9 @@ module.exports = config;
388
388
 
389
389
  `express-intlayer` использует мощные возможности TypeScript для улучшения процесса интернационализации. Статическая типизация TypeScript гарантирует, что каждый ключ перевода учтён, что снижает риск отсутствия переводов и повышает удобство сопровождения.
390
390
 
391
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
391
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
392
392
 
393
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
393
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
394
394
 
395
395
  Убедитесь, что автогенерируемые типы (по умолчанию в ./types/intlayer.d.ts) включены в ваш файл tsconfig.json.
396
396
 
@@ -221,9 +221,9 @@ export default config;
221
221
 
222
222
  `express-intlayer` использует мощные возможности TypeScript для улучшения процесса интернационализации. Статическая типизация TypeScript гарантирует, что каждый ключ перевода учтен, снижая риск отсутствия переводов и повышая удобство сопровождения.
223
223
 
224
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
224
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
225
225
 
226
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
226
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
227
227
 
228
228
  Убедитесь, что автогенерируемые типы (по умолчанию в ./types/intlayer.d.ts) включены в ваш файл tsconfig.json.
229
229
 
@@ -1252,9 +1252,9 @@ yarn add @intlayer/swc --save-dev
1252
1252
 
1253
1253
  Intlayer использует расширение модулей для получения преимуществ TypeScript и усиления вашего кода.
1254
1254
 
1255
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1255
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1256
1256
 
1257
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1257
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1258
1258
 
1259
1259
  Убедитесь, что ваша конфигурация TypeScript включает автогенерируемые типы.
1260
1260
 
@@ -1497,9 +1497,9 @@ yarn add @intlayer/swc --save-dev
1497
1497
 
1498
1498
  Intlayer использует расширение модулей (module augmentation), чтобы использовать преимущества TypeScript и сделать ваш код более надёжным.
1499
1499
 
1500
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1500
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1501
1501
 
1502
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1502
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1503
1503
 
1504
1504
  Убедитесь, что ваша конфигурация TypeScript включает автоматически сгенерированные типы.
1505
1505
 
@@ -1457,9 +1457,9 @@ yarn add @intlayer/swc --save-dev
1457
1457
 
1458
1458
  Intlayer использует расширение модулей (module augmentation), чтобы использовать преимущества TypeScript и сделать ваш код более надёжным.
1459
1459
 
1460
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1460
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1461
1461
 
1462
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1462
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1463
1463
 
1464
1464
  Убедитесь, что ваша конфигурация TypeScript включает автоматически сгенерированные типы.
1465
1465
 
@@ -762,9 +762,9 @@ module.exports = aboutMetaContent;
762
762
 
763
763
  Intlayer использует расширение модулей (module augmentation), чтобы использовать преимущества TypeScript и сделать вашу кодовую базу более надежной.
764
764
 
765
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
765
+ ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
766
766
 
767
- ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
767
+ ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
768
768
 
769
769
  Убедитесь, что ваша конфигурация TypeScript включает автоматически сгенерированные типы.
770
770
 
@@ -148,28 +148,25 @@ module.exports = (async () => {
148
148
 
149
149
  ## Шаг 4: Добавьте провайдер Intlayer
150
150
 
151
- Чтобы синхронизировать язык пользователя по всему вашему приложению, необходимо обернуть корневой компонент в компонент `IntlayerProvider` из `react-intlayer`.
151
+ Чтобы синхронизировать язык пользователя во всем приложении, необходимо обернуть корневой компонент в компонент `IntlayerProvider` из `react-intlayer-native`.
152
152
 
153
- Также нужно добавить функцию `intlayerPolyfill` в ваш файл `index.js`, чтобы обеспечить правильную работу Intlayer.
153
+ > Убедитесь, что вы используете провайдер из `react-native-intlayer`, а не из `react-intlayer`. Экспорт из `react-native-intlayer` включает полифилы для веб-API.
154
154
 
155
155
  ```tsx fileName="app/_layout.tsx" codeFormat="typescript"
156
156
  import { Stack } from "expo-router";
157
157
  import { getLocales } from "expo-localization";
158
- import { IntlayerProviderContent } from "react-intlayer";
159
- import { intlayerPolyfill } from "react-native-intlayer";
158
+ import { IntlayerProvider } from "react-native-intlayer";
160
159
  import { type FC } from "react";
161
160
 
162
- intlayerPolyfill();
163
-
164
161
  const getDeviceLocale = () => getLocales()[0]?.languageTag;
165
162
 
166
163
  const RootLayout: FC = () => {
167
164
  return (
168
- <IntlayerProviderContent defaultLocale={getDeviceLocale()}>
165
+ <IntlayerProvider defaultLocale={getDeviceLocale()}>
169
166
  <Stack>
170
167
  <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
171
168
  </Stack>
172
- </IntlayerProviderContent>
169
+ </IntlayerProvider>
173
170
  );
174
171
  };
175
172
 
@@ -179,20 +176,17 @@ export default RootLayout;
179
176
  ```jsx fileName="app/_layout.mjx" codeFormat="esm"
180
177
  import { Stack } from "expo-router";
181
178
  import { getLocales } from "expo-localization";
182
- import { IntlayerProviderContent } from "react-intlayer";
183
- import { intlayerPolyfill } from "react-native-intlayer";
184
-
185
- intlayerPolyfill();
179
+ import { IntlayerProvider } from "react-native-intlayer";
186
180
 
187
181
  const getDeviceLocale = () => getLocales()[0]?.languageTag;
188
182
 
189
183
  const RootLayout = () => {
190
184
  return (
191
- <IntlayerProviderContent defaultLocale={getDeviceLocale()}>
185
+ <IntlayerProvider defaultLocale={getDeviceLocale()}>
192
186
  <Stack>
193
187
  <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
194
188
  </Stack>
195
- </IntlayerProviderContent>
189
+ </IntlayerProvider>
196
190
  );
197
191
  };
198
192
 
@@ -202,21 +196,18 @@ export default RootLayout;
202
196
  ```jsx fileName="app/_layout.cjx" codeFormat="commonjs"
203
197
  const { Stack } = require("expo-router");
204
198
  const { getLocales } = require("expo-localization");
205
- const { IntlayerProviderContent } = require("react-intlayer");
206
- const { intlayerPolyfill } = require("react-native-intlayer");
207
-
208
- intlayerPolyfill();
199
+ const { IntlayerProvider } = require("react-native-intlayer");
209
200
 
210
201
  // Получаем локаль устройства
211
202
  const getDeviceLocale = () => getLocales()[0]?.languageTag;
212
203
 
213
204
  const RootLayout = () => {
214
205
  return (
215
- <IntlayerProviderContent defaultLocale={getDeviceLocale()}>
206
+ <IntlayerProvider defaultLocale={getDeviceLocale()}>
216
207
  <Stack>
217
208
  <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
218
209
  </Stack>
219
- </IntlayerProviderContent>
210
+ </IntlayerProvider>
220
211
  );
221
212
  };
222
213