@intlayer/docs 8.4.10 → 8.5.0

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 (370) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +40 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +40 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +2 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/dictionary/html.md +22 -22
  8. package/docs/ar/dictionary/markdown.md +18 -18
  9. package/docs/ar/intlayer_with_analog.md +2 -13
  10. package/docs/ar/intlayer_with_angular.md +1 -12
  11. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  12. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  13. package/docs/ar/intlayer_with_react_router_v7.md +6 -1
  14. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +6 -1
  15. package/docs/ar/intlayer_with_storybook.md +2 -5
  16. package/docs/ar/intlayer_with_svelte_kit.md +9 -5
  17. package/docs/ar/intlayer_with_vite+lit.md +738 -0
  18. package/docs/ar/intlayer_with_vite+react.md +16 -4
  19. package/docs/ar/intlayer_with_vite+solid.md +1 -1
  20. package/docs/ar/intlayer_with_vite+svelte.md +13 -6
  21. package/docs/ar/intlayer_with_vite+vanilla.md +722 -0
  22. package/docs/ar/intlayer_with_vite+vue.md +21 -5
  23. package/docs/ar/packages/react-intlayer/MarkdownRenderer.md +1 -1
  24. package/docs/ar/packages/svelte-intlayer/useRewriteURL.md +1 -1
  25. package/docs/ar/releases/v8.md +27 -27
  26. package/docs/bn/intlayer_with_storybook.md +2 -5
  27. package/docs/bn/intlayer_with_vite+lit.md +738 -0
  28. package/docs/bn/intlayer_with_vite+vanilla.md +722 -0
  29. package/docs/cs/intlayer_with_storybook.md +2 -5
  30. package/docs/cs/intlayer_with_vite+lit.md +738 -0
  31. package/docs/cs/intlayer_with_vite+vanilla.md +722 -0
  32. package/docs/de/dictionary/html.md +146 -24
  33. package/docs/de/dictionary/markdown.md +143 -25
  34. package/docs/de/intlayer_with_analog.md +2 -13
  35. package/docs/de/intlayer_with_angular.md +1 -12
  36. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  37. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  38. package/docs/de/intlayer_with_react_router_v7.md +6 -1
  39. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +6 -1
  40. package/docs/de/intlayer_with_storybook.md +2 -5
  41. package/docs/de/intlayer_with_svelte_kit.md +9 -5
  42. package/docs/de/intlayer_with_vite+lit.md +747 -0
  43. package/docs/de/intlayer_with_vite+react.md +16 -4
  44. package/docs/de/intlayer_with_vite+solid.md +1 -1
  45. package/docs/de/intlayer_with_vite+svelte.md +19 -6
  46. package/docs/de/intlayer_with_vite+vanilla.md +722 -0
  47. package/docs/de/intlayer_with_vite+vue.md +21 -5
  48. package/docs/de/packages/react-intlayer/MarkdownRenderer.md +1 -1
  49. package/docs/de/packages/svelte-intlayer/useRewriteURL.md +1 -1
  50. package/docs/de/releases/v8.md +27 -27
  51. package/docs/en/compiler.md +4 -1
  52. package/docs/en/configuration.md +4 -1
  53. package/docs/en/dictionary/html.md +146 -24
  54. package/docs/en/dictionary/markdown.md +143 -21
  55. package/docs/en/intlayer_with_analog.md +3 -14
  56. package/docs/en/intlayer_with_angular.md +1 -12
  57. package/docs/en/intlayer_with_nextjs_14.md +1 -1
  58. package/docs/en/intlayer_with_nextjs_16.md +12 -3
  59. package/docs/en/intlayer_with_nextjs_compiler.md +16 -4
  60. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  61. package/docs/en/intlayer_with_react_router_v7.md +17 -4
  62. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +18 -4
  63. package/docs/en/intlayer_with_storybook.md +2 -5
  64. package/docs/en/intlayer_with_svelte_kit.md +21 -8
  65. package/docs/en/intlayer_with_tanstack.md +12 -3
  66. package/docs/en/intlayer_with_vite+lit.md +750 -0
  67. package/docs/en/intlayer_with_vite+preact.md +31 -3
  68. package/docs/en/intlayer_with_vite+react.md +28 -7
  69. package/docs/en/intlayer_with_vite+react_compiler.md +4 -1
  70. package/docs/en/intlayer_with_vite+solid.md +31 -3
  71. package/docs/en/intlayer_with_vite+svelte.md +30 -9
  72. package/docs/en/intlayer_with_vite+vanilla.md +725 -0
  73. package/docs/en/intlayer_with_vite+vue.md +28 -7
  74. package/docs/en/packages/react-intlayer/MarkdownRenderer.md +1 -1
  75. package/docs/en/packages/svelte-intlayer/useRewriteURL.md +1 -1
  76. package/docs/en/readme.md +1 -0
  77. package/docs/en/releases/v8.md +27 -27
  78. package/docs/en-GB/compiler.md +4 -1
  79. package/docs/en-GB/configuration.md +4 -1
  80. package/docs/en-GB/dictionary/html.md +22 -22
  81. package/docs/en-GB/dictionary/markdown.md +18 -18
  82. package/docs/en-GB/intlayer_with_analog.md +2 -13
  83. package/docs/en-GB/intlayer_with_angular.md +1 -12
  84. package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
  85. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  86. package/docs/en-GB/intlayer_with_react_router_v7.md +6 -1
  87. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +6 -1
  88. package/docs/en-GB/intlayer_with_storybook.md +2 -5
  89. package/docs/en-GB/intlayer_with_svelte_kit.md +9 -5
  90. package/docs/en-GB/intlayer_with_vite+lit.md +750 -0
  91. package/docs/en-GB/intlayer_with_vite+react.md +15 -3
  92. package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
  93. package/docs/en-GB/intlayer_with_vite+svelte.md +17 -5
  94. package/docs/en-GB/intlayer_with_vite+vanilla.md +725 -0
  95. package/docs/en-GB/intlayer_with_vite+vue.md +16 -4
  96. package/docs/en-GB/packages/react-intlayer/MarkdownRenderer.md +1 -1
  97. package/docs/en-GB/packages/svelte-intlayer/useRewriteURL.md +1 -1
  98. package/docs/en-GB/releases/v8.md +27 -27
  99. package/docs/es/dictionary/html.md +147 -25
  100. package/docs/es/dictionary/markdown.md +143 -25
  101. package/docs/es/intlayer_with_analog.md +2 -13
  102. package/docs/es/intlayer_with_angular.md +1 -12
  103. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  104. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  105. package/docs/es/intlayer_with_react_router_v7.md +6 -1
  106. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +6 -1
  107. package/docs/es/intlayer_with_storybook.md +2 -5
  108. package/docs/es/intlayer_with_svelte_kit.md +9 -5
  109. package/docs/es/intlayer_with_vite+lit.md +747 -0
  110. package/docs/es/intlayer_with_vite+react.md +16 -4
  111. package/docs/es/intlayer_with_vite+solid.md +1 -1
  112. package/docs/es/intlayer_with_vite+svelte.md +16 -6
  113. package/docs/es/intlayer_with_vite+vanilla.md +722 -0
  114. package/docs/es/intlayer_with_vite+vue.md +21 -5
  115. package/docs/es/packages/react-intlayer/MarkdownRenderer.md +1 -1
  116. package/docs/es/packages/svelte-intlayer/useRewriteURL.md +1 -1
  117. package/docs/es/releases/v8.md +27 -27
  118. package/docs/fr/dictionary/html.md +146 -24
  119. package/docs/fr/dictionary/markdown.md +143 -25
  120. package/docs/fr/intlayer_with_analog.md +2 -13
  121. package/docs/fr/intlayer_with_angular.md +1 -12
  122. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  123. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  124. package/docs/fr/intlayer_with_react_router_v7.md +6 -1
  125. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +6 -1
  126. package/docs/fr/intlayer_with_storybook.md +2 -5
  127. package/docs/fr/intlayer_with_svelte_kit.md +9 -5
  128. package/docs/fr/intlayer_with_vite+lit.md +747 -0
  129. package/docs/fr/intlayer_with_vite+react.md +16 -4
  130. package/docs/fr/intlayer_with_vite+solid.md +1 -1
  131. package/docs/fr/intlayer_with_vite+svelte.md +19 -6
  132. package/docs/fr/intlayer_with_vite+vanilla.md +722 -0
  133. package/docs/fr/intlayer_with_vite+vue.md +21 -5
  134. package/docs/fr/packages/react-intlayer/MarkdownRenderer.md +1 -1
  135. package/docs/fr/packages/svelte-intlayer/useRewriteURL.md +1 -1
  136. package/docs/fr/releases/v8.md +27 -27
  137. package/docs/hi/dictionary/html.md +22 -22
  138. package/docs/hi/dictionary/markdown.md +18 -18
  139. package/docs/hi/intlayer_with_analog.md +2 -13
  140. package/docs/hi/intlayer_with_angular.md +1 -12
  141. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  142. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  143. package/docs/hi/intlayer_with_react_router_v7.md +6 -1
  144. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +6 -1
  145. package/docs/hi/intlayer_with_storybook.md +2 -5
  146. package/docs/hi/intlayer_with_svelte_kit.md +9 -5
  147. package/docs/hi/intlayer_with_vite+lit.md +738 -0
  148. package/docs/hi/intlayer_with_vite+react.md +16 -4
  149. package/docs/hi/intlayer_with_vite+solid.md +1 -1
  150. package/docs/hi/intlayer_with_vite+svelte.md +13 -6
  151. package/docs/hi/intlayer_with_vite+vanilla.md +722 -0
  152. package/docs/hi/intlayer_with_vite+vue.md +21 -5
  153. package/docs/hi/packages/react-intlayer/MarkdownRenderer.md +1 -1
  154. package/docs/hi/packages/svelte-intlayer/useRewriteURL.md +1 -1
  155. package/docs/hi/releases/v8.md +27 -27
  156. package/docs/id/dictionary/html.md +22 -22
  157. package/docs/id/dictionary/markdown.md +18 -18
  158. package/docs/id/intlayer_with_analog.md +2 -13
  159. package/docs/id/intlayer_with_angular.md +1 -12
  160. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  161. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  162. package/docs/id/intlayer_with_react_router_v7.md +6 -1
  163. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +6 -1
  164. package/docs/id/intlayer_with_storybook.md +2 -5
  165. package/docs/id/intlayer_with_svelte_kit.md +9 -5
  166. package/docs/id/intlayer_with_vite+lit.md +738 -0
  167. package/docs/id/intlayer_with_vite+react.md +16 -4
  168. package/docs/id/intlayer_with_vite+solid.md +1 -1
  169. package/docs/id/intlayer_with_vite+svelte.md +13 -6
  170. package/docs/id/intlayer_with_vite+vanilla.md +722 -0
  171. package/docs/id/intlayer_with_vite+vue.md +16 -4
  172. package/docs/id/packages/react-intlayer/MarkdownRenderer.md +1 -1
  173. package/docs/id/packages/svelte-intlayer/useRewriteURL.md +1 -1
  174. package/docs/id/releases/v8.md +27 -27
  175. package/docs/it/dictionary/html.md +146 -24
  176. package/docs/it/dictionary/markdown.md +143 -21
  177. package/docs/it/intlayer_with_analog.md +2 -13
  178. package/docs/it/intlayer_with_angular.md +1 -12
  179. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  180. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  181. package/docs/it/intlayer_with_react_router_v7.md +6 -1
  182. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +6 -1
  183. package/docs/it/intlayer_with_storybook.md +2 -5
  184. package/docs/it/intlayer_with_svelte_kit.md +9 -5
  185. package/docs/it/intlayer_with_vite+lit.md +747 -0
  186. package/docs/it/intlayer_with_vite+react.md +16 -4
  187. package/docs/it/intlayer_with_vite+solid.md +1 -1
  188. package/docs/it/intlayer_with_vite+svelte.md +13 -6
  189. package/docs/it/intlayer_with_vite+vanilla.md +722 -0
  190. package/docs/it/intlayer_with_vite+vue.md +21 -5
  191. package/docs/it/packages/react-intlayer/MarkdownRenderer.md +1 -1
  192. package/docs/it/packages/svelte-intlayer/useRewriteURL.md +1 -1
  193. package/docs/it/releases/v8.md +27 -27
  194. package/docs/ja/dictionary/html.md +148 -27
  195. package/docs/ja/dictionary/markdown.md +139 -24
  196. package/docs/ja/intlayer_with_analog.md +2 -13
  197. package/docs/ja/intlayer_with_angular.md +1 -12
  198. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  199. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  200. package/docs/ja/intlayer_with_react_router_v7.md +6 -1
  201. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +6 -1
  202. package/docs/ja/intlayer_with_storybook.md +2 -5
  203. package/docs/ja/intlayer_with_vite+lit.md +747 -0
  204. package/docs/ja/intlayer_with_vite+solid.md +1 -1
  205. package/docs/ja/intlayer_with_vite+svelte.md +13 -6
  206. package/docs/ja/intlayer_with_vite+vanilla.md +722 -0
  207. package/docs/ja/intlayer_with_vite+vue.md +21 -5
  208. package/docs/ja/packages/react-intlayer/MarkdownRenderer.md +1 -1
  209. package/docs/ja/packages/svelte-intlayer/useRewriteURL.md +1 -1
  210. package/docs/ja/releases/v8.md +27 -27
  211. package/docs/ko/dictionary/html.md +149 -28
  212. package/docs/ko/dictionary/markdown.md +143 -25
  213. package/docs/ko/intlayer_with_analog.md +2 -13
  214. package/docs/ko/intlayer_with_angular.md +1 -12
  215. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  216. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  217. package/docs/ko/intlayer_with_react_router_v7.md +6 -1
  218. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +6 -1
  219. package/docs/ko/intlayer_with_storybook.md +2 -5
  220. package/docs/ko/intlayer_with_svelte_kit.md +9 -5
  221. package/docs/ko/intlayer_with_vite+lit.md +747 -0
  222. package/docs/ko/intlayer_with_vite+react.md +16 -4
  223. package/docs/ko/intlayer_with_vite+solid.md +1 -1
  224. package/docs/ko/intlayer_with_vite+svelte.md +13 -6
  225. package/docs/ko/intlayer_with_vite+vanilla.md +722 -0
  226. package/docs/ko/intlayer_with_vite+vue.md +21 -5
  227. package/docs/ko/packages/react-intlayer/MarkdownRenderer.md +1 -1
  228. package/docs/ko/packages/svelte-intlayer/useRewriteURL.md +1 -1
  229. package/docs/ko/releases/v8.md +27 -27
  230. package/docs/nl/intlayer_with_storybook.md +2 -5
  231. package/docs/nl/intlayer_with_vite+lit.md +738 -0
  232. package/docs/nl/intlayer_with_vite+vanilla.md +722 -0
  233. package/docs/pl/dictionary/html.md +146 -24
  234. package/docs/pl/dictionary/markdown.md +143 -25
  235. package/docs/pl/intlayer_with_analog.md +2 -13
  236. package/docs/pl/intlayer_with_angular.md +1 -12
  237. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  238. package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
  239. package/docs/pl/intlayer_with_react_router_v7.md +6 -1
  240. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +6 -1
  241. package/docs/pl/intlayer_with_storybook.md +2 -5
  242. package/docs/pl/intlayer_with_svelte_kit.md +9 -5
  243. package/docs/pl/intlayer_with_vite+lit.md +738 -0
  244. package/docs/pl/intlayer_with_vite+react.md +16 -4
  245. package/docs/pl/intlayer_with_vite+solid.md +1 -1
  246. package/docs/pl/intlayer_with_vite+svelte.md +13 -6
  247. package/docs/pl/intlayer_with_vite+vanilla.md +722 -0
  248. package/docs/pl/intlayer_with_vite+vue.md +16 -4
  249. package/docs/pl/packages/react-intlayer/MarkdownRenderer.md +1 -1
  250. package/docs/pl/packages/svelte-intlayer/useRewriteURL.md +1 -1
  251. package/docs/pl/releases/v8.md +27 -27
  252. package/docs/pt/dictionary/html.md +127 -24
  253. package/docs/pt/dictionary/markdown.md +143 -25
  254. package/docs/pt/intlayer_with_analog.md +2 -13
  255. package/docs/pt/intlayer_with_angular.md +1 -12
  256. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  257. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  258. package/docs/pt/intlayer_with_react_router_v7.md +6 -1
  259. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +6 -1
  260. package/docs/pt/intlayer_with_storybook.md +2 -5
  261. package/docs/pt/intlayer_with_svelte_kit.md +9 -5
  262. package/docs/pt/intlayer_with_vite+lit.md +747 -0
  263. package/docs/pt/intlayer_with_vite+react.md +16 -4
  264. package/docs/pt/intlayer_with_vite+solid.md +1 -1
  265. package/docs/pt/intlayer_with_vite+svelte.md +16 -6
  266. package/docs/pt/intlayer_with_vite+vanilla.md +722 -0
  267. package/docs/pt/intlayer_with_vite+vue.md +21 -5
  268. package/docs/pt/packages/react-intlayer/MarkdownRenderer.md +1 -1
  269. package/docs/pt/packages/svelte-intlayer/useRewriteURL.md +1 -1
  270. package/docs/pt/releases/v8.md +27 -27
  271. package/docs/ru/dictionary/html.md +148 -27
  272. package/docs/ru/dictionary/markdown.md +143 -23
  273. package/docs/ru/intlayer_with_analog.md +2 -13
  274. package/docs/ru/intlayer_with_angular.md +1 -12
  275. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  276. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  277. package/docs/ru/intlayer_with_react_router_v7.md +6 -1
  278. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +6 -1
  279. package/docs/ru/intlayer_with_storybook.md +2 -5
  280. package/docs/ru/intlayer_with_svelte_kit.md +9 -5
  281. package/docs/ru/intlayer_with_vite+lit.md +747 -0
  282. package/docs/ru/intlayer_with_vite+react.md +16 -4
  283. package/docs/ru/intlayer_with_vite+solid.md +1 -1
  284. package/docs/ru/intlayer_with_vite+svelte.md +13 -6
  285. package/docs/ru/intlayer_with_vite+vanilla.md +722 -0
  286. package/docs/ru/intlayer_with_vite+vue.md +21 -5
  287. package/docs/ru/packages/react-intlayer/MarkdownRenderer.md +1 -1
  288. package/docs/ru/packages/svelte-intlayer/useRewriteURL.md +1 -1
  289. package/docs/ru/releases/v8.md +27 -27
  290. package/docs/tr/dictionary/html.md +129 -27
  291. package/docs/tr/dictionary/markdown.md +143 -23
  292. package/docs/tr/intlayer_with_analog.md +2 -13
  293. package/docs/tr/intlayer_with_angular.md +1 -12
  294. package/docs/tr/intlayer_with_nextjs_14.md +1 -1
  295. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  296. package/docs/tr/intlayer_with_react_router_v7.md +6 -1
  297. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +6 -1
  298. package/docs/tr/intlayer_with_storybook.md +2 -5
  299. package/docs/tr/intlayer_with_svelte_kit.md +9 -5
  300. package/docs/tr/intlayer_with_vite+lit.md +738 -0
  301. package/docs/tr/intlayer_with_vite+react.md +16 -4
  302. package/docs/tr/intlayer_with_vite+solid.md +1 -1
  303. package/docs/tr/intlayer_with_vite+svelte.md +13 -6
  304. package/docs/tr/intlayer_with_vite+vanilla.md +722 -0
  305. package/docs/tr/intlayer_with_vite+vue.md +16 -4
  306. package/docs/tr/packages/react-intlayer/MarkdownRenderer.md +1 -1
  307. package/docs/tr/packages/svelte-intlayer/useRewriteURL.md +1 -1
  308. package/docs/tr/releases/v8.md +27 -27
  309. package/docs/uk/dictionary/html.md +22 -22
  310. package/docs/uk/dictionary/markdown.md +18 -18
  311. package/docs/uk/intlayer_with_analog.md +2 -13
  312. package/docs/uk/intlayer_with_angular.md +1 -12
  313. package/docs/uk/intlayer_with_nextjs_14.md +1 -1
  314. package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
  315. package/docs/uk/intlayer_with_react_router_v7.md +5 -1
  316. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +6 -1
  317. package/docs/uk/intlayer_with_storybook.md +2 -5
  318. package/docs/uk/intlayer_with_svelte_kit.md +9 -5
  319. package/docs/uk/intlayer_with_vite+lit.md +738 -0
  320. package/docs/uk/intlayer_with_vite+react.md +16 -4
  321. package/docs/uk/intlayer_with_vite+solid.md +1 -1
  322. package/docs/uk/intlayer_with_vite+svelte.md +18 -6
  323. package/docs/uk/intlayer_with_vite+vanilla.md +722 -0
  324. package/docs/uk/intlayer_with_vite+vue.md +16 -4
  325. package/docs/uk/packages/react-intlayer/MarkdownRenderer.md +1 -1
  326. package/docs/uk/packages/svelte-intlayer/useRewriteURL.md +1 -1
  327. package/docs/uk/releases/v8.md +27 -27
  328. package/docs/ur/intlayer_with_storybook.md +2 -5
  329. package/docs/ur/intlayer_with_vite+lit.md +738 -0
  330. package/docs/ur/intlayer_with_vite+vanilla.md +722 -0
  331. package/docs/vi/dictionary/html.md +22 -22
  332. package/docs/vi/dictionary/markdown.md +18 -18
  333. package/docs/vi/intlayer_with_analog.md +2 -13
  334. package/docs/vi/intlayer_with_angular.md +1 -12
  335. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  336. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  337. package/docs/vi/intlayer_with_react_router_v7.md +6 -1
  338. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +6 -1
  339. package/docs/vi/intlayer_with_storybook.md +2 -5
  340. package/docs/vi/intlayer_with_svelte_kit.md +9 -5
  341. package/docs/vi/intlayer_with_vite+lit.md +738 -0
  342. package/docs/vi/intlayer_with_vite+react.md +16 -4
  343. package/docs/vi/intlayer_with_vite+solid.md +1 -1
  344. package/docs/vi/intlayer_with_vite+svelte.md +17 -5
  345. package/docs/vi/intlayer_with_vite+vanilla.md +722 -0
  346. package/docs/vi/intlayer_with_vite+vue.md +16 -4
  347. package/docs/vi/packages/react-intlayer/MarkdownRenderer.md +1 -1
  348. package/docs/vi/packages/svelte-intlayer/useRewriteURL.md +1 -1
  349. package/docs/vi/releases/v8.md +27 -27
  350. package/docs/zh/dictionary/html.md +148 -27
  351. package/docs/zh/dictionary/markdown.md +143 -21
  352. package/docs/zh/intlayer_with_analog.md +2 -13
  353. package/docs/zh/intlayer_with_angular.md +1 -12
  354. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  355. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  356. package/docs/zh/intlayer_with_react_router_v7.md +6 -1
  357. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +6 -1
  358. package/docs/zh/intlayer_with_storybook.md +2 -5
  359. package/docs/zh/intlayer_with_svelte_kit.md +9 -5
  360. package/docs/zh/intlayer_with_vite+lit.md +747 -0
  361. package/docs/zh/intlayer_with_vite+react.md +16 -4
  362. package/docs/zh/intlayer_with_vite+solid.md +1 -1
  363. package/docs/zh/intlayer_with_vite+svelte.md +16 -6
  364. package/docs/zh/intlayer_with_vite+vanilla.md +722 -0
  365. package/docs/zh/intlayer_with_vite+vue.md +16 -4
  366. package/docs/zh/packages/react-intlayer/MarkdownRenderer.md +1 -1
  367. package/docs/zh/packages/svelte-intlayer/useRewriteURL.md +1 -1
  368. package/docs/zh/releases/v8.md +27 -27
  369. package/package.json +6 -6
  370. package/src/generated/docs.entry.ts +40 -0
