@intlayer/docs 6.0.1 → 6.0.2-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +6 -5
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +318 -1863
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +1317 -6282
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +197 -1182
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +43 -84
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +2 -5
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +318 -1863
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +1317 -6282
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +197 -1182
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +43 -84
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/blog.d.ts +1 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -1
- package/dist/types/generated/blog.entry.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/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_CMS.md +261 -85
- package/docs/ar/releases/v6.md +273 -0
- package/docs/ar/roadmap.md +1 -3
- package/docs/ar/vs_code_extension.md +94 -63
- package/docs/de/intlayer_CMS.md +247 -65
- package/docs/de/releases/v6.md +298 -0
- package/docs/de/roadmap.md +1 -3
- package/docs/de/vs_code_extension.md +89 -58
- package/docs/en/configuration.md +9 -2
- package/docs/en/intlayer_CMS.md +205 -23
- package/docs/en/intlayer_cli.md +4 -4
- package/docs/en/intlayer_visual_editor.md +7 -6
- package/docs/en/intlayer_with_nextjs_14.md +17 -1
- package/docs/en/intlayer_with_nextjs_15.md +17 -1
- package/docs/en/releases/v6.md +268 -0
- package/docs/en/roadmap.md +1 -3
- package/docs/en/vs_code_extension.md +79 -49
- package/docs/en-GB/intlayer_CMS.md +216 -52
- package/docs/en-GB/releases/v6.md +297 -0
- package/docs/en-GB/roadmap.md +1 -3
- package/docs/en-GB/vs_code_extension.md +79 -48
- package/docs/es/intlayer_CMS.md +257 -84
- package/docs/es/releases/v6.md +274 -0
- package/docs/es/roadmap.md +1 -3
- package/docs/es/vs_code_extension.md +90 -60
- package/docs/fr/intlayer_CMS.md +250 -68
- package/docs/fr/releases/v6.md +274 -0
- package/docs/fr/roadmap.md +1 -3
- package/docs/fr/vs_code_extension.md +94 -63
- package/docs/hi/intlayer_CMS.md +253 -77
- package/docs/hi/releases/v6.md +273 -0
- package/docs/hi/roadmap.md +1 -3
- package/docs/hi/vs_code_extension.md +92 -61
- package/docs/it/intlayer_CMS.md +251 -73
- package/docs/it/releases/v6.md +273 -0
- package/docs/it/roadmap.md +1 -3
- package/docs/it/vs_code_extension.md +94 -63
- package/docs/ja/intlayer_CMS.md +282 -97
- package/docs/ja/releases/v6.md +273 -0
- package/docs/ja/roadmap.md +1 -3
- package/docs/ja/vs_code_extension.md +99 -68
- package/docs/ko/intlayer_CMS.md +267 -93
- package/docs/ko/releases/v6.md +273 -0
- package/docs/ko/roadmap.md +1 -3
- package/docs/ko/vs_code_extension.md +88 -57
- package/docs/pt/intlayer_CMS.md +261 -83
- package/docs/pt/releases/v6.md +273 -0
- package/docs/pt/roadmap.md +1 -3
- package/docs/pt/vs_code_extension.md +89 -58
- package/docs/ru/intlayer_CMS.md +240 -65
- package/docs/ru/releases/v6.md +274 -0
- package/docs/ru/roadmap.md +1 -1
- package/docs/ru/vs_code_extension.md +83 -52
- package/docs/tr/intlayer_CMS.md +278 -96
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_tanstack.md +3 -0
- package/docs/tr/releases/v6.md +273 -0
- package/docs/tr/roadmap.md +1 -1
- package/docs/tr/vs_code_extension.md +100 -71
- package/docs/zh/intlayer_CMS.md +257 -76
- package/docs/zh/releases/v6.md +273 -0
- package/docs/zh/roadmap.md +1 -3
- package/docs/zh/vs_code_extension.md +99 -68
- package/package.json +9 -8
- package/src/blog.ts +1 -1
- package/src/common.ts +2 -6
- package/src/generated/blog.entry.ts +323 -1864
- package/src/generated/docs.entry.ts +1317 -6278
- package/src/generated/frequentQuestions.entry.ts +202 -1183
- package/src/generated/legal.entry.ts +48 -85
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-22
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
|
+
title: الإصدار الجديد Intlayer v6 - ما الجديد؟
|
|
5
|
+
description: اكتشف ما الجديد في Intlayer v6. تحسينات كبيرة في الأداء، تجربة المطور، وميزات جديدة لتعزيز سير عمل التدويل الخاص بك.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- التوطين
|
|
9
|
+
- التطوير
|
|
10
|
+
- الأداء
|
|
11
|
+
- تجربة المطور
|
|
12
|
+
- الميزات
|
|
13
|
+
- React
|
|
14
|
+
- Next.js
|
|
15
|
+
- JavaScript
|
|
16
|
+
- TypeScript
|
|
17
|
+
slugs:
|
|
18
|
+
- doc
|
|
19
|
+
- releases
|
|
20
|
+
- v6
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# الإصدار الجديد Intlayer v6 - ما الجديد؟
|
|
24
|
+
|
|
25
|
+
مرحبًا بك في Intlayer v6! يركز هذا الإصدار على الأداء، تجربة المطور، والموثوقية. فيما يلي أبرز النقاط، مع ملاحظات الترحيل وأمثلة قابلة للنسخ واللصق.
|
|
26
|
+
|
|
27
|
+
## أبرز النقاط
|
|
28
|
+
|
|
29
|
+
- أمر جديد: `npx intlayer content test` لاكتشاف الترجمات المفقودة
|
|
30
|
+
- خيار عالمي جديد `autoFill` لتوليد الترجمات المفقودة تلقائيًا
|
|
31
|
+
- أمر التعبئة (Fill) يتخطى الترجمات الموجودة بشكل افتراضي: `npx intlayer fill`
|
|
32
|
+
- امتداد VS Code: شريط نشاط Intlayer جديد (بحث وقواميس)، أزرار شريط الأدوات/السياق، الكشف التلقائي، أوامر التعبئة/الاختبار
|
|
33
|
+
- بناء أسرع 10 مرات بفضل التوازي في الوعود (promise parallelization)
|
|
34
|
+
- تخزين مؤقت للقاموس عن بُعد لتجنب إعادة التحميل عند بدء التطبيق
|
|
35
|
+
- تحسين التسجيل: اضبط `log.mode: 'verbose'` لفحص السلوك
|
|
36
|
+
- تحقق أقوى لمنع تعطل التطبيق بسبب مشاكل في القاموس
|
|
37
|
+
- تحديثات حية مع نظام إدارة المحتوى (CMS) باستخدام `build.importMode = 'live'` و `pnpm intlayer live`
|
|
38
|
+
- إصلاحات: تكامل Vue.js، محول Lynx، المحرر المرئي على ويندوز
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## جديد: اختبار الترجمات المفقودة
|
|
43
|
+
|
|
44
|
+
قم بتدقيق مشروعك بسرعة لمعرفة المفاتيح/اللغات المفقودة.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx intlayer content test
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
الإخراج:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pnpm intlayer content test
|
|
54
|
+
الترجمات المفقودة:
|
|
55
|
+
- blog-data - اليابانية (ja)، الكورية (ko)، الصينية (zh)، الألمانية (de)، الإيطالية (it) - src/components/BlogPage/blogData.content.ts
|
|
56
|
+
- demo-page - الفرنسية (fr)، الإيطالية (it) - src/components/DemoPage/demo.content.ts
|
|
57
|
+
- locale-switcher - الإيطالية (it)، البرتغالية (pt) - src/components/LocaleSwitcher/localeSwitcher.content.ts
|
|
58
|
+
اللغات: الإنجليزية (en)، الروسية (ru)، اليابانية (ja)، الفرنسية (fr)، الكورية (ko)، الصينية (zh)، الإسبانية (es)، الألمانية (de)، العربية (ar)، الإيطالية (it)، الإنجليزية البريطانية (en-GB)، البرتغالية (pt)، الهندية (hi)
|
|
59
|
+
اللغات المطلوبة: الإنجليزية (en)
|
|
60
|
+
اللغات المفقودة: اليابانية (ja)، الكورية (ko)، الصينية (zh)، الألمانية (de)، الإيطالية (it)، الفرنسية (fr)، البرتغالية (pt)
|
|
61
|
+
اللغات المطلوبة المفقودة: -
|
|
62
|
+
إجمالي اللغات المفقودة: 7
|
|
63
|
+
إجمالي اللغات المطلوبة المفقودة: 0
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
راجع المزيد من الخيارات في وثائق CLI: [مرجع CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_cli.md) → "اختبار الترجمات المفقودة". وكذلك دليل [الاختبار](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/testing.md).
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## جديد: التعبئة التلقائية العالمية لإكمال الترجمات المفقودة
|
|
71
|
+
|
|
72
|
+
يمكنك الآن تمكين التعبئة التلقائية على مستوى العالم بحيث يتم إكمال أي قاموس يحتوي على ترجمات مفقودة تلقائيًا.
|
|
73
|
+
|
|
74
|
+
```ts fileName="intlayer.config.ts"
|
|
75
|
+
import { type IntlayerConfig, Locales } from "intlayer";
|
|
76
|
+
|
|
77
|
+
const config: IntlayerConfig = {
|
|
78
|
+
internationalization: {
|
|
79
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
80
|
+
defaultLocale: Locales.ENGLISH,
|
|
81
|
+
requiredLocales: [Locales.ENGLISH, Locales.FRENCH],
|
|
82
|
+
},
|
|
83
|
+
content: {
|
|
84
|
+
// توليد تلقائي للترجمات المفقودة لجميع القواميس
|
|
85
|
+
autoFill: "./{{fileName}}.content.ts",
|
|
86
|
+
//
|
|
87
|
+
// autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",
|
|
88
|
+
//
|
|
89
|
+
// autoFill: true, // توليد تلقائي للترجمات المفقودة لجميع القواميس مثل استخدام "./{{fileName}}.content.json"
|
|
90
|
+
//
|
|
91
|
+
// autoFill: {
|
|
92
|
+
// en: "./{{fileName}}.en.content.json",
|
|
93
|
+
// fr: "./{{fileName}}.fr.content.json",
|
|
94
|
+
// es: "./{{fileName}}.es.content.json",
|
|
95
|
+
// },
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export default config;
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
يمكنك أيضًا ضبط كل قاموس بدقة باستخدام حقل `autoFill` في ملفات المحتوى. راجع المرجع الكامل في `doc/autoFill` و `doc/dictionary/content_file`.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## أمر fill: إعدادات افتراضية أكثر أمانًا
|
|
107
|
+
|
|
108
|
+
أمر fill الآن، بشكل افتراضي، يملأ الترجمات المفقودة فقط ويتخطى المحتوى الموجود.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npx intlayer fill
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
المفاتيح المتأثرة في القواميس للمعالجة: access-key-creation-form-schema, doc-search-metadata, doc-search-page
|
|
116
|
+
- [access-key-creation-form-schema] القاموس لا يحتوي على مسار ملف. يتم التخطي.
|
|
117
|
+
- [access-key-creation-form-schema] معالجة إعلان المحتوى: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts
|
|
118
|
+
- [access-key-creation-form-schema] لا توجد لغات لملئها - يتم تخطي القاموس
|
|
119
|
+
- [doc-search-metadata] القاموس لا يحتوي على مسار ملف. يتم التخطي.
|
|
120
|
+
- [doc-search-metadata] معالجة إعلان المحتوى: src/app/[locale]/(docs)/doc/search/metadata.content.ts
|
|
121
|
+
- [doc-search-metadata] لا توجد لغات لملئها - يتم تخطي القاموس
|
|
122
|
+
- [doc-search-page] القاموس لا يحتوي على مسار ملف. يتم التخطي.
|
|
123
|
+
- [doc-search-page] معالجة إعلان المحتوى: src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
124
|
+
- [doc-search-page] [الروسية (ru)] تجهيز الترجمة للقاموس من الإنجليزية (en) إلى الروسية (ru)
|
|
125
|
+
[intlayer] تم تطبيق تنسيق Prettier على src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
126
|
+
- [doc-search-page] تم كتابة إعلان المحتوى إلى src/app/[locale]/(docs)/doc/search/page.content.ts
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
أمثلة CI متاحة في [CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/CI_CD.md).
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## تحديث امتداد VS Code
|
|
134
|
+
|
|
135
|
+
يتضمن الامتداد الآن تبويب مخصص لـ Intlayer في شريط النشاط وعدة تحسينات في سير العمل:
|
|
136
|
+
|
|
137
|
+
- شريط نشاط Intlayer مع عرضين:
|
|
138
|
+
- عرض ويب البحث (`intlayer.searchBar`) للبحث المباشر في القاموس/المحتوى
|
|
139
|
+
- شجرة القواميس (`intlayer.dictionaries`) التي تعرض البيئات، القواميس، والملفات المساهمة
|
|
140
|
+
- شريط أدوات في عرض القواميس: بناء، سحب، دفع، ملء، تحديث، اختبار، إنشاء ملف قاموس
|
|
141
|
+
- قوائم السياق: سحب/دفع على القواميس؛ ملء على الملفات
|
|
142
|
+
- الكشف التلقائي: يتم تمييز ملف المحرر الحالي في شجرة القواميس عند الاقتضاء
|
|
143
|
+
- أوامر جديدة متاحة من لوحة الأوامر: ملء القواميس واختبار القواميس
|
|
144
|
+
|
|
145
|
+
راجع التفاصيل في توثيق [امتداد VS Code الرسمي](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/vs_code_extension.md).
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## الأداء: أسرع 10 مرات
|
|
150
|
+
|
|
151
|
+
- حل متوازي للقواميس المحلية والبعيدة
|
|
152
|
+
- يتم تخزين القواميس البعيدة مؤقتًا لتجنب إعادة الجلب عند بدء تشغيل التطبيق
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
npx intlayer build
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
المخرجات:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
[intlayer] Preparing Intlayer (v6.0.1)
|
|
162
|
+
[intlayer] Dictionaries:
|
|
163
|
+
[intlayer] ✓ Local content: 163/163
|
|
164
|
+
[intlayer] ✓ Remote content: 100/100
|
|
165
|
+
[intlayer] - access-key-creation-form [local: ✔ built] [distant: ✔ imported]
|
|
166
|
+
[intlayer] - access-key-creation-form-schema [local: ✔ built] [distant: ✔ imported]
|
|
167
|
+
[intlayer] - access-key-form [local: ✔ built] [distant: ✔ imported]
|
|
168
|
+
[intlayer] - ai-ab-testing-section [distant: ✔ imported]
|
|
169
|
+
[intlayer] - application-not-running-view [local: ✔ built] [distant: ✔ imported]
|
|
170
|
+
[intlayer] - application-template-message [local: ✔ built] [distant: ✔ fetched]
|
|
171
|
+
[intlayer] - aside-navigation [local: ✔ built] [distant: ✔ imported]
|
|
172
|
+
[intlayer] - ask-reset-password [local: ✔ built] [distant: ✔ imported]
|
|
173
|
+
[intlayer] - ask-reset-password-schema [local: ✔ built] [distant: ✔ imported]
|
|
174
|
+
[intlayer] - autocompletion-section [local: ✔ built] [distant: ✔ fetched]
|
|
175
|
+
[intlayer] - available-techno-section [local: ✔ built] [distant: ✔ imported]
|
|
176
|
+
[intlayer] - blog-data [local: ✔ built]
|
|
177
|
+
[intlayer] - blog-metadata [local: ✔ built]
|
|
178
|
+
[intlayer] - blog-nav-list [local: ✔ built] [distant: ✔ imported]
|
|
179
|
+
[intlayer] - blog-page [distant: ✔ fetched]
|
|
180
|
+
[intlayer] - blog-search-metadata [local: ✔ built] [distant: ✔ imported]
|
|
181
|
+
[intlayer] - blog-search-page [local: ✔ built] [distant: ✔ imported]
|
|
182
|
+
...
|
|
183
|
+
[intlayer] تم تحميل المحتوى (الإجمالي: 8401 مللي ثانية - محلي: 4050 مللي ثانية - عن بُعد: 4222 مللي ثانية)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## تحسينات التسجيل
|
|
189
|
+
|
|
190
|
+
تم تحسين نظام التسجيل لتوفير معلومات أكثر تفصيلاً حول ما يحدث أثناء عمليات التحويل في وقت البناء والتشغيل.
|
|
191
|
+
|
|
192
|
+
> قم بتمكين السجلات المفصلة لفهم أفضل لما يحدث أثناء عمليات التحويل في وقت البناء والتشغيل.
|
|
193
|
+
|
|
194
|
+
```ts fileName="intlayer.config.ts"
|
|
195
|
+
export default {
|
|
196
|
+
log: {
|
|
197
|
+
mode: "verbose", // الخيارات: "default" | "verbose" | "disabled"
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
راجع [التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md) لجميع خيارات التسجيل.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## تحقق أقوى
|
|
207
|
+
|
|
208
|
+
يقوم الآن معالجة القاموس بإجراء تحقق أكثر صلابة. عندما يفشل القاموس في المعالجة، يتجنب Intlayer كسر تطبيقك ويعرض أخطاء قابلة للتنفيذ.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## التحديثات الحية مع نظام إدارة المحتوى (آمن للإنتاج)
|
|
213
|
+
|
|
214
|
+
قم بتقديم تحديثات المحتوى الحية (مثل التحديثات التحريرية) في بيئة الإنتاج دون الحاجة إلى إعادة بناء تطبيقك.
|
|
215
|
+
|
|
216
|
+
1. قم بتمكين وضع الاستيراد الحي:
|
|
217
|
+
|
|
218
|
+
```ts fileName="intlayer.config.ts"
|
|
219
|
+
import { type IntlayerConfig } from "intlayer";
|
|
220
|
+
|
|
221
|
+
const config: IntlayerConfig = {
|
|
222
|
+
build: {
|
|
223
|
+
importMode: "live", // "static" | "dynamic" | "live"
|
|
224
|
+
},
|
|
225
|
+
editor: {
|
|
226
|
+
liveSync: true, // تمكين المزامنة الحية على جانب الخادم
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export default config;
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
2. قم بتشغيل تطبيقك والمعالجة الحية جنبًا إلى جنب:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
npx intlayer live --process 'vite preview'
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
ملاحظات:
|
|
240
|
+
|
|
241
|
+
- سيتم جلب القواميس التي تم تمييزها لاستخدام الوضع الحي فقط بشكل مباشر. أما القواميس الأخرى فهي محسّنة للأداء.
|
|
242
|
+
- يتم الرجوع إلى الاستيراد الديناميكي إذا لم يكن من الممكن الوصول إلى واجهة برمجة التطبيقات الحية.
|
|
243
|
+
|
|
244
|
+
راجع [نظام إدارة المحتوى والمزامنة الحية](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md) و [التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md) للحصول على إرشادات كاملة.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## ملاحظات الترحيل
|
|
249
|
+
|
|
250
|
+
- تمت الإزالة: `dictionaryOutput` (كان يُستخدم سابقًا مع `i18next` أو `next-intl`). سيعود هذا كموصلات قابلة للإضافة في الإصدارات المستقبلية. قم بإزالة هذا الحقل من تكوينك.
|
|
251
|
+
- إزالة ذات صلة: `i18nextResourcesDir` (راجع سجل التغييرات في `doc/configuration`).
|
|
252
|
+
- يُفضل استخدام الخيار العالمي الجديد `content.autoFill` لتوليد الترجمات المفقودة على نطاق واسع.
|
|
253
|
+
- استخدم الأمر `npx intlayer content test` للتحقق من طلبات السحب (PRs) المتعلقة بالترجمات المفقودة.
|
|
254
|
+
- للحصول على تشخيص مفصل، قم بتعيين `log.mode = 'verbose'`.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## الإصلاحات
|
|
259
|
+
|
|
260
|
+
- استقرار تكامل Vue.js
|
|
261
|
+
- تحسينات موصل Lynx
|
|
262
|
+
- المحرر المرئي على نظام ويندوز
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## روابط مفيدة
|
|
267
|
+
|
|
268
|
+
- [مرجع CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_cli.md)
|
|
269
|
+
- [الملء التلقائي](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/autoFill.md)
|
|
270
|
+
- [التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md)
|
|
271
|
+
- [مرجع ملف المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md)
|
|
272
|
+
- [امتداد VS Code الرسمي](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/vs_code_extension.md)
|
|
273
|
+
- [نظام إدارة المحتوى والمزامنة الحية](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md)
|
package/docs/ar/roadmap.md
CHANGED
|
@@ -111,18 +111,16 @@ Intlayer هو حل لإدارة المحتوى والتدويل مصمم لتب
|
|
|
111
111
|
يدعم Intlayer صيغة **TypeScript** (وكذلك JavaScript) و **JSON** لإعلان المحتوى.
|
|
112
112
|
|
|
113
113
|
- **TypeScript**:
|
|
114
|
-
|
|
115
114
|
- يضمن أن هيكل المحتوى الخاص بك صحيح وأنه لا توجد ترجمات مفقودة.
|
|
116
115
|
- يقدم أوضاع تحقق صارمة أو أكثر مرونة.
|
|
117
116
|
- يسمح بجلب البيانات ديناميكيًا من المتغيرات أو الدوال أو واجهات برمجة التطبيقات الخارجية.
|
|
118
117
|
|
|
119
118
|
- **JSON**:
|
|
120
|
-
|
|
121
119
|
- يجعل من السهل التكامل مع الأدوات الخارجية (مثل المحررين المرئيين) بسبب تنسيقه الموحد.
|
|
122
120
|
|
|
123
121
|
> الموارد:
|
|
124
122
|
>
|
|
125
|
-
> - [تنسيقات إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/
|
|
123
|
+
> - [تنسيقات إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md)
|
|
126
124
|
|
|
127
125
|
### 7. التنقية، تحسين الحزمة والاستيراد الديناميكي
|
|
128
126
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-17
|
|
3
|
-
updatedAt: 2025-
|
|
4
|
-
title:
|
|
5
|
-
description: تعلّم كيفية استخدام
|
|
3
|
+
updatedAt: 2025-09-22
|
|
4
|
+
title: ملحق VS Code الرسمي
|
|
5
|
+
description: تعلّم كيفية استخدام ملحق Intlayer في VS Code لتعزيز سير عمل التطوير الخاص بك. تنقل بسرعة بين المحتوى المحلي وأدر القواميس الخاصة بك بكفاءة.
|
|
6
6
|
keywords:
|
|
7
|
-
-
|
|
7
|
+
- ملحق VS Code
|
|
8
8
|
- Intlayer
|
|
9
9
|
- التوطين
|
|
10
10
|
- أدوات التطوير
|
|
@@ -17,41 +17,89 @@ slugs:
|
|
|
17
17
|
- vs-code-extension
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
#
|
|
20
|
+
# ملحق VS Code الرسمي
|
|
21
21
|
|
|
22
22
|
## نظرة عامة
|
|
23
23
|
|
|
24
|
-
[**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)
|
|
24
|
+
[**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) هو الملحق الرسمي لـ Visual Studio Code الخاص بـ **Intlayer**، مصمم لتحسين تجربة المطور عند العمل مع المحتوى المحلي في مشاريعك.
|
|
25
25
|
|
|
26
|
-

|
|
27
27
|
|
|
28
|
-
رابط
|
|
28
|
+
رابط الملحق: [https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)
|
|
29
29
|
|
|
30
30
|
## الميزات
|
|
31
31
|
|
|
32
32
|
### التنقل الفوري
|
|
33
33
|
|
|
34
|
-
**دعم الانتقال إلى التعريف** – استخدم
|
|
34
|
+
**دعم الانتقال إلى التعريف** – استخدم `⌘ + Click` (ماك) أو `Ctrl + Click` (ويندوز/لينكس) على مفتاح `useIntlayer` لفتح ملف المحتوى المقابل فورًا.
|
|
35
35
|
**تكامل سلس** – يعمل بسهولة مع مشاريع **react-intlayer** و **next-intlayer**.
|
|
36
36
|
**دعم متعدد اللغات** – يدعم المحتوى المحلي عبر لغات مختلفة.
|
|
37
|
-
**تكامل مع VS Code** – يندمج بسلاسة مع
|
|
37
|
+
**تكامل مع VS Code** – يندمج بسلاسة مع التنقل ولوحة الأوامر في VS Code.
|
|
38
38
|
|
|
39
39
|
### أوامر إدارة القواميس
|
|
40
40
|
|
|
41
41
|
قم بإدارة قواميس المحتوى الخاصة بك مباشرة من VS Code:
|
|
42
42
|
|
|
43
|
-
- **إنشاء القواميس**
|
|
44
|
-
- **دفع القواميس**
|
|
45
|
-
- **سحب القواميس**
|
|
43
|
+
- **إنشاء القواميس** – توليد ملفات المحتوى بناءً على هيكل مشروعك.
|
|
44
|
+
- **دفع القواميس** – رفع أحدث محتوى القاموس إلى مستودعك.
|
|
45
|
+
- **سحب القواميس** – مزامنة أحدث محتوى القاموس من مستودعك إلى بيئتك المحلية.
|
|
46
|
+
- **ملء القواميس** – تعبئة القواميس بالمحتوى من مشروعك.
|
|
47
|
+
- **اختبار القواميس** – تحديد الترجمات المفقودة أو غير المكتملة.
|
|
46
48
|
|
|
47
49
|
### مولد إعلان المحتوى
|
|
48
50
|
|
|
49
|
-
قم بسهولة
|
|
51
|
+
قم بسهولة بتوليد ملفات قاموس منظمة بصيغ مختلفة:
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
إذا كنت تعمل حاليًا على مكون، فسيتم إنشاء ملف `.content.{ts,tsx,js,jsx,mjs,cjs,json}` لك.
|
|
54
|
+
|
|
55
|
+
مثال على مكون:
|
|
56
|
+
|
|
57
|
+
```tsx fileName="src/components/MyComponent/index.tsx"
|
|
58
|
+
const MyComponent = () => {
|
|
59
|
+
const { myTranslatedContent } = useIntlayer("my-component");
|
|
60
|
+
|
|
61
|
+
return <span>{myTranslatedContent}</span>;
|
|
62
|
+
};
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
الملف المُولد بصيغة TypeScript:
|
|
66
|
+
|
|
67
|
+
```tsx fileName="src/components/MyComponent/index.content.ts"
|
|
68
|
+
import { t, type Dictionary } from "intlayer";
|
|
69
|
+
|
|
70
|
+
const componentContent = {
|
|
71
|
+
key: "my-component",
|
|
72
|
+
content: {
|
|
73
|
+
myTranslatedContent: t({
|
|
74
|
+
en: "Hello World",
|
|
75
|
+
es: "Hola Mundo",
|
|
76
|
+
fr: "Bonjour le monde",
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export default componentContent;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
الصيغ المتاحة:
|
|
85
|
+
|
|
86
|
+
- **TypeScript (`.ts`)**
|
|
87
|
+
- **وحدة ES (`.esm`)**
|
|
88
|
+
- **CommonJS (`.cjs`)**
|
|
89
|
+
- **JSON (`.json`)**
|
|
90
|
+
|
|
91
|
+
### تبويب Intlayer (شريط النشاط)
|
|
92
|
+
|
|
93
|
+
افتح تبويب Intlayer بالنقر على أيقونة Intlayer في شريط نشاط VS Code. يحتوي على عرضين:
|
|
94
|
+
|
|
95
|
+
- **بحث**: شريط بحث مباشر لتصفية القواميس ومحتواها بسرعة. الكتابة تحدث النتائج فورًا.
|
|
96
|
+
- **القواميس**: عرض شجري لبيئاتك/مشاريعك، مفاتيح القواميس، والملفات التي تساهم بالإدخالات. يمكنك:
|
|
97
|
+
- النقر على ملف لفتحه في المحرر.
|
|
98
|
+
- استخدام شريط الأدوات لتنفيذ الأوامر: بناء، سحب، دفع، تعبئة، تحديث، اختبار، وإنشاء ملف قاموس.
|
|
99
|
+
- استخدام قائمة السياق لإجراءات محددة على العنصر:
|
|
100
|
+
- على قاموس: سحب أو دفع
|
|
101
|
+
- على ملف: تعبئة القاموس
|
|
102
|
+
- عند تبديل المحررات، سيكشف العرض الشجري عن الملف المطابق إذا كان ينتمي إلى قاموس.
|
|
55
103
|
|
|
56
104
|
## التثبيت
|
|
57
105
|
|
|
@@ -60,30 +108,32 @@ slugs:
|
|
|
60
108
|
1. افتح **VS Code**.
|
|
61
109
|
2. اذهب إلى **سوق الإضافات**.
|
|
62
110
|
3. ابحث عن **"Intlayer"**.
|
|
63
|
-
4.
|
|
64
|
-
|
|
65
|
-
بدلاً من ذلك، قم بتثبيته عبر سطر الأوامر:
|
|
66
|
-
|
|
67
|
-
```sh
|
|
68
|
-
code --install-extension intlayer
|
|
69
|
-
```
|
|
111
|
+
4. انقر على **تثبيت**.
|
|
70
112
|
|
|
71
113
|
## الاستخدام
|
|
72
114
|
|
|
73
115
|
### التنقل السريع
|
|
74
116
|
|
|
75
117
|
1. افتح مشروعًا يستخدم **react-intlayer**.
|
|
76
|
-
2. حدد
|
|
118
|
+
2. حدد مكالمة إلى `useIntlayer()`، مثل:
|
|
77
119
|
|
|
78
120
|
```tsx
|
|
79
121
|
const content = useIntlayer("app");
|
|
80
122
|
```
|
|
81
123
|
|
|
82
|
-
3. **انقر مع الضغط على الأمر** (`⌘+Click` على macOS) أو
|
|
83
|
-
4.
|
|
124
|
+
3. **انقر مع الضغط على الأمر** (`⌘+Click` على macOS) أو **Ctrl+Click** (على Windows/Linux) على المفتاح (مثل `"app"`).
|
|
125
|
+
4. سيفتح VS Code تلقائيًا ملف القاموس المقابل، مثل `src/app.content.ts`.
|
|
84
126
|
|
|
85
127
|
### إدارة قواميس المحتوى
|
|
86
128
|
|
|
129
|
+
### تبويب Intlayer (شريط النشاط)
|
|
130
|
+
|
|
131
|
+
استخدم التبويب الجانبي لتصفح وإدارة القواميس:
|
|
132
|
+
|
|
133
|
+
- افتح أيقونة Intlayer في شريط النشاط.
|
|
134
|
+
- في **البحث**، اكتب لتصفية القواميس والإدخالات في الوقت الحقيقي.
|
|
135
|
+
- في **القواميس**، تصفح البيئات والقواميس والملفات. استخدم شريط الأدوات للبناء، السحب، الدفع، الملء، التحديث، الاختبار، وإنشاء ملف القاموس. انقر بزر الماوس الأيمن للحصول على إجراءات السياق (السحب/الدفع على القواميس، الملء على الملفات). يتم الكشف تلقائيًا عن ملف المحرر الحالي في الشجرة عند الاقتضاء.
|
|
136
|
+
|
|
87
137
|
#### بناء القواميس
|
|
88
138
|
|
|
89
139
|
قم بإنشاء جميع ملفات محتوى القاموس باستخدام:
|
|
@@ -96,7 +146,7 @@ Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
|
|
|
96
146
|
|
|
97
147
|
#### دفع القواميس
|
|
98
148
|
|
|
99
|
-
|
|
149
|
+
قم بتحميل أحدث محتوى القاموس:
|
|
100
150
|
|
|
101
151
|
1. افتح **لوحة الأوامر**.
|
|
102
152
|
2. ابحث عن **Push Dictionaries**.
|
|
@@ -104,49 +154,30 @@ Cmd + Shift + P (macOS) / Ctrl + Shift + P (Windows/Linux)
|
|
|
104
154
|
|
|
105
155
|
#### سحب القواميس
|
|
106
156
|
|
|
107
|
-
|
|
157
|
+
مزامنة أحدث محتوى القاموس:
|
|
108
158
|
|
|
109
159
|
1. افتح **لوحة الأوامر**.
|
|
110
160
|
2. ابحث عن **Pull Dictionaries**.
|
|
111
161
|
3. اختر القواميس التي تريد سحبها.
|
|
112
162
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
هل ترغب في المساهمة؟ نرحب بمساهمات المجتمع!
|
|
116
|
-
|
|
117
|
-
رابط المستودع: https://github.com/aymericzip/intlayer-vs-code-extension
|
|
163
|
+
#### ملء القواميس
|
|
118
164
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
استنسخ المستودع وقم بتثبيت التبعيات:
|
|
122
|
-
|
|
123
|
-
```sh
|
|
124
|
-
git clone https://github.com/aymericzip/intlayer-vs-code-extension.git
|
|
125
|
-
cd intlayer-vs-code-extension
|
|
126
|
-
npm install
|
|
127
|
-
```
|
|
165
|
+
املأ القواميس بالمحتوى من مشروعك:
|
|
128
166
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
1. افتح المشروع في **VS Code**.
|
|
134
|
-
2. اضغط على `F5` لفتح نافذة جديدة لـ **مضيف تطوير الإضافة**.
|
|
135
|
-
|
|
136
|
-
### تقديم طلب سحب
|
|
137
|
-
|
|
138
|
-
إذا قمت بتحسين الإضافة، قدم طلب سحب على [GitHub](https://github.com/aymericzip/intlayer-vs-code-extension).
|
|
139
|
-
|
|
140
|
-
## الملاحظات والمشاكل
|
|
141
|
-
|
|
142
|
-
هل وجدت خطأً أو لديك طلب ميزة؟ افتح مشكلة في **مستودع GitHub** الخاص بنا:
|
|
167
|
+
1. افتح **لوحة الأوامر**.
|
|
168
|
+
2. ابحث عن **Fill Dictionaries**.
|
|
169
|
+
3. نفذ الأمر لملء القواميس.
|
|
143
170
|
|
|
144
|
-
|
|
171
|
+
#### اختبار القواميس
|
|
145
172
|
|
|
146
|
-
|
|
173
|
+
تحقق من صحة القواميس واكتشف الترجمات المفقودة:
|
|
147
174
|
|
|
148
|
-
|
|
175
|
+
1. افتح **لوحة الأوامر**.
|
|
176
|
+
2. ابحث عن **Test Dictionaries**.
|
|
177
|
+
3. راجع المشكلات المبلغ عنها وقم بإصلاحها حسب الحاجة.
|
|
149
178
|
|
|
150
|
-
## تاريخ
|
|
179
|
+
## تاريخ الوثيقة
|
|
151
180
|
|
|
152
|
-
|
|
181
|
+
| الإصدار | التاريخ | التغييرات |
|
|
182
|
+
| ------- | ---------- | ------------- |
|
|
183
|
+
| 5.5.10 | 2025-06-29 | بداية التاريخ |
|