@intlayer/docs 5.8.1 → 6.0.0-canary.1

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 (378) hide show
  1. package/blog/ar/rag_powered_documentation_assistant.md +282 -0
  2. package/blog/de/rag_powered_documentation_assistant.md +282 -0
  3. package/blog/en/rag_powered_documentation_assistant.md +289 -0
  4. package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
  5. package/blog/es/rag_powered_documentation_assistant.md +308 -0
  6. package/blog/fr/rag_powered_documentation_assistant.md +308 -0
  7. package/blog/hi/rag_powered_documentation_assistant.md +284 -0
  8. package/blog/it/rag_powered_documentation_assistant.md +284 -0
  9. package/blog/ja/rag_powered_documentation_assistant.md +284 -0
  10. package/blog/ko/rag_powered_documentation_assistant.md +283 -0
  11. package/blog/pt/rag_powered_documentation_assistant.md +284 -0
  12. package/blog/ru/rag_powered_documentation_assistant.md +284 -0
  13. package/blog/tr/index.md +69 -0
  14. package/blog/tr/internationalization_and_SEO.md +273 -0
  15. package/blog/tr/intlayer_with_i18next.md +162 -0
  16. package/blog/tr/intlayer_with_next-i18next.md +367 -0
  17. package/blog/tr/intlayer_with_next-intl.md +392 -0
  18. package/blog/tr/intlayer_with_react-i18next.md +346 -0
  19. package/blog/tr/intlayer_with_react-intl.md +345 -0
  20. package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
  21. package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
  22. package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
  23. package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
  24. package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
  25. package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
  26. package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
  27. package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
  28. package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
  29. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
  30. package/blog/tr/rag_powered_documentation_assistant.md +284 -0
  31. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
  32. package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
  33. package/blog/tr/what_is_internationalization.md +166 -0
  34. package/blog/zh/rag_powered_documentation_assistant.md +284 -0
  35. package/dist/cjs/generated/blog.entry.cjs +212 -0
  36. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  37. package/dist/cjs/generated/docs.entry.cjs +660 -132
  38. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  39. package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
  40. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  41. package/dist/cjs/generated/legal.entry.cjs +6 -0
  42. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  43. package/dist/esm/generated/blog.entry.mjs +212 -0
  44. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  45. package/dist/esm/generated/docs.entry.mjs +660 -132
  46. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  47. package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
  48. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  49. package/dist/esm/generated/legal.entry.mjs +6 -0
  50. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  51. package/dist/types/generated/blog.entry.d.ts +1 -0
  52. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  53. package/dist/types/generated/docs.entry.d.ts +5 -2
  54. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  55. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  56. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  57. package/docs/ar/autoFill.md +41 -40
  58. package/docs/ar/configuration.md +202 -199
  59. package/docs/ar/dictionary/content_file.md +1059 -0
  60. package/docs/ar/intlayer_CMS.md +4 -4
  61. package/docs/ar/intlayer_with_nestjs.md +271 -0
  62. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  63. package/docs/ar/intlayer_with_react_router_v7.md +533 -0
  64. package/docs/ar/intlayer_with_tanstack.md +465 -299
  65. package/docs/ar/intlayer_with_vite+preact.md +7 -7
  66. package/docs/ar/intlayer_with_vite+react.md +7 -7
  67. package/docs/ar/intlayer_with_vite+vue.md +9 -9
  68. package/docs/ar/packages/vite-intlayer/index.md +3 -3
  69. package/docs/ar/readme.md +261 -0
  70. package/docs/ar/testing.md +199 -0
  71. package/docs/de/autoFill.md +42 -19
  72. package/docs/de/configuration.md +155 -147
  73. package/docs/de/dictionary/content_file.md +1059 -0
  74. package/docs/de/intlayer_CMS.md +4 -5
  75. package/docs/de/intlayer_with_nestjs.md +270 -0
  76. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  77. package/docs/de/intlayer_with_react_router_v7.md +537 -0
  78. package/docs/de/intlayer_with_tanstack.md +469 -302
  79. package/docs/de/intlayer_with_vite+preact.md +7 -7
  80. package/docs/de/intlayer_with_vite+react.md +7 -7
  81. package/docs/de/intlayer_with_vite+vue.md +9 -9
  82. package/docs/de/packages/vite-intlayer/index.md +3 -3
  83. package/docs/de/readme.md +261 -0
  84. package/docs/de/testing.md +200 -0
  85. package/docs/en/CI_CD.md +4 -6
  86. package/docs/en/autoFill.md +25 -5
  87. package/docs/en/configuration.md +45 -54
  88. package/docs/en/dictionary/content_file.md +1054 -0
  89. package/docs/en/intlayer_CMS.md +8 -7
  90. package/docs/en/intlayer_cli.md +112 -5
  91. package/docs/en/intlayer_with_nestjs.md +268 -0
  92. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  93. package/docs/en/intlayer_with_react_router_v7.md +531 -0
  94. package/docs/en/intlayer_with_tanstack.md +463 -294
  95. package/docs/en/intlayer_with_vite+preact.md +8 -8
  96. package/docs/en/intlayer_with_vite+react.md +8 -8
  97. package/docs/en/intlayer_with_vite+vue.md +8 -8
  98. package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
  99. package/docs/en/packages/vite-intlayer/index.md +3 -3
  100. package/docs/en/readme.md +261 -0
  101. package/docs/en/testing.md +200 -0
  102. package/docs/en-GB/autoFill.md +29 -6
  103. package/docs/en-GB/configuration.md +79 -71
  104. package/docs/en-GB/dictionary/content_file.md +1084 -0
  105. package/docs/en-GB/intlayer_CMS.md +4 -5
  106. package/docs/en-GB/intlayer_with_nestjs.md +268 -0
  107. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  108. package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
  109. package/docs/en-GB/intlayer_with_tanstack.md +466 -299
  110. package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
  111. package/docs/en-GB/intlayer_with_vite+react.md +7 -7
  112. package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
  113. package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
  114. package/docs/en-GB/readme.md +261 -0
  115. package/docs/en-GB/testing.md +200 -0
  116. package/docs/es/autoFill.md +45 -23
  117. package/docs/es/configuration.md +171 -167
  118. package/docs/es/dictionary/content_file.md +1088 -0
  119. package/docs/es/intlayer_CMS.md +4 -5
  120. package/docs/es/intlayer_with_nestjs.md +268 -0
  121. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  122. package/docs/es/intlayer_with_react_router_v7.md +533 -0
  123. package/docs/es/intlayer_with_tanstack.md +469 -280
  124. package/docs/es/intlayer_with_vite+preact.md +7 -7
  125. package/docs/es/intlayer_with_vite+react.md +7 -7
  126. package/docs/es/intlayer_with_vite+vue.md +9 -9
  127. package/docs/es/packages/vite-intlayer/index.md +3 -3
  128. package/docs/es/readme.md +261 -0
  129. package/docs/es/testing.md +200 -0
  130. package/docs/fr/autoFill.md +47 -24
  131. package/docs/fr/configuration.md +213 -198
  132. package/docs/fr/dictionary/content_file.md +1054 -0
  133. package/docs/fr/intlayer_CMS.md +4 -5
  134. package/docs/fr/intlayer_with_nestjs.md +268 -0
  135. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  136. package/docs/fr/intlayer_with_react_router_v7.md +549 -0
  137. package/docs/fr/intlayer_with_tanstack.md +465 -279
  138. package/docs/fr/intlayer_with_vite+preact.md +7 -7
  139. package/docs/fr/intlayer_with_vite+react.md +7 -7
  140. package/docs/fr/intlayer_with_vite+vue.md +9 -9
  141. package/docs/fr/packages/vite-intlayer/index.md +3 -3
  142. package/docs/fr/readme.md +261 -0
  143. package/docs/fr/testing.md +200 -0
  144. package/docs/hi/autoFill.md +47 -25
  145. package/docs/hi/configuration.md +194 -189
  146. package/docs/hi/dictionary/content_file.md +1056 -0
  147. package/docs/hi/intlayer_CMS.md +4 -5
  148. package/docs/hi/intlayer_with_nestjs.md +269 -0
  149. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  150. package/docs/hi/intlayer_with_react_router_v7.md +533 -0
  151. package/docs/hi/intlayer_with_tanstack.md +467 -282
  152. package/docs/hi/intlayer_with_vite+preact.md +7 -7
  153. package/docs/hi/intlayer_with_vite+react.md +7 -7
  154. package/docs/hi/intlayer_with_vite+vue.md +9 -9
  155. package/docs/hi/packages/vite-intlayer/index.md +3 -3
  156. package/docs/hi/readme.md +261 -0
  157. package/docs/hi/testing.md +200 -0
  158. package/docs/it/autoFill.md +46 -24
  159. package/docs/it/configuration.md +169 -161
  160. package/docs/it/dictionary/content_file.md +1061 -0
  161. package/docs/it/intlayer_CMS.md +4 -5
  162. package/docs/it/intlayer_with_nestjs.md +268 -0
  163. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  164. package/docs/it/intlayer_with_react_router_v7.md +535 -0
  165. package/docs/it/intlayer_with_tanstack.md +467 -301
  166. package/docs/it/intlayer_with_vite+preact.md +7 -7
  167. package/docs/it/intlayer_with_vite+react.md +7 -7
  168. package/docs/it/intlayer_with_vite+vue.md +9 -9
  169. package/docs/it/packages/vite-intlayer/index.md +3 -3
  170. package/docs/it/readme.md +261 -0
  171. package/docs/it/testing.md +200 -0
  172. package/docs/ja/autoFill.md +45 -23
  173. package/docs/ja/configuration.md +243 -204
  174. package/docs/ja/dictionary/content_file.md +1064 -0
  175. package/docs/ja/intlayer_CMS.md +4 -5
  176. package/docs/ja/intlayer_with_nestjs.md +268 -0
  177. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  178. package/docs/ja/intlayer_with_react_router_v7.md +534 -0
  179. package/docs/ja/intlayer_with_tanstack.md +467 -303
  180. package/docs/ja/intlayer_with_vite+preact.md +7 -7
  181. package/docs/ja/intlayer_with_vite+react.md +7 -7
  182. package/docs/ja/intlayer_with_vite+vue.md +9 -9
  183. package/docs/ja/packages/vite-intlayer/index.md +3 -3
  184. package/docs/ja/readme.md +263 -0
  185. package/docs/ja/testing.md +200 -0
  186. package/docs/ko/autoFill.md +39 -16
  187. package/docs/ko/configuration.md +217 -197
  188. package/docs/ko/dictionary/content_file.md +1060 -0
  189. package/docs/ko/intlayer_CMS.md +4 -5
  190. package/docs/ko/intlayer_with_nestjs.md +268 -0
  191. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  192. package/docs/ko/intlayer_with_react_router_v7.md +540 -0
  193. package/docs/ko/intlayer_with_tanstack.md +466 -302
  194. package/docs/ko/intlayer_with_vite+preact.md +7 -7
  195. package/docs/ko/intlayer_with_vite+react.md +7 -7
  196. package/docs/ko/intlayer_with_vite+vue.md +9 -9
  197. package/docs/ko/packages/vite-intlayer/index.md +3 -3
  198. package/docs/ko/readme.md +261 -0
  199. package/docs/ko/testing.md +200 -0
  200. package/docs/pt/autoFill.md +39 -15
  201. package/docs/pt/configuration.md +165 -147
  202. package/docs/pt/dictionary/content_file.md +1062 -0
  203. package/docs/pt/intlayer_CMS.md +4 -5
  204. package/docs/pt/intlayer_with_nestjs.md +271 -0
  205. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  206. package/docs/pt/intlayer_with_react_router_v7.md +535 -0
  207. package/docs/pt/intlayer_with_tanstack.md +469 -300
  208. package/docs/pt/intlayer_with_vite+preact.md +7 -7
  209. package/docs/pt/intlayer_with_vite+react.md +7 -7
  210. package/docs/pt/intlayer_with_vite+vue.md +9 -9
  211. package/docs/pt/packages/vite-intlayer/index.md +3 -3
  212. package/docs/pt/readme.md +261 -0
  213. package/docs/pt/testing.md +200 -0
  214. package/docs/ru/autoFill.md +52 -30
  215. package/docs/ru/configuration.md +164 -117
  216. package/docs/ru/dictionary/content_file.md +1064 -0
  217. package/docs/ru/intlayer_CMS.md +4 -4
  218. package/docs/ru/intlayer_with_nestjs.md +270 -0
  219. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  220. package/docs/ru/intlayer_with_react_router_v7.md +534 -0
  221. package/docs/ru/intlayer_with_tanstack.md +470 -305
  222. package/docs/ru/intlayer_with_vite+preact.md +7 -7
  223. package/docs/ru/intlayer_with_vite+react.md +7 -7
  224. package/docs/ru/intlayer_with_vite+vue.md +9 -9
  225. package/docs/ru/packages/vite-intlayer/index.md +3 -3
  226. package/docs/ru/readme.md +261 -0
  227. package/docs/ru/testing.md +202 -0
  228. package/docs/tr/CI_CD.md +198 -0
  229. package/docs/tr/autoFill.md +201 -0
  230. package/docs/tr/configuration.md +585 -0
  231. package/docs/tr/dictionary/condition.md +243 -0
  232. package/docs/tr/dictionary/content_file.md +1055 -0
  233. package/docs/tr/dictionary/enumeration.md +251 -0
  234. package/docs/tr/dictionary/file.md +228 -0
  235. package/docs/tr/dictionary/function_fetching.md +218 -0
  236. package/docs/tr/dictionary/gender.md +279 -0
  237. package/docs/tr/dictionary/insertion.md +191 -0
  238. package/docs/tr/dictionary/markdown.md +385 -0
  239. package/docs/tr/dictionary/nesting.md +279 -0
  240. package/docs/tr/dictionary/translation.md +315 -0
  241. package/docs/tr/formatters.md +618 -0
  242. package/docs/tr/how_works_intlayer.md +254 -0
  243. package/docs/tr/index.md +168 -0
  244. package/docs/tr/interest_of_intlayer.md +288 -0
  245. package/docs/tr/intlayer_CMS.md +347 -0
  246. package/docs/tr/intlayer_cli.md +570 -0
  247. package/docs/tr/intlayer_visual_editor.md +269 -0
  248. package/docs/tr/intlayer_with_angular.md +694 -0
  249. package/docs/tr/intlayer_with_create_react_app.md +1218 -0
  250. package/docs/tr/intlayer_with_express.md +415 -0
  251. package/docs/tr/intlayer_with_lynx+react.md +511 -0
  252. package/docs/tr/intlayer_with_nestjs.md +268 -0
  253. package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
  254. package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
  255. package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
  256. package/docs/tr/intlayer_with_nuxt.md +773 -0
  257. package/docs/tr/intlayer_with_react_native+expo.md +660 -0
  258. package/docs/tr/intlayer_with_react_router_v7.md +531 -0
  259. package/docs/tr/intlayer_with_tanstack.md +452 -0
  260. package/docs/tr/intlayer_with_vite+preact.md +1673 -0
  261. package/docs/tr/intlayer_with_vite+react.md +1632 -0
  262. package/docs/tr/intlayer_with_vite+solid.md +288 -0
  263. package/docs/tr/intlayer_with_vite+svelte.md +288 -0
  264. package/docs/tr/intlayer_with_vite+vue.md +1042 -0
  265. package/docs/tr/introduction.md +209 -0
  266. package/docs/tr/locale_mapper.md +244 -0
  267. package/docs/tr/mcp_server.md +207 -0
  268. package/docs/tr/packages/@intlayer/api/index.md +58 -0
  269. package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
  270. package/docs/tr/packages/@intlayer/cli/index.md +47 -0
  271. package/docs/tr/packages/@intlayer/config/index.md +142 -0
  272. package/docs/tr/packages/@intlayer/core/index.md +51 -0
  273. package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
  274. package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
  275. package/docs/tr/packages/@intlayer/editor/index.md +47 -0
  276. package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
  277. package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
  278. package/docs/tr/packages/angular-intlayer/index.md +59 -0
  279. package/docs/tr/packages/express-intlayer/index.md +258 -0
  280. package/docs/tr/packages/express-intlayer/t.md +459 -0
  281. package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
  282. package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
  283. package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
  284. package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
  285. package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
  286. package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
  287. package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
  288. package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
  289. package/docs/tr/packages/intlayer/getTranslation.md +196 -0
  290. package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
  291. package/docs/tr/packages/intlayer/index.md +505 -0
  292. package/docs/tr/packages/intlayer-cli/index.md +71 -0
  293. package/docs/tr/packages/intlayer-editor/index.md +139 -0
  294. package/docs/tr/packages/lynx-intlayer/index.md +85 -0
  295. package/docs/tr/packages/next-intlayer/index.md +154 -0
  296. package/docs/tr/packages/next-intlayer/t.md +354 -0
  297. package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
  298. package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
  299. package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
  300. package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
  301. package/docs/tr/packages/preact-intlayer/index.md +55 -0
  302. package/docs/tr/packages/react-intlayer/index.md +148 -0
  303. package/docs/tr/packages/react-intlayer/t.md +304 -0
  304. package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
  305. package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
  306. package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
  307. package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
  308. package/docs/tr/packages/react-native-intlayer/index.md +85 -0
  309. package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
  310. package/docs/tr/packages/solid-intlayer/index.md +56 -0
  311. package/docs/tr/packages/svelte-intlayer/index.md +55 -0
  312. package/docs/tr/packages/vite-intlayer/index.md +82 -0
  313. package/docs/tr/packages/vue-intlayer/index.md +59 -0
  314. package/docs/tr/per_locale_file.md +321 -0
  315. package/docs/tr/readme.md +261 -0
  316. package/docs/tr/roadmap.md +338 -0
  317. package/docs/tr/testing.md +200 -0
  318. package/docs/tr/vs_code_extension.md +154 -0
  319. package/docs/zh/autoFill.md +40 -18
  320. package/docs/zh/configuration.md +245 -226
  321. package/docs/zh/dictionary/content_file.md +1064 -0
  322. package/docs/zh/intlayer_CMS.md +4 -5
  323. package/docs/zh/intlayer_with_nestjs.md +268 -0
  324. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  325. package/docs/zh/intlayer_with_react_router_v7.md +535 -0
  326. package/docs/zh/intlayer_with_tanstack.md +468 -278
  327. package/docs/zh/intlayer_with_vite+preact.md +7 -7
  328. package/docs/zh/intlayer_with_vite+react.md +7 -7
  329. package/docs/zh/intlayer_with_vite+vue.md +7 -7
  330. package/docs/zh/packages/vite-intlayer/index.md +3 -3
  331. package/docs/zh/readme.md +261 -0
  332. package/docs/zh/testing.md +198 -0
  333. package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
  334. package/frequent_questions/tr/array_as_content_declaration.md +72 -0
  335. package/frequent_questions/tr/build_dictionaries.md +59 -0
  336. package/frequent_questions/tr/build_error_CI_CD.md +75 -0
  337. package/frequent_questions/tr/customized_locale_list.md +65 -0
  338. package/frequent_questions/tr/domain_routing.md +114 -0
  339. package/frequent_questions/tr/esbuild_error.md +30 -0
  340. package/frequent_questions/tr/get_locale_cookie.md +142 -0
  341. package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
  342. package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
  343. package/frequent_questions/tr/static_rendering.md +45 -0
  344. package/frequent_questions/tr/translated_path_url.md +56 -0
  345. package/frequent_questions/tr/unknown_command.md +98 -0
  346. package/legal/tr/privacy_notice.md +83 -0
  347. package/legal/tr/terms_of_service.md +55 -0
  348. package/package.json +12 -12
  349. package/src/generated/blog.entry.ts +212 -0
  350. package/src/generated/docs.entry.ts +663 -135
  351. package/src/generated/frequentQuestions.entry.ts +85 -1
  352. package/src/generated/legal.entry.ts +7 -1
  353. package/docs/ar/dictionary/content_extention_customization.md +0 -100
  354. package/docs/ar/dictionary/get_started.md +0 -527
  355. package/docs/de/dictionary/content_extention_customization.md +0 -100
  356. package/docs/de/dictionary/get_started.md +0 -531
  357. package/docs/en/dictionary/content_extention_customization.md +0 -102
  358. package/docs/en/dictionary/get_started.md +0 -529
  359. package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
  360. package/docs/en-GB/dictionary/get_started.md +0 -591
  361. package/docs/es/dictionary/content_extention_customization.md +0 -100
  362. package/docs/es/dictionary/get_started.md +0 -527
  363. package/docs/fr/dictionary/content_extention_customization.md +0 -100
  364. package/docs/fr/dictionary/get_started.md +0 -527
  365. package/docs/hi/dictionary/content_extention_customization.md +0 -100
  366. package/docs/hi/dictionary/get_started.md +0 -527
  367. package/docs/it/dictionary/content_extention_customization.md +0 -113
  368. package/docs/it/dictionary/get_started.md +0 -573
  369. package/docs/ja/dictionary/content_extention_customization.md +0 -113
  370. package/docs/ja/dictionary/get_started.md +0 -576
  371. package/docs/ko/dictionary/content_extention_customization.md +0 -100
  372. package/docs/ko/dictionary/get_started.md +0 -530
  373. package/docs/pt/dictionary/content_extention_customization.md +0 -100
  374. package/docs/pt/dictionary/get_started.md +0 -532
  375. package/docs/ru/dictionary/content_extention_customization.md +0 -100
  376. package/docs/ru/dictionary/get_started.md +0 -575
  377. package/docs/zh/dictionary/content_extention_customization.md +0 -117
  378. package/docs/zh/dictionary/get_started.md +0 -533
