@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,44 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Статичний vs динамічний рендеринг з i18n у Next.js
5
+ description: Дізнайтеся, як використовувати статичний та динамічний рендеринг з i18n у Next.js.
6
+ keywords:
7
+ - статичний
8
+ - динамічний
9
+ - рендеринг
10
+ - i18n
11
+ - next.js
12
+ - next-intl
13
+ - intlayer
14
+ - фреймворк
15
+ - middleware
16
+ - конфігурація
17
+ slugs:
18
+ - frequent-questions
19
+ - static-rendering
20
+ ---
21
+
22
+ # Статичний vs динамічний рендеринг з i18n у Next.js
23
+
24
+ ## Проблема з **next-intl**
25
+
26
+ - **Що відбувається?**
27
+ Коли ви використовуєте `useTranslations`, `getTranslations`, або будь-який хелпер next-intl _всередині Server Component_ в застосунку з i18n-маршрутизацією (`/en/…`, `/fr/…`), Next.js позначає весь маршрут як **dynamic**. ([Next Intl][1])
28
+
29
+ - **Чому?**
30
+ next-intl визначає поточну локаль з заголовка, доступного лише в запиті (`x-next-intl-locale`) через `headers()`. Оскільки `headers()` — це **динамічний API**, будь-який компонент, який до нього звертається, втрачає статичну оптимізацію. ([Next Intl][1], [Next.js][2])
31
+
32
+ - **Офіційне рішення (boilerplate)**
33
+ 1. Експортуйте `generateStaticParams` для кожної підтримуваної локалі.
34
+ 2. Викликайте `setRequestLocale(locale)` у **кожному** layout/page _перед_ тим, як викликати `useTranslations`. ([Next Intl][1])
35
+ Це усуває залежність від заголовка, але додає додатковий код для підтримки та використовує нестабільний API у продакшені.
36
+
37
+ ## Як **intlayer** обходить проблему
38
+
39
+ **Дизайн-рішення**
40
+
41
+ 1. **Тільки параметр маршруту (route-param only)** – локаль береться з сегмента URL `[locale]`, який Next.js вже передає кожній сторінці.
42
+ 2. **Бандли на етапі компіляції** – Переклади імпортуються як звичайні ES-модулі, тож вони піддаються tree-shaking і вбудовуються під час збірки.
43
+ 3. **Без динамічних API** – `useT()` читає з React context, а не з `headers()` або `cookies()`.
44
+ 4. **Жодної додаткової конфігурації** – Як тільки ваші сторінки розміщені під `app/[locale]/`, Next.js автоматично генерує по одному HTML‑файлу на кожну локаль.
@@ -0,0 +1,55 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Чи можна перекласти шлях URL?
5
+ description: Дізнайтеся, як перекласти шлях URL.
6
+ keywords:
7
+ - array
8
+ - content
9
+ - declaration
10
+ - intlayer
11
+ - middleware
12
+ - proxy
13
+ - rewrite
14
+ - prefix
15
+ - locale
16
+ - url
17
+ slugs:
18
+ - frequent-questions
19
+ - translated-path-url
20
+ ---
21
+
22
+ # Чи можливо перекласти URL наступним чином:
23
+
24
+ ```bash
25
+ en -> /product (без префікса) або /en/product (з префіксом)
26
+ fr -> /fr/produit
27
+ es -> /es/producto
28
+ ```
29
+
30
+ На жаль, Intlayer не дозволяє перекладати URL так, як зазначено вище. Щоб досягти цього, ви повинні використовувати власний middleware або proxy для перезапису (rewrite) URL.
31
+
32
+ Але ви можете використовувати функцію `getMultilingualUrl`, щоб вставити префікс у URL для заданої локалі.
33
+
34
+ ```ts
35
+ import { getMultilingualUrl, Locales } from "intlayer";
36
+
37
+ const url = getMultilingualUrl("/product");
38
+
39
+ /**
40
+ * en -> /product (без префікса) або /en/product (з префіксом)
41
+ * fr -> /fr/product
42
+ * es -> /es/product
43
+ */
44
+ console.log(url);
45
+ ```
46
+
47
+ Або `getLocalizedUrl`
48
+
49
+ ```ts
50
+ import { getLocalizedUrl, Locales } from "intlayer";
51
+
52
+ const url = getLocalizedUrl("/product", Locales.FRENCH);
53
+
54
+ console.log(url); // виведе: /fr/product
55
+ ```
@@ -0,0 +1,97 @@
1
+ ---
2
+ createdAt: 2025-05-20
3
+ updatedAt: 2025-06-29
4
+ title: Невідома команда
5
+ description: Дізнайтеся, як виправити помилку невідомої команди.
6
+ keywords:
7
+ - невідома
8
+ - команда
9
+ - помилка
10
+ - intlayer
11
+ - fill
12
+ - build
13
+ - verbose
14
+ - термінал
15
+ - перезапуск
16
+ - локально
17
+ slugs:
18
+ - frequent-questions
19
+ - unknown-command
20
+ ---
21
+
22
+ # помилка: невідома команда fill / build / тощо
23
+
24
+ Якщо `npx intlayer fill --verbose` видає:
25
+
26
+ ```
27
+ error: unknown command 'fill'
28
+ ```
29
+
30
+ але ви впевнені, що команда `fill` _повинна_ існувати, ось кроки для вирішення:
31
+
32
+ ## 1. **Переконайтеся, що ви використовуєте найновішу версію**
33
+
34
+ Запустіть:
35
+
36
+ ```bash
37
+ npx intlayer --version # поточна локальна версія intlayer
38
+ npx intlayer@latest --version # остання доступна версія intlayer
39
+ ```
40
+
41
+ Це змушує `npx` завантажити найновішу версію. Потім спробуйте ще раз:
42
+
43
+ ```bash
44
+ npx intlayer@latest build --verbose
45
+ ```
46
+
47
+ ## 2. **Перевірте, чи команда зареєстрована**
48
+
49
+ Ви можете перевірити за допомогою:
50
+
51
+ ```bash
52
+ npx intlayer --help # надає інформацію про команди
53
+ ```
54
+
55
+ Перевірте, чи з'являється команда у списку команд.
56
+
57
+ Перейдіть у репозиторій та підтвердьте, що ваша команда експортується й зареєстрована в точці входу CLI. Intlayer використовує `commander` як фреймворк.
58
+
59
+ Код, що стосується CLI:
60
+ https://github.com/aymericzip/intlayer/blob/main/packages/%40intlayer/cli/src/cli.ts
61
+
62
+ ## 4. **Перезапустіть термінал**
63
+
64
+ Іноді потрібно перезапустити термінал, щоб він розпізнав нові команди.
65
+
66
+ ## 5. **Якщо ви розробляєте `intlayer`, перебудуйте та підключіть його**
67
+
68
+ Якщо ви розробляєте `intlayer` локально:
69
+
70
+ ```bash
71
+ # У директорії intlayer
72
+ npm install
73
+ npm run build
74
+ npm link
75
+ ```
76
+
77
+ Потім в іншому терміналі:
78
+
79
+ ```bash
80
+ intlayer fill --verbose
81
+ ```
82
+
83
+ Це використовує локальну версію, над якою ви працюєте.
84
+
85
+ ## 6. **Очистіть кеш npx (якщо ви застрягли на старішій версії)**
86
+
87
+ ```bash
88
+ npx clear-npx-cache
89
+ ```
90
+
91
+ Або вручну видаліть кешовані пакети intlayer:
92
+
93
+ ```bash
94
+ rm -rf ~/.npm/_npx
95
+ ```
96
+
97
+ Перевірте еквівалентні команди, якщо ви використовуєте pnpm, yarn, bun або інший пакетний менеджер
@@ -16,7 +16,7 @@ keywords:
16
16
  - noPrefix
