@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: 2025-11-20
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: SvelteKit i18n - كيفية ترجمة تطبيق SvelteKit في 2026
5
5
  description: اكتشف كيفية جعل موقع SvelteKit الخاص بك متعدد اللغات. اتبع الوثائق لتدويل (i18n) وترجمته باستخدام العرض من جانب الخادم (SSR).
6
6
  keywords:
@@ -185,7 +185,7 @@ export default heroContent;
185
185
 
186
186
  > **ملاحظة:** تُرجع `useIntlayer` مخزن Svelte، لذا تحتاج إلى استخدام بادئة `---
187
187
  > createdAt: 2025-11-20
188
- > updatedAt: 2025-11-20
188
+ > updatedAt: 2026-03-12
189
189
  > title: كيفية ترجمة تطبيق SvelteKit الخاص بك – دليل i18n 2026
190
190
  > description: اكتشف كيفية جعل موقع SvelteKit الخاص بك متعدد اللغات. اتبع الوثائق لتدويل (i18n) وترجمته باستخدام العرض من جانب الخادم (SSR).
191
191
  > keywords:
@@ -742,6 +742,179 @@ export default defineConfig({
742
742
  .intlayer
743
743
  ```
744
744
 
745
+ ### (اختياري) خطوة 1 : استخراج محتوى مكوناتك
746
+
747
+ إذا كان لديك قاعدة بيانات كود موجودة، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
748
+
749
+ لتسهيل هذه العملية، يقترح 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) لتحويل مكوناتك واستخراج المحتوى.
750
+
751
+ لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
752
+
753
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
754
+ import { type IntlayerConfig } from "intlayer";
755
+
756
+ const config: IntlayerConfig = {
757
+ // ... بقية التكوين الخاص بك
758
+ compiler: {
759
+ /**
760
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
761
+ */
762
+ enabled: true,
763
+
764
+ /**
765
+ * يحدد مسار ملفات المخرجات
766
+ */
767
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
768
+
769
+ /**
770
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
771
+ */
772
+ saveComponents: false,
773
+
774
+ /**
775
+ * بادئة مفتاح القاموس
776
+ */
777
+ dictionaryKeyPrefix: "",
778
+ },
779
+ };
780
+
781
+ export default config;
782
+ ```
783
+
784
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
785
+ /** @type {import('intlayer').IntlayerConfig} */
786
+ const config = {
787
+ // ... بقية التكوين الخاص بك
788
+ compiler: {
789
+ /**
790
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
791
+ */
792
+ enabled: true,
793
+
794
+ /**
795
+ * يحدد مسار ملفات المخرجات
796
+ */
797
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
798
+
799
+ /**
800
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
801
+ */
802
+ saveComponents: false,
803
+
804
+ /**
805
+ * بادئة مفتاح القاموس
806
+ */
807
+ dictionaryKeyPrefix: "",
808
+ },
809
+ };
810
+
811
+ export default config;
812
+ ```
813
+
814
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
815
+ /** @type {import('intlayer').IntlayerConfig} */
816
+ const config = {
817
+ // ... بقية التكوين الخاص بك
818
+ compiler: {
819
+ /**
820
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
821
+ */
822
+ enabled: true,
823
+
824
+ /**
825
+ * يحدد مسار ملفات المخرجات
826
+ */
827
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
828
+
829
+ /**
830
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
831
+ */
832
+ saveComponents: false,
833
+
834
+ /**
835
+ * بادئة مفتاح القاموس
836
+ */
837
+ dictionaryKeyPrefix: "",
838
+ },
839
+ };
840
+
841
+ module.exports = config;
842
+ ```
843
+
844
+ <Tabs>
845
+ <Tab value='أمر الاستخراج'>
846
+
847
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
848
+
849
+ ```bash packageManager="npm"
850
+ npx intlayer extract
851
+ ```
852
+
853
+ ```bash packageManager="pnpm"
854
+ pnpm intlayer extract
855
+ ```
856
+
857
+ ```bash packageManager="yarn"
858
+ yarn intlayer extract
859
+ ```
860
+
861
+ ```bash packageManager="bun"
862
+ bunx intlayer extract
863
+ ```
864
+
865
+ </Tab>
866
+ <Tab value='مترجم Babel'>
867
+
868
+ ```bash packageManager="npm"
869
+ npm install @intlayer/babel --save-dev
870
+ ```
871
+
872
+ ```bash packageManager="pnpm"
873
+ pnpm add @intlayer/babel --save-dev
874
+ ```
875
+
876
+ ```bash packageManager="yarn"
877
+ yarn add @intlayer/babel --save-dev
878
+ ```
879
+
880
+ ```bash packageManager="bun"
881
+ bun add @intlayer/babel --dev
882
+ ```
883
+
884
+ ```js fileName="babel.config.js"
885
+ const {
886
+ intlayerExtractBabelPlugin,
887
+ getExtractPluginOptions,
888
+ } = require("@intlayer/babel");
889
+
890
+ module.exports = {
891
+ presets: ["next/babel"],
892
+ plugins: [
893
+ // استخراج المحتوى من المكونات إلى القواميس
894
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
895
+ ],
896
+ };
897
+ ```
898
+
899
+ ```bash packageManager="npm"
900
+ npm run build # أو npm run dev
901
+ ```
902
+
903
+ ```bash packageManager="pnpm"
904
+ pnpm run build # Or pnpm run dev
905
+ ```
906
+
907
+ ```bash packageManager="yarn"
908
+ yarn build # Or yarn dev
909
+ ```
910
+
911
+ ```bash packageManager="bun"
912
+ bun run build # Or bun run dev
913
+ ```
914
+
915
+ </Tab>
916
+ </Tabs>
917
+
745
918
  ---
746
919
 
747
920
  ### التعمق أكثر
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Tanstack Start i18n - كيفية ترجمة تطبيق Tanstack Start في 2026
5
5
  description: تعرف على كيفية إضافة التدويل (i18n) إلى تطبيق TanStack Start الخاص بك باستخدام Intlayer. اتبع هذا الدليل الشامل لجعل تطبيقك متعدد اللغات مع توجيه مدرك للغة.
6
6
  keywords:
@@ -773,6 +773,8 @@ export const Route = createFileRoute("/{-$locale}/$")({
773
773
 
774
774
  ---
775
775
 
776
+ ---
777
+
776
778
  ### تكوين Git
777
779
 
778
780
  يوصى بتجاهل الملفات الناتجة عن Intlayer. يتيح لك هذا تجنب الالتزام بها في مستودع Git الخاص بك.
@@ -784,6 +786,179 @@ export const Route = createFileRoute("/{-$locale}/$")({
784
786
  .intlayer
785
787
  ```
