@intlayer/docs 8.3.0-canary.4 → 8.3.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 (240) hide show
  1. package/docs/ar/compiler.md +84 -49
  2. package/docs/ar/configuration.md +80 -37
  3. package/docs/ar/intlayer_with_nextjs_16.md +174 -1
  4. package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
  5. package/docs/ar/intlayer_with_react_router_v7.md +224 -1
  6. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
  7. package/docs/ar/intlayer_with_svelte_kit.md +175 -2
  8. package/docs/ar/intlayer_with_tanstack.md +176 -1
  9. package/docs/ar/intlayer_with_vite+preact.md +174 -1
  10. package/docs/ar/intlayer_with_vite+react.md +174 -1
  11. package/docs/ar/intlayer_with_vite+solid.md +174 -1
  12. package/docs/ar/intlayer_with_vite+svelte.md +174 -1
  13. package/docs/ar/intlayer_with_vite+vue.md +174 -1
  14. package/docs/de/compiler.md +83 -48
  15. package/docs/de/configuration.md +434 -212
  16. package/docs/de/intlayer_with_nextjs_16.md +176 -1
  17. package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
  18. package/docs/de/intlayer_with_react_router_v7.md +225 -2
  19. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
  20. package/docs/de/intlayer_with_svelte_kit.md +158 -2
  21. package/docs/de/intlayer_with_tanstack.md +159 -1
  22. package/docs/de/intlayer_with_vite+preact.md +157 -1
  23. package/docs/de/intlayer_with_vite+react.md +157 -1
  24. package/docs/de/intlayer_with_vite+solid.md +159 -3
  25. package/docs/de/intlayer_with_vite+svelte.md +157 -1
  26. package/docs/de/intlayer_with_vite+vue.md +157 -1
  27. package/docs/en/compiler.md +60 -33
  28. package/docs/en/configuration.md +80 -57
  29. package/docs/en/intlayer_with_nextjs_16.md +176 -0
  30. package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
  31. package/docs/en/intlayer_with_react_router_v7.md +159 -0
  32. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
  33. package/docs/en/intlayer_with_svelte_kit.md +159 -0
  34. package/docs/en/intlayer_with_tanstack.md +160 -1
  35. package/docs/en/intlayer_with_vite+preact.md +159 -0
  36. package/docs/en/intlayer_with_vite+react.md +159 -0
  37. package/docs/en/intlayer_with_vite+solid.md +148 -27
  38. package/docs/en/intlayer_with_vite+svelte.md +159 -0
  39. package/docs/en/intlayer_with_vite+vue.md +142 -41
  40. package/docs/en-GB/compiler.md +66 -34
  41. package/docs/en-GB/configuration.md +78 -36
  42. package/docs/es/compiler.md +83 -48
  43. package/docs/es/configuration.md +429 -206
  44. package/docs/es/intlayer_with_adonisjs.md +1 -1
  45. package/docs/es/intlayer_with_express.md +1 -1
  46. package/docs/es/intlayer_with_fastify.md +1 -1
  47. package/docs/es/intlayer_with_hono.md +1 -1
  48. package/docs/es/intlayer_with_nestjs.md +1 -1
  49. package/docs/es/intlayer_with_nextjs_16.md +176 -3
  50. package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
  51. package/docs/es/intlayer_with_nuxt.md +1 -1
  52. package/docs/es/intlayer_with_react_router_v7.md +227 -4
  53. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
  54. package/docs/es/intlayer_with_svelte_kit.md +158 -2
  55. package/docs/es/intlayer_with_tanstack.md +160 -2
  56. package/docs/es/intlayer_with_vite+preact.md +162 -6
  57. package/docs/es/intlayer_with_vite+react.md +160 -4
  58. package/docs/es/intlayer_with_vite+solid.md +163 -7
  59. package/docs/es/intlayer_with_vite+svelte.md +157 -1
  60. package/docs/es/intlayer_with_vite+vue.md +165 -9
  61. package/docs/fr/compiler.md +81 -46
  62. package/docs/fr/configuration.md +355 -134
  63. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  64. package/docs/fr/intlayer_with_express.md +1 -1
  65. package/docs/fr/intlayer_with_fastify.md +1 -1
  66. package/docs/fr/intlayer_with_hono.md +1 -1
  67. package/docs/fr/intlayer_with_nestjs.md +1 -1
  68. package/docs/fr/intlayer_with_nextjs_16.md +183 -7
  69. package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
  70. package/docs/fr/intlayer_with_react_router_v7.md +229 -3
  71. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
  72. package/docs/fr/intlayer_with_svelte_kit.md +158 -2
  73. package/docs/fr/intlayer_with_tanstack.md +159 -1
  74. package/docs/fr/intlayer_with_vite+preact.md +164 -8
  75. package/docs/fr/intlayer_with_vite+react.md +162 -6
  76. package/docs/fr/intlayer_with_vite+solid.md +163 -7
  77. package/docs/fr/intlayer_with_vite+svelte.md +157 -1
  78. package/docs/fr/intlayer_with_vite+vue.md +164 -8
  79. package/docs/hi/compiler.md +81 -46
  80. package/docs/hi/configuration.md +87 -44
  81. package/docs/hi/intlayer_with_nextjs_16.md +174 -1
  82. package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
  83. package/docs/hi/intlayer_with_react_router_v7.md +224 -1
  84. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  85. package/docs/hi/intlayer_with_svelte_kit.md +158 -2
  86. package/docs/hi/intlayer_with_tanstack.md +159 -1
  87. package/docs/hi/intlayer_with_vite+preact.md +157 -1
  88. package/docs/hi/intlayer_with_vite+react.md +157 -1
  89. package/docs/hi/intlayer_with_vite+solid.md +157 -1
  90. package/docs/hi/intlayer_with_vite+svelte.md +157 -1
  91. package/docs/hi/intlayer_with_vite+vue.md +157 -1
  92. package/docs/id/compiler.md +84 -51
  93. package/docs/id/configuration.md +83 -45
  94. package/docs/id/intlayer_with_nextjs_16.md +174 -1
  95. package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
  96. package/docs/id/intlayer_with_react_router_v7.md +224 -1
  97. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
  98. package/docs/id/intlayer_with_svelte_kit.md +158 -2
  99. package/docs/id/intlayer_with_tanstack.md +159 -1
  100. package/docs/id/intlayer_with_vite+preact.md +157 -1
  101. package/docs/id/intlayer_with_vite+react.md +157 -1
  102. package/docs/id/intlayer_with_vite+solid.md +157 -1
  103. package/docs/id/intlayer_with_vite+svelte.md +157 -1
  104. package/docs/id/intlayer_with_vite+vue.md +157 -1
  105. package/docs/it/compiler.md +81 -46
  106. package/docs/it/configuration.md +426 -204
  107. package/docs/it/intlayer_with_nextjs_16.md +174 -1
  108. package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
  109. package/docs/it/intlayer_with_react_router_v7.md +225 -2
  110. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
  111. package/docs/it/intlayer_with_svelte_kit.md +158 -2
  112. package/docs/it/intlayer_with_tanstack.md +159 -1
  113. package/docs/it/intlayer_with_vite+preact.md +157 -1
  114. package/docs/it/intlayer_with_vite+react.md +157 -1
  115. package/docs/it/intlayer_with_vite+solid.md +159 -3
  116. package/docs/it/intlayer_with_vite+svelte.md +157 -1
  117. package/docs/it/intlayer_with_vite+vue.md +157 -1
  118. package/docs/ja/compiler.md +94 -58
  119. package/docs/ja/configuration.md +88 -45
  120. package/docs/ja/intlayer_with_nextjs_16.md +174 -1
  121. package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
  122. package/docs/ja/intlayer_with_react_router_v7.md +184 -394
  123. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
  124. package/docs/ja/intlayer_with_svelte_kit.md +119 -595
  125. package/docs/ja/intlayer_with_tanstack.md +131 -642
  126. package/docs/ja/intlayer_with_vite+preact.md +111 -1231
  127. package/docs/ja/intlayer_with_vite+react.md +129 -1304
  128. package/docs/ja/intlayer_with_vite+solid.md +159 -3
  129. package/docs/ja/intlayer_with_vite+svelte.md +157 -1
  130. package/docs/ja/intlayer_with_vite+vue.md +157 -1
  131. package/docs/ko/compiler.md +88 -52
  132. package/docs/ko/configuration.md +87 -44
  133. package/docs/ko/intlayer_with_nextjs_16.md +174 -1
  134. package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
  135. package/docs/ko/intlayer_with_react_router_v7.md +225 -2
  136. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
  137. package/docs/ko/intlayer_with_svelte_kit.md +158 -2
  138. package/docs/ko/intlayer_with_tanstack.md +159 -1
  139. package/docs/ko/intlayer_with_vite+preact.md +157 -1
  140. package/docs/ko/intlayer_with_vite+react.md +157 -1
  141. package/docs/ko/intlayer_with_vite+solid.md +159 -3
  142. package/docs/ko/intlayer_with_vite+svelte.md +157 -1
  143. package/docs/ko/intlayer_with_vite+vue.md +157 -1
  144. package/docs/pl/compiler.md +84 -51
  145. package/docs/pl/configuration.md +83 -37
  146. package/docs/pl/intlayer_with_nextjs_16.md +174 -1
  147. package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
  148. package/docs/pl/intlayer_with_react_router_v7.md +224 -1
  149. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
  150. package/docs/pl/intlayer_with_svelte_kit.md +158 -2
  151. package/docs/pl/intlayer_with_tanstack.md +159 -1
  152. package/docs/pl/intlayer_with_vite+preact.md +157 -1
  153. package/docs/pl/intlayer_with_vite+react.md +157 -1
  154. package/docs/pl/intlayer_with_vite+solid.md +157 -1
  155. package/docs/pl/intlayer_with_vite+svelte.md +157 -1
  156. package/docs/pl/intlayer_with_vite+vue.md +157 -1
  157. package/docs/pt/compiler.md +81 -46
  158. package/docs/pt/configuration.md +404 -194
  159. package/docs/pt/intlayer_with_nextjs_16.md +174 -1
  160. package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
  161. package/docs/pt/intlayer_with_react_router_v7.md +224 -1
  162. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
  163. package/docs/pt/intlayer_with_svelte_kit.md +158 -2
  164. package/docs/pt/intlayer_with_tanstack.md +159 -1
  165. package/docs/pt/intlayer_with_vite+preact.md +157 -1
  166. package/docs/pt/intlayer_with_vite+react.md +157 -1
  167. package/docs/pt/intlayer_with_vite+solid.md +157 -1
  168. package/docs/pt/intlayer_with_vite+svelte.md +157 -1
  169. package/docs/pt/intlayer_with_vite+vue.md +157 -1
  170. package/docs/ru/compiler.md +90 -57
  171. package/docs/ru/configuration.md +76 -46
  172. package/docs/ru/intlayer_with_nextjs_16.md +174 -1
  173. package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
  174. package/docs/ru/intlayer_with_react_router_v7.md +224 -1
  175. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
  176. package/docs/ru/intlayer_with_svelte_kit.md +158 -2
  177. package/docs/ru/intlayer_with_tanstack.md +159 -1
  178. package/docs/ru/intlayer_with_vite+preact.md +157 -1
  179. package/docs/ru/intlayer_with_vite+react.md +157 -1
  180. package/docs/ru/intlayer_with_vite+solid.md +157 -1
  181. package/docs/ru/intlayer_with_vite+svelte.md +157 -1
  182. package/docs/ru/intlayer_with_vite+vue.md +157 -1
  183. package/docs/tr/compiler.md +85 -52
  184. package/docs/tr/configuration.md +83 -40
  185. package/docs/tr/intlayer_with_nextjs_16.md +174 -1
  186. package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
  187. package/docs/tr/intlayer_with_react_router_v7.md +224 -1
  188. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
  189. package/docs/tr/intlayer_with_svelte_kit.md +158 -2
  190. package/docs/tr/intlayer_with_tanstack.md +159 -1
  191. package/docs/tr/intlayer_with_vite+preact.md +157 -1
  192. package/docs/tr/intlayer_with_vite+react.md +157 -1
  193. package/docs/tr/intlayer_with_vite+solid.md +157 -1
  194. package/docs/tr/intlayer_with_vite+svelte.md +157 -1
  195. package/docs/tr/intlayer_with_vite+vue.md +157 -1
  196. package/docs/uk/compiler.md +96 -61
  197. package/docs/uk/configuration.md +83 -37
  198. package/docs/uk/intlayer_with_nextjs_16.md +174 -1
  199. package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
  200. package/docs/uk/intlayer_with_react_router_v7.md +224 -1
  201. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
  202. package/docs/uk/intlayer_with_svelte_kit.md +157 -1
  203. package/docs/uk/intlayer_with_tanstack.md +159 -1
  204. package/docs/uk/intlayer_with_vite+preact.md +157 -1
  205. package/docs/uk/intlayer_with_vite+react.md +157 -1
  206. package/docs/uk/intlayer_with_vite+solid.md +157 -1
  207. package/docs/uk/intlayer_with_vite+svelte.md +157 -1
  208. package/docs/uk/intlayer_with_vite+vue.md +157 -1
  209. package/docs/vi/compiler.md +85 -50
  210. package/docs/vi/configuration.md +85 -39
  211. package/docs/vi/intlayer_with_nextjs_16.md +174 -1
  212. package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
  213. package/docs/vi/intlayer_with_react_router_v7.md +224 -1
  214. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  215. package/docs/vi/intlayer_with_svelte_kit.md +158 -2
  216. package/docs/vi/intlayer_with_tanstack.md +159 -1
  217. package/docs/vi/intlayer_with_vite+preact.md +157 -1
  218. package/docs/vi/intlayer_with_vite+react.md +157 -1
  219. package/docs/vi/intlayer_with_vite+solid.md +157 -1
  220. package/docs/vi/intlayer_with_vite+svelte.md +157 -1
  221. package/docs/vi/intlayer_with_vite+vue.md +157 -1
  222. package/docs/zh/compiler.md +84 -49
  223. package/docs/zh/configuration.md +80 -37
  224. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  225. package/docs/zh/intlayer_with_express.md +1 -1
  226. package/docs/zh/intlayer_with_fastify.md +1 -1
  227. package/docs/zh/intlayer_with_hono.md +1 -1
  228. package/docs/zh/intlayer_with_nestjs.md +1 -1
  229. package/docs/zh/intlayer_with_nextjs_16.md +174 -1
  230. package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
  231. package/docs/zh/intlayer_with_react_router_v7.md +227 -4
  232. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
  233. package/docs/zh/intlayer_with_svelte_kit.md +158 -2
  234. package/docs/zh/intlayer_with_tanstack.md +159 -1
  235. package/docs/zh/intlayer_with_vite+preact.md +159 -3
  236. package/docs/zh/intlayer_with_vite+react.md +157 -1
  237. package/docs/zh/intlayer_with_vite+solid.md +161 -5
  238. package/docs/zh/intlayer_with_vite+svelte.md +157 -1
  239. package/docs/zh/intlayer_with_vite+vue.md +158 -2
  240. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-03-07
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + React i18n - كيفية ترجمة تطبيق React في 2026
5
5
  description: تعلّم كيفية إضافة التدويل (i18n) إلى تطبيق Vite و React الخاص بك باستخدام Intlayer. اتبع هذا الدليل لجعل تطبيقك متعدد اللغات.
