@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,722 @@
1
+ ---
2
+ createdAt: 2026-03-23
3
+ updatedAt: 2026-03-23
4
+ title: i18n Vite + Vanilla JS - Wie man eine Vanilla JS App im Jahr 2026 übersetzt
5
+ description: Entdecken Sie, wie Sie Ihre Vite und Vanilla JS Website mehrsprachig machen. Folgen Sie der Dokumentation zur Internationalisierung (i18n) und Übersetzung.
6
+ keywords:
7
+ - Internationalisierung
8
+ - Dokumentation
9
+ - Intlayer
10
+ - Vite
11
+ - Vanilla JS
12
+ - JavaScript
13
+ - TypeScript
14
+ - HTML
15
+ slugs:
16
+ - doc
17
+ - environment
18
+ - vite-and-vanilla
19
+ applicationTemplate: https://github.com/aymericzip/intlayer-vite-vanilla-template
20
+ history:
21
+ - version: 8.4.10
22
+ date: 2026-03-23
23
+ changes: "Init history"
24
+ ---
25
+
26
+ # Übersetzen Sie Ihre Vite und Vanilla JS Website mit Intlayer | Internationalisierung (i18n)
27
+
28
+ ## Inhaltsverzeichnis
29
+
30
+ <TOC/>
31
+
32
+ ## Was ist Intlayer?
33
+
34
+ **Intlayer** ist eine innovative, quelloffene Internationalisierungsbibliothek (i18n), die entwickelt wurde, um die Unterstützung von Mehrsprachigkeit in modernen Webanwendungen zu vereinfachen.
35
+
36
+ Mit Intlayer können Sie:
37
+
38
+ - **Übersetzungen einfach verwalten** durch deklarative Wörterbücher auf Komponentenebene.
39
+ - **Metadaten, Routen und Inhalte dynamisch lokalisieren**.
40
+ - **TypeScript-Unterstützung sicherstellen** mit automatisch generierten Typen, was die Autovervollständigung und Fehlererkennung verbessert.
41
+ - **Von erweiterten Funktionen profitieren**, wie dynamischer Spracherkennung und -umschaltung.
42
+
43
+ ---
44
+
45
+ ## Schritt-für-Schritt-Anleitung zur Einrichtung von Intlayer in einer Vite und Vanilla JS Anwendung
46
+
47
+ ### Schritt 1: Abhängigkeiten installieren
48
+
49
+ Installieren Sie die notwendigen Pakete mit npm:
50
+
51
+ ```bash packageManager="npm"
52
+ npm install intlayer vanilla-intlayer
53
+ npm install vite-intlayer --save-dev
54
+ npx intlayer init
55
+ ```
56
+
57
+ ```bash packageManager="pnpm"
58
+ pnpm add intlayer vanilla-intlayer
59
+ pnpm add vite-intlayer --save-dev
60
+ pnpm intlayer init
61
+ ```
62
+
63
+ ```bash packageManager="yarn"
64
+ yarn add intlayer vanilla-intlayer
65
+ yarn add vite-intlayer --save-dev
66
+ yarn intlayer init
67
+ ```
68
+
69
+ ```bash packageManager="bun"
70
+ bun add intlayer vanilla-intlayer
71
+ bun add vite-intlayer --dev
72
+ bunx intlayer init
73
+ ```
74
+
75
+ - **intlayer**
76
+ Das Kernpaket, das Internationalisierungswerkzeuge für Konfigurationsmanagement, Übersetzung, [Inhaltsdeklaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/content_file.md), Transpilierung und [CLI-Befehle](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/index.md) bereitstellt.
77
+
78
+ - **vanilla-intlayer**
79
+ Das Paket, das Intlayer in einfache JavaScript / TypeScript Anwendungen integriert. Es bietet ein Pub/Sub-Singleton (`IntlayerClient`) und Callback-basierte Helfer (`useIntlayer`, `useLocale` usw.), sodass jeder Teil Ihrer App auf Sprachänderungen reagieren kann, ohne von einem UI-Framework abhängig zu sein.
80
+
81
+ - **vite-intlayer**
82
+ Enthält das Vite-Plugin zur Integration von Intlayer in den [Vite-Bundler](https://vite.dev/guide/why.html#why-bundle-for-production) sowie Middleware zur Erkennung der bevorzugten Sprache des Benutzers, zur Verwaltung von Cookies und zur Handhabung von URL-Weiterleitungen.
83
+
84
+ ### Schritt 2: Konfiguration Ihres Projekts
85
+
86
+ Erstellen Sie eine Konfigurationsdatei, um die Sprachen Ihrer Anwendung zu konfigurieren:
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
+ // Ihre anderen Sprachen
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
+ // Ihre anderen Sprachen
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
+ // Ihre anderen Sprachen
136
+ ],
137
+ defaultLocale: Locales.ENGLISH,
138
+ },
139
+ };
140
+
141
+ module.exports = config;
142
+ ```
143
+
144
+ > Über diese Konfigurationsdatei können Sie lokalisierte URLs, Middleware-Weiterleitungen, Cookie-Namen, den Speicherort und die Erweiterung Ihrer Inhaltsdeklarationen festlegen, Intlayer-Protokolle in der Konsole deaktivieren und vieles mehr. Eine vollständige Liste der verfügbaren Parameter finden Sie in der [Konfigurationsdokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md).
145
+
146
+ ### Schritt 3: Intlayer in Ihre Vite-Konfiguration integrieren
147
+
148
+ Fügen Sie das intlayer-Plugin in Ihre Konfiguration ein.
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
+ > Das Vite-Plugin `intlayer()` wird verwendet, um Intlayer in Vite zu integrieren. Es stellt die Erstellung von Inhaltsdeklarationsdateien sicher und überwacht diese im Entwicklungsmodus. Es definiert Intlayer-Umgebungsvariablen innerhalb der Vite-Anwendung. Zusätzlich bietet es Aliase zur Leistungsoptimierung.
181
+
182
+ ### Schritt 4: Intlayer in Ihrem Einstiegspunkt initialisieren
183
+
184
+ Rufen Sie `installIntlayer()` auf, **bevor** Inhalte gerendert werden, damit das globale Sprach-Singleton bereit ist.
185
+
186
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
187
+ import { installIntlayer } from "vanilla-intlayer";
188
+
189
+ // Muss vor dem Rendern von i18n-Inhalten aufgerufen werden.
190
+ installIntlayer();
191
+
192
+ // Importieren und führen Sie Ihre Anwendungsmodule aus.
193
+ import "./app.js";
194
+ ```
195
+
196
+ Wenn Sie auch `md()` Inhaltsdeklarationen (Markdown) verwenden, installieren Sie auch den Markdown-Renderer:
197
+
198
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
199
+ import { installIntlayer, installIntlayerMarkdown } from "vanilla-intlayer";
200
+
201
+ installIntlayer();
202
+ installIntlayerMarkdown();
203
+
204
+ import "./app.js";
205
+ ```
206
+
207
+ ### Schritt 5: Deklarieren Sie Ihren Inhalt
208
+
209
+ Erstellen und verwalten Sie Ihre Inhaltsdeklarationen, um Übersetzungen zu speichern:
210
+
211
+ ```typescript fileName="src/app.content.ts" contentDeclarationFormat="typescript"
212
+ import { insert, t, type Dictionary } from "intlayer";
213
+
214
+ const appContent = {
215
+ key: "app",
216
+ content: {
217
+ title: "Vite + Vanilla",
218
+
219
+ viteLogoLabel: t({
220
+ en: "Vite Logo",
221
+ fr: "Logo Vite",
222
+ es: "Logo Vite",
223
+ }),
224
+
225
+ count: insert(
226
+ t({
227
+ en: "count is {{count}}",
228
+ fr: "le compte est {{count}}",
229
+ es: "el recuento es {{count}}",
230
+ })
231
+ ),
232
+
233
+ readTheDocs: t({
234
+ en: "Click on the Vite logo to learn more",
235
+ fr: "Cliquez sur le logo Vite pour en savoir plus",
236
+ es: "Haga clic en el logotipo de Vite für weitere Informationen",
237
+ }),
238
+ },
239
+ } satisfies Dictionary;
240
+
241
+ export default appContent;
242
+ ```
243
+
244
+ ```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
245
+ import { insert, t } from "intlayer";
246
+
247
+ /** @type {import('intlayer').Dictionary} */
248
+ const appContent = {
249
+ key: "app",
250
+ content: {
251
+ title: "Vite + Vanilla",
252
+
253
+ viteLogoLabel: t({
254
+ en: "Vite Logo",
255
+ fr: "Logo Vite",
256
+ es: "Logo Vite",
257
+ }),
258
+
259
+ count: insert(
260
+ t({
261
+ en: "count is {{count}}",
262
+ fr: "le compte est {{count}}",
263
+ es: "el recuento es {{count}}",
264
+ })
265
+ ),
266
+
267
+ readTheDocs: t({
268
+ en: "Click on the Vite logo to learn more",
269
+ fr: "Cliquez sur le logo Vite pour en savoir plus",
270
+ es: "Haga clic en le logo de Vite für weitere Informationen",
271
+ }),
272
+ },
273
+ };
274
+
275
+ export default appContent;
276
+ ```
277
+
278
+ ```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
279
+ const { insert, t } = require("intlayer");
280
+
281
+ /** @type {import('intlayer').Dictionary} */
282
+ const appContent = {
283
+ key: "app",
284
+ content: {
285
+ title: "Vite + Vanilla",
286
+
287
+ viteLogoLabel: t({
288
+ en: "Vite Logo",
289
+ fr: "Logo Vite",
290
+ es: "Logo Vite",
291
+ }),
292
+
293
+ count: insert(
294
+ t({
295
+ en: "count is {{count}}",
296
+ fr: "le compte est {{count}}",
297
+ es: "el recuento es {{count}}",
298
+ })
299
+ ),
300
+
301
+ readTheDocs: t({
302
+ en: "Click on the Vite logo to learn more",
303
+ fr: "Cliquez sur le logo Vite pour en savoir plus",
304
+ es: "Haga clic en le logo de Vite für weitere Informationen",
305
+ }),
306
+ },
307
+ };
308
+
309
+ module.exports = appContent;
310
+ ```
311
+
312
+ ```json fileName="src/app.content.json" contentDeclarationFormat="json"
313
+ {
314
+ "$schema": "https://intlayer.org/schema.json",
315
+ "key": "app",
316
+ "content": {
317
+ "title": "Vite + Vanilla",
318
+ "viteLogoLabel": {
319
+ "nodeType": "translation",
320
+ "translation": {
321
+ "en": "Vite Logo",
322
+ "fr": "Logo Vite",
323
+ "es": "Logo Vite"
324
+ }
325
+ },
326
+ "count": {
327
+ "nodeType": "insertion",
328
+ "insertion": {
329
+ "nodeType": "translation",
330
+ "translation": {
331
+ "en": "count is {{count}}",
332
+ "fr": "le compte est {{count}}",
333
+ "es": "el recuento es {{count}}"
334
+ }
335
+ }
336
+ },
337
+ "readTheDocs": {
338
+ "nodeType": "translation",
339
+ "translation": {
340
+ "en": "Click on the Vite logo to learn more",
341
+ "fr": "Cliquez sur le logo Vite pour en savoir plus",
342
+ "es": "Haga clic en le logo de Vite für weitere Informationen"
343
+ }
344
+ }
345
+ }
346
+ }
347
+ ```
348
+
349
+ > Ihre Inhaltsdeklarationen können überall in Ihrer Anwendung definiert werden, solange sie im Verzeichnis `contentDir` (standardmäßig `./src`) enthalten sind und der Dateierweiterung für Inhaltsdeklarationen (standardmäßig `.content.{json,ts,tsx,js,jsx,mjs,cjs}`) entsprechen.
350
+ >
351
+ > Für weitere Details besuchen Sie die [Dokumentation zur Inhaltsdeklaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/content_file.md).
352
+
353
+ ### Schritt 6: Intlayer in Ihrem JavaScript verwenden
354
+
355
+ `vanilla-intlayer` spiegelt die Oberflächen-API von `react-intlayer` wider: `useIntlayer(key, locale?)` gibt den übersetzten Inhalt direkt zurück. Verketten Sie `.onChange()` am Ergebnis, um Sprachänderungen zu abonnieren — das explizite Äquivalent zu einem React-Re-Render.
356
+
357
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
358
+ import { installIntlayer, useIntlayer } from "vanilla-intlayer";
359
+
360
+ installIntlayer();
361
+
362
+ // Erhalten Sie den anfänglichen Inhalt für die aktuelle Sprache.
363
+ // Verketten Sie .onChange(), um benachrichtigt zu werden, wenn sich die Sprache ändert.
364
+ const content = useIntlayer("app").onChange((newContent) => {
365
+ // Nur die betroffenen DOM-Knoten neu rendern oder patchen
366
+ document.querySelector<HTMLHeadingElement>("h1")!.textContent = String(
367
+ newContent.title
368
+ );
369
+ document.querySelector<HTMLParagraphElement>(".read-the-docs")!.textContent =
370
+ String(newContent.readTheDocs);
371
+ });
372
+
373
+ // Erstmaliges Rendern
374
+ document.querySelector<HTMLHeadingElement>("h1")!.textContent = String(
375
+ content.title
376
+ );
377
+ document.querySelector<HTMLParagraphElement>(".read-the-docs")!.textContent =
378
+ String(content.readTheDocs);
379
+ ```
380
+
381
+ > Greifen Sie auf Endwerte als Zeichenfolgen zu, indem Sie sie in `String()` einschließen, was die `toString()`-Methode des Knotens aufruft und den übersetzten Text zurückgibt.
382
+ >
383
+ > Wenn Sie den Wert für ein natives HTML-Attribut benötigen (z. B. `alt`, `aria-label`), verwenden Sie direkt `.value`:
384
+ >
385
+ > ```typescript
386
+ > img.alt = content.viteLogoLabel.value;
387
+ > ```
388
+
389
+ ### (Optional) Schritt 7: Die Sprache Ihres Inhalts ändern
390
+
391
+ Um die Sprache Ihres Inhalts zu ändern, verwenden Sie die Funktion `setLocale`, die von `useLocale` bereitgestellt wird.
392
+
393
+ ```typescript fileName="src/locale-switcher.ts" codeFormat="typescript"
394
+ import { getLocaleName } from "intlayer";
395
+ import { useLocale } from "vanilla-intlayer";
396
+
397
+ export function setupLocaleSwitcher(container: HTMLElement): () => void {
398
+ const { locale, availableLocales, setLocale, subscribe } = useLocale();
399
+
400
+ const select = document.createElement("select");
401
+ select.setAttribute("aria-label", "Language");
402
+
403
+ const render = (currentLocale: string) => {
404
+ select.innerHTML = availableLocales
405
+ .map(
406
+ (loc) =>
407
+ `<option value="${loc}"${loc === currentLocale ? " selected" : ""}>
408
+ ${getLocaleName(loc)}
409
+ </option>`
410
+ )
411
+ .join("");
412
+ };
413
+
414
+ render(locale);
415
+ container.appendChild(select);
416
+
417
+ select.addEventListener("change", () => setLocale(select.value as any));
418
+
419
+ // Dropdown synchron halten, wenn sich die Sprache von anderer Stelle aus ändert
420
+ return subscribe((newLocale) => render(newLocale));
421
+ }
422
+ ```
423
+
424
+ ### (Optional) Schritt 8: Markdown- und HTML-Inhalte rendern
425
+
426
+ Intlayer unterstützt `md()` und `html()` Inhaltsdeklarationen. In Vanilla JS wird die kompilierte Ausgabe als rohes HTML über `innerHTML` eingefügt.
427
+
428
+ ```typescript fileName="src/app.content.ts" contentDeclarationFormat="typescript"
429
+ import { md, t, type Dictionary } from "intlayer";
430
+
431
+ const appContent = {
432
+ key: "app",
433
+ content: {
434
+ // ...
435
+ editNote: md(
436
+ t({
437
+ en: "Edit `src/main.ts` and save to test **HMR**",
438
+ fr: "Modifiez `src/main.ts` et enregistrez pour tester **HMR**",
439
+ es: "Edite `src/main.ts` y guarde para probar **HMR**",
440
+ })
441
+ ),
442
+ },
443
+ } satisfies Dictionary;
444
+
445
+ export default appContent;
446
+ ```
447
+
448
+ Kompilieren und injizieren Sie das HTML:
449
+
450
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
451
+ import {
452
+ compileMarkdown,
453
+ installIntlayerMarkdown,
454
+ useIntlayer,
455
+ } from "vanilla-intlayer";
456
+
457
+ installIntlayerMarkdown();
458
+
459
+ const content = useIntlayer("app").onChange((newContent) => {
460
+ const el = document.querySelector<HTMLDivElement>(".edit-note")!;
461
+ el.innerHTML = compileMarkdown(String(newContent.editNote));
462
+ });
463
+
464
+ document.querySelector<HTMLDivElement>(".edit-note")!.innerHTML =
465
+ compileMarkdown(String(content.editNote));
466
+ ```
467
+
468
+ > [!TIP]
469
+ > `String(content.editNote)` ruft `toString()` auf dem `IntlayerNode` auf, was den rohen Markdown-String zurückgibt. Übergeben Sie diesen an `compileMarkdown`, um einen HTML-String zu erhalten, und setzen Sie ihn dann über `innerHTML`.
470
+
471
+ > [!WARNING]
472
+ > Verwenden Sie `innerHTML` nur mit vertrauenswürdigen Inhalten. Wenn der Markdown aus Benutzereingaben stammt, bereinigen Sie ihn zuerst (z. B. mit DOMPurify). Sie können einen bereinigenden Renderer dynamisch installieren:
473
+ >
474
+ > ```typescript
475
+ > import { installIntlayerMarkdownDynamic } from "vanilla-intlayer";
476
+ >
477
+ > await installIntlayerMarkdownDynamic(async () => {
478
+ > const DOMPurify = await import("dompurify");
479
+ > return (markdown) => DOMPurify.sanitize(compileMarkdown(markdown));
480
+ > });
481
+ > ```
482
+
483
+ ### (Optional) Schritt 9: Lokalisiertes Routing zu Ihrer Anwendung hinzufügen
484
+
485
+ Um eindeutige Routen für jede Sprache zu erstellen (nützlich für SEO), können Sie `intlayerProxy` in Ihrer Vite-Konfiguration zur serverseitigen Spracherkennung verwenden.
486
+
487
+ Fügen Sie zuerst `intlayerProxy` zu Ihrer Vite-Konfiguration hinzu:
488
+
489
+ > Beachten Sie, dass Sie für die Verwendung von `intlayerProxy` in der Produktion `vite-intlayer` von `devDependencies` zu `dependencies` verschieben müssen.
490
+
491
+ ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
492
+ import { defineConfig } from "vite";
493
+ import { intlayer, intlayerProxy } from "vite-intlayer";
494
+
495
+ export default defineConfig({
496
+ plugins: [
497
+ intlayerProxy(), // sollte zuerst platziert werden
498
+ intlayer(),
499
+ ],
500
+ });
501
+ ```
502
+
503
+ ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
504
+ import { defineConfig } from "vite";
505
+ import { intlayer, intlayerProxy } from "vite-intlayer";
506
+
507
+ export default defineConfig({
508
+ plugins: [
509
+ intlayerProxy(), // sollte zuerst platziert werden
510
+ intlayer(),
511
+ ],
512
+ });
513
+ ```
514
+
515
+ ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
516
+ const { defineConfig } = require("vite");
517
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
518
+
519
+ module.exports = defineConfig({
520
+ plugins: [
521
+ intlayerProxy(), // sollte zuerst platziert werden
522
+ intlayer(),
523
+ ],
524
+ });
525
+ ```
526
+
527
+ ### (Optional) Schritt 10: Die URL ändern, wenn sich die Sprache ändert
528
+
529
+ Um die Browser-URL zu aktualisieren, wenn sich die Sprache ändert, rufen Sie `useRewriteURL()` nach der Installation von Intlayer auf:
530
+
531
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
532
+ import { installIntlayer, useRewriteURL } from "vanilla-intlayer";
533
+
534
+ installIntlayer();
535
+
536
+ // Schreibt die URL sofort und bei jeder nachfolgenden Sprachänderung um.
537
+ // Gibt eine Unsubscribe-Funktion für die Bereinigung zurück.
538
+ const stopRewriteURL = useRewriteURL();
539
+ ```
540
+
541
+ ### (Optional) Schritt 11: Wechseln der HTML-Sprach- und Richtungsattribute
542
+
543
+ Aktualisieren Sie die Attribute `lang` und `dir` des `<html>`-Tags entsprechend der aktuellen Sprache für Barrierefreiheit und SEO.
544
+
545
+ ```typescript fileName="src/main.ts" codeFormat="typescript"
546
+ import { getHTMLTextDir } from "intlayer";
547
+ import { installIntlayer, useLocale } from "vanilla-intlayer";
548
+
549
+ installIntlayer();
550
+
551
+ useLocale({
552
+ onLocaleChange: (locale) => {
553
+ document.documentElement.lang = locale;
554
+ document.documentElement.dir = getHTMLTextDir(locale);
555
+ },
556
+ });
557
+ ```
558
+
559
+ ### (Optional) Schritt 12: Wörterbücher pro Sprache lazy-loaden
560
+
561
+ Für große Apps möchten Sie vielleicht das Wörterbuch jeder Sprache in einen eigenen Chunk aufteilen. Verwenden Sie `useDictionaryDynamic` zusammen mit dem dynamischen `import()` von Vite:
562
+
563
+ ```typescript fileName="src/app.ts" codeFormat="typescript"
564
+ import { installIntlayer, useDictionaryDynamic } from "vanilla-intlayer";
565
+
566
+ installIntlayer();
567
+
568
+ const unsubscribe = useDictionaryDynamic(
569
+ {
570
+ en: () => import("../.intlayer/dictionaries/en/app.mjs"),
571
+ fr: () => import("../.intlayer/dictionaries/fr/app.mjs"),
572
+ es: () => import("../.intlayer/dictionaries/es/app.mjs"),
573
+ },
574
+ "app"
575
+ ).onChange((content) => {
576
+ document.querySelector("h1")!.textContent = String(content.title);
577
+ });
578
+ ```
579
+
580
+ > Das Bundle jeder Sprache wird nur abgerufen, wenn diese Sprache aktiv wird, und das Ergebnis wird zwischengespeichert — nachfolgende Wechsel zur gleichen Sprache erfolgen sofort.
581
+
582
+ ### (Optional) Schritt 13: Den Inhalt Ihrer Komponenten extrahieren
583
+
584
+ Wenn Sie eine bestehende Codebasis haben, kann die Transformation von Tausenden von Dateien zeitaufwendig sein.
585
+
586
+ Um diesen Prozess zu erleichtern, schlägt Intlayer einen [Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/compiler.md) / [Extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/cli/extract.md) vor, um Ihre Komponenten zu transformieren und den Inhalt zu extrahieren.
587
+
588
+ Um dies einzurichten, können Sie einen `compiler` Abschnitt in Ihrer `intlayer.config.ts` Datei hinzufügen:
589
+
590
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
591
+ import { type IntlayerConfig } from "intlayer";
592
+
593
+ const config: IntlayerConfig = {
594
+ // ... Rest Ihrer Konfiguration
595
+ compiler: {
596
+ /**
597
+ * Gibt an, ob der Compiler aktiviert sein soll.
598
+ */
599
+ enabled: true,
600
+
601
+ /**
602
+ * Definiert den Pfad der Ausgabedateien
603
+ */
604
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
605
+
606
+ /**
607
+ * Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen.
608
+ * Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und kann dann entfernt werden.
609
+ */
610
+ saveComponents: false,
611
+
612
+ /**
613
+ * Wörterbuchschlüssel-Präfix
614
+ */
615
+ dictionaryKeyPrefix: "",
616
+ },
617
+ };
618
+
619
+ export default config;
620
+ ```
621
+
622
+ <Tabs>
623
+ <Tab value='Extraktions-Befehl'>
624
+
625
+ Führen Sie den Extractor aus, um Ihre Komponenten zu transformieren und den Inhalt zu extrahieren
626
+
627
+ ```bash packageManager="npm"
628
+ npx intlayer extract
629
+ ```
630
+
631
+ ```bash packageManager="pnpm"
632
+ pnpm intlayer extract
633
+ ```
634
+
635
+ ```bash packageManager="yarn"
636
+ yarn intlayer extract
637
+ ```
638
+
639
+ ```bash packageManager="bun"
640
+ bunx intlayer extract
641
+ ```
642
+
643
+ </Tab>
644
+ <Tab value='Babel-Compiler'>
645
+
646
+ Aktualisieren Sie Ihre `vite.config.ts`, um das Plugin `intlayerCompiler` aufzunehmen:
647
+
648
+ ```ts fileName="vite.config.ts"
649
+ import { defineConfig } from "vite";
650
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
651
+
652
+ export default defineConfig({
653
+ plugins: [
654
+ intlayer(),
655
+ intlayerCompiler(), // Fügt das Compiler-Plugin hinzu
656
+ ],
657
+ });
658
+ ```
659
+
660
+ ```bash packageManager="npm"
661
+ npm run build # Oder npm run dev
662
+ ```
663
+
664
+ ```bash packageManager="pnpm"
665
+ pnpm run build # Oder pnpm run dev
666
+ ```
667
+
668
+ ```bash packageManager="yarn"
669
+ yarn build # Oder yarn dev
670
+ ```
671
+
672
+ ```bash packageManager="bun"
673
+ bun run build # Oder bun run dev
674
+ ```
675
+
676
+ </Tab>
677
+ </Tabs>
678
+
679
+ ### TypeScript konfigurieren
680
+
681
+ Stellen Sie sicher, dass Ihre TypeScript-Konfiguration die automatisch generierten Typen enthält.
682
+
683
+ ```json5 fileName="tsconfig.json"
684
+ {
685
+ "compilerOptions": {
686
+ // ...
687
+ },
688
+ "include": ["src", ".intlayer/**/*.ts"],
689
+ }
690
+ ```
691
+
692
+ ### Git-Konfiguration
693
+
694
+ Es wird empfohlen, die von Intlayer generierten Dateien zu ignorieren. Dies ermöglicht es Ihnen, zu vermeiden, dass sie in Ihr Git-Repository committet werden.
695
+
696
+ Um dies zu tun, können Sie die folgenden Anweisungen in Ihre `.gitignore`-Datei einfügen:
697
+
698
+ ```bash
699
+ # Ignorieren Sie die von Intlayer generierten Dateien
700
+ .intlayer
701
+ ```
702
+
703
+ ### VS Code Erweiterung
704
+
705
+ Um Ihre Entwicklungserfahrung mit Intlayer zu verbessern, können Sie die offizielle **Intlayer VS Code Erweiterung** installieren.
706
+
707
+ [Vom VS Code Marketplace installieren](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
708
+
709
+ Diese Erweiterung bietet:
710
+
711
+ - **Autovervollständigung** für Übersetzungsschlüssel.
712
+ - **Echtzeit-Fehlererkennung** für fehlende Übersetzungen.
713
+ - **Inline-Vorschauen** des übersetzten Inhalts.
714
+ - **Schnellaktionen**, um Übersetzungen einfach zu erstellen und zu aktualisieren.
715
+
716
+ Weitere Details zur Verwendung der Erweiterung finden Sie in der [Dokumentation zur Intlayer VS Code Erweiterung](https://intlayer.org/doc/vs-code-extension).
717
+
718
+ ---
719
+
720
+ ### Weiter gehen
721
+
722
+ Um weiter zu gehen, können Sie den [visuellen Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_visual_editor.md) implementieren oder Ihre Inhalte mit dem [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_CMS.md) extern verwalten.