786
788
 
789
+ ### (اختياري) خطوة 1 : استخراج محتوى مكوناتك
790
+
791
+ إذا كان لديك قاعدة بيانات كود موجودة، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
792
+
793
+ لتسهيل هذه العملية، يقترح 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) لتحويل مكوناتك واستخراج المحتوى.
794
+
795
+ لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
796
+
797
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
798
+ import { type IntlayerConfig } from "intlayer";
799
+
800
+ const config: IntlayerConfig = {
801
+ // ... بقية التكوين الخاص بك
802
+ compiler: {
803
+ /**
804
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
805
+ */
806
+ enabled: true,
807
+
808
+ /**
809
+ * يحدد مسار ملفات المخرجات
810
+ */
811
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
812
+
813
+ /**
814
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
815
+ */
816
+ saveComponents: false,
817
+
818
+ /**
819
+ * بادئة مفتاح القاموس
820
+ */
821
+ dictionaryKeyPrefix: "",
822
+ },
823
+ };
824
+
825
+ export default config;
826
+ ```
827
+
828
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
829
+ /** @type {import('intlayer').IntlayerConfig} */
830
+ const config = {
831
+ // ... بقية التكوين الخاص بك
832
+ compiler: {
833
+ /**
834
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
835
+ */
836
+ enabled: true,
837
+
838
+ /**
839
+ * يحدد مسار ملفات المخرجات
840
+ */
841
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
842
+
843
+ /**
844
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
845
+ */
846
+ saveComponents: false,
847
+
848
+ /**
849
+ * بادئة مفتاح القاموس
850
+ */
851
+ dictionaryKeyPrefix: "",
852
+ },
853
+ };
854
+
855
+ export default config;
856
+ ```
857
+
858
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
859
+ /** @type {import('intlayer').IntlayerConfig} */
860
+ const config = {
861
+ // ... بقية التكوين الخاص بك
862
+ compiler: {
863
+ /**
864
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
865
+ */
866
+ enabled: true,
867
+
868
+ /**
869
+ * يحدد مسار ملفات المخرجات
870
+ */
871
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
872
+
873
+ /**
874
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
875
+ */
876
+ saveComponents: false,
877
+
878
+ /**
879
+ * بادئة مفتاح القاموس
880
+ */
881
+ dictionaryKeyPrefix: "",
882
+ },
883
+ };
884
+
885
+ module.exports = config;
886
+ ```
887
+
888
+ <Tabs>
889
+ <Tab value='أمر الاستخراج'>
890
+
891
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
892
+
893
+ ```bash packageManager="npm"
894
+ npx intlayer extract
895
+ ```
896
+
897
+ ```bash packageManager="pnpm"
898
+ pnpm intlayer extract
899
+ ```
900
+
901
+ ```bash packageManager="yarn"
902
+ yarn intlayer extract
903
+ ```
904
+
905
+ ```bash packageManager="bun"
906
+ bunx intlayer extract
907
+ ```
908
+
909
+ </Tab>
910
+ <Tab value='مترجم Babel'>
911
+
912
+ ```bash packageManager="npm"
913
+ npm install @intlayer/babel --save-dev
914
+ ```
915
+
916
+ ```bash packageManager="pnpm"
917
+ pnpm add @intlayer/babel --save-dev
918
+ ```
919
+
920
+ ```bash packageManager="yarn"
921
+ yarn add @intlayer/babel --save-dev
922
+ ```
923
+
924
+ ```bash packageManager="bun"
925
+ bun add @intlayer/babel --dev
926
+ ```
927
+
928
+ ```js fileName="babel.config.js"
929
+ const {
930
+ intlayerExtractBabelPlugin,
931
+ getExtractPluginOptions,
932
+ } = require("@intlayer/babel");
933
+
934
+ module.exports = {
935
+ presets: ["next/babel"],
936
+ plugins: [
937
+ // استخراج المحتوى من المكونات إلى القواميس
938
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
939
+ ],
940
+ };
941
+ ```
942
+
943
+ ```bash packageManager="npm"
944
+ npm run build # أو npm run dev
945
+ ```
946
+
947
+ ```bash packageManager="pnpm"
948
+ pnpm run build # Or pnpm run dev
949
+ ```
950
+
951
+ ```bash packageManager="yarn"
952
+ yarn build # Or yarn dev
953
+ ```
954
+
955
+ ```bash packageManager="bun"
956
+ bun run build # Or bun run dev
957
+ ```
958
+
959
+ </Tab>
960
+ </Tabs>
961
+
787
962
  ---
788
963
 
789
964
  ## إضافة 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 + Preact i18n - كيفية ترجمة تطبيق Preact في 2026
5
5
  description: اكتشف كيفية جعل موقعك باستخدام Vite و Preact متعدد اللغات. اتبع الوثائق لتدويل (i18n) وترجمته.
6
6
  keywords:
@@ -1344,6 +1344,179 @@ return (
1344
1344
  .intlayer
1345
1345
  ```