@@ -0,0 +1,533 @@
1
+ ---
2
+ createdAt: 2025-09-04
3
+ updatedAt: 2025-09-04
4
+ title: البدء مع Intlayer في React Router v7
5
+ description: تعلّم كيفية إضافة التدويل (i18n) إلى تطبيق React Router v7 الخاص بك باستخدام Intlayer. اتبع هذا الدليل الشامل لجعل تطبيقك متعدد اللغات مع توجيه واعٍ للغة.
6
+ keywords:
7
+ - التدويل
8
+ - التوثيق
9
+ - Intlayer
10
+ - React Router v7
11
+ - React
12
+ - i18n
13
+ - TypeScript
14
+ - توجيه اللغة
15
+ slugs:
16
+ - doc
17
+ - environment
18
+ - vite-and-react
19
+ - react-router-v7
20
+ applicationTemplate: https://github.com/AydinTheFirst/react-router-intlayer
21
+ author: AydinTheFirst
22
+ ---
23
+
24
+ # البدء في التدويل (i18n) مع Intlayer و React Router v7
25
+
26
+ يوضح هذا الدليل كيفية دمج **Intlayer** لتوفير تدويل سلس في مشاريع React Router v7 مع توجيه واعٍ للغة، ودعم TypeScript، وممارسات تطوير حديثة.
27
+
28
+ ## ما هو Intlayer؟
29
+
30
+ **Intlayer** هو مكتبة تدويل (i18n) مبتكرة ومفتوحة المصدر مصممة لتبسيط دعم تعدد اللغات في تطبيقات الويب الحديثة.
31
+
32
+ مع Intlayer، يمكنك:
33
+
34
+ - **إدارة الترجمات بسهولة** باستخدام قواميس إعلانية على مستوى المكونات.
35
+ - **توطين البيانات الوصفية، والمسارات، والمحتوى بشكل ديناميكي**.
36
+ - **ضمان دعم TypeScript** من خلال أنواع مولدة تلقائيًا، مما يحسن الإكمال التلقائي واكتشاف الأخطاء.
37
+ - **الاستفادة من الميزات المتقدمة**، مثل الكشف الديناميكي عن اللغة والتبديل بينها.
38
+ - **تمكين التوجيه الواعي للغة** باستخدام نظام التوجيه المعتمد على التكوين في React Router v7.
39
+
40
+ ---
41
+
42
+ ## دليل خطوة بخطوة لإعداد Intlayer في تطبيق React Router v7
43
+
44
+ ### الخطوة 1: تثبيت التبعيات
45
+
46
+ قم بتثبيت الحزم اللازمة باستخدام مدير الحزم المفضل لديك:
47
+
48
+ ```bash packageManager="npm"
49
+ npm install intlayer react-intlayer
50
+ npm install vite-intlayer --save-dev
51
+ ```
52
+
53
+ ```bash packageManager="pnpm"
54
+ pnpm add intlayer react-intlayer
55
+ pnpm add vite-intlayer --save-dev
56
+ ```
57
+
58
+ - **intlayer**
59
+
60
+ الحزمة الأساسية التي توفر أدوات التدويل لإدارة التكوين، والترجمة، و[إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/get_started.md)، والترجمة البرمجية، و[أوامر CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_cli.md).
61
+
62
+ - **react-intlayer**
63
+ الحزمة التي تدمج Intlayer مع تطبيق React. توفر موفري السياق (context providers) وخطافات (hooks) للتدويل في React.
64
+
65
+ - **vite-intlayer**
66
+ تتضمن إضافة Vite لدمج Intlayer مع [مجمّع Vite](https://vite.dev/guide/why.html#why-bundle-for-production)، بالإضافة إلى وسيط (middleware) لاكتشاف اللغة المفضلة للمستخدم، وإدارة ملفات تعريف الارتباط (cookies)، والتعامل مع إعادة توجيه عناوين URL.
67
+
68
+ ### الخطوة 2: تكوين مشروعك
69
+
70
+ قم بإنشاء ملف تكوين لتكوين لغات تطبيقك:
71
+
72
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
73
+ import { type IntlayerConfig, Locales } from "intlayer";
74
+
75
+ const config: IntlayerConfig = {
76
+ internationalization: {
77
+ defaultLocale: Locales.ENGLISH,
78
+ locales: [Locales.ENGLISH, Locales.TURKISH],
79
+ },
80
+ middleware: {
81
+ prefixDefault: true, // دائمًا أضف بادئة اللغة الافتراضية في عناوين URL
82
+ },
83
+ };
84
+
85
+ export default config;
86
+ ```
87
+
88
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
89
+ import { Locales } from "intlayer";
90
+
91
+ /** @type {import('intlayer').IntlayerConfig} */
92
+ const config = {
93
+ internationalization: {
94
+ defaultLocale: Locales.ENGLISH,
95
+ locales: [Locales.ENGLISH, Locales.TURKISH],
96
+ },
97
+ middleware: {
98
+ prefixDefault: true,
99
+ },
100
+ };
101
+
102
+ export default config;
103
+ ```
104
+
105
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
106
+ const { Locales } = require("intlayer");
107
+
108
+ /** @type {import('intlayer').IntlayerConfig} */
109
+ const config = {
110
+ internationalization: {
111
+ defaultLocale: Locales.ENGLISH,
112
+ locales: [Locales.ENGLISH, Locales.TURKISH],
113
+ },
114
+ middleware: {
115
+ prefixDefault: true,
116
+ },
117
+ };
118
+
119
+ module.exports = config;
120
+ ```
121
+
122
+ > من خلال ملف التكوين هذا، يمكنك إعداد عناوين URL محلية، إعادة توجيه الوسيط، أسماء ملفات تعريف الارتباط، موقع وامتداد إعلانات المحتوى الخاصة بك، تعطيل سجلات Intlayer في وحدة التحكم، والمزيد. للحصول على قائمة كاملة بالمعلمات المتاحة، راجع [توثيق التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md).
123
+
124
+ ### الخطوة 3: تكوين مسارات React Router v7
125
+
126
+ قم بإعداد تكوين التوجيه الخاص بك مع مسارات مدركة للغة:
127
+
128
+ ```typescript fileName="app/routes.ts" codeFormat="typescript"
129
+ import { layout, route, type RouteConfig } from "@react-router/dev/routes";
130
+
131
+ export default [
132
+ layout("routes/layout.tsx", [
133
+ route("/", "routes/page.tsx"), // الصفحة الجذرية - يعيد التوجيه إلى اللغة
134
+ route("/:lang", "routes/[lang]/page.tsx"), // الصفحة الرئيسية المحلية
135
+ route("/:lang/about", "routes/[lang]/about/page.tsx"), // صفحة حول المحلية
136
+ ]),
137
+ ] satisfies RouteConfig;
138
+ ```
139
+
140
+ ### الخطوة 4: دمج Intlayer في تكوين Vite الخاص بك
141
+
142
+ أضف مكون intlayer الإضافي إلى تكوينك:
143
+
144
+ ```typescript fileName="vite.config.ts" codeFormat="typescript"
145
+ import { reactRouter } from "@react-router/dev/vite";
146
+ import { defineConfig } from "vite";
147
+ import { intlayerMiddlewarePlugin, intlayerPlugin } from "vite-intlayer";
148
+ import tsconfigPaths from "vite-tsconfig-paths";
149
+
150
+ export default defineConfig({
151
+ plugins: [
152
+ reactRouter(),
153
+ tsconfigPaths(),
154
+ intlayerPlugin(),
155
+ intlayerMiddlewarePlugin(),
156
+ ],
157
+ });
158
+ ```
159
+
160
+ > يتم استخدام مكون Vite الإضافي `intlayerPlugin()` لدمج Intlayer مع Vite. يضمن بناء ملفات إعلان المحتوى ومراقبتها في وضع التطوير. كما يعرّف متغيرات بيئة Intlayer داخل تطبيق Vite. بالإضافة إلى ذلك، يوفر ألقابًا لتحسين الأداء.
161
+
162
+ ### الخطوة 5: إنشاء مكونات التخطيط
163
+
164
+ قم بإعداد تخطيط الجذر والتخطيطات الخاصة باللغات:
165
+
166
+ #### تخطيط الجذر
167
+
168
+ ```tsx fileName="app/routes/layout.tsx" codeFormat="typescript"
169
+ // app/routes/layout.tsx
170
+ import { Outlet } from "react-router";
171
+ import { IntlayerProvider } from "react-intlayer";
172
+
173
+ export default function RootLayout() {
174
+ return (
175
+ <IntlayerProvider>
176
+ <Outlet />
177
+ </IntlayerProvider>
178
+ );
179
+ }
180
+ ```
181
+
182
+ ### الخطوة 6: إعلان المحتوى الخاص بك
183
+
184
+ قم بإنشاء وإدارة إعلانات المحتوى الخاصة بك لتخزين الترجمات:
185
+
186
+ ```tsx fileName="app/routes/[lang]/page.content.ts" contentDeclarationFormat="typescript"
187
+ import { t, type Dictionary } from "intlayer";
188
+
189
+ const pageContent = {
190
+ key: "page",
191
+ content: {
192
+ title: t({
193
+ en: "Welcome to React Router v7 + Intlayer",
194
+ tr: "React Router v7 + Intlayer'a Hoş Geldiniz",
195
+ }),
196
+ description: t({
197
+ en: "Build multilingual applications with ease using React Router v7 and Intlayer.",
198
+ tr: "React Router v7 ve Intlayer kullanarak kolayca çok dilli uygulamalar geliştirin.",
199
+ }),
200
+ aboutLink: t({
201
+ en: "تعرف علينا",
202
+ tr: "Hakkımızda Öğrenin",
203
+ }),
204
+ homeLink: t({
205
+ en: "الرئيسية",
206
+ tr: "Ana Sayfa",
207
+ }),
208
+ },
209
+ } satisfies Dictionary;
210
+
211
+ export default pageContent;
212
+ ```
213
+
214
+ > يمكن تعريف إعلانات المحتوى الخاصة بك في أي مكان في تطبيقك بمجرد تضمينها في دليل `contentDir` (افتراضيًا، `./app`). ويجب أن تتطابق مع امتداد ملف إعلان المحتوى (افتراضيًا، `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
215
+
216
+ > لمزيد من التفاصيل، راجع [توثيق إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/get_started.md).
217
+
218
+ ### الخطوة 7: إنشاء مكونات مدركة للغة
219
+
220
+ قم بإنشاء مكون `LocalizedLink` للتنقل المدرك للغة:
221
+
222
+ ```tsx fileName="app/components/localized-link.tsx" codeFormat="typescript"
223
+ // app/components/localized-link.tsx
224
+ import { getLocalizedUrl } from "intlayer";
225
+ import { useLocale } from "react-intlayer";
226
+ import React from "react";
227
+ import { Link, useLocation } from "react-router";
228
+
229
+ type RouterLinkProps = React.ComponentProps<typeof Link>;
230
+
231
+ export default function LocalizedLink({ to, ...props }: RouterLinkProps) {
232
+ const { locale } = useLocale();
233
+ const location = useLocation();
234
+
235
+ // دالة للتحقق مما إذا كان الرابط خارجيًا
236
+ const isExternal = (path: string) =>
237
+ /^([a-z][a-z0-9+.-]*:)?\/\//i.test(path) || path.startsWith("mailto:");
238
+
239
+ if (typeof to === "string") {
240
+ if (to.startsWith("/") && !isExternal(to)) {
241
+ return <Link to={getLocalizedUrl(to, locale)} {...props} />;
242
+ }
243
+ return <Link to={to} {...props} />;
244
+ }
245
+
246
+ if (to && typeof to === "object") {
247
+ const pathname = (to as { pathname?: string }).pathname;
248
+ if (pathname && pathname.startsWith("/") && !isExternal(pathname)) {
249
+ return (
250
+ <Link
251
+ to={{ ...to, pathname: getLocalizedUrl(pathname, locale) }}
252
+ {...props}
253
+ />
254
+ );
255
+ }
256
+ return <Link to={to} {...props} />;
257
+ }
258
+
259
+ return (
260
+ <Link
261
+ to={getLocalizedUrl(location.pathname + location.search, locale)}
262
+ {...props}
263
+ />
264
+ );
265
+ }
266
+ ```
267
+
268
+ ### الخطوة 8: استخدام Intlayer في صفحاتك
269
+
270
+ قم بالوصول إلى قواميس المحتوى الخاصة بك في جميع أنحاء تطبيقك:
271
+
272
+ #### صفحة إعادة التوجيه الجذرية
273
+
274
+ ```tsx fileName="app/routes/page.tsx" codeFormat="typescript"
275
+ // app/routes/page.tsx
276
+ import { useLocale } from "react-intlayer";
277
+ import { Navigate } from "react-router";
278
+
279
+ export default function Page() {
280
+ const { locale } = useLocale();
281
+
282
+ return <Navigate replace to={locale} />;
283
+ }
284
+ ```
285
+
286
+ #### الصفحة الرئيسية المترجمة
287
+
288
+ ```tsx fileName="app/routes/[lang]/page.tsx" codeFormat="typescript"
289
+ import { useIntlayer } from "react-intlayer";
290
+ import LocalizedLink from "~/components/localized-link";
291
+
292
+ export default function Page() {
293
+ const content = useIntlayer("page");
294
+
295
+ return (
296
+ <div style={{ padding: "2rem", textAlign: "center" }}>
297
+ <h1>{content.title}</h1>
298
+ <p>{content.description}</p>
299
+ <nav style={{ marginTop: "2rem" }}>
300
+ <LocalizedLink
301
+ to="/about"
302
+ style={{
303
+ display: "inline-block",
304
+ padding: "0.5rem 1rem",
305
+ backgroundColor: "#007bff",
306
+ color: "white",
307
+ textDecoration: "none",
308
+ borderRadius: "4px",
309
+ }}
310
+ >
311
+ {content.aboutLink}
312
+ </LocalizedLink>
313
+ </nav>
314
+ </div>
315
+ );
316
+ }
317
+ ```
318
+
319
+ > لمعرفة المزيد عن الخطاف `useIntlayer`، راجع [التوثيق](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/react-intlayer/useIntlayer.md).
320
+
321
+ ### الخطوة 9: إنشاء مكون لتبديل اللغة
322
+
323
+ قم بإنشاء مكون يسمح للمستخدمين بتغيير اللغة:
324
+
325
+ ```tsx fileName="app/components/locale-switcher.tsx" codeFormat="typescript"
326
+ import { getLocalizedUrl, getLocaleName } from "intlayer";
327
+ import { useLocale } from "react-intlayer";
328
+ import { useLocation, useNavigate } from "react-router";
329
+
330
+ export default function LocaleSwitcher() {
331
+ const { locale, availableLocales, setLocale } = useLocale();
332
+ const location = useLocation();
333
+ const navigate = useNavigate();
334
+
335
+ const handleLocaleChange = (newLocale: string) => {
336
+ const localizedUrl = getLocalizedUrl(
337
+ location.pathname + location.search,
338
+ newLocale
339
+ );
340
+ setLocale(newLocale);
341
+ navigate(localizedUrl);
342
+ };
343
+
344
+ return (
345
+ <div style={{ margin: "1rem 0" }}>
346
+ <label htmlFor="locale-select">اختر اللغة: </label>
347
+ <select
348
+ id="locale-select"
349
+ value={locale}
350
+ onChange={(e) => handleLocaleChange(e.target.value)}
351
+ style={{ padding: "0.25rem", marginLeft: "0.5rem" }}
352
+ >
353
+ {availableLocales.map((availableLocale) => (
354
+ <option key={availableLocale} value={availableLocale}>
355
+ {getLocaleName(availableLocale)}
356
+ </option>
357
+ ))}
358
+ </select>
359
+ </div>
360
+ );
361
+ }
362
+ ```
363
+
364
+ > لمعرفة المزيد عن الخطاف `useLocale`، راجع [التوثيق](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/react-intlayer/useLocale.md).
365
+
366
+ ### الخطوة 10: إضافة إدارة خصائص HTML (اختياري)
367
+
368
+ أنشئ خطافًا لإدارة خصائص lang و dir في HTML:
369
+
370
+ ```tsx fileName="app/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
371
+ // app/hooks/useI18nHTMLAttributes.tsx
372
+ import { getHTMLTextDir } from "intlayer";
373
+ import { useEffect } from "react";
374
+ import { useLocale } from "react-intlayer";
375
+
376
+ tsx;
377
+ export const useI18nHTMLAttributes = () => {
378
+ const { locale } = useLocale();
379
+
380
+ useEffect(() => {
381
+ document.documentElement.lang = locale;
382
+ document.documentElement.dir = getHTMLTextDir(locale);
383
+ }, [locale]);
384
+ };
385
+ ```
386
+
387
+ ثم استخدمها في مكون الجذر الخاص بك:
388
+
389
+ ```tsx fileName="app/root.tsx" codeFormat="typescript"
390
+ // app/routes/layout.tsx
391
+ import { Outlet } from "react-router";
392
+ import { IntlayerProvider } from "react-intlayer";
393
+
394
+ import { useI18nHTMLAttributes } from "app/hooks/useI18nHTMLAttributes"; // استيراد الـ hook
395
+
396
+ export default function RootLayout() {
397
+ useI18nHTMLAttributes(); // استدعاء الـ hook
398
+
399
+ return (
400
+ <IntlayerProvider>
401
+ <Outlet />
402
+ </IntlayerProvider>
403
+ );
404
+ }
405
+ ```
406
+
407
+ ### الخطوة 11: بناء وتشغيل تطبيقك
408
+
409
+ قم ببناء قواميس المحتوى وتشغيل تطبيقك:
410
+
411
+ ```bash packageManager="npm"
412
+ # بناء قواميس Intlayer
413
+ npm run intlayer:build
414
+
415
+ # بدء خادم التطوير
416
+ npm run dev
417
+ ```
418
+
419
+ ```bash packageManager="pnpm"
420
+ # بناء قواميس Intlayer
421
+ pnpm intlayer:build
422
+
423
+ # بدء خادم التطوير
424
+ pnpm dev
425
+ ```
426
+
427
+ ```bash packageManager="yarn"
428
+ # بناء قواميس Intlayer
429
+ yarn intlayer:build
430
+
431
+ # بدء خادم التطوير
432
+ yarn dev
433
+ ```
434
+
435
+ ### الخطوة 12: تكوين TypeScript (اختياري)
436
+
437
+ يستخدم Intlayer تعزيز الوحدات (module augmentation) للاستفادة من TypeScript وجعل قاعدة الشيفرة الخاصة بك أقوى.
438
+
439
+ تأكد من أن تكوين TypeScript الخاص بك يشمل الأنواع التي تم إنشاؤها تلقائيًا:
440
+
441
+ ```json5 fileName="tsconfig.json"
442
+ {
443
+ compilerOptions: {
444
+ // ... تكوينات TypeScript الحالية الخاصة بك
445
+ },
446
+ include: [
447
+ // ... تكوينات الإدراج الحالية الخاصة بك
448
+ ".intlayer/**/*.ts", // تضمين الأنواع التي تم إنشاؤها تلقائيًا
449
+ ],
450
+ }
451
+ ```
452
+
453
+ ### تكوين Git
454
+
455
+ يوصى بتجاهل الملفات التي يتم إنشاؤها بواسطة Intlayer. هذا يسمح لك بتجنب الالتزام بها في مستودع Git الخاص بك.
456
+
457
+ للقيام بذلك، يمكنك إضافة التعليمات التالية إلى ملف `.gitignore` الخاص بك:
458
+
459
+ ```plaintext fileName=".gitignore"
460
+ # تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer
461
+ .intlayer
462
+ ```
463
+
464
+ ---
465
+
466
+ ## النشر في بيئة الإنتاج
467
+
468
+ عند نشر تطبيقك:
469
+
470
+ 1. **قم ببناء تطبيقك:**
471
+
472
+ ```bash
473
+ npm run build
474
+ ```
475
+
476
+ 2. **قم ببناء قواميس Intlayer:**
477
+
478
+ ```bash
479
+ npm run intlayer:build
480
+ ```
481
+
482
+ 3. **نقل `vite-intlayer` إلى التبعيات** إذا كنت تستخدم الوسيط (middleware) في الإنتاج:
483
+ ```bash
484
+ npm install vite-intlayer --save
485
+ ```
486
+
487
+ سيدعم تطبيقك الآن:
488
+
489
+ - **هيكلية عناوين URL**: `/en`، `/en/about`، `/tr`، `/tr/about`
490
+ - **الكشف التلقائي عن اللغة** بناءً على تفضيلات المتصفح
491
+ - **التوجيه المدرك للغة** باستخدام React Router v7
492
+ - **دعم TypeScript** مع أنواع مولدة تلقائيًا
493
+ - **التصيير على جانب الخادم** مع التعامل الصحيح مع اللغة
494
+
495
+ ## إضافة VS Code
496
+
497
+ لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **إضافة Intlayer الرسمية لـ VS Code**.
498
+
499
+ [التثبيت من سوق VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
500
+
501
+ تقدم هذه الإضافة:
502
+
503
+ - **الإكمال التلقائي** لمفاتيح الترجمة.
504
+ - **الكشف الفوري عن الأخطاء** للترجمات المفقودة.
505
+ - **معاينات داخلية** للمحتوى المترجم.
506
+ - **إجراءات سريعة** لإنشاء الترجمة وتحديثها بسهولة.
507
+
508
+ لمزيد من التفاصيل حول كيفية استخدام الإضافة، راجع [توثيق إضافة Intlayer لـ VS Code](https://intlayer.org/doc/vs-code-extension).
509
+
510
+ ---
511
+
512
+ ## التقدم أكثر
513
+
514
+ للتقدم أكثر، يمكنك تنفيذ [المحرر المرئي](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).
515
+
516
+ ---
517
+
518
+ ## مراجع التوثيق
519
+
520
+ - [توثيق Intlayer](https://intlayer.org)
521
+ - [توثيق React Router v7](https://reactrouter.com/)
522
+ - [هوك useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/react-intlayer/useIntlayer.md)
523
+ - [خطاف useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/react-intlayer/useLocale.md)
524
+ - [إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/get_started.md)
525
+ - [التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md)
526
+
527
+ يوفر هذا الدليل الشامل كل ما تحتاجه لدمج Intlayer مع React Router v7 لتطبيق دولي بالكامل مع توجيه مدرك للغة ودعم TypeScript.
528
+
529
+ ## تاريخ الوثيقة
530
+
531
+ | الإصدار | التاريخ | التغييرات |
532
+ | ------- | --------- | ----------------------- |
533
+ | 5.8.2 | 2025-09-4 | أضيف لـ React Router v7 |