17
17
  slugs:
18
18
  - frequent-questions
19
- - ssr-next-no-[locale]
19
+ - next-no-locale-path
20
20
  ---
21
21
 
22
22
  # Có thể sử dụng Intlayer với Next.js mà không có `[locale]` trong đường dẫn trang không?
@@ -0,0 +1,77 @@
1
+ ---
2
+ createdAt: 2026-01-11
3
+ updatedAt: 2026-01-11
4
+ title: `vite-env-only` & Intlayer – lỗi từ chối `node:fs` dương tính giả
5
+ description: Tại sao vite-env-only báo một import `node:fs` bị từ chối khi dùng Intlayer + React-Router + Vite và phải làm gì.
6
+ keywords:
7
+ - intlayer
8
+ - vite
9
+ - react-router
10
+ - vite-env-only
11
+ - node:fs
12
+ - import bị từ chối
13
+ - alias
14
+ - bundle phía client
15
+ slugs:
16
+ - frequent-questions
17
+ - vite-env-only-node-fs-false-positive
18
+ ---
19
+
20
+ # vite-env-only từ chối `node:fs` với Intlayer
21
+
22
+ Nếu bạn đã sử dụng plugin **vite-env-only** (như được đề cập trong các gợi ý React-Router v7 cũ hơn) và thấy:
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
+ …mặc dù **không có `node:fs` trong bundle phía client của bạn**, đây là một **false positive (dương tính giả)**.
35
+
36
+ ## Nguyên nhân gây ra
37
+
38
+ `vite-env-only` chạy một kiểm tra dựa trên Babel **rất sớm trong quá trình phân giải graph của Vite**, _trước khi_:
39
+
40
+ - aliasing (bao gồm ánh xạ browser vs node của Intlayer),
41
+ - dead-code elimination,
42
+ - SSR vs client resolution,
43
+ - các module ảo như của React-Router.
44
+
45
+ Các package của Intlayer chứa mã có thể chạy trên cả Node và trình duyệt. Ở một giai đoạn _trung gian_, một builtin của Node như `node:fs` có thể xuất hiện trong graph **trước khi** Vite loại bỏ nó khỏi build phía client. `vite-env-only` nhìn thấy điều đó và báo lỗi ngay lập tức, mặc dù bundle cuối cùng không chứa nó.
46
+
47
+ ## React-Router và Server Modules
48
+
49
+ Trong tài liệu của React-Router về **server module conventions**
50
+ (https://reactrouter.com/api/framework-conventions/server-modules), nhóm **rõ ràng khuyến nghị sử dụng `vite-env-only`** để ngăn các import chỉ dành cho server bị rò rỉ vào bundle phía client.
51
+
52
+ Tuy nhiên, những quy ước đó dựa vào aliasing của Vite, conditional exports và tree-shaking để loại bỏ mã chỉ dành cho server. Trong khi aliasing và conditional exports đã được áp dụng, một số tiện ích dựa trên Node vẫn còn xuất hiện trong các package như `@intlayer/core` ở giai đoạn đó (mặc dù chúng không bao giờ được import vào client). Vì tree-shaking chưa chạy, các hàm đó vẫn bị Babel phân tích cú pháp, và `vite-env-only` phát hiện các import `node:` của chúng và báo dương tính giả — mặc dù chúng đã được loại bỏ chính xác khỏi bundle cuối cùng của client.
53
+
54
+ ## Cách khắc phục / giải pháp tạm thời
55
+
56
+ ### Khuyến nghị: Gỡ bỏ `vite-env-only`
57
+
58
+ Chỉ cần gỡ plugin. Trong nhiều trường hợp bạn không cần nó — Vite đã xử lý việc phân biệt imports client và server thông qua cơ chế resolution của nó.
59
+
60
+ Điều này sửa lỗi báo sai `node:fs` mà không cần thay đổi Intlayer.
61
+
62
+ ### Thay vào đó, kiểm tra bản build cuối cùng
63
+
64
+ Nếu bạn vẫn muốn đảm bảo không có built-in của Node trong client, hãy làm điều đó **sau khi build**, ví dụ:
65
+
66
+ ```bash
67
+ pnpm build
68
+ grep -R "node:" dist/
69
+ ```
70
+
71
+ Nếu không có kết quả, các bundle client của bạn sạch.
72
+
73
+ ## Tóm tắt
74
+
75
+ - `vite-env-only` có thể báo lỗi về `node:fs` vì nó kiểm tra quá sớm.
76
+ - Vite + Intlayer + quy ước server modules của React-Router thường loại bỏ tham chiếu chỉ dành cho server một cách chính xác.
77
+ - Gỡ plugin hoặc kiểm tra _kết quả cuối cùng_ thường là giải pháp tốt nhất.
@@ -16,7 +16,7 @@ keywords:
16
16
  - noPrefix
17
17
  slugs:
18
18
  - frequent-questions
19
- - ssr-next-no-[locale]
19
+ - next-no-locale-path
20
20
  ---
21
21
 
22
22
  # 是否可以在页面路径中不使用 `[locale]` 来搭配 Next.js 使用 Intlayer?
@@ -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: 为什么在 Intlayer + React-Router + Vite 的组合中,vite-env-only 报告 `node:fs` 导入被拒绝,以及应如何处理。
6
+ keywords:
7
+ - intlayer
8
+ - vite
9
+ - react-router
10
+ - vite-env-only
11
+ - node:fs
12
+ - 导入被拒绝
13
+ - alias
14
+ - 客户端 bundle
15
+ slugs:
16
+ - frequent-questions
17
+ - vite-env-only-node-fs-false-positive
18
+ ---
19
+
20
+ # vite-env-only 在 Intlayer 中拒绝 `node:fs` 导入
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` 在 Vite 的依赖图解析过程中**较早运行一个基于 Babel 的检查**,_在以下步骤之前_:
39
+
40
+ - 别名重定向(包括 Intlayer 的 browser 与 node 映射),
41
+ - 死代码消除,
42
+ - SSR 与客户端解析,
43
+ - 像 React-Router 的虚拟模块。
44
+
45
+ Intlayer 的包包含可以在 Node 与浏览器上运行的代码。在一个 _中间_ 阶段,像 `node:fs` 这样的 Node 内置模块可能会在依赖图中出现,**在** Vite 将其从客户端构建中移除之前。`vite-env-only` 会看到该情况并立即报错,即使最终的 bundle 并不包含它。
46
+
47
+ ## React-Router 与服务端模块
48
+
49
+ 在 React-Router 关于 **服务端模块约定** 的文档中
50
+ (https://reactrouter.com/api/framework-conventions/server-modules),团队**明确建议使用 `vite-env-only`\*\*以防止仅用于服务器的导入泄漏到客户端包中。
51
+
52
+ 然而,这些约定依赖于 Vite 的 aliasing、conditional exports 和 tree-shaking 来移除仅用于服务器的代码。尽管 aliasing 和 conditional exports 已经被应用,但在该阶段某些基于 Node 的实用工具仍然存在于像 `@intlayer/core` 这样的包中(即便它们从未在客户端被导入)。因为 tree-shaking 尚未运行,那些函数仍会被 Babel 解析,`vite-env-only` 检测到它们的 `node:` 导入并报出误报 —— 即便这些导入在最终的客户端包中已被正确清除。
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 + React-Router 的 server modules 约定通常会正确移除仅用于服务器的引用。
77
+ - 移除该插件或验证 _最终输出_ 通常是最佳解决方案。
@@ -0,0 +1,83 @@
1
+ ---
2
+ createdAt: 2025-04-18
3
+ updatedAt: 2025-06-29
4
+ title: Повідомлення про конфіденційність Intlayer
5
+ description: Дізнайтеся, як Intlayer обробляє інформацію, зібрану через наш вебсайт та CMS. Дотримуйтеся документації, щоб зрозуміти різні формати та сценарії використання.
6
+ keywords:
7
+ - Інтернаціоналізація
8
+ - Документація
9
+ - Intlayer
10
+ - Конфіденційність
11
+ - Повідомлення
12
+ - Файли cookie
13
+ - Відстеження
14
+ - Аналітика
15
+ - Google Analytics
16
+ - Meta (Facebook) Pixel
17
+ - Аутентифікація
18
+ - Дані користувача
19
+ slugs:
20
+ - privacy-notice
21
+ ---
22
+
23
+ # Повідомлення про конфіденційність Intlayer
24
+
25
+ ## Вступ
26
+
27
+ У Intlayer ми серйозно ставимося до конфіденційності. Це повідомлення пояснює, як ми обробляємо інформацію, що збирається через наш вебсайт та CMS.
28
+
29
+ ## Контакти
30
+
31
+ Якщо у вас є питання чи занепокоєння щодо конфіденційності, будь ласка, зв'яжіться з нами за адресою: [contact@intlayer.org](mailto:contact@intlayer.org).
32
+
33
+ ## Використання файлів cookie та технологій відстеження
34
+
35
+ Ми використовуємо **Google Analytics** та **Meta (Facebook) Pixel** для аналізу використання нашого вебсайту та покращення послуг. Ці інструменти генерують статистику та іншу інформацію про вебсайт за допомогою файлів cookie, які зберігаються на пристроях користувачів.
36
+
37
+ Для отримання додаткової інформації:
38
+
39
+ - [Політика конфіденційності Google](https://policies.google.com/privacy)
40
+ - [Політика конфіденційності Meta](https://www.facebook.com/privacy/policy)
41
+
42
+ ## Аутентифікація та дані користувачів
43
+
44
+ Доступ до CMS Intlayer вимагає аутентифікації користувача. Ми пропонуємо автентифікацію за допомогою електронної пошти та пароля, а також вхід через сторонніх провайдерів — **Google** та **GitHub**.
45
+
46
+ Під час аутентифікації ми збираємо:
47
+
48
+ - Електронну адресу
49
+ - Відображуване ім'я (або обране ім'я)
50
+
51
+ Користувачі також можуть отримувати доступ до CMS за допомогою access tokens, пов'язаних із їхнім обліковим записом. Ці токени прив'язані до тих самих даних аутентифікації.
52
+
53
+ ## Зберігання даних та безпека
54
+
55
+ Дані аутентифікації користувачів зберігаються в **MongoDB базі даних**, розміщеній на **cloud.mongodb.com**:
56
+
57
+ - **Регіон:** AWS / Oregon (us-west-2)
58
+ - **Тип:** Replica Set (3 nodes)
59
+ - **Безпека паролів:** Усі паролі хешуються відповідно до загальноприйнятих практик галузі.
60
+
61
+ Ми не зберігаємо жодних зайвих персональних даних понад ті, що необхідні для аутентифікації та безпечного доступу до CMS.
62
+
63
+ ## Передача даних третім сторонам
64
+
65
+ Ми **не** продаємо та не передаємо ваші персональні дані третім сторонам, за винятком випадків, коли це необхідно для аналітики (Google Analytics, Facebook Pixel) або як частина процесу автентифікації (вхід через Google або GitHub).
66
+
67
+ ## Права користувачів
68
+
69
+ Як користувач, ви маєте право:
70
+
71
+ - Отримувати доступ до персональних даних, які ми зберігаємо про вас
72
+ - Запитувати виправлення або видалення ваших даних
73
+ - Відкликати доступ або видалити свій акаунт
74
+
75
+ Для будь-яких запитів щодо ваших даних зв'яжіться з нами за адресою [contact@intlayer.org](mailto:contact@intlayer.org).
76
+
77
+ ## Зміни до цього повідомлення
78
+
79
+ Ми можемо час від часу оновлювати це повідомлення про конфіденційність. Користувачам рекомендується регулярно перевіряти цю сторінку, щоб бути в курсі змін.
80
+
81
+ ---
82
+
83
+ Повідомте, якщо ви хочете більш формальний тон, додати згадки про GDPR/CCPA або адаптувати це для юридичної сторінки вашого сайту.
@@ -0,0 +1,55 @@
1
+ ---
2
+ createdAt: 2025-04-18
3
+ updatedAt: 2025-06-29
4
+ title: Умови використання Intlayer
5
+ description: Дізнайтеся, як Intlayer обробляє інформацію, зібрану через наш вебсайт і CMS. Дотримуйтесь документації, щоб зрозуміти різні формати та варіанти використання.
6
+ keywords:
7
+ - Інтернаціоналізація
8
+ - Документація
9
+ - Intlayer
10
+ - Умови використання
11
+ - Послуга
12
+ - Використання
13
+ - Ліцензія
14
+ - Відповідальність
15
+ - Конфіденційність
16
+ - Внески
17
+ - Авторство
18
+ - Зміни умов
19
+ slugs:
20
+ - terms-of-service
21
+ ---
22
+
23
+ # Умови використання Intlayer
24
+
25
+ ## 1. Прийняття умов
26
+
27
+ Використовуючи Intlayer, ви погоджуєтеся дотримуватися цих умов використання. Якщо ви не приймаєте ці умови, будь ласка, не користуйтеся цим інструментом.
28
+
29
+ ## 2. Ліцензія
30
+
31
+ Intlayer поширюється під **ліцензією Apache 2.0**, яка дозволяє використання, модифікацію та розповсюдження коду як для open-source, так і для комерційних проєктів. Користувачам дозволяється змінювати вихідний код і надсилати внески через pull requests згідно з вказівками, наведеними в нашому [керівництві з внесків](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md). Крадіжка коду для комерційного використання суворо заборонена.
32
+
33
+ ## 3. Комерційне використання
34
+
35
+ Вам дозволено використовувати Intlayer у комерційних проєктах. Проте повторне використання коду для створення прямих конкурентних інструментів на базі Intlayer без суттєвої трансформації або значного додавання вартості заборонено.
36
+
37
+ ## 4. Відповідальність
38
+
39
+ Мейнтейнери Intlayer прагнуть виправляти помилки та проблеми безпеки одразу після їх виявлення. Проте вони не несуть відповідальності за збитки, що можуть виникнути внаслідок таких проблем в інфраструктурах користувачів. Ми закликаємо користувачів повідомляти про проблеми через нашу [систему відстеження проблем](https://github.com/aymericzip/intlayer/issues).
40
+
41
+ ## 5. Конфіденційність
42
+
43
+ Intlayer не збирає і не зберігає жодних персональних даних користувачів.
44
+
45
+ ## 6. Внески
46
+
47
+ Користувачів заохочують робити внесок у Intlayer, дотримуючись інструкцій, наведених у нашому contribution guide. Будь-який надісланий код повинен відповідати встановленим стандартам якості та буде переглянутий мейнтейнерами перед інтеграцією.
48
+
49
+ ## 7. Визнання авторства
50
+
51
+ Будь-який інструмент, розроблений для розширення або використання коду Intlayer, повинен чітко вказувати Intlayer як основу цього коду. Це зазначення має бути видимим у вихідному коді, а також у будь-якій документації для користувачів або рекламних матеріалах.
52
+
53
+ ## 8. Зміни умов
54
+
55
+ Ці умови використання можуть бути змінені в будь-який момент. Користувачів буде повідомлено про будь-які значні зміни умов використання, і вони повинні прийняти ці зміни, щоб продовжувати користуватися Intlayer.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/docs",
3
- "version": "7.5.11",
3
+ "version": "7.5.13",
4
4
  "private": false,
5
5
  "description": "Intlayer documentation",
6
6
  "keywords": [
@@ -73,13 +73,13 @@
73
73
  "watch": "webpack --config ./webpack.config.ts --watch"
74
74
  },
75
75
  "dependencies": {
76
- "@intlayer/config": "7.5.11",
77
- "@intlayer/core": "7.5.11",
78
- "@intlayer/types": "7.5.11"
76
+ "@intlayer/config": "7.5.13",
77
+ "@intlayer/core": "7.5.13",
78
+ "@intlayer/types": "7.5.13"
79
79
  },
80
80
  "devDependencies": {
81
- "@intlayer/api": "7.5.11",
82
- "@intlayer/cli": "7.5.11",
81
+ "@intlayer/api": "7.5.13",
82
+ "@intlayer/cli": "7.5.13",
83
83
  "@types/node": "25.0.3",
84
84
  "@utils/ts-config": "1.0.4",
85
85
  "@utils/ts-config-types": "1.0.4",