@@ -0,0 +1,738 @@
1
+ ---
2
+ createdAt: 2026-03-23
3
+ updatedAt: 2026-03-23
4
+ title: i18n Vite + Lit - كيفية ترجمة تطبيق Lit في عام 2026
5
+ description: اكتشف كيفية جعل موقع الويب الخاص بك والمبني باستخدام Vite و Lit متعدد اللغات. اتبع التوثيق لتدويله (i18n) وترجمته.
6
+ keywords:
7
+ - تدويل
8
+ - توثيق
9
+ - Intlayer
10
+ - Vite
11
+ - Lit
12
+ - مكونات الويب
13
+ - جافا سكريبت
14
+ slugs:
15
+ - doc
16
+ - environment
17
+ - vite-and-lit
18
+ applicationTemplate: https://github.com/aymericzip/intlayer-vite-lit-template
19
+ history:
20
+ - version: 8.4.10
21
+ date: 2026-03-23
22
+ changes: "Init history"
23
+ ---
24
+
25
+ # ترجمة موقع الويب الخاص بك المبني بـ Vite و Lit باستخدام Intlayer | التدويل (i18n)
26
+
27
+ ## جدول المحتويات
28
+
29
+ <TOC/>
30
+
31
+ ## ما هو Intlayer؟
32
+
33
+ **Intlayer** هي مكتبة تدويل (i18n) مبتكرة ومفتوحة المصدر مصممة لتبسيط دعم اللغات المتعددة في تطبيقات الويب الحديثة.
34
+
35
+ باستخدام Intlayer، يمكنك:
36
+
37
+ - **إدارة الترجمات بسهولة** باستخدام قواميس تعريفية على مستوى المكونات.
38
+ - **توطين البيانات الوصفية والمسارات والمحتوى ديناميكيًا**.
39
+ - **ضمان دعم TypeScript** مع أنواع يتم إنشاؤها تلقائيًا، مما يحسن الإكمال التلقائي واكتشاف الأخطاء.
40
+ - **الاستفادة من الميزات المتقدمة**، مثل الاكتشاف الديناميكي للغة والتبديل بينها.
41
+
42
+ ---
43
+
44
+ ## دليل خطوة بخطوة لإعداد Intlayer في تطبيق Vite و Lit
45
+
46
+ ### الخطوة 1: تثبيت التبعيات
47
+
48
+ قم بتثبيت الحزم اللازمة باستخدام npm:
49
+
50
+ ```bash packageManager="npm"
51
+ npm install intlayer lit-intlayer
52
+ npm install vite-intlayer --save-dev
53
+ npx intlayer init
54
+ ```
55
+
56
+ ```bash packageManager="pnpm"
57
+ pnpm add intlayer lit-intlayer
58
+ pnpm add vite-intlayer --save-dev
59
+ pnpm intlayer init
60
+ ```
61
+
62
+ ```bash packageManager="yarn"
63
+ yarn add intlayer lit-intlayer
64
+ yarn add vite-intlayer --save-dev
65
+ yarn intlayer init
66
+ ```
67
+
68
+ ```bash packageManager="bun"
69
+ bun add intlayer lit-intlayer
70
+ bun add vite-intlayer --dev
71
+ bunx intlayer init
72
+ ```
73
+
74
+ - **intlayer**
75
+
76
+ الحزمة الأساسية التي توفر أدوات التدويل لإدارة التكوين والترجمة و[إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md) والتحويل وتصريف [أوامر CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/index.md).
77
+
78
+ - **lit-intlayer**
79
+ الحزمة التي تدمج Intlayer مع تطبيقات Lit. توفر خطافات (hooks) تعتمد على `ReactiveController` مثل (`useIntlayer` و `useLocale` وما إلى ذلك) بحيث يتم إعادة صيرورة عناصر Lit تلقائيًا عند تغيير اللغة.
80
+
81
+ - **vite-intlayer**
82
+ تتضمن إضافة Vite لدمج Intlayer مع [أداة حزم Vite](https://vite.dev/guide/why.html#why-bundle-for-production)، كمال توفر برمجيات وسيطة لاكتشاف اللغة المفضلة للمستخدم، وإدارة ملفات تعريف الارتباط، والتعامل مع إعادة توجيه عناوين URL.
83
+
84
+ ### الخطوة 2: تكوين مشروعك
85
+
86
+ أنشئ ملف تكوين لتكوين لغات تطبيقك:
87
+
88
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
89
+ import { Locales, type IntlayerConfig } from "intlayer";
90
+
91
+ const config: IntlayerConfig = {
92
+ internationalization: {
93
+ locales: [
94
+ Locales.ENGLISH,
95
+ Locales.FRENCH,
96
+ Locales.SPANISH,
97
+ // لغاتك الأخرى
98
+ ],
99
+ defaultLocale: Locales.ENGLISH,
100
+ },
101
+ };
102
+
103
+ export default config;
104
+ ```
105
+
106
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
107
+ import { Locales } from "intlayer";
108
+
109
+ /** @type {import('intlayer').IntlayerConfig} */
110
+ const config = {
111
+ internationalization: {
112
+ locales: [
113
+ Locales.ENGLISH,
114
+ Locales.FRENCH,
115
+ Locales.SPANISH,
116
+ // لغاتك الأخرى
117
+ ],
118
+ defaultLocale: Locales.ENGLISH,
119
+ },
120
+ };
121
+
122
+ export default config;
123
+ ```
124
+
125
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
126
+ const { Locales } = require("intlayer");
127
+
128
+ /** @type {import('intlayer').IntlayerConfig} */
129
+ const config = {
130
+ internationalization: {
131
+ locales: [
132
+ Locales.ENGLISH,
133
+ Locales.FRENCH,
134
+ Locales.SPANISH,
135
+ // لغاتك الأخرى
136
+ ],
137
+ defaultLocale: Locales.ENGLISH,
138
+ },
139
+ };
140
+
141
+ module.exports = config;
142
+ ```
143
+
144
+ > من خلال ملف التكوين هذا، يمكنك إعداد عناوين URL الموطنة، وإعادة توجيه البرمجيات الوسيطة، وأسماء ملفات تعريف الارتباط، وموقع وامتداد إعلانات المحتوى الخاصة بك، وتعطيل سجلات Intlayer في وحدة التحكم، والمزيد. للحصول على قائمة كاملة بالمعلمات المتاحة، ارجع إلى [توثيق التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md).
145
+
146
+ ### الخطوة 3: دمج Intlayer في تكوين Vite الخاص بك
147
+
148
+ أضف إضافة intlayer في التكوين الخاص بك.
149
+
150
+ ```typescript fileName="vite.config.ts" codeFormat="typescript"
151
+ import { defineConfig } from "vite";
152
+ import { intlayer } from "vite-intlayer";
153
+
154
+ // https://vitejs.dev/config/
155
+ export default defineConfig({
156
+ plugins: [intlayer()],
157
+ });
158
+ ```
159
+
160
+ ```javascript fileName="vite.config.mjs" codeFormat="esm"
161
+ import { defineConfig } from "vite";
162
+ import { intlayer } from "vite-intlayer";
163
+
164
+ // https://vitejs.dev/config/
165
+ export default defineConfig({
166
+ plugins: [intlayer()],
167
+ });
168
+ ```
169
+
170
+ ```javascript fileName="vite.config.cjs" codeFormat="commonjs"
171
+ const { defineConfig } = require("vite");
172
+ const { intlayer } = require("vite-intlayer");
173
+
174
+ // https://vitejs.dev/config/
175
+ module.exports = defineConfig({
176
+ plugins: [intlayer()],
177
+ });
178
+ ```
179
+
180
+ > تُستخدم إضافة `intlayer()` لـ Vite لدمج Intlayer مع Vite. تضمن بناء ملفات إعلان المحتوى ومراقبتها في وضع التطوير. كما تحدد متغيرات بيئة Intlayer داخل تطبيق Vite. بالإضافة إلى ذلك، توفر أسماء مستعارة لتحسين الأداء.
181
+
182
+ ### الخطوة 4: تشغيل Intlayer في نقطة الإدخال الخاصة بك
183
+
184
+ استدعِ `installIntlayer()` **قبل** تسجيل أي عناصر مخصصة بحيث يكون الكائن المنفرد للغة العالمية جاهزًا عند اتصال العنصر الأول.
185
+
186
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
187
+ import { installIntlayer } from "lit-intlayer";
188
+
189
+ // يجب استدعاؤه قبل توصيل أي عنصر LitElement بـ DOM.
190
+ installIntlayer();
191
+
192
+ // استيراد وتسجيل العناصر المخصصة الخاصة بك.
193
+ import "./my-element.js";
194
+ ```
195
+
196
+ إذا كنت تستخدم أيضًا إعلانات محتوى `md()` (Markdown)، فقم بتثبيت عارض markdown أيضًا:
197
+
198
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
199
+ import { installIntlayer, installIntlayerMarkdown } from "lit-intlayer";
200
+
201
+ installIntlayer();
202
+ installIntlayerMarkdown();
203
+
204
+ import "./my-element.js";
205
+ ```
206
+
207
+ ### الخطوة 5: إعلان المحتوى الخاص بك
208
+
209
+ قم بإنشاء وإدارة إعلانات المحتوى الخاصة بك لتخزين الترجمات:
210
+
211
+ ```typescript fileName="src/app.content.ts" contentDeclarationFormat="typescript"
212
+ import { t, type Dictionary } from "intlayer";
213
+
214
+ const appContent = {
215
+ key: "app",
216
+ content: {
217
+ title: "Vite + Lit",
218
+
219
+ viteLogo: t({
220
+ en: "Vite logo",
221
+ fr: "Logo Vite",
222
+ es: "Logo Vite",
223
+ }),
224
+ litLogo: t({
225
+ en: "Lit logo",
226
+ fr: "Logo Lit",
227
+ es: "Logo Lit",
228
+ }),
229
+
230
+ count: t({
231
+ en: "count is {{count}}",
232
+ fr: "le compte est {{count}}",
233
+ es: "el recuento es {{count}}",
234
+ }),
235
+
236
+ readTheDocs: t({
237
+ en: "Click on the Vite and Lit logos to learn more",
238
+ fr: "Cliquez sur les logos Vite et Lit pour en savoir plus",
239
+ es: "Haga clic en los logotipos de Vite y Lit para obtener más información",
240
+ }),
241
+ },
242
+ } satisfies Dictionary;
243
+
244
+ export default appContent;
245
+ ```
246
+
247
+ ```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
248
+ import { t } from "intlayer";
249
+
250
+ /** @type {import('intlayer').Dictionary} */
251
+ const appContent = {
252
+ key: "app",
253
+ content: {
254
+ title: "Vite + Lit",
255
+
256
+ viteLogo: t({
257
+ en: "Vite logo",
258
+ fr: "Logo Vite",
259
+ es: "Logo Vite",
260
+ }),
261
+ litLogo: t({
262
+ en: "Lit logo",
263
+ fr: "Logo Lit",
264
+ es: "Logo Lit",
265
+ }),
266
+
267
+ count: t({
268
+ en: "count is {{count}}",
269
+ fr: "le compte est {{count}}",
270
+ es: "el recuento es {{count}}",
271
+ }),
272
+
273
+ readTheDocs: t({
274
+ en: "Click on the Vite and Lit logos to learn more",
275
+ fr: "Cliquez sur les logos Vite et Lit pour en savoir plus",
276
+ es: "Haga clic en los logotipos de Vite y Lit para obtener más información",
277
+ }),
278
+ },
279
+ };
280
+
281
+ export default appContent;
282
+ ```
283
+
284
+ ```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
285
+ const { t } = require("intlayer");
286
+
287
+ /** @type {import('intlayer').Dictionary} */
288
+ const appContent = {
289
+ key: "app",
290
+ content: {
291
+ title: "Vite + Lit",
292
+
293
+ viteLogo: t({
294
+ en: "Vite logo",
295
+ fr: "Logo Vite",
296
+ es: "Logo Vite",
297
+ }),
298
+ litLogo: t({
299
+ en: "Lit logo",
300
+ fr: "Logo Lit",
301
+ es: "Logo Lit",
302
+ }),
303
+
304
+ count: t({
305
+ en: "count is {{count}}",
306
+ fr: "le compte est {{count}}",
307
+ es: "el recuento es {{count}}",
308
+ }),
309
+
310
+ readTheDocs: t({
311
+ en: "Click on the Vite and Lit logos to learn more",
312
+ fr: "Cliquez sur les logos Vite et Lit pour en savoir plus",
313
+ es: "Haga clic en los logotipos de Vite y Lit para obtener más información",
314
+ }),
315
+ },
316
+ };
317
+
318
+ module.exports = appContent;
319
+ ```
320
+
321
+ ```json fileName="src/app.content.json" contentDeclarationFormat="json"
322
+ {
323
+ "$schema": "https://intlayer.org/schema.json",
324
+ "key": "app",
325
+ "content": {
326
+ "title": "Vite + Lit",
327
+ "viteLogo": {
328
+ "nodeType": "translation",
329
+ "translation": {
330
+ "en": "Vite logo",
331
+ "fr": "Logo Vite",
332
+ "es": "Logo Vite"
333
+ }
334
+ },
335
+ "litLogo": {
336
+ "nodeType": "translation",
337
+ "translation": {
338
+ "en": "Lit logo",
339
+ "fr": "Logo Lit",
340
+ "es": "Logo Lit"
341
+ }
342
+ },
343
+ "count": {
344
+ "nodeType": "translation",
345
+ "translation": {
346
+ "en": "count is {{count}}",
347
+ "fr": "le compte est {{count}}",
348
+ "es": "el recuento es {{count}}"
349
+ }
350
+ },
351
+ "readTheDocs": {
352
+ "nodeType": "translation",
353
+ "translation": {
354
+ "en": "Click on the Vite and Lit logos to learn more",
355
+ "fr": "Cliquez sur les logos Vite et Lit pour en savoir plus",
356
+ "es": "Haga clic en los logotipos de Vite y Lit para obtener más información"
357
+ }
358
+ }
359
+ }
360
+ }
361
+ ```
362
+
363
+ > يمكن تعريف إعلانات المحتوى الخاصة بك في أي مكان في تطبيقك طالما أنها مضمنة في دليل `contentDir` (افتراضيًا، `./src`). وتطابق امتداد ملف إعلان المحتوى (افتراضيًا، `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
364
+ >
365
+ > لمزيد من التفاصيل، ارجع إلى [توثيق إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md).
366
+
367
+ ### الخطوة 6: استخدام Intlayer في LitElement الخاص بك
368
+
369
+ استخدم `useIntlayer` داخل `LitElement`. يقوم بإرجاع وكيل `ReactiveController` يقوم تلقائيًا بإعادة الصيرورة كلما تغيرت اللغة النشطة - لا يلزم إعداد إضافي.
370
+
371
+ ```typescript fileName="src/my-element.ts" codeFormat="typescript"
372
+ import { LitElement, html } from "lit";
373
+ import { customElement, property } from "lit/decorators.js";
374
+ import { useIntlayer } from "lit-intlayer";
375
+
376
+ @customElement("my-element")
377
+ export class MyElement extends LitElement {
378
+ @property({ type: Number })
379
+ count = 0;
380
+
381
+ // يقوم useIntlayer بتسجيل نفسه كـ ReactiveController.
382
+ // يتم إعادة صيرورة العنصر تلقائيًا عند تغيير اللغة.
383
+ private content = useIntlayer(this, "app");
384
+
385
+ override render() {
386
+ const { content } = this;
387
+
388
+ return html`
389
+ <h1>${content.title}</h1>
390
+
391
+ <img src="/vite.svg" alt=${content.viteLogo.value} />
392
+ <img src="/lit.svg" alt=${content.litLogo.value} />
393
+
394
+ <button @click=${() => this.count++}>
395
+ ${content.count({ count: this.count })}
396
+ </button>
397
+
398
+ <p>${content.readTheDocs}</p>
399
+ `;
400
+ }
401
+ }
402
+ ```
403
+
404
+ > [!NOTE]
405
+ > عندما تحتاج إلى السلسلة المترجمة في سمة HTML أصلية (مثل `alt` أو `aria-label` أو `title`)، استدعِ `.value` على العقدة الطرفية:
406
+ >
407
+ > ```typescript
408
+ > html`<img alt=${content.viteLogo.value} />`;
409
+ > ```
410
+
411
+ ### (اختياري) الخطوة 7: تغيير لغة المحتوى الخاص بك
412
+
413
+ لتغيير لغة المحتوى الخاص بك، استخدم أسلوب `setLocale` الذي يوفره متحكم `useLocale`.
414
+
415
+ ```typescript fileName="src/locale-switcher.ts" codeFormat="typescript"
416
+ import { LitElement, html } from "lit";
417
+ import { customElement } from "lit/decorators.js";
418
+ import { getLocaleName } from "intlayer";
419
+ import { useLocale } from "lit-intlayer";
420
+
421
+ @customElement("locale-switcher")
422
+ export class LocaleSwitcher extends LitElement {
423
+ private locale = useLocale(this);
424
+
425
+ private _onChange(e: Event) {
426
+ const select = e.target as HTMLSelectElement;
427
+ this.locale.setLocale(select.value as any);
428
+ }
429
+
430
+ override render() {
431
+ return html`
432
+ <select @change=${this._onChange}>
433
+ ${this.locale.availableLocales.map(
434
+ (loc) => html`
435
+ <option value=${loc} ?selected=${loc === this.locale.locale}>
436
+ ${getLocaleName(loc)}
437
+ </option>
438
+ `
439
+ )}
440
+ </select>
441
+ `;
442
+ }
443
+ }
444
+ ```
445
+
446
+ ### (اختياري) الخطوة 8: عرض محتوى Markdown و HTML
447
+
448
+ يدعم Intlayer إعلانات محتوى `md()` و `html()`. في Lit، يتم حقن المخرجات المجمعة كـ HTML خام عبر توجيه `unsafeHTML`.
449
+
450
+ ```typescript fileName="src/app.content.ts" contentDeclarationFormat="typescript"
451
+ import { md, t, type Dictionary } from "intlayer";
452
+
453
+ const appContent = {
454
+ key: "app",
455
+ content: {
456
+ // ...
457
+ editNote: md(
458
+ t({
459
+ en: "Edit `src/my-element.ts` and save to test **HMR**",
460
+ fr: "Modifiez `src/my-element.ts` et enregistrez pour tester **HMR**",
461
+ es: "Edite `src/my-element.ts` y guarde para probar **HMR**",
462
+ })
463
+ ),
464
+ },
465
+ } satisfies Dictionary;
466
+
467
+ export default appContent;
468
+ ```
469
+
470
+ قم بعرض HTML المجمع في عنصرك:
471
+
472
+ ```typescript fileName="src/my-element.ts" codeFormat="typescript"
473
+ import { LitElement, html } from "lit";
474
+ import { customElement } from "lit/decorators.js";
475
+ import { unsafeHTML } from "lit/directives/unsafe-html.js";
476
+ import { useIntlayer } from "lit-intlayer";
477
+ import { compileMarkdown } from "lit-intlayer/markdown";
478
+
479
+ @customElement("my-element")
480
+ export class MyElement extends LitElement {
481
+ private content = useIntlayer(this, "app");
482
+
483
+ override render() {
484
+ return html`
485
+ <div class="edit-note">
486
+ ${unsafeHTML(compileMarkdown(String(this.content.editNote)))}
487
+ </div>
488
+ `;
489
+ }
490
+ }
491
+ ```
492
+
493
+ > [!TIP]
494
+ > يستدعي `String(content.editNote)` الدالة `toString()` على `IntlayerNode` التي تعيد سلسلة Markdown الخام. مررها إلى `compileMarkdown` للحصول على سلسلة HTML، ثم قم بالصيرورة باستخدام توجيه `unsafeHTML` الخاص بـ Lit.
495
+
496
+ ### (اختياري) الخطوة 9: إضافة توجيه محلي (Routing) إلى تطبيقك
497
+
498
+ لإنشاء مسارات فريدة لكل لغة (مفيد لـ SEO)، يمكنك استخدام موجه من جانب العميل بجوار أدوات Intlayer المساعدة `localeMap` / `localeFlatMap` وإضافة Vite `intlayerProxy` لاكتشاف اللغة من جانب الخادم.
499
+
500
+ أولاً، أضف `intlayerProxy` إلى تكوين Vite الخاص بك:
501
+
502
+ > لاحظ أنه لاستخدام `intlayerProxy` في الإنتاج، تحتاج إلى نقل `vite-intlayer` من `devDependencies` إلى `dependencies`.
503
+
504
+ ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
505
+ import { defineConfig } from "vite";
506
+ import { intlayer, intlayerProxy } from "vite-intlayer";
507
+
508
+ export default defineConfig({
509
+ plugins: [intlayer(), intlayerProxy()],
510
+ });
511
+ ```
512
+
513
+ ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
514
+ import { defineConfig } from "vite";
515
+ import { intlayer, intlayerProxy } from "vite-intlayer";
516
+
517
+ export default defineConfig({
518
+ plugins: [intlayer(), intlayerProxy()],
519
+ });
520
+ ```
521
+
522
+ ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
523
+ const { defineConfig } = require("vite");
524
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
525
+
526
+ module.exports = defineConfig({
527
+ plugins: [intlayer(), intlayerProxy()],
528
+ });
529
+ ```
530
+
531
+ ### (اختياري) الخطوة 10: تغيير عنوان URL عند تغيير اللغة
532
+
533
+ لتحديث عنوان URL للمتصفح عند تغيير اللغة، استخدم `useRewriteURL` بجانب مبدل اللغة:
534
+
535
+ ```typescript fileName="src/locale-switcher.ts" codeFormat="typescript"
536
+ import { LitElement, html } from "lit";
537
+ import { customElement } from "lit/decorators.js";
538
+ import { getLocaleName, getLocalizedUrl } from "intlayer";
539
+ import { useLocale, useRewriteURL } from "lit-intlayer";
540
+
541
+ @customElement("locale-switcher")
542
+ export class LocaleSwitcher extends LitElement {
543
+ private locale = useLocale(this);
544
+
545
+ // يعيد كتابة عنوان URL الحالي تلقائيًا عند تغيير اللغة.
546
+ private _rewriteURL = useRewriteURL(this);
547
+
548
+ private _onChange(e: Event) {
549
+ const select = e.target as HTMLSelectElement;
550
+ this.locale.setLocale(select.value as any);
551
+ }
552
+
553
+ override render() {
554
+ return html`
555
+ <select @change=${this._onChange}>
556
+ ${this.locale.availableLocales.map(
557
+ (loc) => html`
558
+ <option value=${loc} ?selected=${loc === this.locale.locale}>
559
+ ${getLocaleName(loc)}
560
+ </option>
561
+ `
562
+ )}
563
+ </select>
564
+ `;
565
+ }
566
+ }
567
+ ```
568
+
569
+ ### (اختياري) الخطوة 11: تبديل سمات اللغة والاتجاه في HTML
570
+
571
+ قم بتحديث سمات `lang` و `dir` لعلامة `<html>` لتتوافق مع اللغة الحالية من أجل إمكانية الوصول و SEO.
572
+
573
+ ```typescript fileName="src/my-element.ts" codeFormat="typescript"
574
+ import { LitElement, html } from "lit";
575
+ import { customElement } from "lit/decorators.js";
576
+ import { getHTMLTextDir } from "intlayer";
577
+ import { useLocale } from "lit-intlayer";
578
+
579
+ @customElement("my-element")
580
+ export class MyElement extends LitElement {
581
+ private locale = useLocale(this, {
582
+ onLocaleChange: (loc) => {
583
+ document.documentElement.lang = loc;
584
+ document.documentElement.dir = getHTMLTextDir(loc);
585
+ },
586
+ });
587
+
588
+ override render() {
589
+ return html`<!-- محتواك -->`;
590
+ }
591
+ }
592
+ ```
593
+
594
+ ### (اختياري) الخطوة 12: استخراج محتوى مكوناتك
595
+
596
+ إذا كان لديك كود برمجي موجود، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
597
+
598
+ لتسهيل هذه العملية، تقترح Intlayer استخدام [مجمع (compiler)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرج (extractor)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
599
+
600
+ لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
601
+
602
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
603
+ import { type IntlayerConfig } from "intlayer";
604
+
605
+ const config: IntlayerConfig = {
606
+ // ... بقية التكوين الخاص بك
607
+ compiler: {
608
+ /**
609
+ * يشير إلى ما إذا كان يجب تمكين المجمع.
610
+ */
611
+ enabled: true,
612
+
613
+ /**
614
+ * يحدد مسار ملفات المخرجات
615
+ */
616
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
617
+
618
+ /**
619
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها.
620
+ * بهذه الطريقة، يمكن تشغيل المجمع مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
621
+ */
622
+ saveComponents: false,
623
+
624
+ /**
625
+ * بادئة مفتاح القاموس
626
+ */
627
+ dictionaryKeyPrefix: "",
628
+ },
629
+ };
630
+
631
+ export default config;
632
+ ```
633
+
634
+ <Tabs>
635
+ <Tab value='أمر الاستخراج'>
636
+
637
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
638
+
639
+ ```bash packageManager="npm"
640
+ npx intlayer extract
641
+ ```
642
+
643
+ ```bash packageManager="pnpm"
644
+ pnpm intlayer extract
645
+ ```
646
+
647
+ ```bash packageManager="yarn"
648
+ yarn intlayer extract
649
+ ```
650
+
651
+ ```bash packageManager="bun"
652
+ bunx intlayer extract
653
+ ```
654
+
655
+ </Tab>
656
+ <Tab value='مجمع Babel'>
657
+
658
+ قم بتحديث ملف `vite.config.ts` الخاص بك لتضمين إضافة `intlayerCompiler`:
659
+
660
+ ```ts fileName="vite.config.ts"
661
+ import { defineConfig } from "vite";
662
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
663
+
664
+ export default defineConfig({
665
+ plugins: [
666
+ intlayer(),
667
+ intlayerCompiler(), // يضيف إضافة المجمع
668
+ ],
669
+ });
670
+ ```
671
+
672
+ ```bash packageManager="npm"
673
+ npm run build # أو npm run dev
674
+ ```
675
+
676
+ ```bash packageManager="pnpm"
677
+ pnpm run build # أو pnpm run dev
678
+ ```
679
+
680
+ ```bash packageManager="yarn"
681
+ yarn build # أو yarn dev
682
+ ```
683
+
684
+ ```bash packageManager="bun"
685
+ bun run build # أو bun run dev
686
+ ```
687
+
688
+ </Tab>
689
+ </Tabs>
690
+
691
+ ### تكوين TypeScript
692
+
693
+ تأكد من أن تكوين TypeScript الخاص بك يتضمن الأنواع التي يتم إنشاؤها تلقائيًا.
694
+
695
+ ```json5 fileName="tsconfig.json"
696
+ {
697
+ "compilerOptions": {
698
+ // ...
699
+ "experimentalDecorators": true,
700
+ "useDefineForClassFields": false,
701
+ },
702
+ "include": ["src", ".intlayer/**/*.ts"],
703
+ }
704
+ ```
705
+
706
+ > يتطلب Lit تفعيل `experimentalDecorators` و `useDefineForClassFields: false` لدعم المزخرفات (decorators).
707
+
708
+ ### تكوين Git
709
+
710
+ يوصى بتجاهل الملفات التي تم إنشاؤها بواسطة Intlayer. يتيح لك هذا تجنب دفعها إلى مستودع Git الخاص بك.
711
+
712
+ للقيام بذلك، يمكنك إضافة التعليمات التالية إلى ملف `.gitignore` الخاص بك:
713
+
714
+ ```bash
715
+ # تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer
716
+ .intlayer
717
+ ```
718
+
719
+ ### إضافة VS Code
720
+
721
+ لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **إضافة Intlayer VS Code الرسمية**.
722
+
723
+ [التثبيت من VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
724
+
725
+ توفر هذه الإضافة:
726
+
727
+ - **الإكمال التلقائي** لمفاتيح الترجمة.
728
+ - **اكتشاف الأخطاء في الوقت الفعلي** للترجمات المفقودة.
729
+ - **معاينات مضمنة** للمحتوى المترجم.
730
+ - **إجراءات سريعة** لإنشاء وتحديث الترجمات بسهولة.
731
+
732
+ لمزيد من التفاصيل حول كيفية استخدام الإضافة، ارجع إلى [توثيق إضافة Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
733
+
734
+ ---
735
+
736
+ ### اذهب أبعد من ذلك
737
+
738
+ للذهاب أبعد من ذلك، يمكنك تنفيذ [المحرر المرئي](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_visual_editor.md) أو إضفاء طابع خارجي على محتواك باستخدام [نظام إدارة المحتوى (CMS)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md).