6
6
  keywords:
@@ -1393,6 +1393,179 @@ Link.displayName = "Link";
1393
1393
  .intlayer
1394
1394
  ```
1395
1395
 
1396
+ ### (اختياري) خطوة 1 : استخراج محتوى مكوناتك
1397
+
1398
+ إذا كان لديك قاعدة بيانات كود موجودة، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
1399
+
1400
+ لتسهيل هذه العملية، يقترح Intlayer [مترجمًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
1401
+
1402
+ لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
1403
+
1404
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
1405
+ import { type IntlayerConfig } from "intlayer";
1406
+
1407
+ const config: IntlayerConfig = {
1408
+ // ... بقية التكوين الخاص بك
1409
+ compiler: {
1410
+ /**
1411
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
1412
+ */
1413
+ enabled: true,
1414
+
1415
+ /**
1416
+ * يحدد مسار ملفات المخرجات
1417
+ */
1418
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1419
+
1420
+ /**
1421
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
1422
+ */
1423
+ saveComponents: false,
1424
+
1425
+ /**
1426
+ * بادئة مفتاح القاموس
1427
+ */
1428
+ dictionaryKeyPrefix: "",
1429
+ },
1430
+ };
1431
+
1432
+ export default config;
1433
+ ```
1434
+
1435
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
1436
+ /** @type {import('intlayer').IntlayerConfig} */
1437
+ const config = {
1438
+ // ... بقية التكوين الخاص بك
1439
+ compiler: {
1440
+ /**
1441
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
1442
+ */
1443
+ enabled: true,
1444
+
1445
+ /**
1446
+ * يحدد مسار ملفات المخرجات
1447
+ */
1448
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1449
+
1450
+ /**
1451
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
1452
+ */
1453
+ saveComponents: false,
1454
+
1455
+ /**
1456
+ * بادئة مفتاح القاموس
1457
+ */
1458
+ dictionaryKeyPrefix: "",
1459
+ },
1460
+ };
1461
+
1462
+ export default config;
1463
+ ```
1464
+
1465
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
1466
+ /** @type {import('intlayer').IntlayerConfig} */
1467
+ const config = {
1468
+ // ... بقية التكوين الخاص بك
1469
+ compiler: {
1470
+ /**
1471
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
1472
+ */
1473
+ enabled: true,
1474
+
1475
+ /**
1476
+ * يحدد مسار ملفات المخرجات
1477
+ */
1478
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1479
+
1480
+ /**
1481
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
1482
+ */
1483
+ saveComponents: false,
1484
+
1485
+ /**
1486
+ * بادئة مفتاح القاموس
1487
+ */
1488
+ dictionaryKeyPrefix: "",
1489
+ },
1490
+ };
1491
+
1492
+ module.exports = config;
1493
+ ```
1494
+
1495
+ <Tabs>
1496
+ <Tab value='أمر الاستخراج'>
1497
+
1498
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
1499
+
1500
+ ```bash packageManager="npm"
1501
+ npx intlayer extract
1502
+ ```
1503
+
1504
+ ```bash packageManager="pnpm"
1505
+ pnpm intlayer extract
1506
+ ```
1507
+
1508
+ ```bash packageManager="yarn"
1509
+ yarn intlayer extract
1510
+ ```
1511
+
1512
+ ```bash packageManager="bun"
1513
+ bunx intlayer extract
1514
+ ```
1515
+
1516
+ </Tab>
1517
+ <Tab value='مترجم Babel'>
1518
+
1519
+ ```bash packageManager="npm"
1520
+ npm install @intlayer/babel --save-dev
1521
+ ```
1522
+
1523
+ ```bash packageManager="pnpm"
1524
+ pnpm add @intlayer/babel --save-dev
1525
+ ```
1526
+
1527
+ ```bash packageManager="yarn"
1528
+ yarn add @intlayer/babel --save-dev
1529
+ ```
1530
+
1531
+ ```bash packageManager="bun"
1532
+ bun add @intlayer/babel --dev
1533
+ ```
1534
+
1535
+ ```js fileName="babel.config.js"
1536
+ const {
1537
+ intlayerExtractBabelPlugin,
1538
+ getExtractPluginOptions,
1539
+ } = require("@intlayer/babel");
1540
+
1541
+ module.exports = {
1542
+ presets: ["next/babel"],
1543
+ plugins: [
1544
+ // استخراج المحتوى من المكونات إلى القواميس
1545
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
1546
+ ],
1547
+ };
1548
+ ```
1549
+
1550
+ ```bash packageManager="npm"
1551
+ npm run build # أو npm run dev
1552
+ ```
1553
+
1554
+ ```bash packageManager="pnpm"
1555
+ pnpm run build # Or pnpm run dev
1556
+ ```
1557
+
1558
+ ```bash packageManager="yarn"
1559
+ yarn build # Or yarn dev
1560
+ ```
1561
+
1562
+ ```bash packageManager="bun"
1563
+ bun run build # Or bun run dev
1564
+ ```
1565
+
1566
+ </Tab>
1567
+ </Tabs>
1568
+
1396
1569
  ### إضافة VS Code
