@intlayer/docs 9.5.4 → 9.5.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 (814) hide show
  1. package/README.md +2 -2
  2. package/blog/ar/how_to_pick_react_i18n_library.md +28 -0
  3. package/blog/ar/how_to_pick_solid_i18n_library.md +19 -5
  4. package/blog/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
  5. package/blog/de/how_to_pick_react_i18n_library.md +28 -0
  6. package/blog/de/how_to_pick_solid_i18n_library.md +19 -5
  7. package/blog/de/transform_existing_vite_react_app_using_compiler.md +4 -2
  8. package/blog/en/how_to_pick_react_i18n_library.md +28 -0
  9. package/blog/en/how_to_pick_solid_i18n_library.md +19 -5
  10. package/blog/en/transform_existing_vite_react_app_using_compiler.md +4 -2
  11. package/blog/en-GB/how_to_pick_react_i18n_library.md +28 -0
  12. package/blog/en-GB/how_to_pick_solid_i18n_library.md +19 -5
  13. package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
  14. package/blog/es/how_to_pick_react_i18n_library.md +28 -0
  15. package/blog/es/how_to_pick_solid_i18n_library.md +19 -5
  16. package/blog/es/transform_existing_vite_react_app_using_compiler.md +4 -2
  17. package/blog/fr/how_to_pick_react_i18n_library.md +28 -0
  18. package/blog/fr/how_to_pick_solid_i18n_library.md +19 -5
  19. package/blog/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
  20. package/blog/hi/how_to_pick_react_i18n_library.md +28 -0
  21. package/blog/hi/how_to_pick_solid_i18n_library.md +19 -5
  22. package/blog/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
  23. package/blog/id/how_to_pick_react_i18n_library.md +28 -0
  24. package/blog/id/how_to_pick_solid_i18n_library.md +19 -5
  25. package/blog/id/transform_existing_vite_react_app_using_compiler.md +4 -2
  26. package/blog/it/how_to_pick_react_i18n_library.md +28 -0
  27. package/blog/it/how_to_pick_solid_i18n_library.md +19 -5
  28. package/blog/it/transform_existing_vite_react_app_using_compiler.md +4 -2
  29. package/blog/ja/how_to_pick_react_i18n_library.md +28 -0
  30. package/blog/ja/how_to_pick_solid_i18n_library.md +19 -5
  31. package/blog/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
  32. package/blog/ko/how_to_pick_react_i18n_library.md +28 -0
  33. package/blog/ko/how_to_pick_solid_i18n_library.md +19 -5
  34. package/blog/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
  35. package/blog/pl/how_to_pick_react_i18n_library.md +28 -0
  36. package/blog/pl/how_to_pick_solid_i18n_library.md +19 -5
  37. package/blog/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
  38. package/blog/pt/how_to_pick_react_i18n_library.md +28 -0
  39. package/blog/pt/how_to_pick_solid_i18n_library.md +19 -5
  40. package/blog/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
  41. package/blog/ru/how_to_pick_react_i18n_library.md +28 -0
  42. package/blog/ru/how_to_pick_solid_i18n_library.md +19 -5
  43. package/blog/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
  44. package/blog/tr/how_to_pick_react_i18n_library.md +28 -0
  45. package/blog/tr/how_to_pick_solid_i18n_library.md +19 -5
  46. package/blog/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
  47. package/blog/uk/how_to_pick_react_i18n_library.md +28 -0
  48. package/blog/uk/how_to_pick_solid_i18n_library.md +19 -5
  49. package/blog/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
  50. package/blog/vi/how_to_pick_react_i18n_library.md +28 -0
  51. package/blog/vi/how_to_pick_solid_i18n_library.md +19 -5
  52. package/blog/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
  53. package/blog/zh/how_to_pick_react_i18n_library.md +28 -0
  54. package/blog/zh/how_to_pick_solid_i18n_library.md +19 -5
  55. package/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
  56. package/dist/cjs/generated/docs.entry.cjs +220 -0
  57. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  58. package/dist/esm/generated/docs.entry.mjs +220 -0
  59. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  60. package/dist/types/generated/docs.entry.d.ts +11 -0
  61. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  62. package/docs/ar/how_works_intlayer.md +86 -14
  63. package/docs/ar/intlayer_visual_editor.md +7 -0
  64. package/docs/ar/intlayer_with_astro.md +77 -66
  65. package/docs/ar/intlayer_with_astro_lit.md +32 -36
  66. package/docs/ar/intlayer_with_astro_preact.md +39 -36
  67. package/docs/ar/intlayer_with_astro_react.md +39 -36
  68. package/docs/ar/intlayer_with_astro_solid.md +39 -36
  69. package/docs/ar/intlayer_with_astro_svelte.md +39 -36
  70. package/docs/ar/intlayer_with_astro_vue.md +39 -36
  71. package/docs/ar/intlayer_with_nextjs_14.md +7 -0
  72. package/docs/ar/intlayer_with_nextjs_15.md +7 -0
  73. package/docs/ar/intlayer_with_nextjs_16.md +7 -0
  74. package/docs/ar/intlayer_with_react_router_v7.md +19 -1
  75. package/docs/ar/intlayer_with_remix_3.md +73 -112
  76. package/docs/ar/intlayer_with_solid_start.md +14 -7
  77. package/docs/ar/intlayer_with_svelte_kit.md +12 -1
  78. package/docs/ar/intlayer_with_tanstack+solid.md +20 -2
  79. package/docs/ar/intlayer_with_tanstack.md +20 -6
  80. package/docs/ar/intlayer_with_vite+lit.md +75 -3
  81. package/docs/ar/intlayer_with_vite+preact.md +34 -19
  82. package/docs/ar/intlayer_with_vite+react.md +34 -19
  83. package/docs/ar/intlayer_with_vite+solid.md +34 -19
  84. package/docs/ar/intlayer_with_vite+svelte.md +27 -19
  85. package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
  86. package/docs/ar/intlayer_with_vite+vue.md +27 -19
  87. package/docs/ar/introduction.md +0 -1
  88. package/docs/ar/packages/astro-intlayer/exports.md +161 -9
  89. package/docs/ar/packages/astro-intlayer/intlayer.md +76 -0
  90. package/docs/ar/packages/astro-intlayer/onRequest.md +76 -0
  91. package/docs/ar/packages/astro-intlayer/useDictionary.md +95 -0
  92. package/docs/ar/packages/astro-intlayer/useIntlayer.md +98 -0
  93. package/docs/ar/packages/astro-intlayer/useLocale.md +126 -0
  94. package/docs/ar/packages/remix-intlayer/Intlayer.md +55 -0
  95. package/docs/ar/packages/remix-intlayer/exports.md +80 -0
  96. package/docs/ar/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  97. package/docs/ar/packages/remix-intlayer/useDictionary.md +95 -0
  98. package/docs/ar/packages/remix-intlayer/useIntlayer.md +94 -0
  99. package/docs/ar/packages/remix-intlayer/useLocale.md +104 -0
  100. package/docs/ar/readme.md +2 -2
  101. package/docs/ar/releases/v8.md +1 -5
  102. package/docs/bn/intlayer_with_vite+lit.md +75 -3
  103. package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
  104. package/docs/bn/introduction.md +0 -1
  105. package/docs/cs/intlayer_with_vite+lit.md +75 -3
  106. package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
  107. package/docs/cs/introduction.md +0 -1
  108. package/docs/de/how_works_intlayer.md +86 -14
  109. package/docs/de/intlayer_visual_editor.md +7 -0
  110. package/docs/de/intlayer_with_astro.md +70 -59
  111. package/docs/de/intlayer_with_astro_lit.md +23 -27
  112. package/docs/de/intlayer_with_astro_preact.md +30 -27
  113. package/docs/de/intlayer_with_astro_react.md +30 -27
  114. package/docs/de/intlayer_with_astro_solid.md +30 -27
  115. package/docs/de/intlayer_with_astro_svelte.md +30 -27
  116. package/docs/de/intlayer_with_astro_vue.md +30 -27
  117. package/docs/de/intlayer_with_nextjs_14.md +7 -0
  118. package/docs/de/intlayer_with_nextjs_15.md +7 -0
  119. package/docs/de/intlayer_with_nextjs_16.md +7 -0
  120. package/docs/de/intlayer_with_react_router_v7.md +19 -1
  121. package/docs/de/intlayer_with_remix_3.md +70 -109
  122. package/docs/de/intlayer_with_solid_start.md +14 -7
  123. package/docs/de/intlayer_with_svelte_kit.md +12 -1
  124. package/docs/de/intlayer_with_tanstack+solid.md +20 -2
  125. package/docs/de/intlayer_with_tanstack.md +20 -6
  126. package/docs/de/intlayer_with_vite+lit.md +75 -3
  127. package/docs/de/intlayer_with_vite+preact.md +23 -3
  128. package/docs/de/intlayer_with_vite+react.md +23 -3
  129. package/docs/de/intlayer_with_vite+solid.md +23 -3
  130. package/docs/de/intlayer_with_vite+svelte.md +16 -3
  131. package/docs/de/intlayer_with_vite+vanilla.md +16 -3
  132. package/docs/de/intlayer_with_vite+vue.md +16 -3
  133. package/docs/de/introduction.md +0 -1
  134. package/docs/de/packages/astro-intlayer/exports.md +164 -12
  135. package/docs/de/packages/astro-intlayer/intlayer.md +76 -0
  136. package/docs/de/packages/astro-intlayer/onRequest.md +76 -0
  137. package/docs/de/packages/astro-intlayer/useDictionary.md +95 -0
  138. package/docs/de/packages/astro-intlayer/useIntlayer.md +98 -0
  139. package/docs/de/packages/astro-intlayer/useLocale.md +126 -0
  140. package/docs/de/packages/remix-intlayer/Intlayer.md +77 -0
  141. package/docs/de/packages/remix-intlayer/exports.md +176 -0
  142. package/docs/de/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  143. package/docs/de/packages/remix-intlayer/useDictionary.md +94 -0
  144. package/docs/de/packages/remix-intlayer/useIntlayer.md +94 -0
  145. package/docs/de/packages/remix-intlayer/useLocale.md +104 -0
  146. package/docs/de/readme.md +2 -2
  147. package/docs/de/releases/v8.md +1 -5
  148. package/docs/en/how_works_intlayer.md +86 -14
  149. package/docs/en/intlayer_visual_editor.md +7 -0
  150. package/docs/en/intlayer_with_astro.md +67 -60
  151. package/docs/en/intlayer_with_astro_lit.md +22 -26
  152. package/docs/en/intlayer_with_astro_preact.md +29 -26
  153. package/docs/en/intlayer_with_astro_react.md +29 -26
  154. package/docs/en/intlayer_with_astro_solid.md +29 -26
  155. package/docs/en/intlayer_with_astro_svelte.md +29 -26
  156. package/docs/en/intlayer_with_astro_vanilla.md +27 -13
  157. package/docs/en/intlayer_with_astro_vue.md +29 -26
  158. package/docs/en/intlayer_with_nextjs_14.md +7 -0
  159. package/docs/en/intlayer_with_nextjs_15.md +7 -0
  160. package/docs/en/intlayer_with_nextjs_16.md +7 -0
  161. package/docs/en/intlayer_with_react_router_v7.md +19 -1
  162. package/docs/en/intlayer_with_remix_3.md +74 -122
  163. package/docs/en/intlayer_with_solid_start.md +14 -7
  164. package/docs/en/intlayer_with_svelte_kit.md +12 -1
  165. package/docs/en/intlayer_with_tanstack+solid.md +20 -2
  166. package/docs/en/intlayer_with_tanstack.md +19 -5
  167. package/docs/en/intlayer_with_vite+lit.md +75 -3
  168. package/docs/en/intlayer_with_vite+preact.md +23 -3
  169. package/docs/en/intlayer_with_vite+react.md +23 -3
  170. package/docs/en/intlayer_with_vite+solid.md +23 -3
  171. package/docs/en/intlayer_with_vite+svelte.md +16 -3
  172. package/docs/en/intlayer_with_vite+vanilla.md +16 -3
  173. package/docs/en/intlayer_with_vite+vue.md +16 -3
  174. package/docs/en/introduction.md +2 -2
  175. package/docs/en/packages/astro-intlayer/exports.md +161 -9
  176. package/docs/en/packages/astro-intlayer/intlayer.md +76 -0
  177. package/docs/en/packages/astro-intlayer/onRequest.md +76 -0
  178. package/docs/en/packages/astro-intlayer/useDictionary.md +94 -0
  179. package/docs/en/packages/astro-intlayer/useIntlayer.md +98 -0
  180. package/docs/en/packages/astro-intlayer/useLocale.md +126 -0
  181. package/docs/en/packages/remix-intlayer/Intlayer.md +77 -0
  182. package/docs/en/packages/remix-intlayer/exports.md +176 -0
  183. package/docs/en/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  184. package/docs/en/packages/remix-intlayer/useDictionary.md +94 -0
  185. package/docs/en/packages/remix-intlayer/useIntlayer.md +94 -0
  186. package/docs/en/packages/remix-intlayer/useLocale.md +104 -0
  187. package/docs/en/readme.md +2 -2
  188. package/docs/en/releases/v8.md +1 -5
  189. package/docs/en-GB/how_works_intlayer.md +86 -14
  190. package/docs/en-GB/intlayer_visual_editor.md +7 -0
  191. package/docs/en-GB/intlayer_with_astro.md +70 -59
  192. package/docs/en-GB/intlayer_with_astro_lit.md +23 -27
  193. package/docs/en-GB/intlayer_with_astro_preact.md +30 -27
  194. package/docs/en-GB/intlayer_with_astro_react.md +30 -27
  195. package/docs/en-GB/intlayer_with_astro_solid.md +30 -27
  196. package/docs/en-GB/intlayer_with_astro_svelte.md +30 -27
  197. package/docs/en-GB/intlayer_with_astro_vue.md +30 -27
  198. package/docs/en-GB/intlayer_with_nextjs_14.md +7 -0
  199. package/docs/en-GB/intlayer_with_nextjs_15.md +7 -0
  200. package/docs/en-GB/intlayer_with_nextjs_16.md +7 -0
  201. package/docs/en-GB/intlayer_with_react_router_v7.md +19 -1
  202. package/docs/en-GB/intlayer_with_remix_3.md +66 -105
  203. package/docs/en-GB/intlayer_with_solid_start.md +14 -7
  204. package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
  205. package/docs/en-GB/intlayer_with_tanstack+solid.md +20 -2
  206. package/docs/en-GB/intlayer_with_tanstack.md +20 -6
  207. package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
  208. package/docs/en-GB/intlayer_with_vite+preact.md +23 -3
  209. package/docs/en-GB/intlayer_with_vite+react.md +23 -3
  210. package/docs/en-GB/intlayer_with_vite+solid.md +32 -15
  211. package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
  212. package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
  213. package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
  214. package/docs/en-GB/introduction.md +0 -1
  215. package/docs/en-GB/packages/astro-intlayer/exports.md +162 -10
  216. package/docs/en-GB/packages/astro-intlayer/intlayer.md +76 -0
  217. package/docs/en-GB/packages/astro-intlayer/onRequest.md +76 -0
  218. package/docs/en-GB/packages/astro-intlayer/useDictionary.md +95 -0
  219. package/docs/en-GB/packages/astro-intlayer/useIntlayer.md +98 -0
  220. package/docs/en-GB/packages/astro-intlayer/useLocale.md +126 -0
  221. package/docs/en-GB/packages/remix-intlayer/Intlayer.md +77 -0
  222. package/docs/en-GB/packages/remix-intlayer/exports.md +176 -0
  223. package/docs/en-GB/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  224. package/docs/en-GB/packages/remix-intlayer/useDictionary.md +94 -0
  225. package/docs/en-GB/packages/remix-intlayer/useIntlayer.md +94 -0
  226. package/docs/en-GB/packages/remix-intlayer/useLocale.md +104 -0
  227. package/docs/en-GB/readme.md +2 -2
  228. package/docs/en-GB/releases/v8.md +1 -5
  229. package/docs/es/how_works_intlayer.md +86 -14
  230. package/docs/es/intlayer_visual_editor.md +7 -0
  231. package/docs/es/intlayer_with_astro.md +70 -59
  232. package/docs/es/intlayer_with_astro_lit.md +23 -27
  233. package/docs/es/intlayer_with_astro_preact.md +30 -27
  234. package/docs/es/intlayer_with_astro_react.md +30 -27
  235. package/docs/es/intlayer_with_astro_solid.md +30 -27
  236. package/docs/es/intlayer_with_astro_svelte.md +30 -27
  237. package/docs/es/intlayer_with_astro_vue.md +30 -27
  238. package/docs/es/intlayer_with_nextjs_14.md +7 -0
  239. package/docs/es/intlayer_with_nextjs_15.md +7 -0
  240. package/docs/es/intlayer_with_nextjs_16.md +7 -0
  241. package/docs/es/intlayer_with_react_router_v7.md +19 -1
  242. package/docs/es/intlayer_with_remix_3.md +73 -112
  243. package/docs/es/intlayer_with_solid_start.md +14 -7
  244. package/docs/es/intlayer_with_svelte_kit.md +12 -1
  245. package/docs/es/intlayer_with_tanstack+solid.md +20 -2
  246. package/docs/es/intlayer_with_tanstack.md +20 -6
  247. package/docs/es/intlayer_with_vite+lit.md +75 -3
  248. package/docs/es/intlayer_with_vite+preact.md +23 -3
  249. package/docs/es/intlayer_with_vite+react.md +23 -3
  250. package/docs/es/intlayer_with_vite+solid.md +23 -3
  251. package/docs/es/intlayer_with_vite+svelte.md +16 -3
  252. package/docs/es/intlayer_with_vite+vanilla.md +16 -3
  253. package/docs/es/intlayer_with_vite+vue.md +16 -3
  254. package/docs/es/introduction.md +0 -1
  255. package/docs/es/packages/astro-intlayer/exports.md +162 -10
  256. package/docs/es/packages/astro-intlayer/intlayer.md +76 -0
  257. package/docs/es/packages/astro-intlayer/onRequest.md +76 -0
  258. package/docs/es/packages/astro-intlayer/useDictionary.md +94 -0
  259. package/docs/es/packages/astro-intlayer/useIntlayer.md +98 -0
  260. package/docs/es/packages/astro-intlayer/useLocale.md +126 -0
  261. package/docs/es/packages/remix-intlayer/Intlayer.md +77 -0
  262. package/docs/es/packages/remix-intlayer/exports.md +176 -0
  263. package/docs/es/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  264. package/docs/es/packages/remix-intlayer/useDictionary.md +94 -0
  265. package/docs/es/packages/remix-intlayer/useIntlayer.md +94 -0
  266. package/docs/es/packages/remix-intlayer/useLocale.md +104 -0
  267. package/docs/es/readme.md +2 -2
  268. package/docs/es/releases/v8.md +1 -5
  269. package/docs/fr/how_works_intlayer.md +86 -14
  270. package/docs/fr/intlayer_visual_editor.md +7 -0
  271. package/docs/fr/intlayer_with_astro.md +71 -60
  272. package/docs/fr/intlayer_with_astro_lit.md +24 -28
  273. package/docs/fr/intlayer_with_astro_preact.md +31 -28
  274. package/docs/fr/intlayer_with_astro_react.md +31 -28
  275. package/docs/fr/intlayer_with_astro_solid.md +31 -28
  276. package/docs/fr/intlayer_with_astro_svelte.md +31 -28
  277. package/docs/fr/intlayer_with_astro_vue.md +31 -28
  278. package/docs/fr/intlayer_with_nextjs_14.md +7 -0
  279. package/docs/fr/intlayer_with_nextjs_15.md +7 -0
  280. package/docs/fr/intlayer_with_nextjs_16.md +7 -0
  281. package/docs/fr/intlayer_with_react_router_v7.md +22 -4
  282. package/docs/fr/intlayer_with_remix_3.md +74 -122
  283. package/docs/fr/intlayer_with_solid_start.md +14 -7
  284. package/docs/fr/intlayer_with_svelte_kit.md +15 -4
  285. package/docs/fr/intlayer_with_tanstack+solid.md +22 -4
  286. package/docs/fr/intlayer_with_tanstack.md +20 -6
  287. package/docs/fr/intlayer_with_vite+lit.md +75 -3
  288. package/docs/fr/intlayer_with_vite+preact.md +26 -6
  289. package/docs/fr/intlayer_with_vite+react.md +26 -6
  290. package/docs/fr/intlayer_with_vite+solid.md +26 -6
  291. package/docs/fr/intlayer_with_vite+svelte.md +19 -6
  292. package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
  293. package/docs/fr/intlayer_with_vite+vue.md +19 -6
  294. package/docs/fr/introduction.md +0 -1
  295. package/docs/fr/packages/astro-intlayer/exports.md +162 -10
  296. package/docs/fr/packages/astro-intlayer/intlayer.md +76 -0
  297. package/docs/fr/packages/astro-intlayer/onRequest.md +76 -0
  298. package/docs/fr/packages/astro-intlayer/useDictionary.md +94 -0
  299. package/docs/fr/packages/astro-intlayer/useIntlayer.md +98 -0
  300. package/docs/fr/packages/astro-intlayer/useLocale.md +126 -0
  301. package/docs/fr/packages/remix-intlayer/Intlayer.md +77 -0
  302. package/docs/fr/packages/remix-intlayer/exports.md +176 -0
  303. package/docs/fr/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  304. package/docs/fr/packages/remix-intlayer/useDictionary.md +94 -0
  305. package/docs/fr/packages/remix-intlayer/useIntlayer.md +94 -0
  306. package/docs/fr/packages/remix-intlayer/useLocale.md +104 -0
  307. package/docs/fr/readme.md +2 -2
  308. package/docs/fr/releases/v8.md +1 -5
  309. package/docs/hi/how_works_intlayer.md +86 -14
  310. package/docs/hi/intlayer_visual_editor.md +7 -0
  311. package/docs/hi/intlayer_with_astro.md +74 -66
  312. package/docs/hi/intlayer_with_astro_lit.md +26 -33
  313. package/docs/hi/intlayer_with_astro_preact.md +33 -33
  314. package/docs/hi/intlayer_with_astro_react.md +33 -33
  315. package/docs/hi/intlayer_with_astro_solid.md +33 -33
  316. package/docs/hi/intlayer_with_astro_svelte.md +33 -33
  317. package/docs/hi/intlayer_with_astro_vue.md +33 -33
  318. package/docs/hi/intlayer_with_nextjs_14.md +7 -0
  319. package/docs/hi/intlayer_with_nextjs_15.md +7 -0
  320. package/docs/hi/intlayer_with_nextjs_16.md +7 -0
  321. package/docs/hi/intlayer_with_react_router_v7.md +27 -12
  322. package/docs/hi/intlayer_with_remix_3.md +73 -112
  323. package/docs/hi/intlayer_with_solid_start.md +14 -7
  324. package/docs/hi/intlayer_with_svelte_kit.md +20 -12
  325. package/docs/hi/intlayer_with_tanstack+solid.md +20 -2
  326. package/docs/hi/intlayer_with_tanstack.md +28 -17
  327. package/docs/hi/intlayer_with_vite+lit.md +75 -3
  328. package/docs/hi/intlayer_with_vite+preact.md +31 -14
  329. package/docs/hi/intlayer_with_vite+react.md +31 -14
  330. package/docs/hi/intlayer_with_vite+solid.md +31 -14
  331. package/docs/hi/intlayer_with_vite+svelte.md +24 -14
  332. package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
  333. package/docs/hi/intlayer_with_vite+vue.md +24 -14
  334. package/docs/hi/introduction.md +0 -1
  335. package/docs/hi/packages/astro-intlayer/exports.md +165 -13
  336. package/docs/hi/packages/astro-intlayer/intlayer.md +76 -0
  337. package/docs/hi/packages/astro-intlayer/onRequest.md +76 -0
  338. package/docs/hi/packages/astro-intlayer/useDictionary.md +95 -0
  339. package/docs/hi/packages/astro-intlayer/useIntlayer.md +98 -0
  340. package/docs/hi/packages/astro-intlayer/useLocale.md +126 -0
  341. package/docs/hi/packages/remix-intlayer/Intlayer.md +55 -0
  342. package/docs/hi/packages/remix-intlayer/exports.md +80 -0
  343. package/docs/hi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  344. package/docs/hi/packages/remix-intlayer/useDictionary.md +95 -0
  345. package/docs/hi/packages/remix-intlayer/useIntlayer.md +94 -0
  346. package/docs/hi/packages/remix-intlayer/useLocale.md +104 -0
  347. package/docs/hi/readme.md +2 -2
  348. package/docs/hi/releases/v8.md +1 -5
  349. package/docs/id/how_works_intlayer.md +86 -14
  350. package/docs/id/intlayer_visual_editor.md +7 -0
  351. package/docs/id/intlayer_with_astro.md +70 -59
  352. package/docs/id/intlayer_with_astro_lit.md +23 -27
  353. package/docs/id/intlayer_with_astro_preact.md +30 -27
  354. package/docs/id/intlayer_with_astro_react.md +30 -27
  355. package/docs/id/intlayer_with_astro_solid.md +30 -27
  356. package/docs/id/intlayer_with_astro_svelte.md +30 -27
  357. package/docs/id/intlayer_with_astro_vue.md +30 -27
  358. package/docs/id/intlayer_with_nextjs_14.md +7 -0
  359. package/docs/id/intlayer_with_nextjs_15.md +7 -0
  360. package/docs/id/intlayer_with_nextjs_16.md +7 -0
  361. package/docs/id/intlayer_with_react_router_v7.md +19 -1
  362. package/docs/id/intlayer_with_remix_3.md +101 -148
  363. package/docs/id/intlayer_with_solid_start.md +14 -7
  364. package/docs/id/intlayer_with_svelte_kit.md +12 -1
  365. package/docs/id/intlayer_with_tanstack+solid.md +20 -2
  366. package/docs/id/intlayer_with_tanstack.md +20 -6
  367. package/docs/id/intlayer_with_vite+lit.md +75 -3
  368. package/docs/id/intlayer_with_vite+preact.md +23 -3
  369. package/docs/id/intlayer_with_vite+react.md +23 -3
  370. package/docs/id/intlayer_with_vite+solid.md +23 -3
  371. package/docs/id/intlayer_with_vite+svelte.md +16 -3
  372. package/docs/id/intlayer_with_vite+vanilla.md +16 -3
  373. package/docs/id/intlayer_with_vite+vue.md +16 -3
  374. package/docs/id/introduction.md +0 -1
  375. package/docs/id/packages/astro-intlayer/exports.md +163 -11
  376. package/docs/id/packages/astro-intlayer/intlayer.md +76 -0
  377. package/docs/id/packages/astro-intlayer/onRequest.md +76 -0
  378. package/docs/id/packages/astro-intlayer/useDictionary.md +94 -0
  379. package/docs/id/packages/astro-intlayer/useIntlayer.md +98 -0
  380. package/docs/id/packages/astro-intlayer/useLocale.md +126 -0
  381. package/docs/id/packages/remix-intlayer/Intlayer.md +55 -0
  382. package/docs/id/packages/remix-intlayer/exports.md +80 -0
  383. package/docs/id/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  384. package/docs/id/packages/remix-intlayer/useDictionary.md +95 -0
  385. package/docs/id/packages/remix-intlayer/useIntlayer.md +94 -0
  386. package/docs/id/packages/remix-intlayer/useLocale.md +104 -0
  387. package/docs/id/readme.md +2 -2
  388. package/docs/id/releases/v8.md +1 -5
  389. package/docs/it/how_works_intlayer.md +86 -14
  390. package/docs/it/intlayer_visual_editor.md +7 -0
  391. package/docs/it/intlayer_with_astro.md +70 -59
  392. package/docs/it/intlayer_with_astro_lit.md +23 -27
  393. package/docs/it/intlayer_with_astro_preact.md +30 -27
  394. package/docs/it/intlayer_with_astro_react.md +30 -27
  395. package/docs/it/intlayer_with_astro_solid.md +30 -27
  396. package/docs/it/intlayer_with_astro_svelte.md +30 -27
  397. package/docs/it/intlayer_with_astro_vue.md +30 -27
  398. package/docs/it/intlayer_with_nextjs_14.md +7 -0
  399. package/docs/it/intlayer_with_nextjs_15.md +7 -0
  400. package/docs/it/intlayer_with_nextjs_16.md +7 -0
  401. package/docs/it/intlayer_with_react_router_v7.md +19 -1
  402. package/docs/it/intlayer_with_remix_3.md +70 -109
  403. package/docs/it/intlayer_with_solid_start.md +14 -7
  404. package/docs/it/intlayer_with_svelte_kit.md +12 -1
  405. package/docs/it/intlayer_with_tanstack+solid.md +20 -2
  406. package/docs/it/intlayer_with_tanstack.md +20 -6
  407. package/docs/it/intlayer_with_vite+lit.md +75 -3
  408. package/docs/it/intlayer_with_vite+preact.md +23 -3
  409. package/docs/it/intlayer_with_vite+react.md +23 -3
  410. package/docs/it/intlayer_with_vite+solid.md +23 -3
  411. package/docs/it/intlayer_with_vite+svelte.md +16 -3
  412. package/docs/it/intlayer_with_vite+vanilla.md +16 -3
  413. package/docs/it/intlayer_with_vite+vue.md +16 -3
  414. package/docs/it/introduction.md +0 -1
  415. package/docs/it/packages/astro-intlayer/exports.md +161 -9
  416. package/docs/it/packages/astro-intlayer/intlayer.md +76 -0
  417. package/docs/it/packages/astro-intlayer/onRequest.md +76 -0
  418. package/docs/it/packages/astro-intlayer/useDictionary.md +95 -0
  419. package/docs/it/packages/astro-intlayer/useIntlayer.md +98 -0
  420. package/docs/it/packages/astro-intlayer/useLocale.md +126 -0
  421. package/docs/it/packages/remix-intlayer/Intlayer.md +77 -0
  422. package/docs/it/packages/remix-intlayer/exports.md +176 -0
  423. package/docs/it/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  424. package/docs/it/packages/remix-intlayer/useDictionary.md +94 -0
  425. package/docs/it/packages/remix-intlayer/useIntlayer.md +94 -0
  426. package/docs/it/packages/remix-intlayer/useLocale.md +104 -0
  427. package/docs/it/readme.md +2 -2
  428. package/docs/it/releases/v8.md +1 -5
  429. package/docs/ja/how_works_intlayer.md +86 -14
  430. package/docs/ja/intlayer_visual_editor.md +7 -0
  431. package/docs/ja/intlayer_with_astro.md +71 -60
  432. package/docs/ja/intlayer_with_astro_lit.md +23 -27
  433. package/docs/ja/intlayer_with_astro_preact.md +30 -27
  434. package/docs/ja/intlayer_with_astro_react.md +30 -27
  435. package/docs/ja/intlayer_with_astro_solid.md +30 -27
  436. package/docs/ja/intlayer_with_astro_svelte.md +30 -27
  437. package/docs/ja/intlayer_with_astro_vue.md +30 -27
  438. package/docs/ja/intlayer_with_nextjs_14.md +7 -0
  439. package/docs/ja/intlayer_with_nextjs_15.md +7 -0
  440. package/docs/ja/intlayer_with_nextjs_16.md +7 -0
  441. package/docs/ja/intlayer_with_react_router_v7.md +19 -1
  442. package/docs/ja/intlayer_with_remix_3.md +73 -112
  443. package/docs/ja/intlayer_with_solid_start.md +14 -7
  444. package/docs/ja/intlayer_with_svelte_kit.md +21 -15
  445. package/docs/ja/intlayer_with_tanstack+solid.md +20 -2
  446. package/docs/ja/intlayer_with_tanstack.md +20 -6
  447. package/docs/ja/intlayer_with_vite+lit.md +75 -3
  448. package/docs/ja/intlayer_with_vite+preact.md +23 -3
  449. package/docs/ja/intlayer_with_vite+react.md +23 -3
  450. package/docs/ja/intlayer_with_vite+solid.md +23 -3
  451. package/docs/ja/intlayer_with_vite+svelte.md +16 -3
  452. package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
  453. package/docs/ja/intlayer_with_vite+vue.md +16 -3
  454. package/docs/ja/introduction.md +0 -1
  455. package/docs/ja/packages/astro-intlayer/exports.md +163 -11
  456. package/docs/ja/packages/astro-intlayer/intlayer.md +76 -0
  457. package/docs/ja/packages/astro-intlayer/onRequest.md +76 -0
  458. package/docs/ja/packages/astro-intlayer/useDictionary.md +95 -0
  459. package/docs/ja/packages/astro-intlayer/useIntlayer.md +98 -0
  460. package/docs/ja/packages/astro-intlayer/useLocale.md +126 -0
  461. package/docs/ja/packages/remix-intlayer/Intlayer.md +55 -0
  462. package/docs/ja/packages/remix-intlayer/exports.md +80 -0
  463. package/docs/ja/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  464. package/docs/ja/packages/remix-intlayer/useDictionary.md +95 -0
  465. package/docs/ja/packages/remix-intlayer/useIntlayer.md +94 -0
  466. package/docs/ja/packages/remix-intlayer/useLocale.md +104 -0
  467. package/docs/ja/readme.md +2 -2
  468. package/docs/ja/releases/v8.md +1 -5
  469. package/docs/ko/how_works_intlayer.md +86 -14
  470. package/docs/ko/intlayer_visual_editor.md +7 -0
  471. package/docs/ko/intlayer_with_astro.md +65 -56
  472. package/docs/ko/intlayer_with_astro_lit.md +23 -27
  473. package/docs/ko/intlayer_with_astro_preact.md +30 -27
  474. package/docs/ko/intlayer_with_astro_react.md +30 -27
  475. package/docs/ko/intlayer_with_astro_solid.md +30 -27
  476. package/docs/ko/intlayer_with_astro_svelte.md +30 -27
  477. package/docs/ko/intlayer_with_astro_vue.md +30 -27
  478. package/docs/ko/intlayer_with_nextjs_14.md +7 -0
  479. package/docs/ko/intlayer_with_nextjs_15.md +7 -0
  480. package/docs/ko/intlayer_with_nextjs_16.md +7 -0
  481. package/docs/ko/intlayer_with_react_router_v7.md +19 -1
  482. package/docs/ko/intlayer_with_remix_3.md +73 -112
  483. package/docs/ko/intlayer_with_solid_start.md +14 -7
  484. package/docs/ko/intlayer_with_svelte_kit.md +12 -1
  485. package/docs/ko/intlayer_with_tanstack+solid.md +20 -2
  486. package/docs/ko/intlayer_with_tanstack.md +20 -6
  487. package/docs/ko/intlayer_with_vite+lit.md +75 -3
  488. package/docs/ko/intlayer_with_vite+preact.md +23 -3
  489. package/docs/ko/intlayer_with_vite+react.md +23 -3
  490. package/docs/ko/intlayer_with_vite+solid.md +33 -16
  491. package/docs/ko/intlayer_with_vite+svelte.md +16 -3
  492. package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
  493. package/docs/ko/intlayer_with_vite+vue.md +16 -3
  494. package/docs/ko/introduction.md +0 -1
  495. package/docs/ko/packages/astro-intlayer/exports.md +163 -11
  496. package/docs/ko/packages/astro-intlayer/intlayer.md +76 -0
  497. package/docs/ko/packages/astro-intlayer/onRequest.md +76 -0
  498. package/docs/ko/packages/astro-intlayer/useDictionary.md +95 -0
  499. package/docs/ko/packages/astro-intlayer/useIntlayer.md +98 -0
  500. package/docs/ko/packages/astro-intlayer/useLocale.md +126 -0
  501. package/docs/ko/packages/remix-intlayer/Intlayer.md +55 -0
  502. package/docs/ko/packages/remix-intlayer/exports.md +80 -0
  503. package/docs/ko/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  504. package/docs/ko/packages/remix-intlayer/useDictionary.md +95 -0
  505. package/docs/ko/packages/remix-intlayer/useIntlayer.md +94 -0
  506. package/docs/ko/packages/remix-intlayer/useLocale.md +104 -0
  507. package/docs/ko/readme.md +2 -2
  508. package/docs/ko/releases/v8.md +1 -5
  509. package/docs/nl/intlayer_with_vite+lit.md +75 -3
  510. package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
  511. package/docs/nl/introduction.md +0 -1
  512. package/docs/pl/how_works_intlayer.md +86 -14
  513. package/docs/pl/intlayer_visual_editor.md +7 -0
  514. package/docs/pl/intlayer_with_astro.md +65 -56
  515. package/docs/pl/intlayer_with_astro_lit.md +23 -27
  516. package/docs/pl/intlayer_with_astro_preact.md +30 -27
  517. package/docs/pl/intlayer_with_astro_react.md +30 -27
  518. package/docs/pl/intlayer_with_astro_solid.md +30 -27
  519. package/docs/pl/intlayer_with_astro_svelte.md +30 -27
  520. package/docs/pl/intlayer_with_astro_vue.md +30 -27
  521. package/docs/pl/intlayer_with_nextjs_14.md +7 -0
  522. package/docs/pl/intlayer_with_nextjs_15.md +7 -0
  523. package/docs/pl/intlayer_with_nextjs_16.md +7 -0
  524. package/docs/pl/intlayer_with_react_router_v7.md +19 -1
  525. package/docs/pl/intlayer_with_remix_3.md +101 -148
  526. package/docs/pl/intlayer_with_solid_start.md +14 -7
  527. package/docs/pl/intlayer_with_svelte_kit.md +12 -1
  528. package/docs/pl/intlayer_with_tanstack+solid.md +20 -2
  529. package/docs/pl/intlayer_with_tanstack.md +20 -6
  530. package/docs/pl/intlayer_with_vite+lit.md +75 -3
  531. package/docs/pl/intlayer_with_vite+preact.md +23 -3
  532. package/docs/pl/intlayer_with_vite+react.md +23 -3
  533. package/docs/pl/intlayer_with_vite+solid.md +23 -3
  534. package/docs/pl/intlayer_with_vite+svelte.md +16 -3
  535. package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
  536. package/docs/pl/intlayer_with_vite+vue.md +16 -3
  537. package/docs/pl/introduction.md +0 -1
  538. package/docs/pl/packages/astro-intlayer/exports.md +162 -10
  539. package/docs/pl/packages/astro-intlayer/intlayer.md +76 -0
  540. package/docs/pl/packages/astro-intlayer/onRequest.md +76 -0
  541. package/docs/pl/packages/astro-intlayer/useDictionary.md +94 -0
  542. package/docs/pl/packages/astro-intlayer/useIntlayer.md +98 -0
  543. package/docs/pl/packages/astro-intlayer/useLocale.md +126 -0
  544. package/docs/pl/packages/remix-intlayer/Intlayer.md +55 -0
  545. package/docs/pl/packages/remix-intlayer/exports.md +80 -0
  546. package/docs/pl/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  547. package/docs/pl/packages/remix-intlayer/useDictionary.md +95 -0
  548. package/docs/pl/packages/remix-intlayer/useIntlayer.md +94 -0
  549. package/docs/pl/packages/remix-intlayer/useLocale.md +104 -0
  550. package/docs/pl/readme.md +2 -2
  551. package/docs/pl/releases/v8.md +1 -5
  552. package/docs/pt/how_works_intlayer.md +86 -14
  553. package/docs/pt/intlayer_visual_editor.md +7 -0
  554. package/docs/pt/intlayer_with_astro.md +65 -56
  555. package/docs/pt/intlayer_with_astro_lit.md +23 -27
  556. package/docs/pt/intlayer_with_astro_preact.md +30 -27
  557. package/docs/pt/intlayer_with_astro_react.md +30 -27
  558. package/docs/pt/intlayer_with_astro_solid.md +30 -27
  559. package/docs/pt/intlayer_with_astro_svelte.md +30 -27
  560. package/docs/pt/intlayer_with_astro_vue.md +30 -27
  561. package/docs/pt/intlayer_with_nextjs_14.md +7 -0
  562. package/docs/pt/intlayer_with_nextjs_15.md +7 -0
  563. package/docs/pt/intlayer_with_nextjs_16.md +7 -0
  564. package/docs/pt/intlayer_with_react_router_v7.md +19 -1
  565. package/docs/pt/intlayer_with_remix_3.md +73 -112
  566. package/docs/pt/intlayer_with_solid_start.md +14 -7
  567. package/docs/pt/intlayer_with_svelte_kit.md +12 -1
  568. package/docs/pt/intlayer_with_tanstack+solid.md +20 -2
  569. package/docs/pt/intlayer_with_tanstack.md +20 -6
  570. package/docs/pt/intlayer_with_vite+lit.md +75 -3
  571. package/docs/pt/intlayer_with_vite+preact.md +23 -3
  572. package/docs/pt/intlayer_with_vite+react.md +23 -3
  573. package/docs/pt/intlayer_with_vite+solid.md +23 -3
  574. package/docs/pt/intlayer_with_vite+svelte.md +16 -3
  575. package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
  576. package/docs/pt/intlayer_with_vite+vue.md +16 -3
  577. package/docs/pt/introduction.md +0 -1
  578. package/docs/pt/packages/astro-intlayer/exports.md +162 -10
  579. package/docs/pt/packages/astro-intlayer/intlayer.md +76 -0
  580. package/docs/pt/packages/astro-intlayer/onRequest.md +76 -0
  581. package/docs/pt/packages/astro-intlayer/useDictionary.md +95 -0
  582. package/docs/pt/packages/astro-intlayer/useIntlayer.md +98 -0
  583. package/docs/pt/packages/astro-intlayer/useLocale.md +126 -0
  584. package/docs/pt/packages/remix-intlayer/Intlayer.md +77 -0
  585. package/docs/pt/packages/remix-intlayer/exports.md +176 -0
  586. package/docs/pt/packages/remix-intlayer/intlayerMiddleware.md +101 -0
  587. package/docs/pt/packages/remix-intlayer/useDictionary.md +94 -0
  588. package/docs/pt/packages/remix-intlayer/useIntlayer.md +94 -0
  589. package/docs/pt/packages/remix-intlayer/useLocale.md +104 -0
  590. package/docs/pt/readme.md +2 -2
  591. package/docs/pt/releases/v8.md +1 -5
  592. package/docs/ru/how_works_intlayer.md +86 -14
  593. package/docs/ru/intlayer_visual_editor.md +7 -0
  594. package/docs/ru/intlayer_with_astro.md +71 -60
  595. package/docs/ru/intlayer_with_astro_lit.md +23 -27
  596. package/docs/ru/intlayer_with_astro_preact.md +30 -27
  597. package/docs/ru/intlayer_with_astro_react.md +30 -27
  598. package/docs/ru/intlayer_with_astro_solid.md +30 -27
  599. package/docs/ru/intlayer_with_astro_svelte.md +30 -27
  600. package/docs/ru/intlayer_with_astro_vue.md +30 -27
  601. package/docs/ru/intlayer_with_nextjs_14.md +7 -0
  602. package/docs/ru/intlayer_with_nextjs_15.md +7 -0
  603. package/docs/ru/intlayer_with_nextjs_16.md +7 -0
  604. package/docs/ru/intlayer_with_react_router_v7.md +19 -1
  605. package/docs/ru/intlayer_with_remix_3.md +73 -112
  606. package/docs/ru/intlayer_with_solid_start.md +14 -7
  607. package/docs/ru/intlayer_with_svelte_kit.md +12 -1
  608. package/docs/ru/intlayer_with_tanstack+solid.md +20 -2
  609. package/docs/ru/intlayer_with_tanstack.md +20 -6
  610. package/docs/ru/intlayer_with_vite+lit.md +75 -3
  611. package/docs/ru/intlayer_with_vite+preact.md +23 -3
  612. package/docs/ru/intlayer_with_vite+react.md +23 -3
  613. package/docs/ru/intlayer_with_vite+solid.md +23 -3
  614. package/docs/ru/intlayer_with_vite+svelte.md +16 -3
  615. package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
  616. package/docs/ru/intlayer_with_vite+vue.md +16 -3
  617. package/docs/ru/introduction.md +0 -1
  618. package/docs/ru/packages/astro-intlayer/exports.md +164 -12
  619. package/docs/ru/packages/astro-intlayer/intlayer.md +76 -0
  620. package/docs/ru/packages/astro-intlayer/onRequest.md +76 -0
  621. package/docs/ru/packages/astro-intlayer/useDictionary.md +95 -0
  622. package/docs/ru/packages/astro-intlayer/useIntlayer.md +98 -0
  623. package/docs/ru/packages/astro-intlayer/useLocale.md +126 -0
  624. package/docs/ru/packages/remix-intlayer/Intlayer.md +55 -0
  625. package/docs/ru/packages/remix-intlayer/exports.md +80 -0
  626. package/docs/ru/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  627. package/docs/ru/packages/remix-intlayer/useDictionary.md +95 -0
  628. package/docs/ru/packages/remix-intlayer/useIntlayer.md +94 -0
  629. package/docs/ru/packages/remix-intlayer/useLocale.md +104 -0
  630. package/docs/ru/readme.md +2 -2
  631. package/docs/ru/releases/v8.md +1 -5
  632. package/docs/tr/how_works_intlayer.md +86 -14
  633. package/docs/tr/intlayer_visual_editor.md +7 -0
  634. package/docs/tr/intlayer_with_astro.md +70 -59
  635. package/docs/tr/intlayer_with_astro_lit.md +24 -28
  636. package/docs/tr/intlayer_with_astro_preact.md +31 -28
  637. package/docs/tr/intlayer_with_astro_react.md +31 -28
  638. package/docs/tr/intlayer_with_astro_solid.md +31 -28
  639. package/docs/tr/intlayer_with_astro_svelte.md +31 -28
  640. package/docs/tr/intlayer_with_astro_vue.md +31 -28
  641. package/docs/tr/intlayer_with_nextjs_14.md +7 -0
  642. package/docs/tr/intlayer_with_nextjs_15.md +7 -0
  643. package/docs/tr/intlayer_with_nextjs_16.md +7 -0
  644. package/docs/tr/intlayer_with_react_router_v7.md +19 -1
  645. package/docs/tr/intlayer_with_remix_3.md +101 -148
  646. package/docs/tr/intlayer_with_solid_start.md +14 -7
  647. package/docs/tr/intlayer_with_svelte_kit.md +12 -1
  648. package/docs/tr/intlayer_with_tanstack+solid.md +20 -2
  649. package/docs/tr/intlayer_with_tanstack.md +20 -6
  650. package/docs/tr/intlayer_with_vite+lit.md +75 -3
  651. package/docs/tr/intlayer_with_vite+preact.md +23 -3
  652. package/docs/tr/intlayer_with_vite+react.md +23 -3
  653. package/docs/tr/intlayer_with_vite+solid.md +23 -3
  654. package/docs/tr/intlayer_with_vite+svelte.md +16 -3
  655. package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
  656. package/docs/tr/intlayer_with_vite+vue.md +16 -3
  657. package/docs/tr/introduction.md +0 -1
  658. package/docs/tr/packages/astro-intlayer/exports.md +165 -13
  659. package/docs/tr/packages/astro-intlayer/intlayer.md +76 -0
  660. package/docs/tr/packages/astro-intlayer/onRequest.md +76 -0
  661. package/docs/tr/packages/astro-intlayer/useDictionary.md +95 -0
  662. package/docs/tr/packages/astro-intlayer/useIntlayer.md +98 -0
  663. package/docs/tr/packages/astro-intlayer/useLocale.md +126 -0
  664. package/docs/tr/packages/remix-intlayer/Intlayer.md +55 -0
  665. package/docs/tr/packages/remix-intlayer/exports.md +80 -0
  666. package/docs/tr/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  667. package/docs/tr/packages/remix-intlayer/useDictionary.md +95 -0
  668. package/docs/tr/packages/remix-intlayer/useIntlayer.md +94 -0
  669. package/docs/tr/packages/remix-intlayer/useLocale.md +104 -0
  670. package/docs/tr/readme.md +2 -2
  671. package/docs/tr/releases/v8.md +1 -5
  672. package/docs/uk/how_works_intlayer.md +86 -14
  673. package/docs/uk/intlayer_visual_editor.md +7 -0
  674. package/docs/uk/intlayer_with_astro.md +71 -60
  675. package/docs/uk/intlayer_with_astro_lit.md +23 -27
  676. package/docs/uk/intlayer_with_astro_preact.md +30 -27
  677. package/docs/uk/intlayer_with_astro_react.md +30 -27
  678. package/docs/uk/intlayer_with_astro_solid.md +30 -27
  679. package/docs/uk/intlayer_with_astro_svelte.md +30 -27
  680. package/docs/uk/intlayer_with_astro_vue.md +30 -27
  681. package/docs/uk/intlayer_with_nextjs_14.md +7 -0
  682. package/docs/uk/intlayer_with_nextjs_15.md +7 -0
  683. package/docs/uk/intlayer_with_nextjs_16.md +7 -0
  684. package/docs/uk/intlayer_with_react_router_v7.md +19 -1
  685. package/docs/uk/intlayer_with_remix_3.md +101 -148
  686. package/docs/uk/intlayer_with_solid_start.md +14 -7
  687. package/docs/uk/intlayer_with_svelte_kit.md +12 -1
  688. package/docs/uk/intlayer_with_tanstack+solid.md +20 -2
  689. package/docs/uk/intlayer_with_tanstack.md +20 -6
  690. package/docs/uk/intlayer_with_vite+lit.md +75 -3
  691. package/docs/uk/intlayer_with_vite+preact.md +23 -3
  692. package/docs/uk/intlayer_with_vite+react.md +23 -3
  693. package/docs/uk/intlayer_with_vite+solid.md +23 -3
  694. package/docs/uk/intlayer_with_vite+svelte.md +16 -3
  695. package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
  696. package/docs/uk/intlayer_with_vite+vue.md +16 -3
  697. package/docs/uk/introduction.md +0 -1
  698. package/docs/uk/packages/astro-intlayer/exports.md +162 -10
  699. package/docs/uk/packages/astro-intlayer/intlayer.md +76 -0
  700. package/docs/uk/packages/astro-intlayer/onRequest.md +76 -0
  701. package/docs/uk/packages/astro-intlayer/useDictionary.md +94 -0
  702. package/docs/uk/packages/astro-intlayer/useIntlayer.md +98 -0
  703. package/docs/uk/packages/astro-intlayer/useLocale.md +126 -0
  704. package/docs/uk/packages/remix-intlayer/Intlayer.md +55 -0
  705. package/docs/uk/packages/remix-intlayer/exports.md +80 -0
  706. package/docs/uk/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  707. package/docs/uk/packages/remix-intlayer/useDictionary.md +95 -0
  708. package/docs/uk/packages/remix-intlayer/useIntlayer.md +94 -0
  709. package/docs/uk/packages/remix-intlayer/useLocale.md +104 -0
  710. package/docs/uk/readme.md +2 -2
  711. package/docs/uk/releases/v8.md +1 -5
  712. package/docs/ur/intlayer_with_vite+lit.md +75 -3
  713. package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
  714. package/docs/ur/introduction.md +0 -1
  715. package/docs/vi/how_works_intlayer.md +86 -14
  716. package/docs/vi/intlayer_visual_editor.md +7 -0
  717. package/docs/vi/intlayer_with_astro.md +70 -59
  718. package/docs/vi/intlayer_with_astro_lit.md +23 -27
  719. package/docs/vi/intlayer_with_astro_preact.md +30 -27
  720. package/docs/vi/intlayer_with_astro_react.md +30 -27
  721. package/docs/vi/intlayer_with_astro_solid.md +30 -27
  722. package/docs/vi/intlayer_with_astro_svelte.md +30 -27
  723. package/docs/vi/intlayer_with_astro_vue.md +30 -27
  724. package/docs/vi/intlayer_with_nextjs_14.md +7 -0
  725. package/docs/vi/intlayer_with_nextjs_15.md +7 -0
  726. package/docs/vi/intlayer_with_nextjs_16.md +7 -0
  727. package/docs/vi/intlayer_with_react_router_v7.md +19 -1
  728. package/docs/vi/intlayer_with_remix_3.md +101 -148
  729. package/docs/vi/intlayer_with_solid_start.md +14 -7
  730. package/docs/vi/intlayer_with_svelte_kit.md +12 -1
  731. package/docs/vi/intlayer_with_tanstack+solid.md +20 -2
  732. package/docs/vi/intlayer_with_tanstack.md +20 -6
  733. package/docs/vi/intlayer_with_vite+lit.md +75 -3
  734. package/docs/vi/intlayer_with_vite+preact.md +23 -3
  735. package/docs/vi/intlayer_with_vite+react.md +23 -3
  736. package/docs/vi/intlayer_with_vite+solid.md +23 -3
  737. package/docs/vi/intlayer_with_vite+svelte.md +16 -3
  738. package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
  739. package/docs/vi/intlayer_with_vite+vue.md +16 -3
  740. package/docs/vi/introduction.md +0 -1
  741. package/docs/vi/packages/astro-intlayer/exports.md +167 -15
  742. package/docs/vi/packages/astro-intlayer/intlayer.md +76 -0
  743. package/docs/vi/packages/astro-intlayer/onRequest.md +76 -0
  744. package/docs/vi/packages/astro-intlayer/useDictionary.md +94 -0
  745. package/docs/vi/packages/astro-intlayer/useIntlayer.md +98 -0
  746. package/docs/vi/packages/astro-intlayer/useLocale.md +126 -0
  747. package/docs/vi/packages/remix-intlayer/Intlayer.md +55 -0
  748. package/docs/vi/packages/remix-intlayer/exports.md +80 -0
  749. package/docs/vi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  750. package/docs/vi/packages/remix-intlayer/useDictionary.md +95 -0
  751. package/docs/vi/packages/remix-intlayer/useIntlayer.md +94 -0
  752. package/docs/vi/packages/remix-intlayer/useLocale.md +104 -0
  753. package/docs/vi/readme.md +2 -2
  754. package/docs/vi/releases/v8.md +1 -5
  755. package/docs/zh/how_works_intlayer.md +86 -14
  756. package/docs/zh/intlayer_visual_editor.md +7 -0
  757. package/docs/zh/intlayer_with_astro.md +65 -56
  758. package/docs/zh/intlayer_with_astro_lit.md +23 -27
  759. package/docs/zh/intlayer_with_astro_preact.md +30 -27
  760. package/docs/zh/intlayer_with_astro_react.md +30 -27
  761. package/docs/zh/intlayer_with_astro_solid.md +30 -27
  762. package/docs/zh/intlayer_with_astro_svelte.md +30 -27
  763. package/docs/zh/intlayer_with_astro_vue.md +30 -27
  764. package/docs/zh/intlayer_with_nextjs_14.md +7 -0
  765. package/docs/zh/intlayer_with_nextjs_15.md +7 -0
  766. package/docs/zh/intlayer_with_nextjs_16.md +7 -0
  767. package/docs/zh/intlayer_with_react_router_v7.md +19 -1
  768. package/docs/zh/intlayer_with_remix_3.md +74 -112
  769. package/docs/zh/intlayer_with_solid_start.md +14 -7
  770. package/docs/zh/intlayer_with_svelte_kit.md +12 -1
  771. package/docs/zh/intlayer_with_tanstack+solid.md +20 -2
  772. package/docs/zh/intlayer_with_tanstack.md +20 -6
  773. package/docs/zh/intlayer_with_vite+lit.md +75 -3
  774. package/docs/zh/intlayer_with_vite+preact.md +23 -3
  775. package/docs/zh/intlayer_with_vite+react.md +23 -3
  776. package/docs/zh/intlayer_with_vite+solid.md +23 -3
  777. package/docs/zh/intlayer_with_vite+svelte.md +16 -3
  778. package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
  779. package/docs/zh/intlayer_with_vite+vue.md +16 -3
  780. package/docs/zh/introduction.md +0 -1
  781. package/docs/zh/packages/astro-intlayer/exports.md +166 -14
  782. package/docs/zh/packages/astro-intlayer/intlayer.md +76 -0
  783. package/docs/zh/packages/astro-intlayer/onRequest.md +76 -0
  784. package/docs/zh/packages/astro-intlayer/useDictionary.md +95 -0
  785. package/docs/zh/packages/astro-intlayer/useIntlayer.md +98 -0
  786. package/docs/zh/packages/astro-intlayer/useLocale.md +126 -0
  787. package/docs/zh/packages/remix-intlayer/Intlayer.md +55 -0
  788. package/docs/zh/packages/remix-intlayer/exports.md +80 -0
  789. package/docs/zh/packages/remix-intlayer/intlayerMiddleware.md +55 -0
  790. package/docs/zh/packages/remix-intlayer/useDictionary.md +95 -0
  791. package/docs/zh/packages/remix-intlayer/useIntlayer.md +94 -0
  792. package/docs/zh/packages/remix-intlayer/useLocale.md +104 -0
  793. package/docs/zh/readme.md +2 -2
  794. package/docs/zh/releases/v8.md +1 -5
  795. package/docs/zh-TW/introduction.md +0 -1
  796. package/package.json +6 -6
  797. package/src/generated/docs.entry.ts +223 -0
  798. package/docs/ar/intlayer_with_astro_vanilla.md +0 -702
  799. package/docs/de/intlayer_with_astro_vanilla.md +0 -698
  800. package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -702
  801. package/docs/es/intlayer_with_astro_vanilla.md +0 -694
  802. package/docs/fr/intlayer_with_astro_vanilla.md +0 -694
  803. package/docs/hi/intlayer_with_astro_vanilla.md +0 -713
  804. package/docs/id/intlayer_with_astro_vanilla.md +0 -698
  805. package/docs/it/intlayer_with_astro_vanilla.md +0 -698
  806. package/docs/ja/intlayer_with_astro_vanilla.md +0 -701
  807. package/docs/ko/intlayer_with_astro_vanilla.md +0 -713
  808. package/docs/pl/intlayer_with_astro_vanilla.md +0 -698
  809. package/docs/pt/intlayer_with_astro_vanilla.md +0 -698
  810. package/docs/ru/intlayer_with_astro_vanilla.md +0 -709
  811. package/docs/tr/intlayer_with_astro_vanilla.md +0 -698
  812. package/docs/uk/intlayer_with_astro_vanilla.md +0 -698
  813. package/docs/vi/intlayer_with_astro_vanilla.md +0 -698
  814. package/docs/zh/intlayer_with_astro_vanilla.md +0 -697
