diff --git a/src/glossary/index.md b/src/glossary/index.md index 9b6a0883..8082378f 100644 --- a/src/glossary/index.md +++ b/src/glossary/index.md @@ -1,416 +1,416 @@ -# Glossary {#glossary} +# معجم {#glossary} -This glossary is intended to provide some guidance about the meanings of technical terms that are in common usage when talking about Vue. It is intended to be *descriptive* of how terms are commonly used, not a *prescriptive* specification of how they must be used. Some terms may have slightly different meanings or nuances depending on the surrounding context. +يهدف هذا المعجم إلى تقديم بعض الإرشادات حول معاني المصطلحات الفنية الشائعة الاستخدام عند الحديث عن Vue. والغرض من هذا المعجم هو أن يكون *وصفيًا* لكيفية استخدام المصطلحات بشكل شائع، وليس تحديدًا *إرشاديًا* لكيفية استخدامها. قد يكون لبعض المصطلحات معاني أو فروق دقيقة مختلفة قليلاً حسب السياق المحيط. [[TOC]] -## async component {#async-component} +## مكون غير متزامن {#async-component} -An *async component* is a wrapper around another component that allows for the wrapped component to be lazy loaded. This is typically used as a way to reduce the size of the built `.js` files, allowing them to be split into smaller chunks that are loaded only when required. +*المكون غير المتزامن* عبارة عن غلاف حول مكون آخر يسمح بتحميل المكون المغلف بشكل خامل. يستخدم هذا عادةً كطريقة لتقليل حجم ملفات `.js` المبنية، مما يسمح بتقسيمها إلى أجزاء أصغر يتم تحميلها فقط عند الحاجة. -Vue Router has a similar feature for the [lazy loading of route components](https://router.vuejs.org/guide/advanced/lazy-loading.html), though this does not use Vue's async components feature. +يحتوي Vue Router على ميزة مماثلة [للتحميل الخامل لمكونات المسار](https://router.vuejs.org/guide/advanced/lazy-loading.html)، على الرغم من أن هذا لا يستخدم ميزة مكونات Vue غير المتزامنة. -For more details see: -- [Guide - Async Components](/guide/components/async.html) +لمزيد من التفاصيل، راجع: +- [دليل - المكونات غير المتزامنة](/guide/components/async.html) -## compiler macro {#compiler-macro} +## (compiler macro) {#compiler-macro} -A *compiler macro* is special code that is processed by a compiler and converted into something else. They are effectively a clever form of string replacement. +*ماكرو المصرف* هو شيفرة خاص تتم معالجته بواسطة المصرف وتحويله إلى شيء آخر. إنها في الواقع شكل ذكي من أشكال استبدال السلسلة نصية. -Vue's [SFC](#single-file-component) compiler supports various macros, such as `defineProps()`, `defineEmits()` and `defineExpose()`. These macros are intentionally designed to look like normal JavaScript functions so that they can leverage the same parser and type inference tooling around JavaScript / TypeScript. However, they are not actual functions that are run in the browser. These are special strings that the compiler detects and replaces with the real JavaScript code that will actually be run. +يدعم المصرف [SFC](#single-file-component) من Vue وحدات ماكرو مختلفة، مثل `defineProps()` و`defineEmits()` و`defineExpose()`. تم تصميم وحدات الماكرو هذه عمدًا لتبدو مثل دوال JavaScript العادية حتى تتمكن من الاستفادة من نفس أدوات التحليل و استنباط النوع حول JavaScript / TypeScript. ومع ذلك، فهي ليست دوال فعلية يتم تشغيلها في المتصفح. هذه هي سلاسل خاصة يكتشفها المصرف ويستبدلها بشيفرة JavaScript الحقيقي الذي سيتم تشغيله بالفعل. -Macros have limitations on their use that don't apply to normal JavaScript code. For example, you might think that `const dp = defineProps` would allow you to create an alias for `defineProps`, but it'll actually result in an error. There are also limitations on what values can be passed to `defineProps()`, as the 'arguments' have to be processed by the compiler and not at runtime. +وحدات الماكرو لها قيود على استخدامها لا تنطبق على شيفرة JavaScript العادي. على سبيل المثال، قد تعتقد أن `const dp = defineProps` يسمح لك بإنشاء اسم مستعار لـ `defineProps`، لكن هذا سيؤدي في الواقع إلى حدوث خطأ. هناك أيضًا قيود على القيم التي يمكن تمريرها إلى `defineProps()`، حيث يتعين معالجة 'المعاملات' بواسطة المصرف وليس في وقت التشغيل. -For more details see: +لمزيد من التفاصيل، راجع: - [`