@intlayer/docs 7.5.11 → 7.5.13

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 (417) hide show
  1. package/blog/ar/intlayer_with_i18next.md +0 -2
  2. package/blog/ar/intlayer_with_next-i18next.md +0 -2
  3. package/blog/ar/intlayer_with_react-i18next.md +0 -2
  4. package/blog/de/intlayer_with_i18next.md +0 -45
  5. package/blog/de/intlayer_with_next-i18next.md +0 -46
  6. package/blog/de/intlayer_with_react-i18next.md +0 -2
  7. package/blog/en/intlayer_with_i18next.md +0 -46
  8. package/blog/en/intlayer_with_next-i18next.md +0 -48
  9. package/blog/en/intlayer_with_next-intl.md +0 -44
  10. package/blog/en/intlayer_with_react-i18next.md +0 -44
  11. package/blog/en/intlayer_with_react-intl.md +0 -42
  12. package/blog/en/intlayer_with_vue-i18n.md +0 -44
  13. package/blog/en-GB/intlayer_with_i18next.md +0 -45
  14. package/blog/en-GB/intlayer_with_next-i18next.md +0 -47
  15. package/blog/en-GB/intlayer_with_next-intl.md +0 -42
  16. package/blog/en-GB/intlayer_with_react-i18next.md +0 -43
  17. package/blog/en-GB/intlayer_with_react-intl.md +0 -42
  18. package/blog/en-GB/intlayer_with_vue-i18n.md +0 -46
  19. package/blog/es/intlayer_with_i18next.md +0 -45
  20. package/blog/es/intlayer_with_next-i18next.md +0 -47
  21. package/blog/es/intlayer_with_next-intl.md +0 -42
  22. package/blog/es/intlayer_with_react-i18next.md +0 -43
  23. package/blog/es/intlayer_with_react-intl.md +0 -42
  24. package/blog/es/intlayer_with_vue-i18n.md +0 -46
  25. package/blog/fr/intlayer_with_i18next.md +0 -45
  26. package/blog/fr/intlayer_with_next-i18next.md +0 -47
  27. package/blog/fr/intlayer_with_next-intl.md +0 -42
  28. package/blog/fr/intlayer_with_react-i18next.md +0 -43
  29. package/blog/fr/intlayer_with_react-intl.md +0 -42
  30. package/blog/fr/intlayer_with_vue-i18n.md +0 -46
  31. package/blog/hi/intlayer_with_i18next.md +0 -2
  32. package/blog/hi/intlayer_with_next-i18next.md +0 -2
  33. package/blog/hi/intlayer_with_react-i18next.md +0 -2
  34. package/blog/id/intlayer_with_i18next.md +0 -2
  35. package/blog/id/intlayer_with_next-i18next.md +0 -2
  36. package/blog/id/intlayer_with_react-i18next.md +0 -2
  37. package/blog/it/intlayer_with_i18next.md +0 -2
  38. package/blog/it/intlayer_with_next-i18next.md +0 -2
  39. package/blog/it/intlayer_with_react-i18next.md +0 -2
  40. package/blog/ja/intlayer_with_i18next.md +0 -45
  41. package/blog/ja/intlayer_with_next-i18next.md +0 -46
  42. package/blog/ja/intlayer_with_next-intl.md +0 -42
  43. package/blog/ja/intlayer_with_react-i18next.md +0 -42
  44. package/blog/ja/intlayer_with_react-intl.md +0 -42
  45. package/blog/ja/intlayer_with_vue-i18n.md +0 -46
  46. package/blog/ko/intlayer_with_i18next.md +0 -2
  47. package/blog/ko/intlayer_with_next-i18next.md +0 -2
  48. package/blog/ko/intlayer_with_react-i18next.md +0 -1
  49. package/blog/pl/intlayer_with_i18next.md +0 -45
  50. package/blog/pl/intlayer_with_next-i18next.md +0 -46
  51. package/blog/pl/intlayer_with_next-intl.md +0 -42
  52. package/blog/pl/intlayer_with_react-i18next.md +0 -43
  53. package/blog/pl/intlayer_with_react-intl.md +0 -42
  54. package/blog/pl/intlayer_with_vue-i18n.md +0 -46
  55. package/blog/pt/intlayer_with_i18next.md +0 -2
  56. package/blog/pt/intlayer_with_next-i18next.md +0 -2
  57. package/blog/pt/intlayer_with_react-i18next.md +0 -2
  58. package/blog/ru/intlayer_with_i18next.md +0 -45
  59. package/blog/ru/intlayer_with_next-i18next.md +0 -47
  60. package/blog/ru/intlayer_with_next-intl.md +0 -42
  61. package/blog/ru/intlayer_with_react-i18next.md +0 -43
  62. package/blog/ru/intlayer_with_react-intl.md +0 -42
  63. package/blog/ru/intlayer_with_vue-i18n.md +0 -46
  64. package/blog/tr/intlayer_with_i18next.md +0 -2
  65. package/blog/tr/intlayer_with_next-i18next.md +0 -1
  66. package/blog/tr/intlayer_with_react-i18next.md +0 -2
  67. package/blog/uk/compiler_vs_declarative_i18n.md +224 -0
  68. package/blog/uk/i18n_using_next-i18next.md +1086 -0
  69. package/blog/uk/i18n_using_next-intl.md +760 -0
  70. package/blog/uk/index.md +69 -0
  71. package/blog/uk/internationalization_and_SEO.md +273 -0
  72. package/blog/uk/intlayer_with_i18next.md +211 -0
  73. package/blog/uk/intlayer_with_next-i18next.md +202 -0
  74. package/blog/uk/intlayer_with_next-intl.md +203 -0
  75. package/blog/uk/intlayer_with_react-i18next.md +200 -0
  76. package/blog/uk/intlayer_with_react-intl.md +202 -0
  77. package/blog/uk/intlayer_with_vue-i18n.md +206 -0
  78. package/blog/uk/l10n_platform_alternative/Lokalise.md +80 -0
  79. package/blog/uk/l10n_platform_alternative/crowdin.md +80 -0
  80. package/blog/uk/l10n_platform_alternative/phrase.md +78 -0
  81. package/blog/uk/list_i18n_technologies/CMS/drupal.md +143 -0
  82. package/blog/uk/list_i18n_technologies/CMS/wix.md +167 -0
  83. package/blog/uk/list_i18n_technologies/CMS/wordpress.md +189 -0
  84. package/blog/uk/list_i18n_technologies/frameworks/angular.md +125 -0
  85. package/blog/uk/list_i18n_technologies/frameworks/flutter.md +128 -0
  86. package/blog/uk/list_i18n_technologies/frameworks/react-native.md +217 -0
  87. package/blog/uk/list_i18n_technologies/frameworks/react.md +155 -0
  88. package/blog/uk/list_i18n_technologies/frameworks/svelte.md +145 -0
  89. package/blog/uk/list_i18n_technologies/frameworks/vue.md +144 -0
  90. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1499 -0
  91. package/blog/uk/nextjs-multilingual-seo-comparison.md +360 -0
  92. package/blog/uk/rag_powered_documentation_assistant.md +288 -0
  93. package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
  94. package/blog/uk/vue-i18n_vs_intlayer.md +279 -0
  95. package/blog/uk/what_is_internationalization.md +167 -0
  96. package/blog/vi/intlayer_with_i18next.md +0 -2
  97. package/blog/vi/intlayer_with_next-i18next.md +0 -2
  98. package/blog/vi/intlayer_with_react-i18next.md +0 -2
  99. package/blog/zh/intlayer_with_i18next.md +0 -2
  100. package/blog/zh/intlayer_with_next-i18next.md +0 -2
  101. package/blog/zh/intlayer_with_react-i18next.md +0 -2
  102. package/blog/zh/intlayer_with_vue-i18n.md +0 -46
  103. package/dist/cjs/generated/blog.entry.cjs +58 -29
  104. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  105. package/dist/cjs/generated/docs.entry.cjs +218 -99
  106. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  107. package/dist/cjs/generated/frequentQuestions.entry.cjs +50 -15
  108. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  109. package/dist/cjs/generated/legal.entry.cjs +4 -2
  110. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  111. package/dist/esm/generated/blog.entry.mjs +58 -29
  112. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  113. package/dist/esm/generated/docs.entry.mjs +218 -99
  114. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  115. package/dist/esm/generated/frequentQuestions.entry.mjs +50 -15
  116. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  117. package/dist/esm/generated/legal.entry.mjs +4 -2
  118. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  119. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  120. package/dist/types/generated/docs.entry.d.ts +1 -0
  121. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  122. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
  123. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  124. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  125. package/docs/ar/configuration.md +6 -1
  126. package/docs/ar/dictionary/content_file.md +6 -1
  127. package/docs/ar/intlayer_with_next-i18next.md +0 -1
  128. package/docs/ar/intlayer_with_nextjs_14.md +28 -0
  129. package/docs/ar/intlayer_with_nextjs_15.md +28 -0
  130. package/docs/ar/intlayer_with_nextjs_16.md +28 -0
  131. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1159 -0
  132. package/docs/ar/plugins/sync-json.md +6 -2
  133. package/docs/de/configuration.md +6 -1
  134. package/docs/de/dictionary/content_file.md +6 -1
  135. package/docs/de/intlayer_with_next-i18next.md +0 -1
  136. package/docs/de/intlayer_with_nextjs_14.md +28 -0
  137. package/docs/de/intlayer_with_nextjs_15.md +28 -0
  138. package/docs/de/intlayer_with_nextjs_16.md +28 -0
  139. package/docs/de/intlayer_with_nextjs_no_locale_path.md +1152 -0
  140. package/docs/de/plugins/sync-json.md +6 -2
  141. package/docs/en/configuration.md +6 -1
  142. package/docs/en/dictionary/content_file.md +6 -1
  143. package/docs/en/intlayer_with_next-i18next.md +0 -1
  144. package/docs/en/intlayer_with_nextjs_14.md +28 -0
  145. package/docs/en/intlayer_with_nextjs_15.md +28 -0
  146. package/docs/en/intlayer_with_nextjs_16.md +31 -1
  147. package/docs/en/intlayer_with_nextjs_no_locale_path.md +1132 -0
  148. package/docs/en/plugins/sync-json.md +6 -2
  149. package/docs/en-GB/configuration.md +6 -1
  150. package/docs/en-GB/dictionary/content_file.md +3 -1
  151. package/docs/en-GB/intlayer_with_next-i18next.md +0 -1
  152. package/docs/en-GB/intlayer_with_nextjs_14.md +28 -0
  153. package/docs/en-GB/intlayer_with_nextjs_15.md +28 -0
  154. package/docs/en-GB/intlayer_with_nextjs_16.md +28 -0
  155. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1154 -0
  156. package/docs/en-GB/plugins/sync-json.md +6 -2
  157. package/docs/es/configuration.md +6 -1
  158. package/docs/es/dictionary/content_file.md +6 -1
  159. package/docs/es/intlayer_with_next-i18next.md +0 -1
  160. package/docs/es/intlayer_with_nextjs_14.md +28 -0
  161. package/docs/es/intlayer_with_nextjs_15.md +28 -0
  162. package/docs/es/intlayer_with_nextjs_16.md +28 -0
  163. package/docs/es/intlayer_with_nextjs_no_locale_path.md +1143 -0
  164. package/docs/es/plugins/sync-json.md +6 -2
  165. package/docs/fr/configuration.md +6 -1
  166. package/docs/fr/dictionary/content_file.md +3 -1
  167. package/docs/fr/intlayer_with_next-i18next.md +0 -1
  168. package/docs/fr/intlayer_with_nextjs_14.md +28 -0
  169. package/docs/fr/intlayer_with_nextjs_15.md +28 -0
  170. package/docs/fr/intlayer_with_nextjs_16.md +28 -0
  171. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1174 -0
  172. package/docs/fr/plugins/sync-json.md +9 -5
  173. package/docs/hi/configuration.md +6 -1
  174. package/docs/hi/dictionary/content_file.md +3 -1
  175. package/docs/hi/intlayer_with_next-i18next.md +0 -1
  176. package/docs/hi/intlayer_with_nextjs_14.md +28 -0
  177. package/docs/hi/intlayer_with_nextjs_15.md +28 -0
  178. package/docs/hi/intlayer_with_nextjs_16.md +28 -0
  179. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1151 -0
  180. package/docs/hi/plugins/sync-json.md +6 -2
  181. package/docs/id/configuration.md +6 -1
  182. package/docs/id/dictionary/content_file.md +3 -1
  183. package/docs/id/intlayer_with_next-i18next.md +0 -1
  184. package/docs/id/intlayer_with_nextjs_14.md +28 -0
  185. package/docs/id/intlayer_with_nextjs_15.md +28 -0
  186. package/docs/id/intlayer_with_nextjs_16.md +28 -0
  187. package/docs/id/intlayer_with_nextjs_no_locale_path.md +1154 -0
  188. package/docs/id/plugins/sync-json.md +6 -2
  189. package/docs/it/configuration.md +6 -1
  190. package/docs/it/dictionary/content_file.md +3 -1
  191. package/docs/it/intlayer_with_next-i18next.md +0 -1
  192. package/docs/it/intlayer_with_nextjs_14.md +28 -0
  193. package/docs/it/intlayer_with_nextjs_15.md +28 -0
  194. package/docs/it/intlayer_with_nextjs_16.md +28 -0
  195. package/docs/it/intlayer_with_nextjs_no_locale_path.md +1148 -0
  196. package/docs/it/plugins/sync-json.md +6 -2
  197. package/docs/ja/configuration.md +6 -1
  198. package/docs/ja/dictionary/content_file.md +3 -1
  199. package/docs/ja/intlayer_with_next-i18next.md +0 -1
  200. package/docs/ja/intlayer_with_nextjs_14.md +28 -0
  201. package/docs/ja/intlayer_with_nextjs_15.md +28 -0
  202. package/docs/ja/intlayer_with_nextjs_16.md +28 -0
  203. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1222 -0
  204. package/docs/ja/plugins/sync-json.md +6 -2
  205. package/docs/ko/configuration.md +6 -1
  206. package/docs/ko/dictionary/content_file.md +3 -1
  207. package/docs/ko/intlayer_with_next-i18next.md +0 -1
  208. package/docs/ko/intlayer_with_nextjs_14.md +28 -0
  209. package/docs/ko/intlayer_with_nextjs_15.md +28 -0
  210. package/docs/ko/intlayer_with_nextjs_16.md +28 -0
  211. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1205 -0
  212. package/docs/ko/plugins/sync-json.md +6 -2
  213. package/docs/pl/configuration.md +3 -1
  214. package/docs/pl/dictionary/content_file.md +3 -1
  215. package/docs/pl/intlayer_with_next-i18next.md +0 -1
  216. package/docs/pl/intlayer_with_nextjs_14.md +28 -0
  217. package/docs/pl/intlayer_with_nextjs_15.md +28 -0
  218. package/docs/pl/intlayer_with_nextjs_16.md +28 -0
  219. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1149 -0
  220. package/docs/pl/plugins/sync-json.md +6 -2
  221. package/docs/pt/configuration.md +6 -1
  222. package/docs/pt/dictionary/content_file.md +3 -1
  223. package/docs/pt/intlayer_with_next-i18next.md +0 -1
  224. package/docs/pt/intlayer_with_nextjs_14.md +28 -0
  225. package/docs/pt/intlayer_with_nextjs_15.md +28 -0
  226. package/docs/pt/intlayer_with_nextjs_16.md +28 -0
  227. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1152 -0
  228. package/docs/pt/plugins/sync-json.md +6 -2
  229. package/docs/ru/configuration.md +6 -1
  230. package/docs/ru/dictionary/content_file.md +6 -1
  231. package/docs/ru/intlayer_with_next-i18next.md +0 -1
  232. package/docs/ru/intlayer_with_nextjs_14.md +28 -0
  233. package/docs/ru/intlayer_with_nextjs_15.md +28 -0
  234. package/docs/ru/intlayer_with_nextjs_16.md +28 -0
  235. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1204 -0
  236. package/docs/ru/plugins/sync-json.md +6 -2
  237. package/docs/tr/configuration.md +6 -1
  238. package/docs/tr/dictionary/content_file.md +3 -1
  239. package/docs/tr/intlayer_with_next-i18next.md +0 -1
  240. package/docs/tr/intlayer_with_nextjs_14.md +28 -0
  241. package/docs/tr/intlayer_with_nextjs_15.md +28 -0
  242. package/docs/tr/intlayer_with_nextjs_16.md +28 -0
  243. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1159 -0
  244. package/docs/tr/plugins/sync-json.md +6 -2
  245. package/docs/uk/CI_CD.md +198 -0
  246. package/docs/uk/autoFill.md +307 -0
  247. package/docs/uk/bundle_optimization.md +185 -0
  248. package/docs/uk/cli/build.md +64 -0
  249. package/docs/uk/cli/ci.md +137 -0
  250. package/docs/uk/cli/configuration.md +63 -0
  251. package/docs/uk/cli/debug.md +46 -0
  252. package/docs/uk/cli/doc-review.md +43 -0
  253. package/docs/uk/cli/doc-translate.md +132 -0
  254. package/docs/uk/cli/editor.md +28 -0
  255. package/docs/uk/cli/fill.md +130 -0
  256. package/docs/uk/cli/index.md +190 -0
  257. package/docs/uk/cli/init.md +84 -0
  258. package/docs/uk/cli/list.md +90 -0
  259. package/docs/uk/cli/list_projects.md +128 -0
  260. package/docs/uk/cli/live.md +41 -0
  261. package/docs/uk/cli/login.md +157 -0
  262. package/docs/uk/cli/pull.md +78 -0
  263. package/docs/uk/cli/push.md +98 -0
  264. package/docs/uk/cli/sdk.md +71 -0
  265. package/docs/uk/cli/test.md +76 -0
  266. package/docs/uk/cli/transform.md +65 -0
  267. package/docs/uk/cli/version.md +24 -0
  268. package/docs/uk/cli/watch.md +37 -0
  269. package/docs/uk/compiler.md +133 -0
  270. package/docs/uk/component_i18n.md +194 -0
  271. package/docs/uk/configuration.md +742 -0
  272. package/docs/uk/dictionary/condition.md +237 -0
  273. package/docs/uk/dictionary/content_file.md +1134 -0
  274. package/docs/uk/dictionary/enumeration.md +245 -0
  275. package/docs/uk/dictionary/file.md +232 -0
  276. package/docs/uk/dictionary/function_fetching.md +212 -0
  277. package/docs/uk/dictionary/gender.md +273 -0
  278. package/docs/uk/dictionary/insertion.md +187 -0
  279. package/docs/uk/dictionary/markdown.md +383 -0
  280. package/docs/uk/dictionary/nesting.md +273 -0
  281. package/docs/uk/dictionary/translation.md +332 -0
  282. package/docs/uk/formatters.md +595 -0
  283. package/docs/uk/how_works_intlayer.md +256 -0
  284. package/docs/uk/index.md +175 -0
  285. package/docs/uk/interest_of_intlayer.md +297 -0
  286. package/docs/uk/intlayer_CMS.md +569 -0
  287. package/docs/uk/intlayer_visual_editor.md +292 -0
  288. package/docs/uk/intlayer_with_angular.md +710 -0
  289. package/docs/uk/intlayer_with_astro.md +256 -0
  290. package/docs/uk/intlayer_with_create_react_app.md +1258 -0
  291. package/docs/uk/intlayer_with_express.md +429 -0
  292. package/docs/uk/intlayer_with_fastify.md +446 -0
  293. package/docs/uk/intlayer_with_lynx+react.md +548 -0
  294. package/docs/uk/intlayer_with_nestjs.md +283 -0
  295. package/docs/uk/intlayer_with_next-i18next.md +640 -0
  296. package/docs/uk/intlayer_with_next-intl.md +456 -0
  297. package/docs/uk/intlayer_with_nextjs_14.md +1646 -0
  298. package/docs/uk/intlayer_with_nextjs_15.md +1910 -0
  299. package/docs/uk/intlayer_with_nextjs_16.md +1763 -0
  300. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1159 -0
  301. package/docs/uk/intlayer_with_nextjs_page_router.md +1541 -0
  302. package/docs/uk/intlayer_with_nuxt.md +711 -0
  303. package/docs/uk/intlayer_with_react_native+expo.md +715 -0
  304. package/docs/uk/intlayer_with_react_router_v7.md +600 -0
  305. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +669 -0
  306. package/docs/uk/intlayer_with_svelte_kit.md +579 -0
  307. package/docs/uk/intlayer_with_tanstack.md +818 -0
  308. package/docs/uk/intlayer_with_vite+preact.md +1748 -0
  309. package/docs/uk/intlayer_with_vite+react.md +1449 -0
  310. package/docs/uk/intlayer_with_vite+solid.md +302 -0
  311. package/docs/uk/intlayer_with_vite+svelte.md +520 -0
  312. package/docs/uk/intlayer_with_vite+vue.md +1113 -0
  313. package/docs/uk/introduction.md +222 -0
  314. package/docs/uk/locale_mapper.md +242 -0
  315. package/docs/uk/mcp_server.md +211 -0
  316. package/docs/uk/packages/express-intlayer/t.md +465 -0
  317. package/docs/uk/packages/intlayer/getConfiguration.md +145 -0
  318. package/docs/uk/packages/intlayer/getEnumeration.md +159 -0
  319. package/docs/uk/packages/intlayer/getHTMLTextDir.md +121 -0
  320. package/docs/uk/packages/intlayer/getLocaleLang.md +81 -0
  321. package/docs/uk/packages/intlayer/getLocaleName.md +135 -0
  322. package/docs/uk/packages/intlayer/getLocalizedUrl.md +338 -0
  323. package/docs/uk/packages/intlayer/getMultilingualUrls.md +359 -0
  324. package/docs/uk/packages/intlayer/getPathWithoutLocale.md +75 -0
  325. package/docs/uk/packages/intlayer/getPrefix.md +213 -0
  326. package/docs/uk/packages/intlayer/getTranslation.md +190 -0
  327. package/docs/uk/packages/intlayer/getTranslationContent.md +189 -0
  328. package/docs/uk/packages/next-intlayer/t.md +365 -0
  329. package/docs/uk/packages/next-intlayer/useDictionary.md +276 -0
  330. package/docs/uk/packages/next-intlayer/useIntlayer.md +263 -0
  331. package/docs/uk/packages/next-intlayer/useLocale.md +166 -0
  332. package/docs/uk/packages/react-intlayer/t.md +311 -0
  333. package/docs/uk/packages/react-intlayer/useDictionary.md +295 -0
  334. package/docs/uk/packages/react-intlayer/useI18n.md +250 -0
  335. package/docs/uk/packages/react-intlayer/useIntlayer.md +251 -0
  336. package/docs/uk/packages/react-intlayer/useLocale.md +210 -0
  337. package/docs/uk/per_locale_file.md +345 -0
  338. package/docs/uk/plugins/sync-json.md +398 -0
  339. package/docs/uk/readme.md +265 -0
  340. package/docs/uk/releases/v6.md +305 -0
  341. package/docs/uk/releases/v7.md +624 -0
  342. package/docs/uk/roadmap.md +346 -0
  343. package/docs/uk/testing.md +204 -0
  344. package/docs/uk/vs_code_extension.md +133 -0
  345. package/docs/vi/configuration.md +6 -1
  346. package/docs/vi/dictionary/content_file.md +6 -1
  347. package/docs/vi/intlayer_with_next-i18next.md +0 -1
  348. package/docs/vi/intlayer_with_nextjs_14.md +28 -0
  349. package/docs/vi/intlayer_with_nextjs_15.md +28 -0
  350. package/docs/vi/intlayer_with_nextjs_16.md +28 -0
  351. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1151 -0
  352. package/docs/vi/plugins/sync-json.md +6 -2
  353. package/docs/zh/configuration.md +6 -1
  354. package/docs/zh/dictionary/content_file.md +6 -1
  355. package/docs/zh/intlayer_with_next-i18next.md +0 -1
  356. package/docs/zh/intlayer_with_nextjs_14.md +28 -0
  357. package/docs/zh/intlayer_with_nextjs_15.md +28 -0
  358. package/docs/zh/intlayer_with_nextjs_16.md +28 -0
  359. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1206 -0
  360. package/docs/zh/plugins/sync-json.md +9 -5
  361. package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -1
  362. package/frequent_questions/ar/error-vite-env-only.md +77 -0
  363. package/frequent_questions/de/SSR_Next_no_[locale].md +1 -1
  364. package/frequent_questions/de/error-vite-env-only.md +77 -0
  365. package/frequent_questions/en/SSR_Next_no_[locale].md +1 -1
  366. package/frequent_questions/en/error-vite-env-only.md +77 -0
  367. package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -1
  368. package/frequent_questions/en-GB/error-vite-env-only.md +77 -0
  369. package/frequent_questions/es/SSR_Next_no_[locale].md +1 -1
  370. package/frequent_questions/es/error-vite-env-only.md +76 -0
  371. package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -1
  372. package/frequent_questions/fr/error-vite-env-only.md +77 -0
  373. package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -1
  374. package/frequent_questions/hi/error-vite-env-only.md +77 -0
  375. package/frequent_questions/id/SSR_Next_no_[locale].md +1 -1
  376. package/frequent_questions/id/error-vite-env-only.md +77 -0
  377. package/frequent_questions/it/SSR_Next_no_[locale].md +1 -1
  378. package/frequent_questions/it/error-vite-env-only.md +77 -0
  379. package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -1
  380. package/frequent_questions/ja/error-vite-env-only.md +77 -0
  381. package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -1
  382. package/frequent_questions/ko/error-vite-env-only.md +77 -0
  383. package/frequent_questions/pl/SSR_Next_no_[locale].md +1 -1
  384. package/frequent_questions/pl/error-vite-env-only.md +77 -0
  385. package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -1
  386. package/frequent_questions/pt/error-vite-env-only.md +77 -0
  387. package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -1
  388. package/frequent_questions/ru/error-vite-env-only.md +77 -0
  389. package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -1
  390. package/frequent_questions/tr/error-vite-env-only.md +77 -0
  391. package/frequent_questions/uk/SSR_Next_no_[locale].md +104 -0
  392. package/frequent_questions/uk/array_as_content_declaration.md +72 -0
  393. package/frequent_questions/uk/build_dictionaries.md +58 -0
  394. package/frequent_questions/uk/build_error_CI_CD.md +74 -0
  395. package/frequent_questions/uk/bun_set_up.md +53 -0
  396. package/frequent_questions/uk/customized_locale_list.md +64 -0
  397. package/frequent_questions/uk/domain_routing.md +113 -0
  398. package/frequent_questions/uk/error-vite-env-only.md +77 -0
  399. package/frequent_questions/uk/esbuild_error.md +29 -0
  400. package/frequent_questions/uk/get_locale_cookie.md +142 -0
  401. package/frequent_questions/uk/intlayer_command_undefined.md +155 -0
  402. package/frequent_questions/uk/locale_incorect_in_url.md +73 -0
  403. package/frequent_questions/uk/package_version_error.md +181 -0
  404. package/frequent_questions/uk/static_rendering.md +44 -0
  405. package/frequent_questions/uk/translated_path_url.md +55 -0
  406. package/frequent_questions/uk/unknown_command.md +97 -0
  407. package/frequent_questions/vi/SSR_Next_no_[locale].md +1 -1
  408. package/frequent_questions/vi/error-vite-env-only.md +77 -0
  409. package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -1
  410. package/frequent_questions/zh/error-vite-env-only.md +77 -0
  411. package/legal/uk/privacy_notice.md +83 -0
  412. package/legal/uk/terms_of_service.md +55 -0
  413. package/package.json +6 -6
  414. package/src/generated/blog.entry.ts +29 -0
  415. package/src/generated/docs.entry.ts +119 -0
  416. package/src/generated/frequentQuestions.entry.ts +35 -0
  417. package/src/generated/legal.entry.ts +2 -0