@@ -1,698 +0,0 @@
1
- ---
2
- createdAt: 2026-04-24
3
- updatedAt: 2026-06-23
4
- title: "Astro + Vanilla JS i18n - Повний посібник з перекладу вашого застосунку"
5
- description: "Більше ніякого i18next. Посібник 2026 зі створення багатомовного (i18n) застосунку Astro + Vanilla JS. Перекладайте за допомогою ШІ-агентів та оптимізуйте розмір бандлу, SEO та продуктивність."
6
- keywords:
7
- - інтернаціоналізація
8
- - документація
9
- - Intlayer
10
- - Astro
11
- - Vanilla JS
12
- - JavaScript
13
- - TypeScript
14
- slugs:
15
- - doc
16
- - environment
17
- - astro
18
- - vanilla
19
- applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
20
- applicationShowcase: https://intlayer-astro-template.vercel.app
21
- history:
22
- - version: 8.9.0
23
- date: 2026-05-04
24
- changes: "Оновлення використання API useIntlayer у Solid для прямого доступу до властивостей"
25
- - version: 8.7.7
26
- date: 2026-04-24
27
- changes: "Початкова документація для Astro + Vanilla JS"
28
- author: aymericzip
29
- ---
30
-
31
- # Перекладіть свій сайт Astro + Vanilla JS за допомогою Intlayer | Інтернаціоналізація (i18n)
32
-
33
- <Tabs defaultTab="code">
34
- <Tab label="Код" value="code">
35
-
36
- <iframe
37
- src="https://ide.intlayer.org/aymericzip/intlayer-astro-template?file=intlayer.config.ts"
38
- className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
39
- title="Demo CodeSandbox - Як інтернаціоналізувати ваш додаток за допомогою Intlayer"
40
- sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
41
- loading="lazy"
42
- />
43
-
44
- </Tab>
45
- <Tab label="Демо" value="demo">
46
-
47
- <iframe
48
- src="https://intlayer-astro-template.vercel.app"
49
- className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
50
- title="Демо - intlayer-astro-template"
51
- sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
52
- loading="lazy"
53
- />
54
-
55
- </Tab>
56
- </Tabs>
57
-
58
- ## Зміст
59
-
60
- <TOC/>
61
-
62
- ## Чому варто обрати Intlayer, а не альтернативи?
63
-
64
- Порівняно з основними рішеннями, такими як `astro-i18n` або `i18next`, Intlayer — це рішення, яке має такі інтегровані оптимізації, як:
65
-
66
- <AccordionGroup>
67
- <Accordion header="Повна підтримка Astro">
68
-
69
- Intlayer оптимізовано для ідеальної роботи з Astro, пропонуючи **багатомовну маршрутизацію**, **карту сайту** та всі функції, необхідні для масштабування інтернаціоналізації (i18n).
70
-
71
- </Accordion>
72
- <Accordion header="Розмір бандлу">
73
-
74
- Замість того, щоб завантажувати великі файли JSON на свої сторінки, завантажуйте лише необхідний вміст. Intlayer допомагає **зменшити розмір бандлу і сторінок до 50%**.
75
-
76
- </Accordion>
77
- <Accordion header="Підтримуваність">
78
-
79
- Організація вмісту за окремими областями (scoping) **полегшує технічне обслуговування** великомасштабних програм. Ви можете скопіювати або видалити окрему папку функцій без розумового навантаження перегляду всієї кодової бази вмісту. Крім того, Intlayer **повністю типізований (fully typed)**, щоб забезпечити точність вашого вмісту.
80
-
81
- </Accordion>
82
- <Accordion header="Агент AI">
83
-
84
- Спільне розміщення вмісту **зменшує контекст, необхідний** для великих мовних моделей (LLM). Intlayer також постачається з набором інструментів, наприклад **CLI** для перевірки відсутніх перекладів,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** і **[agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/agent_skills.md)**, щоб зробити роботу розробника (DX) ще зручнішою для агентів ШІ.
85
-
86
- </Accordion>
87
- <Accordion header="Автоматизація">
88
-
89
- Використовуйте автоматизацію для перекладу в конвеєрі CI/CD за допомогою LLM за вашим вибором за рахунок вашого постачальника штучного інтелекту. Intlayer також пропонує **компілятор** для автоматизації екстракція вмісту, а також [веб-платформу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md), щоб допомогти **перекладати у фоновому режимі**.
90
-
91
- </Accordion>
92
- <Accordion header="Продуктивність">
93
-
94
- Підключення великих файлів JSON до компонентів може призвести до проблем з продуктивністю та реакцією. Intlayer оптимізує завантаження вмісту під час збірки (build time).
95
-
96
- </Accordion>
97
- <Accordion header="Співпраця з не-розробниками">
98
-
99
- Більше ніж просто рішення i18n, Intlayer пропонує **власний [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** і **[повний CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)**, щоб допомогти вам керувати своїм багатомовним вмістом у **реальному часі**, спрощуючи співпрацю з перекладачами, копірайтерами та іншими членами команди. Контент можна зберігати локально та/або віддалено.
100
-
101
- </Accordion>
102
- </AccordionGroup>
103
-
104
- ## Покрокова інструкція з налаштування Intlayer в Astro + Vanilla JS
105
-
106
- Перегляньте [шаблон додатка](https://github.com/aymericzip/intlayer-astro-template) на GitHub.
107
-
108
- <Steps>
109
- <Step number={1} title="Встановіть залежності">
110
-
111
- Встановіть необхідні пакети за допомогою бажаного менеджера пакетів:
112
-
113
- ```bash packageManager="npm"
114
- npx intlayer init --interactive
115
- ```
116
-
117
- ```bash packageManager="pnpm"
118
- pnpm dlx intlayer init --interactive
119
- ```
120
-
121
- ```bash packageManager="yarn"
122
- yarn dlx intlayer init --interactive
123
- ```
124
-
125
- ```bash packageManager="bun"
126
- bunx intlayer init --interactive
127
- ```
128
-
129
- > прапорець `--interactive` не є обов'язковим. Використовуйте `intlayer-cli init`, якщо ви є ШІ-агентом.
130
-
131
- > Ця команда виявить ваше середовище та встановить необхідні пакети. Наприклад:
132
-
133
- ```bash packageManager="npm"
134
- npm install intlayer astro-intlayer vanilla-intlayer
135
- ```
136
-
137
- ```bash packageManager="pnpm"
138
- pnpm add intlayer astro-intlayer vanilla-intlayer
139
- ```
140
-
141
- ```bash packageManager="yarn"
142
- yarn add intlayer astro-intlayer vanilla-intlayer
143
- ```
144
-
145
- ```bash packageManager="bun"
146
- bun add intlayer astro-intlayer vanilla-intlayer
147
- ```
148
-
149
- - **intlayer**
150
- Основний пакет, що надає інструменти i18n для керування конфігурацією, перекладами, [декларацією вмісту](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/content_file.md), транспіляцією та [командами CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/index.md).
151
-
152
- - **astro-intlayer**
153
- Плагін інтеграції Astro для зв'язку Intlayer з [бандлером Vite](https://vite.dev/guide/why.html#why-bundle-for-production); він також включає middleware для визначення бажаної мови користувача, керування cookie та обробки перенаправлень URL.
154
-
155
- - **vanilla-intlayer**
156
- Пакет для інтеграції Intlayer у додатки Vanilla JavaScript / TypeScript. Він надає синглтон Pub/Sub (`IntlayerClient`) та допоміжні функції на основі callback-функцій (`useIntlayer`, `useLocale` тощо), щоб будь-яка частина вашого `<script>` в Astro могла реагувати на зміни мови без потреби у фреймворку UI.
157
-
158
- </Step>
159
- <Step number={2} title="Налаштуйте свій проект">
160
-
161
- Створіть конфігураційний файл, щоб визначити мови вашого додатка:
162
-
163
- ```typescript fileName="intlayer.config.ts"
164
- import { Locales, type IntlayerConfig } from "intlayer";
165
-
166
- const config: IntlayerConfig = {
167
- internationalization: {
168
- locales: [
169
- Locales.ENGLISH,
170
- Locales.FRENCH,
171
- Locales.SPANISH,
172
- Locales.UKRAINIAN,
173
- // Ваші інші локалі
174
- ],
175
- defaultLocale: Locales.ENGLISH,
176
- },
177
- };
178
-
179
- export default config;
180
- ```
181
-
182
- > Через цей конфігураційний файл ви можете налаштувати локалізовані URL-адреси, перенаправлення middleware, імена cookie, розташування та розширення декларацій вмісту, вимкнути логи Intlayer у консолі та багато іншого. Повний список доступних параметрів дивіться в [документації з конфігурації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md).
183
-
184
- </Step>
185
- <Step number={3} title="Інтегруйте Intlayer у вашу конфігурацію Astro">
186
-
187
- Додайте плагін `intlayer` до вашої конфігурації Astro. Для Vanilla JS не потрібні додаткові інтеграції фреймворків UI.
188
-
189
- ```typescript fileName="astro.config.ts"
190
- // @ts-check
191
-
192
- import { intlayer } from "astro-intlayer";
193
- import { defineConfig } from "astro/config";
194
-
195
- // https://astro.build/config
196
- export default defineConfig({
197
- integrations: [intlayer()],
198
- });
199
- ```
200
-
201
- > Плагін інтеграції `intlayer()` використовується для інтеграції Intlayer з Astro. Він забезпечує генерацію файлів декларації вмісту та стежить за ними в режимі розробки. Він визначає змінні середовища Intlayer всередині додатка Astro та надає аліаси для оптимізації продуктивності.
202
-
203
- </Step>
204
- <Step number={4} title="Декларуйте свій вміст">
205
-
206
- Створюйте та керуйте своїми деклараціями вмісту для зберігання перекладів:
207
-
208
- ```typescript fileName="src/app.content.ts"
209
- import { t, type Dictionary } from "intlayer";
210
-
211
- const appContent = {
212
- key: "app",
213
- content: {
214
- greeting: t({
215
- en: "Hello World",
216
- fr: "Bonjour le monde",
217
- es: "Hola mundo",
218
- uk: "Привіт Світе",
219
- }),
220
- description: t({
221
- en: "Welcome to my multilingual Astro site.",
222
- fr: "Bienvenue sur mon site Astro multilingue.",
223
- es: "Bienvenido a mi sitio Astro multilingüe.",
224
- uk: "Ласкаво просимо на мій багатомовний сайт Astro.",
225
- }),
226
- switchLocale: t({
227
- en: "Switch language:",
228
- fr: "Changer de langue :",
229
- es: "Cambiar idioma:",
230
- uk: "Змінити мову:",
231
- }),
232
- },
233
- } satisfies Dictionary;
234
-
235
- export default appContent;
236
- ```
237
-
238
- > Декларації вмісту можна визначати в будь-якому місці вашого додатка, за умови, що вони включені в `contentDir` (за замовчуванням `./src`) і відповідають розширенню файлів декларації вмісту (за замовчуванням `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
239
-
240
- > Для отримання додаткової інформації дивіться [документацію з декларації вмісту](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/content_file.md).
241
-
242
- </Step>
243
- <Step number={5} title="Використання вмісту в Astro">
244
-
245
- З Vanilla JS весь серверний рендеринг (SSR) відбувається безпосередньо у файлах `.astro` за допомогою `getIntlayer`. Потім на стороні клієнта блок `<script>` ініціалізує бібліотеку `vanilla-intlayer` для увімкнення перемикання мов.
246
-
247
- ```astro fileName="src/pages/[...locale]/index.astro"
248
- ---
249
- import {
250
- getIntlayer,
251
- getLocaleFromPath,
252
- getLocalizedUrl,
253
- getPrefix,
254
- getLocaleName,
255
- localeMap,
256
- locales,
257
- defaultLocale,
258
- getPathWithoutLocale,
259
- type LocalesValues,
260
- } from "intlayer";
261
-
262
- export const getStaticPaths = () => {
263
- return localeMap(({ locale }) => ({
264
- params: { locale: getPrefix(locale).localePrefix },
265
- }));
266
- };
267
-
268
- const locale = getLocaleFromPath(Astro.url.pathname) as LocalesValues;
269
- const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
270
- const { greeting, description, switchLocale } = getIntlayer("app", locale);
271
- ---
272
-
273
- <!doctype html>
274
- <html lang={locale} dir={getHTMLTextDir(locale)}>
275
- <head>
276
- <meta charset="utf-8" />
277
- <meta name="viewport" content="width=device-width" />
278
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
279
- <title>{greeting}</title>
280
-
281
- <!-- Канонічне посилання -->
282
- <link
283
- rel="canonical"
284
- href={new URL(getLocalizedUrl(Astro.url.pathname, locale), Astro.site)}
285
- />
286
-
287
- <!-- Посилання Hreflang -->
288
- {
289
- localeMap(({ locale: mapLocale }) => (
290
- <link
291
- rel="alternate"
292
- hreflang={mapLocale}
293
- href={new URL(
294
- getLocalizedUrl(Astro.url.pathname, mapLocale),
295
- Astro.site
296
- )}
297
- />
298
- ))
299
- }
300
-
301
- <link
302
- rel="alternate"
303
- hreflang="x-default"
304
- href={new URL(
305
- getLocalizedUrl(Astro.url.pathname, defaultLocale),
306
- Astro.site
307
- )}
308
- />
309
- </head>
310
- <body>
311
- <main>
312
- <h1 id="greeting">{greeting}</h1>
313
- <p id="description">{description}</p>
314
-
315
- <div class="locale-switcher">
316
- <span class="switcher-label">{switchLocale}</span>
317
- <div class="locale-buttons">
318
- {
319
- locales.map((localeItem) => (
320
- <a
321
- href={localeItem === locale ? undefined : getLocalizedUrl(pathWithoutLocale, localeItem)}
322
- class={`locale-btn ${localeItem === locale ? "active" : ""}`}
323
- data-locale={localeItem}
324
- aria-disabled={localeItem === locale}
325
- >
326
- {getLocaleName(localeItem)}
327
- </a>
328
- ))
329
- }
330
- </div>
331
- </div>
332
- </main>
333
- </body>
334
- </html>
335
- ```
336
-
337
- > Якщо ви хочете використовувати свій контент в атрибуті `рядка`, такому як `alt`, `title`, `href`, `aria-label` тощо, ви можете використовувати значення функції, наприклад:
338
-
339
- > ```tsx
340
- > <img src={content.image.src.value} alt={content.image.value} />
341
- > <img src={content.image.src.toString()} alt={content.image.toString()} />
342
- > <img src={String(content.image.src)} alt={String(content.image)} />
343
- > ```
344
-
345
- > **Примітка щодо налаштування маршрутизації:**
346
- > Структура каталогів, яку ви використовуєте, залежить від параметра `middleware.routing` у `intlayer.config.ts`:
347
- >
348
- > - **`prefix-no-default` (за замовчуванням):** Зберігає мову за замовчуванням у корені (без префікса) та додає префікси до інших. Використовуйте `[...locale]`, щоб охопити всі випадки.
349
- > - **`prefix-all`:** Усі URL-адреси отримують префікс мови. Ви можете використовувати стандартний `[locale]`, якщо вам не потрібно окремо обробляти корінь.
350
- > - **`search-param` або `no-prefix`:** Каталоги мов не потрібні. Мова керується за допомогою параметрів запиту або cookie.
351
-
352
- </Step>
353
- <Step number={6} title="Додавання перемикача мов">
354
-
355
- В Astro з Vanilla JS перемикач мов генерується на сервері як звичайні посилання і активується на стороні клієнта за допомогою блоку `<script>`. Коли користувач натискає на посилання мови, `vanilla-intlayer` встановлює cookie мови за допомогою `setLocale` перед переходом на локалізовану URL-адресу.
356
-
357
- ```astro fileName="src/pages/[...locale]/index.astro"
358
- <!-- Включіть розрітку серверної частини з кроку 5 сюди -->
359
-
360
- <script>
361
- import { installIntlayer, useLocale } from "vanilla-intlayer";
362
- import { getLocaleFromPath, getLocalizedUrl, type LocalesValues } from "intlayer";
363
-
364
- // Ініціалізувати Intlayer на клієнті з мовою, взятою з поточного шляху
365
- const locale = getLocaleFromPath(window.location.pathname);
366
- installIntlayer({ locale: locale as LocalesValues });
367
-
368
- const { setLocale } = useLocale({
369
- onLocaleChange: (newLocale: LocalesValues) => {
370
- window.location.href = getLocalizedUrl(window.location.pathname, newLocale);
371
- },
372
- });
373
-
374
- // Підключити події кліку на посилання перемикача мов
375
- const localeLinks = document.querySelectorAll("[data-locale]");
376
- localeLinks.forEach((link) => {
377
- link.addEventListener("click", (e) => {
378
- const localeValue = link.getAttribute("data-locale") as LocalesValues;
379
- if (localeValue && localeValue !== locale) {
380
- e.preventDefault();
381
- setLocale(localeValue);
382
- }
383
- });
384
- });
385
- </script>
386
- ```
387
-
388
- > **Примітка щодо стійкості:**
389
- > `installIntlayer` ініціалізує синглтон Intlayer з мовою, визначеною сервером. `useLocale` разом з `onLocaleChange` забезпечують встановлення cookie мови перед перенаправленням через middleware, що дозволяє мові користувача зберігатися для майбутніх візитів.
390
-
391
- > **Примітка щодо Progressive Enhancement:**
392
- > Посилання всередині перемикача мов працюватимуть як стандартні теги `<a>` навіть без JavaScript. Коли JavaScript доступний, виклик `setLocale` оновлює cookie перед перенаправленням, забезпечуючи правильну обробку вибору мови посередником (middleware).
393
-
394
- </Step>
395
- <Step number={7} title="Sitemap та Robots.txt">
396
-
397
- Intlayer пропонує інструменти для динамічного створення локалізованої карти сайту та файлу robots.txt.
398
-
399
- #### Sitemap
400
-
401
- Intlayer comes with a built-in sitemap generator to help you create a sitemap for your application easily. It handles localized routes and adds the necessary metadata for search engines.
402
-
403
- > The Intlayer generated sitemap supports the `xhtml:link` namespace (Hreflang XML Extensions). Unlike the default sitemap generators that only list raw URLs, Intlayer automatically creates the required bidirectional links between all language versions of a page (e.g., `/about`, `/about?lang=fr`, and `/about?lang=es`). This ensures search engines correctly index and serve the right language version to the right audience.
404
-
405
- Створіть `src/pages/sitemap.xml.ts` для генерації карти сайту, що охоплює всі ваші локалізовані маршрути.
406
-
407
- ```typescript fileName="src/pages/sitemap.xml.ts"
408
- import type { APIRoute } from "astro";
409
- import { generateSitemap, type SitemapUrlEntry } from "intlayer";
410
-
411
- const pathList: SitemapUrlEntry[] = [
412
- { path: "/", changefreq: "daily", priority: 1.0 },
413
- { path: "/about", changefreq: "monthly", priority: 0.7 },
414
- ];
415
-
416
- const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
417
-
418
- export const GET: APIRoute = async ({ site }) => {
419
- const xmlOutput = generateSitemap(pathList, { siteUrl: SITE_URL });
420
-
421
- return new Response(xmlOutput, {
422
- headers: { "Content-Type": "application/xml" },
423
- });
424
- };
425
- ```
426
-
427
- #### Robots.txt
428
-
429
- Створіть `src/pages/robots.txt.ts` для керування скануванням пошуковими системами.
430
-
431
- ```typescript fileName="src/pages/robots.txt.ts"
432
- import type { APIRoute } from "astro";
433
- import { getMultilingualUrls } from "intlayer";
434
-
435
- const getAllMultilingualUrls = (urls: string[]) =>
436
- urls.flatMap((url) => Object.values(getMultilingualUrls(url)) as string[]);
437
-
438
- const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
439
-
440
- export const GET: APIRoute = ({ site }) => {
441
- const robotsTxt = [
442
- "User-agent: *",
443
- "Allow: /",
444
- ...disallowedPaths.map((path) => `Disallow: ${path}`),
445
- "",
446
- `Sitemap: ${new URL("/sitemap.xml", site).href}`,
447
- ].join("\n");
448
-
449
- return new Response(robotsTxt, {
450
- headers: { "Content-Type": "text/plain" },
451
- });
452
- };
453
- ```
454
-
455
- </Step>
456
- <Step number={1} title="Витягніть вміст ваших компонентів" isOptional={true}>
457
-
458
- Якщо у вас є існуюча кодова база, перетворення тисяч файлів може зайняти багато часу.
459
-
460
- Щоб спростити цей процес, Intlayer пропонує [компілятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compiler.md) / [екстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md) для перетворення ваших компонентів і витягування вмісту.
461
-
462
- Щоб налаштувати його, ви можете додати розділ `compiler` у свій файл `intlayer.config.ts`:
463
-
464
- ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
465
- import { type IntlayerConfig } from "intlayer";
466
-
467
- const config: IntlayerConfig = {
468
- // ... Інша частина вашої конфігурації
469
- compiler: {
470
- /**
471
- * Вказує, чи повинен бути включений компілятор.
472
- */
473
- enabled: true,
474
-
475
- /**
476
- * Визначає шлях до вихідних файлів
477
- */
478
- output: ({ fileName, extension }) => `./${fileName}${extension}`,
479
-
480
- /**
481
- * Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
482
- */
483
- saveComponents: false,
484
-
485
- /**
486
- * Префікс ключа словника
487
- */
488
- dictionaryKeyPrefix: "",
489
- },
490
- };
491
-
492
- export default config;
493
- ```
494
-
495
- <Tabs>
496
- <Tab value='Команда витягування'>
497
-
498
- Запустіть екстрактор для перетворення компонентів і витягування вмісту
499
-
500
- ```bash packageManager="npm"
501
- npx intlayer extract
502
- ```
503
-
504
- ```bash packageManager="pnpm"
505
- pnpm intlayer extract
506
- ```
507
-
508
- ```bash packageManager="yarn"
509
- yarn intlayer extract
510
- ```
511
-
512
- ```bash packageManager="bun"
513
- bun x intlayer extract
514
- ```
515
-
516
- </Tab>
517
- <Tab value='Компілятор Babel'>
518
-
519
- > Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
520
-
521
- Оновіть свій `vite.config.ts`, щоб включити плагін `intlayerCompiler`:
522
-
523
- ```ts fileName="vite.config.ts"
524
- import { defineConfig } from "vite";
525
- import { intlayer, intlayerCompiler } from "vite-intlayer";
526
-
527
- export default defineConfig({
528
- plugins: [
529
- intlayer(),
530
- intlayerCompiler(), // Adds the compiler plugin
531
- ],
532
- });
533
- ```
534
-
535
- ```bash packageManager="npm"
536
- npm run build # Або npm run dev
537
- ```
538
-
539
- ```bash packageManager="pnpm"
540
- pnpm run build # Or pnpm run dev
541
- ```
542
-
543
- ```bash packageManager="yarn"
544
- yarn build # Or yarn dev
545
- ```
546
-
547
- ```bash packageManager="bun"
548
- bun run build # Or bun run dev
549
- ```
550
-
551
- </Tab>
552
- </Tabs>
553
-
554
- </Step>
555
-
556
- </Steps>
557
-
558
- ### Конфігурація TypeScript
559
-
560
- Intlayer використовує розширення модулів (module augmentation), щоб отримати переваги від TypeScript, роблячи вашу кодову базу надійнішою.
561
-
562
- ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
563
-
564
- ![Translation Error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.webp?raw=true)
565
-
566
- Переконайтеся, що ваша конфігурація TypeScript включає автоматично згенеровані типи.
567
-
568
- ```json5 fileName="tsconfig.json"
569
- {
570
- // ... ваша існуюча конфігурація TypeScript
571
- "include": [
572
- // ... ваша існуюча конфігурація TypeScript
573
- ".intlayer/**/*.ts", // Включити автоматично згенеровані типи
574
- ],
575
- }
576
- ```
577
-
578
- ### Конфігурація Git
579
-
580
- Ми рекомендуємо ігнорувати файли, згенеровані Intlayer. Це запобігає їх потраплянню до вашого Git-репозиторію.
581
-
582
- Для цього додайте наступні інструкції до вашого файлу `.gitignore`:
583
-
584
- ```bash
585
- # Ігнорувати файли, згенеровані Intlayer
586
- .intlayer
587
- ```
588
-
589
- ### Розширення для VS Code
590
-
591
- Щоб покращити ваш досвід розробки з Intlayer, ви можете встановити **офіційне розширення Intlayer для VS Code**.
592
-
593
- [Встановити з VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
594
-
595
- Це розширення забезпечує:
596
-
597
- - **Автозаповнення** ключів перекладу.
598
- - **Виявлення помилок у реальному часі** для відсутніх перекладів.
599
- - **Попередній перегляд** перекладеного вмісту.
600
- - **Швидкі дії** для легкого створення та оновлення перекладів.
601
-
602
- Для отримання додаткової інформації про використання розширення дивіться [документацію розширення VS Code](https://intlayer.org/doc/vs-code-extension).
603
-
604
- ### Поглиблюйте свої знання
605
-
606
- Якщо ви хочете дізнатися більше, ви також можете впровадити [Візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/uk/intlayer_visual_editor.md) або використовувати [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/uk/intlayer_CMS.md), щоб винести ваш вміст назовні.
607
-
608
- ## Часто задавані запитання
609
-
610
- <FAQ>
611
-
612
- <Question title="Які є різні рішення для інтернаціоналізації сайту Astro без UI фреймворку?">
613
-
614
- Опція `i18n` в Astro обробляє префікси адрес, але керування вмістом залишається за вами:
615
-
616
- - **Власні об'єкти словників**: прості об'єкти JSON/TS, імпортовані на рівні сторінок: без типізації, множини та автоматичних тестів.
617
- - **`Intlayer`**: вміст оголошується поруч із компонентами ([локально або централізовано](https://intlayer.org/blog/per-component-vs-centralized-i18n)), компілюється під час збирання, перевіряється в CI, підтримує переклад AI та візуальний редактор.
618
-
619
- Без UI фреймворку важливо уникати додаткового розміру бібліотеки під час виконання. Intlayer вирішує контент на етапі збирання, тому статичні сторінки Astro містять готовий HTML без зайвого коду. Див. [чому Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/interest_of_intlayer.md).
620
-
621
- </Question>
622
- <Question title="Скільки i18n додає до розміру бандла Astro?">
623
-
624
- Значно менше, ніж рішення на основі просторів імен, оскільки сторінка ніколи не завантажує каталог, який вона не рендерить. Сторінки Astro рендеряться під час збирання, тому клієнту надсилається лише готовий HTML без додаткових словників; словники отримують лише інтерактивні острови (islands). [Динамічні словники](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dynamic_dictionaries/index.md) розділяють контент за локалями, зменшуючи бандл до 50%. Див. [оптимізацію бандла](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/bundle_optimization.md) та [бенчмарк](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/benchmark/index.md).
625
-
626
- </Question>
627
- <Question title="Чи можу я мігрувати з i18next або власного словника без переписування компонентів?">
628
-
629
- Більшою мірою так. Скористайтеся [посібником з міграції з i18next](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/migration_from_i18next_to_intlayer.md).
630
-
631
- </Question>
632
- <Question title="Чи можу я зберігати мої існуючі JSON файли перекладів?">
633
-
634
- Так. [sync JSON плагін](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/plugins/sync-json.md) зберігає ваші файли `/messages/{locale}/{namespace}.json` як джерело істини та генерує словники Intlayer з них в обох напрямках. [sync PO плагін](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/plugins/sync-po.md) робить те ж саме для gettext каталогів, а [файли для окремих локалей](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/per_locale_file.md) дозволяють розділити вміст за мовами замість групування локалей в один файл.
635
-
636
- </Question>
637
- <Question title="Чи потрібно переносити вміст ключ за ключем?">
638
-
639
- Ні. Запустіть `npx intlayer extract`, і Intlayer прочитає ваші файли, витягне призначені для користувача рядки і створить файл `.content` поруч із кожним компонентом, завдяки чому ви переглядаєте diff замість копіювання рядків у каталог вручну. Крок 15 цього посібника пояснює це.
640
-
641
- Для повної автоматизації [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compiler.md) робить те саме під час збирання: сканує код під час кожної зміни, генерує словники та синхронізує їх із HMR.
642
-
643
- Варто знати два обмеження перед увімкненням компілятора. Він працює за допомогою статичного аналізу, тому рядки, які існують лише під час виконання, такі як коди помилок API або поля CMS, залишаються недосяжними. І він повинен відрізняти текст для користувача від логіки додатка, як-от `className="active"` або код статусу, що вимагає кількох анотацій у великій кодовій базі. [Команда extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/extract.md) уникає обох проблем, тримаючи вас у курсі.
644
-
645
- </Question>
646
- <Question title="Які інструменти для редактора та AI агентів доступні?">
647
-
648
- П'ять інструментів, усі опціональні:
649
-
650
- - **[Розширення VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/vs_code_extension.md)**: перехід від ключа `useIntlayer` до файлу контенту, вилучення рядків із компонента та запуск build, fill, test, push і pull із палітри команд або вкладки Intlayer.
651
- - **[LSP сервер](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/lsp.md)**: та сама функціональність у будь-якому редакторі з підтримкою LSP, включно з переходом до визначення, переглядом перекладеного значення під час наведення та автодоповненням ключів. Також підтримує виклики `i18next`, `react-i18next`, `next-intl` та `use-intl`.
652
- - **[MCP сервер](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/mcp_server.md)**: надає документацію та CLI Intlayer для Cursor, VS Code, Claude Desktop, Claude Code та ChatGPT.
653
- - **[Навички агента (Agent skills)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/agent_skills.md)**: спеціалізовані навички `intlayer-config`, `intlayer-cli` та `intlayer-content`.
654
- - **[Плагін ESLint](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/eslint.md)**: правило `no-raw-text` відстежує жорстко закодовані рядки.
655
-
656
- </Question>
657
- <Question title="Чи потрібен JavaScript на сторінці для роботи перекладів?">
658
-
659
- Ні. Сторінки Astro рендеряться під час збирання, і Intlayer вирішує контент на цьому етапі, тому згенерований HTML уже містить перекладений текст. Пакет `vanilla-intlayer` потрібен лише для тих фрагментів, які стають інтерактивними в браузері.
660
-
661
- </Question>
662
- <Question title="Чи можу я пізніше додати інтерактивний острів без зміни контенту?">
663
-
664
- Так, у цьому головна перевага єдиного шару вмісту. Ті самі оголошення читаються `astro-intlayer` на сторінці та біндингом фреймворку острова, чи то [React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_astro_react.md), [Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_astro_vue.md), [Svelte](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_astro_svelte.md), [Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_astro_solid.md), [Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_astro_preact.md) чи [Lit](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_with_astro_lit.md).
665
-
666
- </Question>
667
- <Question title="Як налаштувати локалізовану маршрутизацію та перемикач мов?">
668
-
669
- Кроки 6 та 7 цього посібника описують це. `routing.mode` визначає, чи отримує основна мова префікс (`"prefix-no-default"`), чи всі мови (`"prefix-all"`), чи мова не залежить від шляху (`"no-prefix"`). `getLocalizedUrl` перетворює поточний шлях на цільову мову, зберігаючи відвідувача на тій самій сторінці.
670
-
671
- </Question>
672
- <Question title="Як створити локалізовану карту сайту та теги hreflang?">
673
-
674
- Крок 8 описує налаштування `sitemap.xml` та `robots.txt`. Функція `getMultilingualUrls` створює альтернативні адреси для кожної оголошеної мови, включно з `x-default`, для правильного індексування пошуковими системами.
675
-
676
- </Question>
677
- <Question title="Як автоматично перекласти сайт за допомогою AI?">
678
-
679
- Запустіть `npx intlayer fill`. Утиліта заповнює відсутні переклади через обрану LLM з вашим провайдером та ключем API, а прапорець `--git-diff` обмежує обробку зміненими файлами. Див. [команду fill](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/cli/fill.md) та [інтеграцію CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/CI_CD.md).
680
-
681
- </Question>
682
- <Question title="Чи підтримує Intlayer форми множини, стать та форматований текст?">
683
-
684
- Так: [форми множини](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/plurial.md), [контент з урахуванням статі](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/gender.md), умови, [вставки (insertions)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dictionary/insertion.md) та [форматування](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/formatters.md) чисел, дат і валют.
685
-
686
- </Question>
687
- <Question title="Як перекладачі можуть редагувати вміст без втручання в код?">
688
-
689
- Через [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md), який дозволяє будь-кому редагувати тексти безпосередньо у працюючому додатку, або через [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md), яка відокремлює вміст і дозволяє оновлювати його без повторного розгортання коду.
690
-
691
- </Question>
692
- <Question title="Чи є Intlayer безкоштовним та відкритим кодом?">
693
-
694
- Так, під ліцензією Apache 2.0, включно з комерційним використанням. Хмарна CMS - це додаткова платна послуга, яку також можна [розгорнути самостійно (self-host)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/self_hosting.md).
695
-
696
- </Question>
697
-
698
- </FAQ>