@intlayer/docs 8.10.0 → 8.11.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.
- package/dist/cjs/common.cjs +3 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +39 -19
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +3 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +39 -19
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/benchmark/nextjs.md +1 -1
- package/docs/ar/benchmark/solid.md +1 -1
- package/docs/ar/benchmark/svelte.md +1 -1
- package/docs/ar/benchmark/tanstack.md +1 -1
- package/docs/ar/dictionary/markdown.md +340 -14
- package/docs/ar/interest_of_intlayer.md +1 -1
- package/docs/ar/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/ar/intlayer_with_angular_21.md +412 -0
- package/docs/bn/interest_of_intlayer.md +1 -1
- package/docs/bn/intlayer_with_angular_21.md +412 -0
- package/docs/cs/interest_of_intlayer.md +1 -1
- package/docs/cs/intlayer_with_angular_21.md +412 -0
- package/docs/de/benchmark/nextjs.md +1 -1
- package/docs/de/benchmark/solid.md +1 -1
- package/docs/de/benchmark/svelte.md +1 -1
- package/docs/de/benchmark/tanstack.md +1 -1
- package/docs/de/dictionary/markdown.md +340 -14
- package/docs/de/interest_of_intlayer.md +1 -1
- package/docs/de/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/de/intlayer_with_angular_21.md +412 -0
- package/docs/en/benchmark/nextjs.md +1 -1
- package/docs/en/benchmark/solid.md +1 -1
- package/docs/en/benchmark/svelte.md +1 -1
- package/docs/en/benchmark/tanstack.md +1 -1
- package/docs/en/dictionary/markdown.md +326 -15
- package/docs/en/interest_of_intlayer.md +1 -1
- package/docs/en/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/en/intlayer_with_angular_21.md +412 -0
- package/docs/en-GB/benchmark/nextjs.md +1 -1
- package/docs/en-GB/benchmark/solid.md +1 -1
- package/docs/en-GB/benchmark/svelte.md +1 -1
- package/docs/en-GB/benchmark/tanstack.md +1 -1
- package/docs/en-GB/dictionary/markdown.md +336 -7
- package/docs/en-GB/interest_of_intlayer.md +1 -1
- package/docs/en-GB/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/en-GB/intlayer_with_angular_21.md +412 -0
- package/docs/es/benchmark/nextjs.md +1 -1
- package/docs/es/benchmark/solid.md +1 -1
- package/docs/es/benchmark/svelte.md +1 -1
- package/docs/es/benchmark/tanstack.md +1 -1
- package/docs/es/dictionary/markdown.md +340 -14
- package/docs/es/interest_of_intlayer.md +1 -1
- package/docs/es/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/es/intlayer_with_angular_21.md +412 -0
- package/docs/fr/benchmark/nextjs.md +1 -1
- package/docs/fr/benchmark/solid.md +1 -1
- package/docs/fr/benchmark/svelte.md +1 -1
- package/docs/fr/benchmark/tanstack.md +1 -1
- package/docs/fr/dictionary/markdown.md +340 -14
- package/docs/fr/interest_of_intlayer.md +1 -1
- package/docs/fr/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/fr/intlayer_with_angular_21.md +412 -0
- package/docs/hi/benchmark/nextjs.md +1 -1
- package/docs/hi/benchmark/solid.md +1 -1
- package/docs/hi/benchmark/svelte.md +1 -1
- package/docs/hi/benchmark/tanstack.md +1 -1
- package/docs/hi/dictionary/markdown.md +340 -14
- package/docs/hi/interest_of_intlayer.md +1 -1
- package/docs/hi/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/hi/intlayer_with_angular_21.md +412 -0
- package/docs/id/benchmark/nextjs.md +1 -1
- package/docs/id/benchmark/solid.md +1 -1
- package/docs/id/benchmark/svelte.md +1 -1
- package/docs/id/benchmark/tanstack.md +1 -1
- package/docs/id/dictionary/markdown.md +340 -14
- package/docs/id/interest_of_intlayer.md +1 -1
- package/docs/id/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/id/intlayer_with_angular_21.md +412 -0
- package/docs/it/benchmark/nextjs.md +1 -1
- package/docs/it/benchmark/solid.md +1 -1
- package/docs/it/benchmark/svelte.md +1 -1
- package/docs/it/benchmark/tanstack.md +1 -1
- package/docs/it/dictionary/markdown.md +340 -14
- package/docs/it/interest_of_intlayer.md +1 -1
- package/docs/it/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/it/intlayer_with_angular_21.md +412 -0
- package/docs/ja/benchmark/nextjs.md +1 -1
- package/docs/ja/benchmark/solid.md +1 -1
- package/docs/ja/benchmark/svelte.md +1 -1
- package/docs/ja/benchmark/tanstack.md +1 -1
- package/docs/ja/interest_of_intlayer.md +1 -1
- package/docs/ja/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/ja/intlayer_with_angular_21.md +412 -0
- package/docs/ko/benchmark/nextjs.md +1 -1
- package/docs/ko/benchmark/solid.md +1 -1
- package/docs/ko/benchmark/svelte.md +1 -1
- package/docs/ko/benchmark/tanstack.md +1 -1
- package/docs/ko/dictionary/markdown.md +340 -14
- package/docs/ko/interest_of_intlayer.md +1 -1
- package/docs/ko/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/ko/intlayer_with_angular_21.md +412 -0
- package/docs/nl/interest_of_intlayer.md +1 -1
- package/docs/nl/intlayer_with_angular_21.md +412 -0
- package/docs/pl/benchmark/nextjs.md +1 -1
- package/docs/pl/benchmark/solid.md +1 -1
- package/docs/pl/benchmark/svelte.md +1 -1
- package/docs/pl/benchmark/tanstack.md +1 -1
- package/docs/pl/dictionary/markdown.md +340 -14
- package/docs/pl/interest_of_intlayer.md +1 -1
- package/docs/pl/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/pl/intlayer_with_angular_21.md +412 -0
- package/docs/pt/benchmark/nextjs.md +1 -1
- package/docs/pt/benchmark/solid.md +1 -1
- package/docs/pt/benchmark/svelte.md +1 -1
- package/docs/pt/benchmark/tanstack.md +1 -1
- package/docs/pt/dictionary/markdown.md +340 -14
- package/docs/pt/interest_of_intlayer.md +1 -1
- package/docs/pt/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/pt/intlayer_with_angular_21.md +412 -0
- package/docs/ru/benchmark/nextjs.md +1 -1
- package/docs/ru/benchmark/solid.md +1 -1
- package/docs/ru/benchmark/svelte.md +1 -1
- package/docs/ru/benchmark/tanstack.md +1 -1
- package/docs/ru/dictionary/markdown.md +445 -3
- package/docs/ru/interest_of_intlayer.md +1 -1
- package/docs/ru/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/ru/intlayer_with_angular_21.md +412 -0
- package/docs/tr/benchmark/nextjs.md +1 -1
- package/docs/tr/benchmark/solid.md +1 -1
- package/docs/tr/benchmark/svelte.md +1 -1
- package/docs/tr/benchmark/tanstack.md +1 -1
- package/docs/tr/dictionary/markdown.md +340 -14
- package/docs/tr/interest_of_intlayer.md +1 -1
- package/docs/tr/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/tr/intlayer_with_angular_21.md +412 -0
- package/docs/uk/benchmark/nextjs.md +1 -1
- package/docs/uk/benchmark/solid.md +1 -1
- package/docs/uk/benchmark/svelte.md +1 -1
- package/docs/uk/benchmark/tanstack.md +1 -1
- package/docs/uk/dictionary/markdown.md +340 -14
- package/docs/uk/interest_of_intlayer.md +1 -1
- package/docs/uk/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/uk/intlayer_with_angular_21.md +412 -0
- package/docs/ur/interest_of_intlayer.md +1 -1
- package/docs/ur/intlayer_with_angular_21.md +412 -0
- package/docs/vi/benchmark/nextjs.md +1 -1
- package/docs/vi/benchmark/solid.md +1 -1
- package/docs/vi/benchmark/svelte.md +1 -1
- package/docs/vi/benchmark/tanstack.md +1 -1
- package/docs/vi/dictionary/markdown.md +340 -14
- package/docs/vi/interest_of_intlayer.md +1 -1
- package/docs/vi/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/vi/intlayer_with_angular_21.md +412 -0
- package/docs/zh/benchmark/nextjs.md +1 -1
- package/docs/zh/benchmark/solid.md +1 -1
- package/docs/zh/benchmark/svelte.md +1 -1
- package/docs/zh/benchmark/tanstack.md +1 -1
- package/docs/zh/dictionary/markdown.md +340 -14
- package/docs/zh/interest_of_intlayer.md +1 -1
- package/docs/zh/{intlayer_with_angular.md → intlayer_with_angular_19.md} +8 -7
- package/docs/zh/intlayer_with_angular_21.md +412 -0
- package/docs/zh-TW/interest_of_intlayer.md +1 -1
- package/docs/zh-TW/intlayer_with_angular_21.md +412 -0
- package/package.json +7 -7
- package/src/common.ts +12 -6
- package/src/generated/docs.entry.ts +39 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","names":[],"sources":["../../src/common.ts"],"mappings":";;;cAMa,aAAA;AAAA,cAEA,iBAAA;AAAA,cAEA,UAAA;AAAA,cAEA,OAAA,aAAqB,MAAA,eAAqB,GAAA,EAAK,CAAA,YAAW,CAAA;AAAA,cAG1D,QAAA,aACD,MAAA,gBAAsB,MAAA,CAAO,aAAA,EAAe,OAAA,YAEtD,KAAA,EAAO,CAAA,EACP,IAAA,GAAM,aAAA,KACL,OAAA,CAAQ,MAAA;AAAA,cAUE,OAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,YAE/C,KAAA,EAAO,CAAA,EACP,MAAA,QAAc,CAAA,EACd,MAAA,GAAQ,aAAA,KACP,OAAA;AAAA,KAsBS,YAAA;EACV,MAAA;EACA,GAAA;EACA,WAAA;EACA,SAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,QAAA;EACA,SAAA;EACA,SAAA;EACA,MAAA;EACA,YAAA;EACA,mBAAA;EACA,mBAAA;EACA,OAAA;IACE,OAAA;IACA,IAAA;IACA,OAAA;EAAA;AAAA;AAAA,cAIS,cAAA,GACX,MAAA,UACA,IAAA,UACA,MAAA,GAAQ,aAAA,KACP,YAsBF;AAAA,cAEY,eAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,sBACrC,YAAA,EAEV,KAAA,EAAO,CAAA,EACP,MAAA,QAAc,CAAA,EACd,MAAA,GAAQ,aAAA,KACP,OAAA,CAAQ,CAAA;AAAA,cAME,qBAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,YAE/C,KAAA,EAAO,CAAA,EACP,MAAA,GAAQ,aAAA,KACP,OAAA,CAAQ,MAAA,OAAa,CAAA,EAAG,YAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"common.d.ts","names":[],"sources":["../../src/common.ts"],"mappings":";;;cAMa,aAAA;AAAA,cAEA,iBAAA;AAAA,cAEA,UAAA;AAAA,cAEA,OAAA,aAAqB,MAAA,eAAqB,GAAA,EAAK,CAAA,YAAW,CAAA;AAAA,cAG1D,QAAA,aACD,MAAA,gBAAsB,MAAA,CAAO,aAAA,EAAe,OAAA,YAEtD,KAAA,EAAO,CAAA,EACP,IAAA,GAAM,aAAA,KACL,OAAA,CAAQ,MAAA;AAAA,cAUE,OAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,YAE/C,KAAA,EAAO,CAAA,EACP,MAAA,QAAc,CAAA,EACd,MAAA,GAAQ,aAAA,KACP,OAAA;AAAA,KAsBS,YAAA;EACV,MAAA;EACA,GAAA;EACA,WAAA;EACA,SAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,QAAA;EACA,SAAA;EACA,SAAA;EACA,MAAA;EACA,YAAA;EACA,mBAAA;EACA,mBAAA;EACA,OAAA;IACE,OAAA;IACA,IAAA;IACA,OAAA;EAAA;AAAA;AAAA,cAIS,cAAA,GACX,MAAA,UACA,IAAA,UACA,MAAA,GAAQ,aAAA,KACP,YAsBF;AAAA,cAEY,eAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,sBACrC,YAAA,EAEV,KAAA,EAAO,CAAA,EACP,MAAA,QAAc,CAAA,EACd,MAAA,GAAQ,aAAA,KACP,OAAA,CAAQ,CAAA;AAAA,cAME,qBAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,YAE/C,KAAA,EAAO,CAAA,EACP,MAAA,GAAQ,aAAA,KACP,OAAA,CAAQ,MAAA,OAAa,CAAA,EAAG,YAAA;AAAA,cAiBd,qBAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,YAE/C,KAAA,EAAO,CAAA,EACP,KAAA,qBACA,MAAA,GAAQ,aAAA,EACR,MAAA,eAAc,OAAA,CAAA,YAAA;AAAA,cAiCH,aAAA,aACD,MAAA,SAAe,MAAA,CAAO,aAAA,EAAe,OAAA,YAE/C,KAAA,EAAO,CAAA,EACP,KAAA,qBACA,MAAA,GAAQ,aAAA,EACR,MAAA,eAAc,OAAA"}
|
|
@@ -59,7 +59,8 @@ declare const docsEntry: {
|
|
|
59
59
|
readonly './docs/en/intlayer_visual_editor.md': Record<LocalesValues, Promise<string>>;
|
|
60
60
|
readonly './docs/en/intlayer_with_adonisjs.md': Record<LocalesValues, Promise<string>>;
|
|
61
61
|
readonly './docs/en/intlayer_with_analog.md': Record<LocalesValues, Promise<string>>;
|
|
62
|
-
readonly './docs/en/
|
|
62
|
+
readonly './docs/en/intlayer_with_angular_19.md': Record<LocalesValues, Promise<string>>;
|
|
63
|
+
readonly './docs/en/intlayer_with_angular_21.md': Record<LocalesValues, Promise<string>>;
|
|
63
64
|
readonly './docs/en/intlayer_with_astro.md': Record<LocalesValues, Promise<string>>;
|
|
64
65
|
readonly './docs/en/intlayer_with_astro_lit.md': Record<LocalesValues, Promise<string>>;
|
|
65
66
|
readonly './docs/en/intlayer_with_astro_preact.md': Record<LocalesValues, Promise<string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.entry.d.ts","names":[],"sources":["../../../src/generated/docs.entry.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"docs.entry.d.ts","names":[],"sources":["../../../src/generated/docs.entry.ts"],"mappings":"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"}
|
|
@@ -165,7 +165,7 @@ style="border:none;"
|
|
|
165
165
|
|
|
166
166
|
تعد نجوم GitHub مؤشرًا قويًا على شعبية المشروع وثقة المجتمع وأهميته على المدى الطويل. على الرغم من أنها ليست مقياسًا مباشرًا للجودة التقنية، إلا أنها تعكس عدد المطورين الذين يجدون المشروع مفيدًا ويتابعون تقدمه ومن المحتمل أن يتبنوه. لتقدير قيمة المشروع، تساعد النجوم في مقارنة الجاذبية عبر البدائل وتوفر رؤى حول نمو النظام البيئي.
|
|
167
167
|
|
|
168
|
-
[](https://www.star-history.com/#i18next/next-i18next&amannn/next-intl&lingui/js-lingui&vinissimus/next-translate&inostudio/next-international&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
|
|
169
169
|
|
|
170
170
|
## النتائج بالتفصيل
|
|
171
171
|
|
|
@@ -122,7 +122,7 @@ style="border:none;"
|
|
|
122
122
|
|
|
123
123
|
تعد نجوم GitHub مؤشرًا قويًا على شعبية المشروع وثقة المجتمع وأهميته على المدى الطويل. على الرغم من أنها ليست مقياسًا مباشرًا للجودة التقنية، إلا أنها تعكس عدد المطورين الذين يجدون المشروع مفيدًا ويتابعون تقدمه ومن المحتمل أن يتبنوه. لتقدير قيمة المشروع، تساعد النجوم في مقارنة الجاذبية عبر البدائل وتوفر رؤى حول نمو النظام البيئي.
|
|
124
124
|
|
|
125
|
-
[](https://www.star-history.com/#solidjs-community/solid-primitives&mbarzda/solid-i18next&opral/paraglide-js&aymericzip/intlayer)
|
|
126
126
|
|
|
127
127
|
## النتائج بالتفصيل
|
|
128
128
|
|
|
@@ -120,7 +120,7 @@ style="border:none;"
|
|
|
120
120
|
|
|
121
121
|
تعد نجوم GitHub مؤشرًا قويًا على شعبية المشروع وثقة المجتمع وأهميته على المدى الطويل. على الرغم من أنها ليست مقياسًا مباشرًا للجودة التقنية، إلا أنها تعكس عدد المطورين الذين يجدون المشروع مفيدًا ويتابعون تقدمه ومن المحتمل أن يتبنوه. لتقدير قيمة المشروع، تساعد النجوم في مقارنة الجاذبية عبر البدائل وتوفر رؤى حول نمو النظام البيئي.
|
|
122
122
|
|
|
123
|
-
[](https://www.star-history.com/#kaisermann/svelte-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
124
124
|
|
|
125
125
|
## النتائج بالتفصيل
|
|
126
126
|
|
|
@@ -128,7 +128,7 @@ history:
|
|
|
128
128
|
|
|
129
129
|
تعد نجوم GitHub مؤشرًا قويًا على شعبية المشروع وثقة المجتمع وأهميته على المدى الطويل. على الرغم من أنها ليست مقياسًا مباشرًا للجودة التقنية، إلا أنها تعكس عدد المطورين الذين يجدون المشروع مفيدًا ويتابعون تقدمه ومن المحتمل أن يتبنوه. لتقدير قيمة المشروع، تساعد النجوم في مقارنة الجاذبية عبر البدائل وتوفر رؤى حول نمو النظام البيئي.
|
|
130
130
|
|
|
131
|
-
[](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&lingui/js-lingui&amannn/next-intl&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
|
|
132
132
|
|
|
133
133
|
## النتائج بالتفصيل
|
|
134
134
|
|
|
@@ -66,13 +66,10 @@ history:
|
|
|
66
66
|
مثال على بنية الملفات:
|
|
67
67
|
|
|
68
68
|
```text
|
|
69
|
-
content
|
|
70
|
-
├── en
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
│ └── markdown-file.fr.content.md
|
|
74
|
-
└── es/
|
|
75
|
-
└── markdown-file.es.content.md
|
|
69
|
+
content
|
|
70
|
+
├── markdown-file.en.content.md
|
|
71
|
+
├── markdown-file.fr.content.md
|
|
72
|
+
└── markdown-file.es.content.md
|
|
76
73
|
```
|
|
77
74
|
|
|
78
75
|
يمكنك إضافة أي خصائص معرفة في [تعريف القاموس](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md) في front-matter
|
|
@@ -130,8 +127,6 @@ history:
|
|
|
130
127
|
</Tab>
|
|
131
128
|
</Tabs>
|
|
132
129
|
|
|
133
|
-
---
|
|
134
|
-
|
|
135
130
|
## عرض Markdown
|
|
136
131
|
|
|
137
132
|
يوفر Intlayer طريقتين مستقلتين لعرض Markdown:
|
|
@@ -147,7 +142,7 @@ history:
|
|
|
147
142
|
### 1. العرض التلقائي (عبر `useIntlayer`)
|
|
148
143
|
|
|
149
144
|
<Tabs group="framework">
|
|
150
|
-
<Tab label="React
|
|
145
|
+
<Tab label="React" value="react">
|
|
151
146
|
يمكن عرض عقد Markdown مباشرة كـ JSX.
|
|
152
147
|
|
|
153
148
|
```tsx fileName="App.tsx"
|
|
@@ -197,6 +192,57 @@ history:
|
|
|
197
192
|
{myMarkdownContent.metadata.title}
|
|
198
193
|
```
|
|
199
194
|
|
|
195
|
+
</Tab>
|
|
196
|
+
<Tab label="Next.js" value="nextjs">
|
|
197
|
+
يمكن عرض عقد Markdown مباشرة كـ JSX.
|
|
198
|
+
|
|
199
|
+
```tsx fileName="App.tsx"
|
|
200
|
+
import { useIntlayer } from "next-intlayer";
|
|
201
|
+
import { MarkdownProvider } from "next-intlayer/markdown";
|
|
202
|
+
|
|
203
|
+
const AppContent = () => {
|
|
204
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
205
|
+
|
|
206
|
+
return <div>{myMarkdownContent}</div>;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
const App = () => (
|
|
210
|
+
<MarkdownProvider
|
|
211
|
+
components={{
|
|
212
|
+
h1: ({ children }) => <h1 style={{ color: "red" }}>{children}</h1>,
|
|
213
|
+
MyButton: (props) => <button {...props} />, // مكون MDX
|
|
214
|
+
}}
|
|
215
|
+
>
|
|
216
|
+
<AppContent />
|
|
217
|
+
</MarkdownProvider>
|
|
218
|
+
);
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
> إذا لم يكن `MarkdownProvider` موجودًا ، فسيقوم Intlayer بعرض markdown باستخدام المحلل اللغوي الافتراضي من Markdown إلى JSX.
|
|
222
|
+
|
|
223
|
+
يمكنك أيضًا توفير تجاوزات محلية لعقد معينة باستخدام طريقة `.use()`:
|
|
224
|
+
|
|
225
|
+
```tsx
|
|
226
|
+
{myMarkdownContent.use({
|
|
227
|
+
h1: ({ children }) => <h1 style={{ color: "red" }}>{children}</h1>,
|
|
228
|
+
})}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
يمكنك استرداد Markdown كسلسلة نصية:
|
|
232
|
+
|
|
233
|
+
```tsx
|
|
234
|
+
{myMarkdownContent.value}
|
|
235
|
+
{String(myMarkdownContent)}
|
|
236
|
+
{myMarkdownContent.toString()}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
ويمكنك الوصول إلى بيانات markdown الوصفية الخاصة بك على النحو التالي:
|
|
240
|
+
|
|
241
|
+
```tsx
|
|
242
|
+
{myMarkdownContent.metadata}
|
|
243
|
+
{myMarkdownContent.metadata.title}
|
|
244
|
+
```
|
|
245
|
+
|
|
200
246
|
</Tab>
|
|
201
247
|
<Tab label="Vue" value="vue">
|
|
202
248
|
في Vue ، يمكن عرض محتوى Markdown باستخدام علامة `component` المضمنة أو مباشرة كعقدة.
|
|
@@ -441,7 +487,7 @@ history:
|
|
|
441
487
|
هذه الأدوات تعرض **فقط سلاسل Markdown الخام** وهي مستقلة عن `useIntlayer`. استخدمها عندما تحتاج إلى عرض Markdown من مصادر أخرى غير قواميسك.
|
|
442
488
|
|
|
443
489
|
<Tabs group="framework">
|
|
444
|
-
<Tab label="React
|
|
490
|
+
<Tab label="React" value="react">
|
|
445
491
|
|
|
446
492
|
#### مكون `<MarkdownRenderer />`
|
|
447
493
|
|
|
@@ -479,6 +525,45 @@ history:
|
|
|
479
525
|
const jsx = renderMarkdown("# عنواني", { forceBlock: true });
|
|
480
526
|
```
|
|
481
527
|
|
|
528
|
+
</Tab>
|
|
529
|
+
<Tab label="Next.js" value="nextjs">
|
|
530
|
+
|
|
531
|
+
#### مكون `<MarkdownRenderer />`
|
|
532
|
+
|
|
533
|
+
يعرض سلسلة Markdown مع خيارات محددة.
|
|
534
|
+
|
|
535
|
+
```tsx
|
|
536
|
+
import { MarkdownRenderer } from "next-intlayer/markdown";
|
|
537
|
+
|
|
538
|
+
<MarkdownRenderer forceBlock={true} tagfilter={true}>
|
|
539
|
+
{"# عنواني"}
|
|
540
|
+
</MarkdownRenderer>
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
#### خطاف `useMarkdownRenderer()`
|
|
544
|
+
|
|
545
|
+
احصل على وظيفة عارض مكونة مسبقًا.
|
|
546
|
+
|
|
547
|
+
```tsx
|
|
548
|
+
import { useMarkdownRenderer } from "next-intlayer/markdown";
|
|
549
|
+
|
|
550
|
+
const renderMarkdown = useMarkdownRenderer({
|
|
551
|
+
forceBlock: true,
|
|
552
|
+
components: { h1: (props) => <h1 {...props} className="custom" /> }
|
|
553
|
+
});
|
|
554
|
+
|
|
555
|
+
return renderMarkdown("# عنواني");
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
#### أداة `renderMarkdown()`
|
|
559
|
+
أداة مستقلة للعرض خارج المكونات.
|
|
560
|
+
|
|
561
|
+
```tsx
|
|
562
|
+
import { renderMarkdown } from "next-intlayer/markdown";
|
|
563
|
+
|
|
564
|
+
const jsx = renderMarkdown("# عنواني", { forceBlock: true });
|
|
565
|
+
```
|
|
566
|
+
|
|
482
567
|
</Tab>
|
|
483
568
|
<Tab label="Vue" value="vue">
|
|
484
569
|
|
|
@@ -608,14 +693,12 @@ history:
|
|
|
608
693
|
</Tab>
|
|
609
694
|
</Tabs>
|
|
610
695
|
|
|
611
|
-
---
|
|
612
|
-
|
|
613
696
|
## التكوين العالمي باستخدام `MarkdownProvider`
|
|
614
697
|
|
|
615
698
|
يقوم `MarkdownProvider` (أو ما يعادله في إطار العمل) بتكوين خط أنابيب عرض Markdown لتطبيقك بالكامل. ينطبق هذا على كل من العرض التلقائي `useIntlayer` والأدوات المساعدة. الخيارات المعينة هنا هي الإعدادات الافتراضية — يتجاوزها `.use()` على مستوى العقدة.
|
|
616
699
|
|
|
617
700
|
<Tabs group="framework">
|
|
618
|
-
<Tab label="React
|
|
701
|
+
<Tab label="React" value="react">
|
|
619
702
|
|
|
620
703
|
```tsx fileName="AppProvider.tsx"
|
|
621
704
|
import { MarkdownProvider } from "react-intlayer/markdown";
|
|
@@ -633,6 +716,7 @@ history:
|
|
|
633
716
|
);
|
|
634
717
|
```
|
|
635
718
|
|
|
719
|
+
|
|
636
720
|
> MDX مدعوم — يتم حل أي اسم مكون يستخدم داخل Markdown الخاص بك (على سبيل المثال `<MyCustomJSXComponent />`) مقابل خريطة `components`.
|
|
637
721
|
|
|
638
722
|
يمكنك أيضًا استخدام عارض markdown الخاص بك:
|
|
@@ -655,6 +739,48 @@ history:
|
|
|
655
739
|
|
|
656
740
|
> الاستيراد الديناميكي لعارض Markdown الخاص بك هو طريقة رائعة لتقليل حجم حزمة تطبيقك.
|
|
657
741
|
|
|
742
|
+
</Tab>
|
|
743
|
+
<Tab label="Next.js" value="nextjs">
|
|
744
|
+
|
|
745
|
+
```tsx fileName="AppProvider.tsx"
|
|
746
|
+
import { MarkdownProvider } from "next-intlayer/markdown";
|
|
747
|
+
|
|
748
|
+
export const AppProvider = ({ children }) => (
|
|
749
|
+
<MarkdownProvider
|
|
750
|
+
components={{
|
|
751
|
+
h1: (props) => <h1 style={{color: 'green'}} {...props} />,
|
|
752
|
+
a: ({ href, ...props }) => <a style={{color: 'red'}} {...props} />,
|
|
753
|
+
MyCustomJSXComponent: (props) => <span style={{color: 'red'}} {...props} />,
|
|
754
|
+
}}
|
|
755
|
+
>
|
|
756
|
+
{children}
|
|
757
|
+
</MarkdownProvider>
|
|
758
|
+
);
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
> MDX مدعوم — يتم حل أي اسم مكون يستخدم داخل Markdown الخاص بك (على سبيل المثال `<MyCustomJSXComponent />`) مقابل خريطة `components`.
|
|
763
|
+
|
|
764
|
+
يمكنك أيضًا استخدام عارض markdown الخاص بك:
|
|
765
|
+
|
|
766
|
+
```tsx fileName="AppProvider.tsx"
|
|
767
|
+
import { MarkdownProvider } from "next-intlayer/markdown";
|
|
768
|
+
|
|
769
|
+
export const AppProvider = ({ children }) => (
|
|
770
|
+
<MarkdownProvider
|
|
771
|
+
renderMarkdown={async (md) => {
|
|
772
|
+
// Use dynamic import to reduce the bundle size of your application
|
|
773
|
+
const { renderMarkdown } = await import('next-intlayer/markdown');
|
|
774
|
+
return renderMarkdown(md);
|
|
775
|
+
}}
|
|
776
|
+
>
|
|
777
|
+
{children}
|
|
778
|
+
</MarkdownProvider>
|
|
779
|
+
);
|
|
780
|
+
```
|
|
781
|
+
|
|
782
|
+
> الاستيراد الديناميكي لعارض Markdown الخاص بك هو طريقة رائعة لتقليل حجم حزمة تطبيقك.
|
|
783
|
+
|
|
658
784
|
</Tab>
|
|
659
785
|
<Tab label="Vue" value="vue">
|
|
660
786
|
|
|
@@ -680,6 +806,9 @@ history:
|
|
|
680
806
|
app.mount("#app");
|
|
681
807
|
```
|
|
682
808
|
|
|
809
|
+
|
|
810
|
+
> MDX مدعوم — يتم حل أي اسم مكون يستخدم داخل Markdown الخاص بك (على سبيل المثال `<MyCustomJSXComponent />`) مقابل خريطة `components`.
|
|
811
|
+
|
|
683
812
|
يمكنك أيضًا استخدام عارض markdown الخاص بك:
|
|
684
813
|
|
|
685
814
|
```typescript fileName="main.ts"
|
|
@@ -721,6 +850,9 @@ history:
|
|
|
721
850
|
</MarkdownProvider>
|
|
722
851
|
```
|
|
723
852
|
|
|
853
|
+
|
|
854
|
+
> MDX مدعوم — يتم حل أي اسم مكون يستخدم داخل Markdown الخاص بك (على سبيل المثال `<MyCustomJSXComponent />`) مقابل خريطة `components`.
|
|
855
|
+
|
|
724
856
|
يمكنك أيضًا استخدام عارض markdown الخاص بك:
|
|
725
857
|
|
|
726
858
|
```svelte fileName="App.svelte"
|
|
@@ -757,6 +889,9 @@ history:
|
|
|
757
889
|
);
|
|
758
890
|
```
|
|
759
891
|
|
|
892
|
+
|
|
893
|
+
> MDX مدعوم — يتم حل أي اسم مكون يستخدم داخل Markdown الخاص بك (على سبيل المثال `<MyCustomJSXComponent />`) مقابل خريطة `components`.
|
|
894
|
+
|
|
760
895
|
يمكنك أيضًا استخدام عارض markdown الخاص بك:
|
|
761
896
|
|
|
762
897
|
```tsx fileName="AppProvider.tsx"
|
|
@@ -793,6 +928,9 @@ history:
|
|
|
793
928
|
);
|
|
794
929
|
```
|
|
795
930
|
|
|
931
|
+
|
|
932
|
+
> MDX مدعوم — يتم حل أي اسم مكون يستخدم داخل Markdown الخاص بك (على سبيل المثال `<MyCustomJSXComponent />`) مقابل خريطة `components`.
|
|
933
|
+
|
|
796
934
|
يمكنك أيضًا استخدام عارض markdown الخاص بك:
|
|
797
935
|
|
|
798
936
|
```tsx fileName="AppProvider.tsx"
|
|
@@ -836,3 +974,191 @@ history:
|
|
|
836
974
|
|
|
837
975
|
</Tab>
|
|
838
976
|
</Tabs>
|
|
977
|
+
|
|
978
|
+
## التعليق (Suspense)
|
|
979
|
+
|
|
980
|
+
يتم تحميل محرك Markdown في Intlayer ديناميكيًا. على الرغم من تحسينه، يبلغ حجم الجزء الأساسي للمحلل حوالي 55 كيلوبايت. يؤدي تحميل هذا بشكل متزامن إلى تأخير عرض الصفحة الأولي ويقلل من سرعة عرض المحتوى الأول (FCP).
|
|
981
|
+
|
|
982
|
+
لمنع حظر واجهة المستخدم، يتكامل Intlayer مع واجهة برمجة تطبيقات React Suspense. حيث يقوم بجلب المحلل في الخلفية ويرمي Promise أثناء التنزيل.
|
|
983
|
+
|
|
984
|
+
قم بتغليف أي مكون يعرض Intlayer Markdown في حدود `<Suspense>`. يعرض هذا حالة احتياطية محلية أثناء تنزيل الجزء، مما يسمح لبقية DOM الخاص بك بالعرض على الفور.
|
|
985
|
+
|
|
986
|
+
تحذير: إذا لم تقم بتوفير حدود `<Suspense>`، سيقوم React بالتعليق على مستوى الجذر أو حظر شجرة المكونات بأكملها من العرض حتى يتم تحميل جزء الـ 55 كيلوبايت بالكامل.
|
|
987
|
+
|
|
988
|
+
<Tabs>
|
|
989
|
+
<Tab label="Next.js" value="nextjs">
|
|
990
|
+
|
|
991
|
+
في Next.js App Router، يمكنك استخدام إما React `Suspense` لمكونات العميل أو ملف `loading.tsx` لمكونات الخادم.
|
|
992
|
+
|
|
993
|
+
**مكون العميل:**
|
|
994
|
+
|
|
995
|
+
```tsx fileName="components/MyComponent.tsx"
|
|
996
|
+
"use client";
|
|
997
|
+
import { useIntlayer } from "next-intlayer";
|
|
998
|
+
import { Suspense } from "react";
|
|
999
|
+
|
|
1000
|
+
const MyComponent = () => {
|
|
1001
|
+
const markdownContent = useIntlayer("my-markdown");
|
|
1002
|
+
|
|
1003
|
+
return (
|
|
1004
|
+
<Suspense fallback={<div>Loading...</div>}>{markdownContent}</Suspense>
|
|
1005
|
+
);
|
|
1006
|
+
};
|
|
1007
|
+
```
|
|
1008
|
+
|
|
1009
|
+
**مكون الخادم مع `loading.tsx`:**
|
|
1010
|
+
|
|
1011
|
+
```tsx fileName="app/loading.tsx"
|
|
1012
|
+
export default function Loading() {
|
|
1013
|
+
return <div>Loading...</div>;
|
|
1014
|
+
}
|
|
1015
|
+
```
|
|
1016
|
+
|
|
1017
|
+
```tsx fileName="app/page.tsx"
|
|
1018
|
+
import { useIntlayer } from "next-intlayer/server";
|
|
1019
|
+
|
|
1020
|
+
const MyPage = () => {
|
|
1021
|
+
const markdownContent = useIntlayer("my-markdown");
|
|
1022
|
+
return <div>{markdownContent}</div>;
|
|
1023
|
+
};
|
|
1024
|
+
|
|
1025
|
+
export default MyPage;
|
|
1026
|
+
```
|
|
1027
|
+
|
|
1028
|
+
</Tab>
|
|
1029
|
+
|
|
1030
|
+
<Tab label="React" value="react">
|
|
1031
|
+
|
|
1032
|
+
```tsx
|
|
1033
|
+
import { useIntlayer } from "react-intlayer";
|
|
1034
|
+
import { Suspense } from "react";
|
|
1035
|
+
|
|
1036
|
+
const MyComponent = () => {
|
|
1037
|
+
const markdownContent = useIntlayer("my-markdown");
|
|
1038
|
+
|
|
1039
|
+
return (
|
|
1040
|
+
<Suspense fallback={<div>Loading...</div>}>{markdownContent}</Suspense>
|
|
1041
|
+
);
|
|
1042
|
+
};
|
|
1043
|
+
```
|
|
1044
|
+
|
|
1045
|
+
</Tab>
|
|
1046
|
+
|
|
1047
|
+
<Tab label="Vue" value="vue">
|
|
1048
|
+
|
|
1049
|
+
يحتوي Vue على مكون `<Suspense>` مضمن. قم بتغليف المكون الذي يعرض محتوى Markdown في حدود `<Suspense>`.
|
|
1050
|
+
|
|
1051
|
+
```vue fileName="MyComponent.vue"
|
|
1052
|
+
<script setup>
|
|
1053
|
+
import { useIntlayer } from "vue-intlayer";
|
|
1054
|
+
|
|
1055
|
+
const { markdownContent } = useIntlayer("my-markdown");
|
|
1056
|
+
</script>
|
|
1057
|
+
|
|
1058
|
+
<template>
|
|
1059
|
+
<Suspense>
|
|
1060
|
+
<component :is="markdownContent" />
|
|
1061
|
+
<template #fallback>
|
|
1062
|
+
<div>Loading...</div>
|
|
1063
|
+
</template>
|
|
1064
|
+
</Suspense>
|
|
1065
|
+
</template>
|
|
1066
|
+
```
|
|
1067
|
+
|
|
1068
|
+
</Tab>
|
|
1069
|
+
<Tab label="Svelte" value="svelte">
|
|
1070
|
+
|
|
1071
|
+
لا يحتوي Svelte على واجهة برمجة تطبيقات Suspense مماثلة. استخدم كتلة `{#await}` للتعامل مع العرض غير المتزامن لمحتوى Markdown.
|
|
1072
|
+
|
|
1073
|
+
```svelte fileName="MyComponent.svelte"
|
|
1074
|
+
<script lang="ts">
|
|
1075
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
1076
|
+
|
|
1077
|
+
const content = useIntlayer("my-markdown");
|
|
1078
|
+
</script>
|
|
1079
|
+
|
|
1080
|
+
{#await $content.markdownContent}
|
|
1081
|
+
<div>Loading...</div>
|
|
1082
|
+
{:then rendered}
|
|
1083
|
+
{@html rendered}
|
|
1084
|
+
{/await}
|
|
1085
|
+
```
|
|
1086
|
+
|
|
1087
|
+
</Tab>
|
|
1088
|
+
<Tab label="Preact" value="preact">
|
|
1089
|
+
|
|
1090
|
+
يدعم Preact واجهة برمجة تطبيقات Suspense الخاصة بـ React عبر `preact/compat`.
|
|
1091
|
+
|
|
1092
|
+
```tsx fileName="MyComponent.tsx"
|
|
1093
|
+
import { useIntlayer } from "preact-intlayer";
|
|
1094
|
+
import { Suspense } from "preact/compat";
|
|
1095
|
+
|
|
1096
|
+
const MyComponent = () => {
|
|
1097
|
+
const markdownContent = useIntlayer("my-markdown");
|
|
1098
|
+
|
|
1099
|
+
return (
|
|
1100
|
+
<Suspense fallback={<div>Loading...</div>}>{markdownContent}</Suspense>
|
|
1101
|
+
);
|
|
1102
|
+
};
|
|
1103
|
+
```
|
|
1104
|
+
|
|
1105
|
+
</Tab>
|
|
1106
|
+
<Tab label="Solid" value="solid">
|
|
1107
|
+
|
|
1108
|
+
يحتوي Solid على مكون `<Suspense>` الخاص به من `solid-js`.
|
|
1109
|
+
|
|
1110
|
+
```tsx fileName="MyComponent.tsx"
|
|
1111
|
+
import { useIntlayer } from "solid-intlayer";
|
|
1112
|
+
import { Suspense } from "solid-js";
|
|
1113
|
+
|
|
1114
|
+
const MyComponent = () => {
|
|
1115
|
+
const { markdownContent } = useIntlayer("my-markdown");
|
|
1116
|
+
|
|
1117
|
+
return (
|
|
1118
|
+
<Suspense fallback={<div>Loading...</div>}>{markdownContent}</Suspense>
|
|
1119
|
+
);
|
|
1120
|
+
};
|
|
1121
|
+
```
|
|
1122
|
+
|
|
1123
|
+
</Tab>
|
|
1124
|
+
<Tab label="Angular" value="angular">
|
|
1125
|
+
|
|
1126
|
+
لا يحتوي Angular على واجهة برمجة تطبيقات Suspense. استخدم طرق العرض المؤجلة (`@defer`) للتعامل مع محتوى Markdown المحمل ببطء (يتطلب Angular 17+).
|
|
1127
|
+
|
|
1128
|
+
```typescript fileName="my.component.ts"
|
|
1129
|
+
import { Component } from "@angular/core";
|
|
1130
|
+
import { useIntlayer } from "angular-intlayer";
|
|
1131
|
+
|
|
1132
|
+
@Component({
|
|
1133
|
+
selector: "app-my",
|
|
1134
|
+
template: `
|
|
1135
|
+
@defer {
|
|
1136
|
+
<div [innerHTML]="content().markdownContent"></div>
|
|
1137
|
+
} @loading {
|
|
1138
|
+
<div>Loading...</div>
|
|
1139
|
+
}
|
|
1140
|
+
`,
|
|
1141
|
+
})
|
|
1142
|
+
export class MyComponent {
|
|
1143
|
+
content = useIntlayer("my-markdown");
|
|
1144
|
+
}
|
|
1145
|
+
```
|
|
1146
|
+
|
|
1147
|
+
</Tab>
|
|
1148
|
+
</Tabs>
|
|
1149
|
+
|
|
1150
|
+
---
|
|
1151
|
+
|
|
1152
|
+
## مرجع الخيارات
|
|
1153
|
+
|
|
1154
|
+
يمكن تمرير هذه الخيارات إلى `MarkdownProvider` و `MarkdownRenderer` و `useMarkdownRenderer` و `renderMarkdown`.
|
|
1155
|
+
|
|
1156
|
+
| Option | Type | Default | الوصف |
|
|
1157
|
+
| :-------------------- | :---------- | :------ | :------------------------------------------------------------------------------------ |
|
|
1158
|
+
| `forceBlock` | `boolean` | `false` | يجبر الإخراج على الالتفاف في عنصر على مستوى الكتلة (مثل `<div>`). |
|
|
1159
|
+
| `forceInline` | `boolean` | `false` | يجبر الإخراج على الالتفاف في عنصر مضمن (مثل `<span>`). |
|
|
1160
|
+
| `tagfilter` | `boolean` | `true` | يمكّن عامل تصفية علامات GitHub لتحسين الأمان عن طريق إزالة علامات HTML الخطيرة. |
|
|
1161
|
+
| `preserveFrontmatter` | `boolean` | `false` | إذا كان `true`، فلن يتم إزالة البيانات الأولية (frontmatter) في بداية سلسلة Markdown. |
|
|
1162
|
+
| `components` | `Overrides` | `{}` | خريطة لعلامات HTML إلى مكونات مخصصة (مثل `{ h1: MyHeading }`). |
|
|
1163
|
+
| `wrapper` | `Component` | `null` | مكون مخصص لتغليف Markdown المعروض. |
|
|
1164
|
+
| `renderMarkdown` | `Function` | `null` | وظيفة عرض مخصصة لاستبدال مترجم Markdown الافتراضي بالكامل. |
|
|
@@ -224,7 +224,7 @@ export const ComponentExample = () => {
|
|
|
224
224
|
|
|
225
225
|
تعد نجوم GitHub مؤشرًا قويًا على شعبية المشروع وثقة المجتمع وأهميته على المدى الطويل. على الرغم من أنها ليست مقياسًا مباشرًا للجودة التقنية، إلا أنها تعكس عدد المطورين الذين يجدون المشروع مفيدًا ويتابعون تقدمه ومن المحتمل أن يتبنوه. لتقدير قيمة المشروع، تساعد النجوم في مقارنة الجاذبية عبر البدائل وتوفر رؤى حول نمو النظام البيئي.
|
|
226
226
|
|
|
227
|
-
[](https://www.star-history.com/#aymericzip/intlayer&formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&codingcommons/typesafe-i18n&opral/paraglide-js)
|
|
228
228
|
|
|
229
229
|
---
|
|
230
230
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
3
|
updatedAt: 2026-05-06
|
|
4
|
-
title: Angular i18n - كيفية ترجمة تطبيق Angular
|
|
4
|
+
title: Angular i18n - كيفية ترجمة تطبيق Angular 19 (Webpack)
|
|
5
5
|
description: اكتشف كيفية جعل موقع Angular الخاص بك متعدد اللغات. اتبع الوثائق لتدويله (i18n) وترجمته.
|
|
6
6
|
keywords:
|
|
7
7
|
- تدويل
|
|
@@ -13,8 +13,9 @@ slugs:
|
|
|
13
13
|
- doc
|
|
14
14
|
- environment
|
|
15
15
|
- angular
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
- 19
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-angular-19-template
|
|
18
|
+
applicationShowcase: https://intlayer-angular-19-template.vercel.app
|
|
18
19
|
history:
|
|
19
20
|
- version: 8.9.0
|
|
20
21
|
date: 2026-05-04
|
|
@@ -30,7 +31,7 @@ history:
|
|
|
30
31
|
changes: "تهيئة السجل"
|
|
31
32
|
---
|
|
32
33
|
|
|
33
|
-
# ترجمة موقع Angular الخاص بك باستخدام Intlayer | التدويل (i18n)
|
|
34
|
+
# ترجمة موقع Angular 19 (Webpack) الخاص بك باستخدام Intlayer | التدويل (i18n)
|
|
34
35
|
|
|
35
36
|
## جدول المحتويات
|
|
36
37
|
|
|
@@ -55,7 +56,7 @@ history:
|
|
|
55
56
|
<Tab label="Code" value="code">
|
|
56
57
|
|
|
57
58
|
<iframe
|
|
58
|
-
src="https://ide.intlayer.org/aymericzip/intlayer-angular-template?file=intlayer.config.ts"
|
|
59
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-angular-19-template?file=intlayer.config.ts"
|
|
59
60
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
60
61
|
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
61
62
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
@@ -66,7 +67,7 @@ history:
|
|
|
66
67
|
<Tab label="تجربة" value="demo">
|
|
67
68
|
|
|
68
69
|
<iframe
|
|
69
|
-
src="https://intlayer-angular-template.vercel.app"
|
|
70
|
+
src="https://intlayer-angular-19-template.vercel.app"
|
|
70
71
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
71
72
|
title="تجربة - intlayer-angular-template"
|
|
72
73
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
@@ -76,7 +77,7 @@ history:
|
|
|
76
77
|
</Tab>
|
|
77
78
|
</Tabs>
|
|
78
79
|
|
|
79
|
-
راجع [قالب التطبيق](https://github.com/aymericzip/intlayer-angular-template) على GitHub.
|
|
80
|
+
راجع [قالب التطبيق](https://github.com/aymericzip/intlayer-angular-19-template) على GitHub.
|
|
80
81
|
|
|
81
82
|
### الخطوة 1: تثبيت التبعيات
|
|
82
83
|
|