1397
1570
 
1398
1571
  لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **إضافة Intlayer الرسمية لـ VS Code**.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Solid i18n - كيفية ترجمة تطبيق Solid في 2026
5
5
  description: اكتشف كيفية جعل موقعك باستخدام Vite و Solid متعدد اللغات. اتبع الوثائق لتدويل (i18n) وترجمته.
6
6
  keywords:
@@ -561,6 +561,179 @@ const MyComponent = () => {
561
561
  .intlayer
562
562
  ```
563
563
 
564
+ ### (اختياري) خطوة 1 : استخراج محتوى مكوناتك
565
+
566
+ إذا كان لديك قاعدة بيانات كود موجودة، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
567
+
568
+ لتسهيل هذه العملية، يقترح Intlayer [مترجمًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
569
+
570
+ لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
571
+
572
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
573
+ import { type IntlayerConfig } from "intlayer";
574
+
575
+ const config: IntlayerConfig = {
576
+ // ... بقية التكوين الخاص بك
577
+ compiler: {
578
+ /**
579
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
580
+ */
581
+ enabled: true,
582
+
583
+ /**
584
+ * يحدد مسار ملفات المخرجات
585
+ */
586
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
587
+
588
+ /**
589
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
590
+ */
591
+ saveComponents: false,
592
+
593
+ /**
594
+ * بادئة مفتاح القاموس
595
+ */
596
+ dictionaryKeyPrefix: "",
597
+ },
598
+ };
599
+
600
+ export default config;
601
+ ```
602
+
603
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
604
+ /** @type {import('intlayer').IntlayerConfig} */
605
+ const config = {
606
+ // ... بقية التكوين الخاص بك
607
+ compiler: {
608
+ /**
609
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
610
+ */
611
+ enabled: true,
612
+
613
+ /**
614
+ * يحدد مسار ملفات المخرجات
615
+ */
616
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
617
+
618
+ /**
619
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
620
+ */
621
+ saveComponents: false,
622
+
623
+ /**
624
+ * بادئة مفتاح القاموس
625
+ */
626
+ dictionaryKeyPrefix: "",
627
+ },
628
+ };
629
+
630
+ export default config;
631
+ ```
632
+
633
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
634
+ /** @type {import('intlayer').IntlayerConfig} */
635
+ const config = {
636
+ // ... بقية التكوين الخاص بك
637
+ compiler: {
638
+ /**
639
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
640
+ */
641
+ enabled: true,
642
+
643
+ /**
644
+ * يحدد مسار ملفات المخرجات
645
+ */
646
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
647
+
648
+ /**
649
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
650
+ */
651
+ saveComponents: false,
652
+
653
+ /**
654
+ * بادئة مفتاح القاموس
655
+ */
656
+ dictionaryKeyPrefix: "",
657
+ },
658
+ };
659
+
660
+ module.exports = config;
661
+ ```
662
+
663
+ <Tabs>
664
+ <Tab value='أمر الاستخراج'>
665
+
666
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
667
+
668
+ ```bash packageManager="npm"
669
+ npx intlayer extract
670
+ ```
671
+
672
+ ```bash packageManager="pnpm"
673
+ pnpm intlayer extract
674
+ ```
675
+
676
+ ```bash packageManager="yarn"
677
+ yarn intlayer extract
678
+ ```
679
+
680
+ ```bash packageManager="bun"
681
+ bunx intlayer extract
682
+ ```
683
+
684
+ </Tab>
685
+ <Tab value='مترجم Babel'>
686
+
687
+ ```bash packageManager="npm"
688
+ npm install @intlayer/babel --save-dev
689
+ ```
690
+
691
+ ```bash packageManager="pnpm"
692
+ pnpm add @intlayer/babel --save-dev
693
+ ```
694
+
695
+ ```bash packageManager="yarn"
696
+ yarn add @intlayer/babel --save-dev
697
+ ```
698
+
699
+ ```bash packageManager="bun"
700
+ bun add @intlayer/babel --dev
701
+ ```
702
+
703
+ ```js fileName="babel.config.js"
704
+ const {
705
+ intlayerExtractBabelPlugin,
706
+ getExtractPluginOptions,
707
+ } = require("@intlayer/babel");
708
+
709
+ module.exports = {
710
+ presets: ["next/babel"],
711
+ plugins: [
712
+ // استخراج المحتوى من المكونات إلى القواميس
713
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
714
+ ],
715
+ };
716
+ ```
717
+
718
+ ```bash packageManager="npm"
719
+ npm run build # أو npm run dev
720
+ ```
721
+
722
+ ```bash packageManager="pnpm"
723
+ pnpm run build # Or pnpm run dev
724
+ ```
725
+
726
+ ```bash packageManager="yarn"
727
+ yarn build # Or yarn dev
728
+ ```
729
+
730
+ ```bash packageManager="bun"
731
+ bun run build # Or bun run dev
732
+ ```
733
+
734
+ </Tab>
735
+ </Tabs>
736
+
564
737
  ### امتداد VS Code
565
738
 
566
739
  لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **امتداد Intlayer الرسمي لـ VS Code**.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Svelte i18n - كيفية ترجمة تطبيق Svelte في 2026
5
5
  description: اكتشف كيفية جعل موقعك الإلكتروني باستخدام Vite و Svelte متعدد اللغات. اتبع الوثائق لتدويل (i18n) وترجمته.
6
6
  keywords:
@@ -484,6 +484,179 @@ const changeLocale = (event: Event) => {
484
484
  .intlayer
485
485
  ```
486
486
 
487
+ ### (اختياري) خطوة 1 : استخراج محتوى مكوناتك
488
+
489
+ إذا كان لديك قاعدة بيانات كود موجودة، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
490
+
491
+ لتسهيل هذه العملية، يقترح Intlayer [مترجمًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compiler.md) / [مستخرجًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/cli/extract.md) لتحويل مكوناتك واستخراج المحتوى.
492
+
493
+ لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
494
+
495
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
496
+ import { type IntlayerConfig } from "intlayer";
497
+
498
+ const config: IntlayerConfig = {
499
+ // ... بقية التكوين الخاص بك
500
+ compiler: {
501
+ /**
502
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
503
+ */
504
+ enabled: true,
505
+
506
+ /**
507
+ * يحدد مسار ملفات المخرجات
508
+ */
509
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
510
+
511
+ /**
512
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
513
+ */
514
+ saveComponents: false,
515
+
516
+ /**
517
+ * بادئة مفتاح القاموس
518
+ */
519
+ dictionaryKeyPrefix: "",
520
+ },
521
+ };
522
+
523
+ export default config;
524
+ ```
525
+
526
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
527
+ /** @type {import('intlayer').IntlayerConfig} */
528
+ const config = {
529
+ // ... بقية التكوين الخاص بك
530
+ compiler: {
531
+ /**
532
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
533
+ */
534
+ enabled: true,
535
+
536
+ /**
537
+ * يحدد مسار ملفات المخرجات
538
+ */
539
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
540
+
541
+ /**
542
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
543
+ */
544
+ saveComponents: false,
545
+
546
+ /**
547
+ * بادئة مفتاح القاموس
548
+ */
549
+ dictionaryKeyPrefix: "",
550
+ },
551
+ };
552
+
553
+ export default config;
554
+ ```
555
+
556
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
557
+ /** @type {import('intlayer').IntlayerConfig} */
558
+ const config = {
559
+ // ... بقية التكوين الخاص بك
560
+ compiler: {
561
+ /**
562
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
563
+ */
564
+ enabled: true,
565
+
566
+ /**
567
+ * يحدد مسار ملفات المخرجات
568
+ */
569
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
570
+
571
+ /**
572
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
573
+ */
574
+ saveComponents: false,
575
+
576
+ /**
577
+ * بادئة مفتاح القاموس
578
+ */
579
+ dictionaryKeyPrefix: "",
580
+ },
581
+ };
582
+
583
+ module.exports = config;
584
+ ```
585
+
586
+ <Tabs>
587
+ <Tab value='أمر الاستخراج'>
588
+
589
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
590
+
591
+ ```bash packageManager="npm"
592
+ npx intlayer extract
593
+ ```
594
+
595
+ ```bash packageManager="pnpm"
596
+ pnpm intlayer extract
597
+ ```
598
+
599
+ ```bash packageManager="yarn"
600
+ yarn intlayer extract
601
+ ```
602
+
603
+ ```bash packageManager="bun"
604
+ bunx intlayer extract
605
+ ```
606
+
607
+ </Tab>
608
+ <Tab value='مترجم Babel'>
609
+
610
+ ```bash packageManager="npm"
611
+ npm install @intlayer/babel --save-dev
612
+ ```
613
+
614
+ ```bash packageManager="pnpm"
615
+ pnpm add @intlayer/babel --save-dev
616
+ ```
617
+
618
+ ```bash packageManager="yarn"
619
+ yarn add @intlayer/babel --save-dev
620
+ ```
621
+
622
+ ```bash packageManager="bun"
623
+ bun add @intlayer/babel --dev
624
+ ```
625
+
626
+ ```js fileName="babel.config.js"
627
+ const {
628
+ intlayerExtractBabelPlugin,
629
+ getExtractPluginOptions,
630
+ } = require("@intlayer/babel");
631
+
632
+ module.exports = {
633
+ presets: ["next/babel"],
634
+ plugins: [
635
+ // استخراج المحتوى من المكونات إلى القواميس
636
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
637
+ ],
638
+ };
639
+ ```
640
+
641
+ ```bash packageManager="npm"
642
+ npm run build # أو npm run dev
643
+ ```
644
+
645
+ ```bash packageManager="pnpm"
646
+ pnpm run build # Or pnpm run dev
647
+ ```
648
+
649
+ ```bash packageManager="yarn"
650
+ yarn build # Or yarn dev
651
+ ```
652
+
653
+ ```bash packageManager="bun"
654
+ bun run build # Or bun run dev
655
+ ```
656
+
657
+ </Tab>
658
+ </Tabs>
659
+
487
660
  ### إضافة VS Code
488
661
 
489
662
  لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **امتداد Intlayer الرسمي لـ VS Code**.