@@ -0,0 +1,77 @@
1
+ ---
2
+ createdAt: 2026-01-11
3
+ updatedAt: 2026-01-11
4
+ title: `vite-env-only` & Intlayer – хибнопозитивна помилка відхилення `node:fs`
5
+ description: Чому vite-env-only повідомляє про відхилений імпорт `node:fs` з Intlayer + React-Router + Vite і що робити.
6
+ keywords:
7
+ - intlayer
8
+ - vite
9
+ - react-router
10
+ - vite-env-only
11
+ - node:fs
12
+ - відхилений імпорт
13
+ - alias
14
+ - клієнтський бандл
15
+ slugs:
16
+ - frequent-questions
17
+ - vite-env-only-node-fs-false-positive
18
+ ---
19
+
20
+ # vite-env-only відхиляє `node:fs` в Intlayer
21
+
22
+ Якщо ви використовували плагін **vite-env-only** (як зазначено в старих рекомендаціях React-Router v7) і бачите:
23
+
24
+ ```bash
25
+
26
+ Error: [vite-env-only] Import denied
27
+
28
+ * Denied by specifier pattern: /^node:/
29
+ * Importer: index.html
30
+ * Import: "node:fs"
31
+
32
+ ```
33
+
34
+ …незважаючи на те, що **в клієнтському бандлі немає `node:fs`**, це — **хибне спрацювання**.
35
+
36
+ ## Чому це відбувається
37
+
38
+ `vite-env-only` виконує перевірку на основі Babel **на ранньому етапі резолюції графа Vite**, _перед_:
39
+
40
+ - aliasing (включаючи відповідності Intlayer для browser vs node),
41
+ - dead-code elimination,
42
+ - SSR vs client resolution,
43
+ - віртуальні модулі, як-от ті в React-Router.
44
+
45
+ Пакети Intlayer містять код, який може працювати як у Node, так і в браузері. На _проміжному_ етапі в графі може з'явитися вбудований модуль Node, наприклад `node:fs`, **перед тим як** Vite видалить його з клієнтської збірки. `vite-env-only` помічає це і відразу видає помилку, хоча у фінальному бандлі його немає.
46
+
47
+ ## React-Router і серверні модулі
48
+
49
+ У документації React-Router щодо **конвенцій серверних модулів**
50
+ (https://reactrouter.com/api/framework-conventions/server-modules), команда **чітко рекомендує використовувати `vite-env-only`**, щоб запобігти потраплянню імпортів, призначених лише для сервера, у клієнтський бандл.
51
+
52
+ Однак ці конвенції покладаються на aliasing Vite, conditional exports і tree-shaking для видалення коду, призначеного лише для сервера. Хоча aliasing і conditional exports вже застосовані, деякі утиліти на основі Node все ще присутні в пакетах на кшталт `@intlayer/core` на цьому етапі (хоча вони ніколи не імпортуються на клієнті). Оскільки tree-shaking ще не відбувся, ці функції все ще парсяться Babel, і `vite-env-only` виявляє їхні імпорти `node:` та породжує false positive — хоча вони коректно очищуються з фінального клієнтського бандлу.
53
+
54
+ ## Як виправити / обійти
55
+
56
+ ### Рекомендовано: Видалити `vite-env-only`
57
+
58
+ Просто видаліть цей плагін. У багатьох випадках він не потрібен — Vite вже обробляє розрізнення імпортів для клієнта та сервера через власний механізм резолюції.
59
+
60
+ Це виправляє хибну відмову через `node:fs` без змін в Intlayer.
61
+
62
+ ### Натомість перевірте фінальну збірку
63
+
64
+ Якщо ви все ще хочете переконатися, що в клієнтському бандлі немає вбудованих модулів Node, робіть це **після збірки**, наприклад:
65
+
66
+ ```bash
67
+ pnpm build
68
+ grep -R "node:" dist/
69
+ ```
70
+
71
+ Якщо результатів немає, ваші клієнтські бандли чисті.
72
+
73
+ ## Підсумок
74
+
75
+ - `vite-env-only` може видавати помилку на `node:fs`, оскільки перевіряє занадто рано.
76
+ - Vite + Intlayer + конвенції server modules у React-Router зазвичай правильно видаляють посилання, призначені тільки для сервера.
77
+ - Видалення плагіна або перевірка _фінального виводу_ зазвичай є найкращим рішенням.
@@ -0,0 +1,29 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Помилка ESBuild
5
+ description: Дізнайтеся, як виправляти помилки ESBuild.
6
+ keywords:
7
+ - esbuild
8
+ - error
9
+ - intlayer
10
+ - plugin
11
+ - framework
12
+ - next.js
13
+ - vite
14
+ - react-native
15
+ - lynx
16
+ slugs:
17
+ - frequent-questions
18
+ - esbuild-error
19
+ ---
20
+
21
+ # Помилка ESBuild
22
+
23
+ Якщо під час збірки ви стикаєтеся з помилкою ESBuild, швидше за все плагін Intlayer налаштовано неправильно.
24
+
25
+ ESBuild відповідає за читання файлів декларації контенту (`.content.{ts,js,mjs,cjs,json}`) та генерацію відповідних словників у папці `.intlayer/dictionary`. А також за читання файлу конфігурації (`intlayer.config.ts`).
26
+
27
+ Intlayer надає плагіни для інтеграції з вашими бандлерами. Це призначено для створення псевдонімів (alias) для компонентів, які мають виконуватися лише на сервері.
28
+
29
+ Якщо ви використовуєте фреймворк, такий як Next.js (Webpack / Turbopack), Vite, React Native, Lynx тощо, Intlayer надає плагін, який можна використати для інтеграції Intlayer у ваш застосунок. Тому зверніться до специфічної документації вашого фреймворка, щоб дізнатися, як інтегрувати плагін.
@@ -0,0 +1,142 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Як отримати локаль із cookie / заголовків?
5
+ description: Дізнайтеся, як отримати локаль із cookie / заголовків.
6
+ keywords:
7
+ - cookie
8
+ - headers
9
+ - intlayer
10
+ - locale
11
+ - hook
12
+ - useLocale
13
+ - useLocaleCookie
14
+ - next.js
15
+ - react-intlayer
16
+ - vue-intlayer
17
+ slugs:
18
+ - frequent-questions
19
+ - get-locale-cookie
20
+ ---
21
+
22
+ # Як отримати локаль із cookie / заголовків
23
+
24
+ ## Використання хуків (рекомендується)
25
+
26
+ У більшості випадків рекомендовано отримувати поточну локаль за допомогою хука `useLocale`, оскільки вона вирішується автоматично. Це працює аналогічно до `useLocale` composable у Vue.js.
27
+
28
+ ```ts
29
+ import { useLocale } from "next-intlayer";
30
+ // or import { useLocale } from "react-intlayer";
31
+ // або імпортуйте { useLocale } з "vue-intlayer";
32
+
33
+ // Використання на клієнті
34
+ const { locale } = useLocale();
35
+ ```
36
+
37
+ Для серверних компонентів ви можете імпортувати його з:
38
+
39
+ ```tsx
40
+ import { useLocale } from "next-intlayer/server";
41
+
42
+ const Test = () => {
43
+ const { locale } = useLocale();
44
+ return <>{locale}</>;
45
+ };
46
+
47
+ const Page = async ({ params }) => {
48
+ const { locale } = await params;
49
+
50
+ return (
51
+ <IntlayerServerProvider locale={locale}>
52
+ <Test />
53
+ </IntlayerServerProvider>
54
+ );
55
+ };
56
+ ```
57
+
58
+ Також існує хук `useLocaleCookie`, який лише повертає значення cookie.
59
+
60
+ ## Ручна конфігурація cookie
61
+
62
+ Ви можете задати власну назву cookie, наприклад
63
+
64
+ ```ts
65
+ import { type IntlayerConfig } from "intlayer";
66
+
67
+ const config: IntlayerConfig = {
68
+ middleware: {
69
+ cookieName: "myCustomLocaleCookie", // за замовчуванням 'intlayer-locale'
70
+ },
71
+ };
72
+
73
+ export default config;
74
+ ```
75
+
76
+ отримати його наступним чином
77
+
78
+ ### На стороні клієнта
79
+
80
+ ```ts
81
+ // Використання імені cookie за замовчуванням
82
+ const locale = document.cookie
83
+ .split("; ")
84
+ .find((row) => row.startsWith("intlayer-locale="))
85
+ ?.split("=")[1];
86
+
87
+ // Використання користувацького імені cookie
88
+ const locale = document.cookie
89
+ .split("; ")
90
+ .find((row) => row.startsWith("myCustomLocaleCookie="))
91
+ ?.split("=")[1];
92
+ ```
93
+
94
+ ### На сервері (Next.js)
95
+
96
+ ```ts
97
+ import { cookies } from "next/headers";
98
+
99
+ // Використання імені cookie за замовчуванням
100
+ const locale = cookies().get("intlayer-locale")?.value;
101
+
102
+ // Використання користувацького імені cookie
103
+ const locale = cookies().get("myCustomLocaleCookie")?.value;
104
+ ```
105
+
106
+ ### Якщо локаль ще не встановлена
107
+
108
+ Локаль встановлюється в cookie лише після того, як користувач явно вибере локаль. За замовчуванням для нових відвідувачів локаль визначається за полями заголовків.
109
+
110
+ Ви можете визначити бажану локаль користувача з заголовків запиту. Ось приклад, як це можна реалізувати:
111
+
112
+ ```ts
113
+ /**
114
+ * Визначає локаль з заголовків запиту
115
+ *
116
+ * Заголовок accept-language є найважливішим для визначення локалі.
117
+ * Він містить список кодів мов зі значеннями якості (q-values), які вказують
118
+ * пріоритетні мови користувача в порядку переваги.
119
+ *
120
+ * Приклад: "en-US,en;q=0.9,fr;q=0.8,es;q=0.7"
121
+ * - en-US — основна мова (q=1.0 мається на увазі)
122
+ * - en — другий вибір (q=0.9)
123
+ * - fr — третій вибір (q=0.8)
124
+ * - es — четвертий вибір (q=0.7)
125
+ */
126
+ import { localeDetector } from "@intlayer/core";
127
+
128
+ /**
129
+ * Приклад negotiator headers, які зазвичай надсилають браузери
130
+ * Ці заголовки допомагають визначити переважну мову користувача
131
+ */
132
+ const exampleNegotiatorHeaders: Record<string, string> = {
133
+ "accept-language": "en-US,en;q=0.9,fr;q=0.8,es;q=0.7",
134
+ "accept":
135
+ "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
136
+ "user-agent":
137
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
138
+ };
139
+
140
+ // Приклад використання:
141
+ const detectedLocale = localeDetector(exampleNegotiatorHeaders);
142
+ ```
@@ -0,0 +1,155 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Команда intlayer не визначена
5
+ description: Дізнайтеся, як виправити помилку «команда intlayer не визначена».
6
+ keywords:
7
+ - intlayer
8
+ - command
9
+ - undefined
10
+ - error
11
+ - vscode
12
+ - extension
13
+ - plugin
14
+ - framework
15
+ - next.js
16
+ - vite
17
+ slugs:
18
+ - frequent-questions
19
+ - intlayer-command-undefined
20
+ ---
21
+
22
+ # Команда intlayer не визначена
23
+
24
+ ## Огляд
25
+
26
+ Intlayer CLI надає зручний спосіб керування вашим вмістом intlayer, включно зі збіркою словників, відправкою перекладів та іншим. Однак він не є обов'язковим для роботи вашого проєкту. Якщо ви використовуєте bundler-плагін (наприклад, `withIntlayer()` для Next.js або `intlayer()` для Vite), Intlayer автоматично збирає словники під час збірки додатку або запуску dev-сервера. У режимі розробки він також відслідковує зміни та автоматично перебудовує файли декларацій вмісту.
27
+
28
+ Ви можете отримати доступ до команд intlayer різними способами:
29
+
30
+ - Використовуючи CLI-команду `intlayer` безпосередньо
31
+ - Використовуючи [розширення VSCode](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/vs_code_extension.md)
32
+ - Використовуючи SDK `@intlayer/cli`
33
+
34
+ ## Проблема
35
+
36
+ Коли ви намагаєтеся використати команду `intlayer`, ви можете зіткнутися з цією помилкою:
37
+
38
+ ```bash
39
+ 'intlayer' is not recognized as an internal or external command,
40
+ operable program or batch file.
41
+ ```
42
+
43
+ ## Рішення
44
+
45
+ Спробуйте ці рішення в порядку:
46
+
47
+ 1. **Перевірте, що команда встановлена**
48
+
49
+ ```bash
50
+ npx intlayer -h
51
+ ```
52
+
53
+ Очікуваний вивід:
54
+
55
+ ```bash
56
+ Usage: intlayer [options] [command]
57
+
58
+ Intlayer CLI
59
+
60
+ Options:
61
+ -V, --version output the version number
62
+ -h, --help display help for command
63
+
64
+ Commands:
65
+ dictionary|dictionaries Dictionaries operations
66
+ configuration|config Configuration operations
67
+ help [command] display help for command
68
+ ```
69
+
70
+ 2. **Встановіть пакет intlayer-cli глобально**
71
+
72
+ ```bash
73
+ npm install intlayer-cli -g -g
74
+ ```
75
+
76
+ > Це не має бути необхідним, якщо ви вже встановили пакет `intlayer`
77
+
78
+ 3. **Встановіть пакет глобально**
79
+
80
+ ```bash
81
+ npm install intlayer -g
82
+ ```
83
+
84
+ 4. **Перезапустіть термінал**
85
+ Іноді потрібно перезапустити термінал, щоб він розпізнав нові команди.
86
+
87
+ 5. **Очистіть і перевстановіть**
88
+ Якщо наведені вище рішення не допомогли:
89
+
90
+ ```bash
91
+ rm -rf node_modules package-lock.json
92
+ npm install
93
+ ```
94
+
95
+ 6. **Перевірте файли встановлення**
96
+ Якщо проблема зберігається, перевірте, що існують такі файли:
97
+ - `node_modules/intlayer/dist/cjs/cli.cjs`
98
+ - `node_modules/intlayer/package.json` (має містити поле `bin`, що посилається на `./dist/cjs/cli.cjs`)
99
+
100
+ 7. **Перевірте змінну середовища PATH**
101
+ Переконайтеся, що директорія глобальних bin-файлів npm присутня у вашому PATH:
102
+
103
+ ```bash
104
+ # Для Unix-подібних систем (macOS/Linux)
105
+ echo $PATH
106
+ # Має містити щось на кшталт /usr/local/bin або ~/.npm-global/bin
107
+
108
+ # Для Windows
109
+ echo %PATH%
110
+ # Має містити каталог глобальних бінарних файлів npm
111
+ ```
112
+
113
+ 8. **Use npx with full path**
114
+ If the command is still not found, try using npx with the full path:
115
+
116
+ ```bash
117
+ npx ./node_modules/intlayer/ dictionaries build
118
+ ```
119
+
120
+ 9. **Check for conflicting installations**
121
+
122
+ ```bash
123
+ # Перелічіть усі глобально встановлені пакети
124
+ npm list -g --depth=0
125
+
126
+ # Видаліть будь-які конфліктні глобальні встановлення
127
+ npm uninstall -g intlayer
128
+ npm uninstall -g intlayer-cli
129
+ # Потім перевстановіть
130
+ npm install -g intlayer
131
+ ```
132
+
133
+ 10. **Verify Node.js and npm versions**
134
+ Make sure you're using compatible versions:
135
+
136
+ ```bash
137
+ node --version
138
+ npm --version
139
+ ```
140
+
141
+ If you're using an outdated version, consider updating Node.js and npm.
142
+
143
+ 11. **Перевірте проблеми з дозволами**
144
+ Якщо ви отримуєте помилки доступу:
145
+
146
+ ```bash
147
+ # Для Unix-подібних систем
148
+ sudo npm install -g intlayer
149
+
150
+ # Або змініть каталог за замовчуванням для npm
151
+ mkdir ~/.npm-global
152
+ npm config set prefix '~/.npm-global'
153
+ # Додайте в ваш ~/.profile або ~/.bashrc:
154
+ export PATH=~/.npm-global/bin:$PATH
155
+ ```
@@ -0,0 +1,73 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Некоректна локаль, отримана з URL
5
+ description: Дізнайтеся, як виправити некоректну локаль, отриману з URL.
6
+ keywords:
7
+ - локаль
8
+ - url
9
+ - intlayer
10
+ - next.js
11
+ - vite
12
+ - фреймворк
13
+ - middleware
14
+ - конфігурація
15
+ - prefixDefault
16
+ - noPrefix
17
+ slugs:
18
+ - frequent-questions
19
+ - locale-incorect-in-url
20
+ ---
21
+
22
+ # Некоректна локаль, отримана з URL
23
+
24
+ ## Опис проблеми
25
+
26
+ Коли ви намагаєтеся отримати параметр locale з URL, ви можете зіткнутися з проблемою, коли значення локалі некоректне:
27
+
28
+ ```js
29
+ const { locale } = await params;
30
+ console.log(locale); // повертає "about" замість очікуваної локалі
31
+ ```
32
+
33
+ ## Рішення
34
+
35
+ ### 1. Перевірте структуру файлів
36
+
37
+ Переконайтеся, що шлях у app router вашого Next.js відповідає цій структурі:
38
+
39
+ ```bash
40
+ src/app/[locale]/about/page.tsx
41
+ ```
42
+
43
+ ### 2. Перевірте конфігурацію middleware
44
+
45
+ Проблема часто виникає, коли middleware відсутній або не спрацьовує. Файл middleware має знаходитись за шляхом:
46
+
47
+ ```bash
48
+ src/middleware.ts
49
+ ```
50
+
51
+ Цей middleware відповідає за переписування маршрутів, коли `prefixDefault` встановлено в `false`. Наприклад, він переписує `/en/about` на `/about`.
52
+
53
+ ### 3. Шаблони URL залежно від конфігурації
54
+
55
+ #### Конфігурація за замовчуванням (`prefixDefault: false`, `noPrefix: false`)
56
+
57
+ - Англійська: `/about`
58
+ - Французька: `/fr/about`
59
+ - Іспанська: `/es/about`
60
+
61
+ #### Якщо `prefixDefault: true`
62
+
63
+ - Англійська: `/en/about`
64
+ - Французька: `/fr/about`
65
+ - Іспанська: `/es/about`
66
+
67
+ #### Якщо `noPrefix: true`
68
+
69
+ - Англійська: `/about`
70
+ - Французька: `/about`
71
+ - Іспанська: `/about`
72
+
73
+ Для докладнішої інформації про ці параметри конфігурації перегляньте [Документацію з конфігурації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md).
@@ -0,0 +1,181 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Отримую помилку, пов'язану з підпакетами `@intlayer/*`
5
+ description: Виправлення помилки, пов'язаної з підпакетами @intlayer/*.
6
+ keywords:
7
+ - @intlayer/*
8
+ - підпакети
9
+ - intlayer
10
+ slugs:
11
+ - frequent-questions
12
+ - package-version-error
13
+ ---
14
+
15
+ # Отримую помилку, пов'язану з підпакетами `@intlayer/*`
16
+
17
+ Ця проблема зазвичай виникає після оновлення пакетів Intlayer.
18
+
19
+ Приклад повідомлення про помилку:
20
+
21
+ ```bash
22
+ Error: Cannot find module '@intlayer/types'
23
+ ```
24
+
25
+ ```bash
26
+ TypeError: (0 , __intlayer_config_client.colorize) is not a function
27
+
28
+ at import { colorize } from '@intlayer/config';
29
+ ```
30
+
31
+ ```bash
32
+ ✖ ERROR No matching export in "node_modules/@intlayer/config/dist/esm/client.mjs" for import "clearModuleCache"
33
+
34
+ node_modules/@intlayer/unmerged-dictionaries-entry/dist/esm/index.mjs:3:9:
35
+ 3 | import { clearModuleCache, configESMxCJSRequire } from "@intlayer/config";
36
+ | ~~~~~~~~~~~~~~~~
37
+
38
+ ✖ ERROR No matching export in "node_modules/@intlayer/config/dist/esm/client.mjs" for import "configESMxCJSRequire"
39
+
40
+ node_modules/@intlayer/unmerged-dictionaries-entry/dist/esm/index.mjs:3:27:
41
+ 3 | import { clearModuleCache, configESMxCJSRequire } from "@intlayer/config";
42
+ | ~~~~~~~~~~~~~~~~~~~~
43
+ ```
44
+
45
+ ## Причина
46
+
47
+ Базові пакети, такі як `intlayer`, `react-intlayer`, `react-native-intlayer`, `vue-intlayer`, повторно використовують ті самі суб-пакети `@intlayer/config`, `@intlayer/core`, `@intlayer/types`, щоб уникнути дублювання коду.
48
+
49
+ Між двома версіями експорти підпакетів не обов'язково збігаються. Щоб зменшити цю проблему, intlayer прив'язує версії підпакетів до версії головного пакета.
50
+
51
+ > Наприклад: `intlayer@1.0.0` використовує `@intlayer/config@1.0.0`, `@intlayer/core@1.0.0`, `@intlayer/types@1.0.0`
52
+
53
+ > (За винятком `@intlayer/swc`), підпакети `@intlayer/*` не призначені для прямого використання. Тому рекомендується не встановлювати їх безпосередньо.
54
+
55
+ ## Вирішення
56
+
57
+ 1. Переконайтеся, що версії головного пакета та підпакетів однакові.
58
+
59
+ ```json5
60
+ {
61
+ "dependencies": {
62
+ "intlayer": "7.0.1",
63
+ "react-intlayer": "7.0.0", // Неправильна версія, має бути 7.0.1
64
+ },
65
+ "devDependencies": {
66
+ "intlayer-editor": "7.0.1",
67
+ },
68
+ }
69
+ ```
70
+
71
+ 2. Спробуйте видалити lockfile та папку node_modules і перевстановити залежності.
72
+
73
+ Інколи пакетний менеджер зберігає стару версію sub-packages у lockfile або в кеші. Щоб виправити це, можна спробувати видалити lockfile та папку node_modules і перевстановити залежності.
74
+
75
+ ```bash
76
+ rm -rf package-lock.json node_modules
77
+
78
+ npm install # або yarn install або pnpm install або bun pm install
79
+ ```
80
+
81
+ 3. Перевірте версії локальних залежностей
82
+
83
+ Може статися, що ваш пакетний менеджер зберігає стару версію sub-packages у lockfile або в кеші.
84
+
85
+ Приклад `intlayer@7.0.0` > `@intlayer/config@7.0.0` > `@intlayer/dictionary-entry@6.0.0`.
86
+
87
+ Щоб виявити невідповідність між версіями локальних залежностей і версіями sub-packages, ви можете використати наступну команду:
88
+
89
+ ```bash
90
+ npm list --depth=3 | grep intlayer
91
+ ```
92
+
93
+ ```bash
94
+ yarn list --depth=3 | grep intlayer
95
+ ```
96
+
97
+ ```bash
98
+ pnpm list --depth=3 | grep intlayer
99
+ ```
100
+
101
+ ```bash
102
+ bun pm ls --depth=3 | grep intlayer
103
+ ```
104
+
105
+ > На Windows замініть `| grep intlayer` на `| findstr intlayer` або використайте PowerShell з `Select-String -Pattern "intlayer"`.
106
+
107
+ 4. Перевірте глобальну інсталяцію
108
+
109
+ Ми рекомендуємо встановити `intlayer` або `intlayer-cli` глобально, щоб мати доступ до CLI-команд. Якщо глобальна версія відрізняється від локальної версії, пакетний менеджер може обрати невірну версію.
110
+
111
+ **Перевірити, чи пакет встановлено глобально**
112
+
113
+ ```bash
114
+ npm list -g --depth=3 | grep intlayer
115
+ ```
116
+
117
+ ```bash
118
+ yarn global list --depth=3 | grep intlayer
119
+ ```
120
+
121
+ ```bash
122
+ pnpm list -g --depth=3 | grep intlayer
123
+ ```
124
+
125
+ ```bash
126
+ bun pm ls -g --depth=3 | grep intlayer
127
+ ```
128
+
129
+ > На Windows замініть `| grep intlayer` на `| findstr intlayer` або використовуйте PowerShell з `Select-String -Pattern "intlayer"`.
130
+
131
+ **Виправте потенційні конфлікти глобальних залежностей**
132
+
133
+ ```bash
134
+ npm uninstall -g intlayer intlayer-cli
135
+ ```
136
+
137
+ ```bash
138
+ yarn global remove intlayer intlayer-cli
139
+ ```
140
+
141
+ ```bash
142
+ pnpm remove -g intlayer intlayer-cli
143
+ ```
144
+
145
+ ```bash
146
+ bun pm rm -g intlayer intlayer-cli
147
+ ```
148
+
149
+ 5. Спробуйте очистити кеш
150
+
151
+ У деяких середовищах, таких як Docker, GitHub Actions або хостинг-платформи на зразок Vercel, може бути задіяний кеш. Спробуйте очистити кеш і повторити встановлення.
152
+
153
+ Ви також можете очистити кеш вашого пакетного менеджера за допомогою наступних команд:
154
+
155
+ ```bash
156
+ npm cache clean --force
157
+ ```
158
+
159
+ ```bash
160
+ yarn cache clean
161
+ ```
162
+
163
+ ```bash
164
+ pnpm cache clean
165
+ ```
166
+
167
+ ```bash
168
+ bun pm cache clean
169
+ ```
170
+
171
+ 6. Спробуйте видалити папку `.intlayer`
172
+
173
+ Intlayer кешує зібрану версію самої себе в папці `.intlayer/cache`.
174
+
175
+ Цей кеш може бути пошкоджений, якщо версія intlayer відрізняється від версії, збереженої в кеші.
176
+
177
+ Ви можете спробувати видалити папку `.intlayer` і повторити збірку.
178
+
179
+ ```bash
180
+ rm -rf .intlayer
181
+ ```