1346
1346
 
1347
+ ### (اختياري) خطوة 1 : استخراج محتوى مكوناتك
1348
+
1349
+ إذا كان لديك قاعدة بيانات كود موجودة، فقد يكون تحويل آلاف الملفات مستهلكًا للوقت.
1350
+
1351
+ لتسهيل هذه العملية، يقترح 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) لتحويل مكوناتك واستخراج المحتوى.
1352
+
1353
+ لإعداده، يمكنك إضافة قسم `compiler` في ملف `intlayer.config.ts` الخاص بك:
1354
+
1355
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
1356
+ import { type IntlayerConfig } from "intlayer";
1357
+
1358
+ const config: IntlayerConfig = {
1359
+ // ... بقية التكوين الخاص بك
1360
+ compiler: {
1361
+ /**
1362
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
1363
+ */
1364
+ enabled: true,
1365
+
1366
+ /**
1367
+ * يحدد مسار ملفات المخرجات
1368
+ */
1369
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1370
+
1371
+ /**
1372
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
1373
+ */
1374
+ saveComponents: false,
1375
+
1376
+ /**
1377
+ * بادئة مفتاح القاموس
1378
+ */
1379
+ dictionaryKeyPrefix: "",
1380
+ },
1381
+ };
1382
+
1383
+ export default config;
1384
+ ```
1385
+
1386
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
1387
+ /** @type {import('intlayer').IntlayerConfig} */
1388
+ const config = {
1389
+ // ... بقية التكوين الخاص بك
1390
+ compiler: {
1391
+ /**
1392
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
1393
+ */
1394
+ enabled: true,
1395
+
1396
+ /**
1397
+ * يحدد مسار ملفات المخرجات
1398
+ */
1399
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1400
+
1401
+ /**
1402
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
1403
+ */
1404
+ saveComponents: false,
1405
+
1406
+ /**
1407
+ * بادئة مفتاح القاموس
1408
+ */
1409
+ dictionaryKeyPrefix: "",
1410
+ },
1411
+ };
1412
+
1413
+ export default config;
1414
+ ```
1415
+
1416
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
1417
+ /** @type {import('intlayer').IntlayerConfig} */
1418
+ const config = {
1419
+ // ... بقية التكوين الخاص بك
1420
+ compiler: {
1421
+ /**
1422
+ * يشير إلى ما إذا كان يجب تمكين المترجم.
1423
+ */
1424
+ enabled: true,
1425
+
1426
+ /**
1427
+ * يحدد مسار ملفات المخرجات
1428
+ */
1429
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1430
+
1431
+ /**
1432
+ * يشير إلى ما إذا كان يجب حفظ المكونات بعد تحويلها. بهذه الطريقة، يمكن تشغيل المترجم مرة واحدة فقط لتحويل التطبيق، ثم يمكن إزالته.
1433
+ */
1434
+ saveComponents: false,
1435
+
1436
+ /**
1437
+ * بادئة مفتاح القاموس
1438
+ */
1439
+ dictionaryKeyPrefix: "",
1440
+ },
1441
+ };
1442
+
1443
+ module.exports = config;
1444
+ ```
1445
+
1446
+ <Tabs>
1447
+ <Tab value='أمر الاستخراج'>
1448
+
1449
+ قم بتشغيل المستخرج لتحويل مكوناتك واستخراج المحتوى
1450
+
1451
+ ```bash packageManager="npm"
1452
+ npx intlayer extract
1453
+ ```
1454
+
1455
+ ```bash packageManager="pnpm"
1456
+ pnpm intlayer extract
1457
+ ```
1458
+
1459
+ ```bash packageManager="yarn"
1460
+ yarn intlayer extract
1461
+ ```
1462
+
1463
+ ```bash packageManager="bun"
1464
+ bunx intlayer extract
1465
+ ```
1466
+
1467
+ </Tab>
1468
+ <Tab value='مترجم Babel'>
1469
+
1470
+ ```bash packageManager="npm"
1471
+ npm install @intlayer/babel --save-dev
1472
+ ```
1473
+
1474
+ ```bash packageManager="pnpm"
1475
+ pnpm add @intlayer/babel --save-dev
1476
+ ```
1477
+
1478
+ ```bash packageManager="yarn"
1479
+ yarn add @intlayer/babel --save-dev
1480
+ ```
1481
+
1482
+ ```bash packageManager="bun"
1483
+ bun add @intlayer/babel --dev
1484
+ ```
1485
+
1486
+ ```js fileName="babel.config.js"
1487
+ const {
1488
+ intlayerExtractBabelPlugin,
1489
+ getExtractPluginOptions,
1490
+ } = require("@intlayer/babel");
1491
+
1492
+ module.exports = {
1493
+ presets: ["next/babel"],
1494
+ plugins: [
1495
+ // استخراج المحتوى من المكونات إلى القواميس
1496
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
1497
+ ],
1498
+ };
1499
+ ```
1500
+
1501
+ ```bash packageManager="npm"
1502
+ npm run build # أو npm run dev
1503
+ ```
1504
+
1505
+ ```bash packageManager="pnpm"
1506
+ pnpm run build # Or pnpm run dev
1507
+ ```
1508
+
1509
+ ```bash packageManager="yarn"
1510
+ yarn build # Or yarn dev
1511
+ ```
1512
+
1513
+ ```bash packageManager="bun"
1514
+ bun run build # Or bun run dev
1515
+ ```
1516
+
1517
+ </Tab>
1518
+ </Tabs>
1519
+
1347
1520
  ### إضافة VS Code
1348
1521
 
1349
1522
  لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **إضافة Intlayer الرسمية لـ VS Code**.