Browse Source

Docs: Translating Core section into Arabic (ar). (#26123)

* fix typo

* add arabic translation for BufferAttributeTypes page

* add arabic translation for BufferAttribute page

* add arabic translation for BufferGeometry page

* add arabic translation for Clock page

* add arabic translation for EventDispatcher page

* add arabic translation for GLBufferAttribute page

* add arabic translation for InstancedBufferGeometry page

* add arabic translation for InstancedBufferAttribute page

* add arabic translation for InstancedInterleavedBuffer page

* add arabic translation for InterleavedBufferAttribute page

* add arabic translation for InterleavedBuffer  page

* add arabic translation for Layers page

* add arabic translation for Object3D page

* add arabic translation for Raycaster page

* add arabic translation for Uniform page

* update list.json to include the core section of arabic docs

* fix missing opening body tag
Omar Khalifa 2 years ago
parent
commit
1a86507105

+ 1 - 1
docs/api/ar/animation/AnimationAction.html

@@ -50,7 +50,7 @@
 		<p>
 			يؤدي تعيين *enabled* إلى *false* إلى تعطيل هذا الإجراء ، بحيث لا يكون له أي تأثير. الافتراضي هو *true*.<br /><br />
 
-			عند إعادة تمكين الإجراء ، يستمر الرسم المتحرك من وقته الحالي [page:.time time] (الإعداد *enabled* إلى *false* لا يعيد تعيين الإجراء).<br /><br />
+			عند إعادة تمكين الإجراء ، يستمر الرسم المتحرك من وقته الحالي [page:.time time] (العدد *enabled* إلى *false* لا يعيد تعيين الإجراء).<br /><br />
 
 			ملاحظة: لا يؤدي إعداد *enabled* إلى *true* إلى إعادة تشغيل الرسوم المتحركة تلقائيًا. سيؤدي ضبط *enabled* إلى *true* إلى إعادة تشغيل الرسوم المتحركة فورًا فقط إذا تم استيفاء الشرط التالي:
 			[page:.paused paused] تحتوي قيمة *false* ، لم يتم إلغاء تنشيط هذا الإجراء في هذه الأثناء (بتنفيذ أمر [page:.stop stop] أو [page:.reset reset]) ، وليس [page:.weight weight] أو [page:.timeScale timeScale] يساوي 0.

+ 2 - 2
docs/api/ar/cameras/OrthographicCamera.html

@@ -91,12 +91,12 @@
 
 		<h3>[property:Object view]</h3>
 		<p>
-			`يتم تعيينها بواسطة [page:OrthographicCamera.setViewOffset setViewOffset]. الإعداد الافتراضي هو 
+			`يتم تعيينها بواسطة [page:OrthographicCamera.setViewOffset setViewOffset]. العدد الافتراضي هو 
 			`null`.
 		</p>
 
 		<h3>[property:number zoom]</h3>
-		<p>تُستخدم للحصول على قيمة عامل التكبير أو تعيينها للكاميرا. الإعداد الافتراضي هو `1`</p>
+		<p>تُستخدم للحصول على قيمة عامل التكبير أو تعيينها للكاميرا. العدد الافتراضي هو `1`</p>
 
 		<h2>الوظائف (Methods)</h2>
 		<p>راجع صفحة [page:Camera] الأساسية للحصول على الأساليب الشائعة.</p>

+ 1 - 1
docs/api/ar/cameras/PerspectiveCamera.html

@@ -110,7 +110,7 @@
 		</p>
 
 		<h3>[property:number zoom]</h3>
-		<p>يتم الحصول على قيمة عامل التكبير أو تعيينها للكاميرا. الإعداد الافتراضي هو `1`.</p>
+		<p>يتم الحصول على قيمة عامل التكبير أو تعيينها للكاميرا. العدد الافتراضي هو `1`.</p>
 
 		<h2>الوظائف (Methods)</h2>
 		<p>يرجى الرجوع إلى صفحة [page:Camera] الأساسية للحصول على الأساليب الشائعة.</p>

+ 235 - 0
docs/api/ar/core/BufferAttribute.html

@@ -0,0 +1,235 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+
+		<p class="desc">
+			تخزن هذه الفئة بيانات لسمة (مثل مواضع الرأس ، ومؤشرات الوجه ، والمعايير ، والألوان ، والأشعة فوق البنفسجية ، وأي سمات مخصصة) المرتبطة
+			مع [page:BufferGeometry] ، مما يسمح بتمرير البيانات بشكل أكثر كفاءة
+			إلى وحدة معالجة الرسومات. انظر تلك الصفحة للحصول على التفاصيل ومثال على الاستخدام. عند العمل
+			مع بيانات مثل المتجهات ، قد تكون طرق المساعد <i>.fromBufferAttribute(attribute, index)</i>
+			على [page:Vector2.fromBufferAttribute Vector2]،
+			[page:Vector3.fromBufferAttribute Vector3]،
+			[page:Vector4.fromBufferAttribute Vector4]، و
+			[page:Color.fromBufferAttribute Color] قد تكون مفيدة.
+		</p>
+			
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]([param:TypedArray array]، [param:Integer itemSize]، [param:Boolean normalized])</h3>
+		<p>
+			[page:TypedArray array] - يجب أن يكون
+			[link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/TypedArray TypedArray]. يستخدم لإنشاء المخزن المؤقت. <br />
+			يجب أن يحتوي هذا المصفوفة على
+			<code>
+			itemSize * numVertices
+			</code>
+			عناصر ، حيث numVertices هو عدد الرؤوس في المرتبطة
+			[page:BufferGemetry BufferGeometry].<br /><br />
+			
+			[page:Integer itemSize] - عدد قيم المصفوفة التي يجب
+			ترتبط برأس معين. على سبيل المثال ، إذا كانت هذه السمة هي
+			تخزين متجه من 3 مكونات (مثل الموضع أو الطبيعي أو اللون) ، فإن
+			itemSize يجب أن يكون 3.
+			<br /><br />
+			
+			[page:Boolean normalized] - (اختياري) ينطبق على البيانات الصحيحة فقط.
+			يشير إلى كيفية تعيين البيانات الأساسية في المخزن المؤقت إلى القيم في
+			كود GLSL. على سبيل المثال ، إذا كان [page:TypedArray array] هو نسخة من
+			UInt16Array ، و [page:Boolean normalized] صحيحًا ، فإن القиم `0 -
+			+65535` في بيانات المصفوفة ستُخرج إلى 0.0f - +1.0f في GLSL
+			attribute. ستُخرج Int16Array (signed) من -32768 - +32767 إلى -1.0f
+			- +1.0f. إذا كان [page:Boolean normalized] خطأً ، فستكون القيم
+			تحول إلى floats دون تعديل ، أي 32767 يصبح 32767.0f.
+		</p>
+			
+		<h2>الخصائص (Properties)</h2>
+
+		<h3>[property:TypedArray array]</h3>
+		<p>ال[page:TypedArray array] التي تحمل البيانات المخزنة في المخزن المؤقت.</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+			يخزن طول [page:BufferAttribute.array array] مقسومًا على
+			[page:BufferAttribute.itemSize itemSize].<br /><br />
+
+			إذا كان المخزن يخزن متجهًا من 3 مكونات (مثل الموضع أو الطبيعي أو اللون) ، فسيحسب عدد هذه المتجهات المخزنة.
+		</p>
+
+		<h3>[property:Boolean isBufferAttribute]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان الكائن المعطى من نوع [name].</p>
+
+		<h3>[property:Integer itemSize]</h3>
+		<p>
+			طول المتجهات التي يتم تخزينها في
+			[page:BufferAttribute.array array].
+		</p>
+
+		<h3>[property:String name]</h3>
+		<p>اسم اختياري لهذا الحدث من السمة. الافتراضي هو سلسلة فارغة.</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+			علامة للإشارة إلى أن هذه السمة قد تغيرت ويجب إعادة إرسالها إلى
+			وحدة معالجة الرسومات. قم بتعيين هذا على true عند تعديل قيمة المصفوفة.<br /><br />
+
+			تعيين هذا على true يزيد أيضًا من [page:BufferAttribute.version version].
+		</p>
+
+		<h3>[property:Boolean normalized]</h3>
+		<p>
+			يشير إلى كيفية تعيين البيانات الأساسية في المخزن المؤقت إلى القيم في
+			كود GLSL. راجع المُنشئ أعلاه للحصول على التفاصيل.
+		</p>
+
+		<h3>[property:Function onUploadCallback]</h3>
+		<p>
+			دالة رد اتصال يتم تنفيذها بعد أن قام Renderer بنقل
+			بيانات مصفوفة السمة إلى وحدة معالجة الرسومات.
+		</p>
+
+		<h3>[property:Object updateRange]</h3>
+		<p>
+			كائن يحتوي على:<br />
+			[page:Integer offset]: الافتراضية هي `0`. الموضع الذي يجب أن يبدأ فيه
+			التحديث.<br />
+			[page:Integer count]: الافتراضية هي `-1` ، وهذا يعني عدم استخدام التحديث
+			المدى. <br /><br />
+
+			يمكن استخدام هذا لتحديث بعض مكونات المتجهات المخزنة فقط (على سبيل المثال ، فقط المكوِّن المرتبط باللون).
+		</p>
+
+		<h3>[property:Usage usage]</h3>
+		<p>
+			يحدد نمط الاستخدام المقصود لمخزن البيانات لأغراض التحسين
+			. يتوافق مع معلمة `usage` من
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData](). الافتراضي هو [page:BufferAttributeUsage StaticDrawUsage]. راجع الاستخدام [page:BufferAttributeUsage constants] لجميع
+			القيم الممكنة. <br /><br />
+
+			ملاحظة: بعد الاستخدام الأولي للمخزن المؤقت ، لا يمكن تغيير استخدامه.
+			بدلاً من ذلك ، قم بإنشاء نسخة جديدة وتعيين الاستخدام المطلوب قبل التالي
+			جعل.
+		</p>
+
+		<h3>[property:Integer version]</h3>
+		<p>
+			رقم إصدار ، يزداد كل مرة
+			[page:BufferAttribute.needsUpdate needsUpdate] يتم تعيين خاصية على true.
+		</p>
+
+		<h2>الوظائف (Methods)</h2>
+
+		<h3>[method:this applyMatrix3]([param:Matrix3 m])</h3>
+		<p>
+			تطبق المصفوفة [page:Matrix3 m] على كل عنصر Vector3 من هذا
+			BufferAttribute.
+		</p>
+
+		<h3>[method:this applyMatrix4]([param:Matrix4 m])</h3>
+		<p>
+			تطبق المصفوفة [page:Matrix4 m] على كل عنصر Vector3 من هذا
+			BufferAttribute.
+		</p>
+
+		<h3>[method:this applyNormalMatrix]([param:Matrix3 m])</h3>
+		<p>
+			تطبق المصفوفة الطبيعية [page:Matrix3 m] على كل عنصر Vector3 من هذا
+			BufferAttribute.
+		</p>
+
+		<h3>[method:this transformDirection]([param:Matrix4 m])</h3>
+		<p>
+			تطبق المصفوفة [page:Matrix4 m] على كل عنصر Vector3 من هذا
+			BufferAttribute ، مع تفسير العناصر كمتجهات اتجاه.
+		</p>
+
+		<h3>[method:BufferAttribute clone]()</h3>
+		<p>إرجاع نسخة من هذه bufferAttribute.</p>
+
+		<h3>[method:this copy]([param:BufferAttribute bufferAttribute])</h3>
+		<p>ينسخ BufferAttribute آخر إلى هذه BufferAttribute.</p>
+
+		<h3>[method:this copyArray](array)</h3>
+		<p>
+			انسخ المصفوفة المعطاة هنا (والتي يمكن أن تكون مصفوفة عادية أو TypedArray) إلى
+			[page:BufferAttribute.array array].<br /><br />
+
+			انظر
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set] للحصول على ملاحظات حول المتطلبات إذا كان يتم نسخ TypedArray.
+		</p>
+
+		<h3>[method:this copyAt]([param:Integer index1]، [param:BufferAttribute bufferAttribute]، [param:Integer index2])</h3>
+		<p>انسخ متجهًا من bufferAttribute[index2] إلى [page:BufferAttribute.array array][index1].</p>
+
+		<h3>[method:Number getX]([param:Integer index])</h3>
+		<p>يعيد مكون x من المتجه في المؤشر المحدد.</p>
+
+		<h3>[method:Number getY]([param:Integer index])</h3>
+		<p>يعيد مكون y من المتجه في المؤشر المحدد.</p>
+
+		<h3>[method:Number getZ]([param:Integer index])</h3>
+		<p>يعيد مكون z من المتجه في المؤشر المحدد.</p>
+
+		<h3>[method:Number getW]([param:Integer index])</h3>
+		<p>يعيد مكون w من المتجه في المؤشر المحدد.</p>
+
+		<h3>[method:this onUpload]([param:Function callback])</h3>
+		<p>
+			يضع قيمة خاصية onUploadCallback.<br /><br />
+
+			في [example:webgl_buffergeometry WebGL / Buffergeometry] يتم استخدام هذا
+			لتحرير الذاكرة بعد نقل المخزن إلى وحدة معالجة الرسومات.
+		</p>
+
+		<h3>[method:this set]([param:Array value]، [param:Integer offset])</h3>
+		<p>
+			value - [page:Array] أو [page:TypedArray] لنسخ القيم منه.
+			<br />
+			offset - (اختياري) فهرس [page:BufferAttribute.array array] في
+			الذي يجب البدء في النسخ.<br /><br />
+
+			المكالمات
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]([page:Array value]، [page:Integer offset]) على
+			[page:BufferAttribute.array array].<br /><br />
+
+			على وجه الخصوص ، انظر تلك الصفحة للحصول على متطلبات [page:Array value] كونها
+			[page:TypedArray].
+		</p>
+
+		<h3>[method:this setUsage]([param:Usage value])</h3>
+		<p>
+			قم بتعيين [page:BufferAttribute.usage usage] إلى value. راجع الاستخدام
+			[page:BufferAttributeUsage constants] لجميع قيم الإدخال الممكنة.
+			<br /><br />
+
+			ملاحظة: بعد الاستخدام الأولي للمخزن المؤقت ، لا يمكن تغيير استخدامه.
+			بدلاً من ذلك ، قم بإنشاء نسخة جديدة وتعيين الاستخدام المطلوب قبل التالي
+			جعل.
+		</p>
+
+		<h3>[method:this setX]([param:Integer index], [param:Float x])</h3>
+		<p>تضبط مكون x من المتجه في المؤشر المحدد.</p>
+
+		<h3>[method:this setY]([param:Integer index], [param:Float y])</h3>
+		<p>تضبط مكون y من المتجه في المؤشر المحدد.</p>
+
+		<h3>[method:this setZ]([param:Integer index], [param:Float z])</h3>
+		<p>تضبط مكون z من المتجه في المؤشر المحدد.</p>
+
+		<h3>[method:this setW]([param:Integer index], [param:Float w])</h3>
+		<p>تضبط مكون w من المتجه في المؤشر المحдد.</p>
+
+		<h3>[method:this setXY]([param:Integer index], [param:Float x], [param:Float y])</h3>
+		<p>تضبط مكونات x و y من المتجه في
+
+		<h2>المصدر (Source)</h2>
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 366 - 0
docs/api/ar/core/BufferGeometry.html

@@ -0,0 +1,366 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+	
+		<p>
+			تمثيل شبكة ، خط ، أو هندسة نقطية. يتضمن مواقع الرأس ، ومؤشرات الوجه ، والمعايير ، والألوان ، والأشعة فوق البنفسجية ، والسمات المخصصة
+			داخل المخازن المؤقتة ، مما يقلل من تكلفة تمرير كل هذه البيانات إلى وحدة معالجة الرسومات.
+		</p>
+		<p>
+			لقراءة وتحرير البيانات في سمات BufferGeometry ، راجع
+			[page:BufferAttribute] التوثيق.
+		</p>
+	
+		<h2>مثال للكود</h2>
+	
+		<code>
+		const geometry = new THREE.BufferGeometry();
+	
+		// إنشاء شكل مربع بسيط. نحن نكرر الأعلى الأيسر والأسفل الأيمن
+		// الرؤوس لأن كل رأس يحتاج إلى الظهور مرة واحدة لكل مثلث.
+		const vertices = new Float32Array( [
+			-1.0, -1.0,  1.0, // v0
+			 1.0, -1.0,  1.0, // v1
+			 1.0,  1.0,  1.0, // v2
+	
+			 1.0,  1.0,  1.0, // v3
+			-1.0,  1.0,  1.0, // v4
+			-1.0, -1.0,  1.0  // v5
+		] );
+	
+		// itemSize = 3 لأنه يوجد 3 قيم (مكونات) لكل رأس
+		geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
+		const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		const mesh = new THREE.Mesh( geometry, material );
+		</code>
+	
+		<h2>مثال للكود (Index)</h2>
+	
+		<code>
+		const geometry = new THREE.BufferGeometry();
+	
+		const vertices = new Float32Array( [
+			-1.0, -1.0,  1.0, // v0
+			 1.0, -1.0,  1.0, // v1
+			 1.0,  1.0,  1.0, // v2
+			-1.0,  1.0,  1.0, // v3
+		] );
+	
+		const indices = [
+			0, 1, 2,
+			2, 3, 0,
+		];
+	
+		geometry.setIndex( indices );
+		geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
+
+		const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		const mesh = new THREE.Mesh( geometry, material );
+		</code>
+
+		<h2>أمثلة (Examples)</h2>
+		<p>
+			[example:webgl_buffergeometry شبكة بوجوه غير مفهرسة]<br />
+			[example:webgl_buffergeometry_indexed شبكة بوجوه مفهرسة]<br />
+			[example:webgl_buffergeometry_lines خطوط]<br />
+			[example:webgl_buffergeometry_lines_indexed خطوط مفهرسة]<br />
+			[example:webgl_buffergeometry_custom_attributes_particles جزيئات]<br />
+			[example:webgl_buffergeometry_rawshader محركات الظل الخام]
+		</p>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>[name]()</h3>
+		<div>
+			ينشئ هذا [name] جديدًا. كما يضبط العديد من الخصائص على قيمة افتراضية
+			قيمة.
+		</div>
+		 
+		<h2>الخصائص (Properties)</h2>
+		 
+		<h3>[property:Object attributes]</h3>
+		<p>
+			يحتوي هذا الخريطة القائمة على الهوية على اسم السمة المراد تعيينها وكقيمة
+			[page:BufferAttribute buffer] لتعيينه. بدلاً من الوصول إلى هذا
+			الملكية مباشرة ، استخدم [page:.setAttribute] و [page:.getAttribute] ل
+			الوصول إلى سمات هذه الهندسة.
+		</p>
+		 
+		<h3>[property:Box3 boundingBox]</h3>
+		<p>
+			مربع التحديد لـ bufferGeometry ، والذي يمكن حسابه بـ
+			[page:.computeBoundingBox](). الافتراضي هو `null`.
+		</p>
+		 
+		<h3>[property:Sphere boundingSphere]</h3>
+		<p>
+			كرة التحديد لـ bufferGeometry ، والتي يمكن حسابها بـ
+			[page:.computeBoundingSphere](). الافتراضي هو `null`.
+		</p>
+		 
+		<h3>[property:Object drawRange]</h3>
+		<p>
+			يحدد جزء الهندسة المراد عرضه. يجب عدم تعيين هذا
+			مباشرة ، بدلاً من ذلك استخدم [page:.setDrawRange]. الافتراضي هو
+			<code>
+			{ start: 0, count: Infinity }
+			</code>
+			بالنسبة لـ BufferGeometry غير المفهرس ، count هو عدد القمم التي يتم عرضها.
+			بالنسبة لـ BufferGeometry المفهرس ، count هو عدد المؤشرات التي يتم عرضها.
+		</p>
+		 
+		<h3>[property:Array groups]</h3>
+		 
+		<p>
+			قسم الهندسة إلى مجموعات ، كل منها سيتم عرضه في
+			مكالمة WebGL رسم منفصلة. هذا يسمح باستخدام مجموعة من المواد
+			مع الهندسة. <br /> <br />
+			 
+			كل مجموعة هي كائن من الشكل:
+			<code>
+			{ start: Integer, count: Integer, materialIndex: Integer }
+			</code>
+			حيث يحدد start العنصر الأول في هذه المكالمة - الأول
+			رأس للهندسة غير المفهرسة ، وإلا فإن المثلث الأول فهرس. عد
+			يحدد كم عدد القمم (أو المؤشرات) المضمنة ، و materialIndex
+			يحدد فهرس مجموعة المواد للاستخدام. <br /> <br />
+			 
+			استخدم [page:.addGroup] لإضافة مجموعات ، بدلاً من تعديل هذا المصفوفة
+			مباشرة. <br /> <br />
+			 
+			يجب أن ينتمي كل رأس وفهرس إلى مجموعة واحدة فقط - يجب ألا تشترك المجموعات
+			قمم أو مؤشرات ، ويجب ألا تترك القمم أو المؤشرات غير المستخدمة.
+		</p>
+			 
+		<!-- ملاحظة: كانت المجموعات تسمى drawCalls
+			 
+		<h3>[property:Array drawcalls]</h3>
+		<p>
+		بالنسبة للهندسات التي تستخدم المثلثات المفهرسة ، يمكن استخدام هذا المصفوفة لتقسيم الكائن
+		إلى عدة مكالمات رسم WebGL. سترسم كل مكالمة رسم بعض الفئات الفرعية من القمم
+		في هذه الهندسة باستخدام [page:Material shader] المكون. قد يكون هذا ضروريًا إذا ،
+		على سبيل المثال ، لديك أكثر من 65535 رأسًا في كائنك.
+		</p> -->
+			 
+		<h3>[property:Integer id]</h3>
+		<p>رقم فريد لهذا الحال bufferGeometry.</p>
+			 
+		<h3>[property:BufferAttribute index]</h3>
+		<p>
+			يتيح إعادة استخدام القمم عبر مثلثات متعددة ؛ هذا هو
+			يسمى باستخدام "المثلثات المفهرسة". يرتبط كل مثلث بـ
+			مؤشرات ثلاث قمم. لذلك تخزن هذه السمة فهرس
+			كل رأس لكل وجه ثلاثي الأضلاع. إذا لم يتم تعيين هذه السمة ، فإن
+			[page:WebGLRenderer renderer] يفترض أن كل ثلاثة مواقع متجاورة
+			تمثل مثلثًا واحدًا. الافتراضي هو `null`.
+		</p>
+				 
+		<h3>[property:Boolean isBufferGeometry]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان الكائن المحدد من نوع [name].</p>
+				 
+		<h3>[property:Object morphAttributes]</h3>
+		<p>
+			خريطة قائمة على [page:BufferAttribute]s التي تحمل تفاصيل هندسة المورف
+			الأهداف. <br />
+			ملاحظة: بمجرد عرض الهندسة ، لا يمكن تغيير بيانات سمة المورف
+			يتغير. سيتعين عليك الاتصال [page:.dispose]() ، وإنشاء جديد
+			نسخة من [name].
+		</p>
+				 
+		<h3>[property:Boolean morphTargetsRelative]</h3>
+		<p>
+			يستخدم للتحكم في سلوك هدف المورف ؛ عند تعيينه على true ، المورف
+			يتم التعامل مع بيانات الهدف كإزاحات نسبية ، بدلاً من كـ
+			المواقع / المعايير المطلقة. الافتراضي هو `false`.
+		</p>
+				 
+		<h3>[property:String name]</h3>
+		<p>
+			اسم اختياري لهذه الحالة bufferGeometry. الافتراضي هو فارغ
+			سلسلة.
+		</p>
+				 
+		<h3>[property:Object userData]</h3>
+		<p>
+			كائن يمكن استخدامه لتخزين بيانات مخصصة حول BufferGeometry.
+			يجب ألا يحتوي على مراجع للوظائف حيث لن يتم استنساخها.
+		</p>
+				 
+		<h3>[property:String uuid]</h3>
+		<p>
+			[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] من
+			هذه الحالة كائن. يتم تعيين هذا تلقائيًا ولا يجب أن يكون
+			تحرير.
+		</p>
+		
+		<h2>الوظائف (Methods)</h2>
+				 
+		<p>
+			[page:EventDispatcher EventDispatcher] الطرق متوفرة على هذا
+			صف.
+		</p>
+				 
+		<h3>[method:undefined addGroup]([param:Integer start]، [param:Integer count]، [param:Integer materialIndex])</h3>
+		<p>
+			يضيف مجموعة إلى هذه الهندسة ؛ انظر [page:BufferGeometry.groups groups]
+			خاصية للحصول على التفاصيل.
+		</p>
+				 
+		<h3>[method:this applyMatrix4]([param:Matrix4 matrix])</h3>
+		<p>تطبق تحويل المصفوفة على الهندسة.</p>
+				 
+		<h3>[method:this applyQuaternion]([param:Quaternion quaternion])</h3>
+		<p>يطبق التدوير الممثل بالرباعي على الهندسة.</p>
+
+		<h3>[method:this center] ()</h3>
+		<p>مركز الهندسة بناءً على مربع التحديد.</p>
+				 
+		<h3>[method:undefined clearGroups]( )</h3>
+		<p>يمسح جميع المجموعات.</p>
+				 
+		<h3>[method:BufferGeometry clone]()</h3>
+		<p>ينشئ نسخة من هذا BufferGeometry.</p>
+				 
+		<h3>[method:undefined computeBoundingBox]()</h3>
+		<p>
+			يحسب مربع التحديد للهندسة ، ويحدث [page:.boundingBox]
+			سمة. <br />
+			لا يتم حساب مربعات التحديد افتراضيًا. يجب حسابها بشكل صريح
+			حساب ، وإلا كانت `null`.
+		</p>
+				 
+		<h3>[method:undefined computeBoundingSphere]()</h3>
+		<p>
+			يحسب كرة التحديد للهندسة ، ويحدث [page:.boundingSphere]
+			سمة. <br />
+			لا تتم حساب كرات التحديد افتراضيًا. يجب حسابها بشكل صريح
+			حساب ، وإلا كانت `null`.
+		</p>
+				 
+		<h3>[method:undefined computeTangents]()</h3>
+		<p>
+			يحسب ويضيف سمة مماسية لهذه الهندسة. <br />
+			الحساب مدعوم فقط للهندسات المفهرسة وإذا تم تعريف الوضعية ،
+			الطبيعية ، والأشعة فوق البنفسجية. عند استخدام خريطة طبيعية للفضاء المماس
+			خريطة ، تفضل خوارزمية MikkTSpace المقدمة من قبل
+			[page:BufferGeometryUtils.computeMikkTSpaceTangents] بدلاً من ذلك.
+		</p>
+				 
+		<h3>[method:undefined computeVertexNormals]()</h3>
+		<p>تحسب قمم الأوجه للبيانات القمية المعطاة. بالنسبة للهندسات المفهرسة ، يضبط الأسلوب كل قمة عادية لتكون متوسط ​​أوجه الوجه التي تشارك هذه القمة.
+		بالنسبة للهندسات غير المفهرسة ، لا تتشارك القمم ، ويضبط الأسلوب كل قمة عادية لتكون نفس وجه الوجه.</p>
+				 
+		<h3>[method:this copy]( [param:BufferGeometry bufferGeometry] )</h3>
+		<p>ينسخ BufferGeometry آخر إلى هذا BufferGeometry.</p>
+				 
+		<h3>[method:BufferAttribute deleteAttribute]( [param:String name] )</h3>
+		<p>تحذف [page:BufferAttribute attribute] بالاسم المحدد.</p>
+				 
+		<h3>[method:undefined dispose]()</h3>
+		<p>
+			يطلق الموارد المتعلقة بوحدة معالجة الرسومات التي تم تخصيصها من قبل هذا المثيل. اتصل بهذا
+			الأسلوب كلما لم يعد هذا المثيل مستخدمًا في تطبيقك.
+		</p>
+				 
+		<h3>[method:BufferAttribute getAttribute]( [param:String name] )</h3>
+		<p>يرجع [page:BufferAttribute attribute] بالاسم المحدد.</p>
+
+		<h3>[method:BufferAttribute getIndex] ()</h3>
+		<p>يرجع [page:.index] buffer.</p>
+				 
+		<h3>[method:Boolean hasAttribute]( [param:String name] )</h3>
+		<p>يعود `true` إذا كانت السمة بالاسم المحدد موجودة.</p>
+				 
+		<h3>[method:this lookAt] ( [param:Vector3 vector] )</h3>
+		<p>
+			vector - نقطة عالمية للنظر إليها. <br /> <br />
+				 
+			يدور الهندسة لمواجهة نقطة في الفضاء. يتم هذا عادةً كـ
+			عملية واحدة ، وليس أثناء حلقة. استخدم [page:Object3D.lookAt] لـ
+			الاستخدام النموذجي للشبكة في الوقت الفعلي.
+		</p>
+				 
+		<h3>[method:undefined normalizeNormals]()</h3>
+		<p>
+			سيكون كل متجه طبيعي في هندسة بقوة 1. هذا سوف
+			تصحح الإضاءة على سطوح الهندسة.
+		</p>
+				 
+		<h3>[method:this rotateX] ( [param:Float radians] )</h3>
+		<p>
+			قم بتدوير الهندسة حول المحور X. يتم هذا عادةً كعملية واحدة
+			عملية ، وليس أثناء حلقة. استخدم [page:Object3D.rotation] لـ
+			تدوير شبكة نموذجية في الوقت الفعلي.
+		</p>
+				 
+		<h3>[method:this rotateY] ( [param:Float radians] )</h3>
+		<p>
+			قم بتدوير الهندسة حول المحور Y. يتم هذا عادةً كعملية واحدة
+			عملية ، وليس أثناء حلقة. استخدم [page:Object3D.rotation] لـ
+			تدوير شبكة نموذجية في الوقت الفعلي.
+		</p>
+				 
+		<h3>[method:this rotateZ] ( [param:Float radians] )</h3>
+		<p>
+			قم بتدوير الهندسة حول المحور Z. يتم هذا عادةً كعملية واحدة
+			عملية ، وليس أثناء حلقة. استخدم [page:Object3D.rotation] لـ
+			تدوير شبكة نموذجية في الوقت الفعلي.
+		</p>
+				 
+		<h3>[method:this scale] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+			قم بتغيير حجم بيانات الهندسة. يتم هذا عادةً كعملية واحدة ،
+			وليس أثناء حلقة. استخدام [page:Object3D.scale] لـ
+			تغيير حجم شبكات نموذجية في الوقت الفعلي.
+		</p>
+				 
+		<h3>[method:this setAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
+		<p>
+			يضع سمة لهذه الهندسة. استخدام هذا بدلاً من خصائص
+			الملكية ، لأن خريطة قائمة داخلية من [page:.attributes]
+			يتم صيانته لتسريع التكرار على السمات.
+		</p>
+				 
+		<h3>[method:undefined setDrawRange] ( [param:Integer start], [param:Integer count] )</h3>
+		<p>
+			قم بتعيين خاصية [page:.drawRange]. بالنسبة لـ BufferGeometry غير المفهرس ، count
+			هو عدد القمم التي يتم عرضها. بالنسبة لـ BufferGeometry المفهرس ، count هو
+			عدد المؤشرات التي يتم عرضها.
+		</p>
+				 
+		<h3>[method:this setFromPoints] ( [param:Array points] )</h3>
+		<p>تضبط سمات هذا BufferGeometry من مصفوفة من النقاط.</p>
+				 
+		<h3>[method:this setIndex] ( [param:BufferAttribute index] )</h3>
+		<p>ضبط buffer [page:.index].</p>
+				 
+		<h3>[method:Object toJSON]()</h3>
+		<p>
+			قُم بتحويل هندسة buffer إلى three.js
+			[link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
+		</p>
+				 
+		<h3>[method:BufferGeometry toNonIndexed]()</h3>
+		<p>إرجاع إصدار غير مفهرس من BufferGeometry المفهرس.</p>
+				 
+		<h3>[method:this translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+			قُم بترجمة الهندسة. يتم هذا عادةً كعملية واحدة ،
+			وليس أثناء حلقة. استخدم [page:Object3D.position] لـ
+			ترجمة شبكات نموذجية في الوقت الفعلي.
+		</p>
+					 
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 93 - 0
docs/api/ar/core/Clock.html

@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+	 
+		<p class="desc">
+		كائن لتتبع الوقت. يستخدم هذا
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/Performance/now performance.now] إذا كان متاحًا، وإلا فإنه يعود إلى
+		دقة أقل
+		[link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now Date.now].
+		</p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>[name]( [param:Boolean autoStart] )</h3>
+		<p>
+		autoStart — (اختياري) ما إذا كان يجب تشغيل الساعة تلقائيًا عندما
+		[page:.getDelta]() يتم استدعاؤه لأول مرة. الافتراضي هو `true`.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+	 
+		<h3>[property:Boolean autoStart]</h3>
+		<p>
+		إذا تم تعيينه، يبدأ الساعة تلقائيًا عندما يتم استدعاء [page:.getDelta]()
+		لأول مرة. الافتراضي هو `true`.
+		</p>
+	 
+		<h3>[property:Float startTime]</h3>
+		<p>
+		يحمل الوقت الذي تم فيه استدعاء طريقة [page:Clock.start start] للساعة
+		آخر مرة. الافتراضي هو `0`.
+		</p>
+	 
+		<h3>[property:Float oldTime]</h3>
+		<p>
+		يحمل الوقت الذي تم فيه استدعاء طرق [page:Clock.start start],
+		[page:.getElapsedTime]() أو [page:.getDelta]() للساعة آخر مرة.
+		الافتراضي هو `0`.
+		</p>
+	 
+		<h3>[property:Float elapsedTime]</h3>
+		<p>
+		يتبع المجموع الكلي للوقت الذي كانت تعمل فيه الساعة. الافتراضي هو
+		`0`.
+		</p>
+	 
+		<h3>[property:Boolean running]</h3>
+		<p>ما إذا كانت الساعة تعمل أم لا. الافتراضي هو `false`.</p>
+	 
+		<h2>الوظائف (Methods)</h2>
+	 
+		<h3>[method:undefined start]()</h3>
+		<p>
+		يبدأ الساعة. كما يضبط [page:.startTime] و [page:.oldTime] على
+		الوقت الحالي، ويضبط [page:.elapsedTime] على `0` و [page:.running] على
+		`true`.
+		</p>
+	 
+		<h3>[method:undefined stop]()</h3>
+		<p>
+		يوقف الساعة ويضبط [page:Clock.oldTime oldTime] على الوقت الحالي.
+		</p>
+	 
+		<h3>[method:Float getElapsedTime]()</h3>
+		<p>
+		احصل على المجموع الكلي للثواني التي مرت منذ بدء تشغيل الساعة وضبط [page:.oldTime] على
+		الوقت الحالي.<br />
+		إذا كان [page:.autoStart] هو `true` والساعة لا تعمل، فإنه يبدأ أيضًا
+		ساعة.
+		</p>
+	 
+		<h3>[method:Float getDelta]()</h3>
+		<p>
+		احصل على المجموع الكلي للثواني التي مرت منذ ضبط [page:.oldTime] وضبط
+		[page:.oldTime] على الوقت الحالي.<br />
+		إذا كان [page:.autoStart] هو `true` والساعة لا تعمل، فإنه يبدأ أيضًа
+		ساعة.
+		</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 74 - 0
docs/api/ar/core/EventDispatcher.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+	 
+		<p class="desc">
+		أحداث JavaScript للكائنات المخصصة.<br />
+		[link:https://github.com/mrdoob/eventdispatcher.js EventDispatcher على GitHub]
+		</p>
+	 
+		<h2>مثال الكود</h2>
+	 
+		<code>
+		// إضافة الأحداث إلى كائن مخصص
+		class Car extends EventDispatcher {
+		start() {
+		this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
+		}
+		};
+	 
+		// استخدام الأحداث مع الكائن المخصص
+		const car = new Car();
+		car.addEventListener( 'start', function ( event ) {
+		alert( event.message );
+		} );
+	 
+		car.start();
+		</code>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>[name]()</h3>
+		<p>ينشئ كائن EventDispatcher.</p>
+	 
+		<h2>الوظائف (Methods)</h2>
+	 
+		<h3>[method:undefined addEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		type - نوع الحدث الذي يتم الاستماع إليه.<br />
+		listener - الدالة التي يتم استدعاؤها عند إطلاق الحدث.
+		</p>
+		<p>يضيف مستمعًا إلى نوع حدث.</p>
+	 
+		<h3>[method:Boolean hasEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		type - نوع الحدث الذي يتم الاستماع إليه.<br />
+		listener - الدالة التي يتم استدعاؤها عند إطلاق الحدث.
+		</p>
+		<p>يتحقق مما إذا كان المستمع قد تمت إضافته إلى نوع حدث.</p>
+	 
+		<h3>[method:undefined removeEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		type - نوع المستمع الذي يتم إزالته.<br />
+		listener - دالة المستمع التي يتم إزالتها.
+		</p>
+		<p>يزيل مستمعًا من نوع حدث.</p>
+	 
+		<h3>[method:undefined dispatchEvent]( [param:Object event] )</h3>
+		<p>event - الحدث الذي يتم إطلاقه.</p>
+		<p>إطلاق نوع حدث.</p>
+	 
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 118 - 0
docs/api/ar/core/GLBufferAttribute.html

@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+	
+		<p class="desc">
+			لا يقوم هذا الفئة السمة المخزنة بإنشاء VBO. بدلاً من ذلك، يستخدم
+			أي VBO يتم تمريره في المُنشئ ويمكن تغييره لاحقًا عبر خاصية
+			`buffer`.<br /><br />
+			من الضروري تمرير معلمات إضافية جنبًا إلى جنب مع VBO. هذه هي: GL
+			context، نوع البيانات GL، عدد المكونات لكل رأس، عدد البايتات لكل
+			مكون، وعدد الرؤوس.<br /><br />
+			أكثر حالات الاستخدام شيوعًا لهذه الفئة هي عندما يتداخل نوع من
+			حسابات GPGPU أو حتى ينتج VBOs المعنية.
+		</p>
+	
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
+		<p>
+			`buffer` — يجب أن يكون
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer].
+			<br />
+			`type` — واحد من
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types أنواع بيانات WebGL].
+			<br />
+			`itemSize` — عدد قيم المصفوفة التي يجب ربطها برأس معين. على سبيل
+			المثال، إذا كانت هذه السمة تخزن متجهًا ثلاثي الأبعاد (مثل الموضع،
+			 الطبيعي، أو اللون)، فيجب أن يكون itemSize هو 3.
+			 <br />
+			 `elementSize` — 1، 2 أو 4. الحجم المقابل (بالبايت) للمعلمة "type"
+			 المعطاة.
+		</p>
+	
+		<ul>
+			<li>gl.FLOAT: 4</li>
+			<li>gl.UNSIGNED_SHORT: 2</li>
+			<li>gl.SHORT: 2</li>
+			<li>gl.UNSIGNED_INT: 4</li>
+			<li>gl.INT: 4</li>
+			<li>gl.BYTE: 1</li>
+			<li>gl.UNSIGNED_BYTE: 1</li>
+		</ul>
+		<p>`count` — عدد الرؤوس المتوقع في VBO.</p>
+	
+		<h2>الخصائص (Properties)</h2>
+	
+		<h3>[property:WebGLBuffer buffer]</h3>
+		<p>
+			نسخة
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer] الحالية.
+		</p>
+	
+		<h3>[property:Integer count]</h3>
+		<p>عدد الرؤوس المتوقع في VBO.</p>
+	
+		<h3>[property:Boolean isGLBufferAttribute]</h3>
+		<p>للقراءة فقط. دائمًا `true`.</p>
+	
+		<h3>[property:Integer itemSize]</h3>
+		<p>كم عدد القيم التي تشكل كل عنصر (رأس).</p>
+	
+		<h3>[property:Integer elementSize]</h3>
+		<p>
+			يخزن الحجم المقابل بالبايت لقيمة خاصية `type` الحالية.
+		</p>
+		<p>انظر أعلاه (المُنشئ) لقائمة بأحجام الأنواع المعروفة.</p>
+	
+		<h3>[property:String name]</h3>
+		<p>
+			اسم اختياري لهذه الحالة من السمة. الافتراضي هو سلسلة فارغة.
+		</p>
+	
+		<h3>[property:GLenum type]</h3>
+		<p>
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types نوع بيانات WebGL] يصف محتوى VBO الأساسي.
+		</p>
+		<p>
+			قم بتعيين هذه الخاصية معًا مع `elementSize`. الطريقة المستحسنة هي
+			باستخدام طريقة `setType`.
+		</p>
+	
+		<h2>الوظائف (Methods)</h2>
+	
+		<h3>[method:this setBuffer]( buffer )</h3>
+		<p>تضبط خاصية `buffer`.</p>
+	
+		<h3>[method:this setType]( type, elementSize )</h3>
+		<p>تضبط كلاً من خصائص `type` و `elementSize`.</p>
+	
+		<h3>[method:this setItemSize]( itemSize )</h3>
+		<p>تضبط خاصية `itemSize`.</p>
+	
+		<h3>[method:this setCount]( count )</h3>
+		<p>تضبط خاصية `count`.</p>
+	
+		<h3>[property:Integer version]</h3>
+		<p>
+			رقم إصدار، يزاد كل مرة يتم فيها تعيين خاصية needsUpdate على true.
+		</p>
+	
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+			الافتراضي هو `false`. تعيين هذا إلى true يزاد
+			[page:GLBufferAttribute.version version].
+		</p>
+
+		<h2>المصدر (Source)</h2>
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 37 - 0
docs/api/ar/core/InstancedBufferAttribute.html

@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		[page:BufferAttribute] →
+	 
+		<h1>[name]</h1>
+		<p class="desc">نسخة مثيلة من [page:BufferAttribute].</p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Boolean normalized], [param:Number meshPerAttribute] )</h3>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر [page:BufferAttribute] للخصائص الموروثة.</p>
+	 
+		<h3>[property:Number meshPerAttribute]</h3>
+		<p>
+		يحدد مدى تكرار قيمة هذه السمة المخزنة. قيمة واحدة تعني أن كل قيمة من
+		السمة المثيلة يتم استخدامها لمثيل واحد. قيمتان تعني أن كل قيمة يتم
+		استخدامها لمثيلين متتاليين (وهكذا). الافتراضي هو `1`.
+		</p>
+	 
+		<h2>الوظائف (Methods)</h2>
+		<p>انظر [page:BufferAttribute] للطُرق الموروثة.</p>
+		
+		<h2>المصدر (Source)</h2>
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+		
+	</body>
+</html>

+ 39 - 0
docs/api/ar/core/InstancedBufferGeometry.html

@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		[page:BufferGeometry] →
+	 
+		<h1>[name]</h1>
+		<p class="desc">نسخة مثيلة من [page:BufferGeometry].</p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]( )</h3>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر [page:BufferGeometry] للخصائص الموروثة.</p>
+	 
+		<h3>[property:Number instanceCount]</h3>
+		<p>الافتراضي هو `Infinity`.</p>
+	 
+		<h3>[property:Boolean isInstancedBufferGeometry]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان الكائن المعطى هو من نوع [name].</p>
+	 
+		<h2>الوظائف (Methods)</h2>
+		<p>انظر [page:BufferGeometry] للطُرق الموروثة.</p>
+	 
+		<h3>[method:this copy]( [param:InstancedBufferGeometry source] )</h3>
+		<p>ينسخ [name] المعطى إلى هذه الحالة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 33 - 0
docs/api/ar/core/InstancedInterleavedBuffer.html

@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		[page:InterleavedBuffer] →
+	
+		<h1>[name]</h1>
+		<p class="desc">نسخة مثيلة من [page:InterleavedBuffer].</p>
+	
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Number meshPerAttribute] )</h3>
+	
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر [page:InterleavedBuffer] للخصائص الموروثة.</p>
+	
+		<h3>[property:Number meshPerAttribute]</h3>
+		<p>الافتراضي هو `1`.</p>
+	
+		<h2>الوظائف (Methods)</h2>
+		<p>انظر [page:InterleavedBuffer] للطُرق الموروثة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 119 - 0
docs/api/ar/core/InterleavedBuffer.html

@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+		<p class="desc">
+			"متداخل" يعني أن العديد من السمات، ربما من أنواع مختلفة،
+			(على سبيل المثال، الموضع، الطبيعي، uv، اللون) معبأة في مصفوفة واحدة.
+			<br /><br />
+			يمكن العثور على مقدمة في المصفوفات المتداخلة هنا:
+			[link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html أساسيات المصفوفات المتداخلة]
+		</p>
+	 
+		<h2>أمثلة (Examples)</h2>
+		<p>
+			[example:webgl_buffergeometry_points_interleaved webgl / buffergeometry / points / interleaved]
+		</p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer stride] )</h3>
+		<p>
+			[page:TypedArray array] -- مصفوفة مكتوبة بذاكرة مشتركة. يخزن بيانات
+			الهندسة.<br />
+			[page:Integer stride] -- عدد عناصر المصفوفة المكتوبة لكل رأس.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+	 
+		<h3>[property:Array array]</h3>
+		<p>مصفوفة مكتوبة بذاكرة مشتركة. يخزن بيانات الهندسة.</p>
+	 
+		<h3>[property:Integer stride]</h3>
+		<p>عدد عناصر المصفوفة المكتوبة لكل رأس.</p>
+	 
+		<h3>[property:Integer count]</h3>
+		<p>يعطي إجمالي عدد العناصر في المصفوفة.</p>
+	 
+		<h3>[property:Object updateRange]</h3>
+		<p>
+			كائن يحتوي على إزاحة وعدد.<br />
+			- [page:Number offset]: الافتراضي هو `0`.<br />
+			- [page:Number count]: الافتراضي هو `-1`.<br />
+		</p>
+	 
+		<h3>[property:String uuid]</h3>
+		<p>
+		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] من
+		هذه الحالة. يتم تعيين هذا تلقائيًا، لذلك لا يجب تحريره.
+		</p>
+	 
+		<h3>[property:Integer version]</h3>
+		<p>
+			رقم إصدار، يزاد كل مرة يتم فيها تعيين خاصية needsUpdate على true.
+		</p>
+	 
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+			الافتراضي هو `false`. تعيين هذا إلى true يزاد
+			[page:InterleavedBuffer.version version].
+		</p>
+	 
+		<h3>[property:Usage usage]</h3>
+		<p>
+			يحدد نمط الاستخدام المقصود لمخزن البيانات لأغراض التحسين. يتوافق مع
+			المعلمة `usage` من
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]().
+		</p>
+	 
+		<h2>الوظائف (Methods)</h2>
+	 
+		<h3>[method:this copy]( [param:InterleavedBuffer source] )</h3>
+		<p>ينسخ [name] آخر إلى هذه [name].</p>
+
+		<h3>[method:this copyAt]( [param:Integer index1], [param:InterleavedBuffer attribute], [param:Integer index2] )</h3>
+		<p>
+			ينسخ البيانات من `attribute[index2]` إلى [page:InterleavedBuffer.array array][index1].
+		</p>
+	 
+		<h3>[method:this set]( [param:TypedArray value], [param:Integer offset] )</h3>
+		<p>
+			value - المصفوفة (المكتوبة) المصدر.<br />
+			offset - الإزاحة في المصفوفة الهدف التي يجب البدء فيها بكتابة القيم
+			من المصفوفة المصدر. الافتراضي هو `0`.<br /><br />
+	 
+			يخزن قيمًا متعددة في المخزن، قراءة قيم الإدخال من
+			مصفوفة محددة.
+		</p>
+	 
+		<h3>[method:InterleavedBuffer clone]( [param:Object data] )</h3>
+		<p>
+			data - يحمل هذا الكائن مصفوفات ذاكرة مشتركة مطلوبة لنسخ هندسات
+			بسمات متداخلة بشكل صحيح.<br /><br />
+	 
+			ينشئ نسخة من هذه [name].
+		</p>
+	 
+		<h3>[method:this setUsage] ( [param:Usage value] )</h3>
+		<p>ضبط [page:InterleavedBuffer.usage usage] على value.</p>
+	 
+		<h3>[method:Object toJSON]( [param:Object data] )</h3>
+		<p>
+			data - يحمل هذا الكائن مصفوفات ذاكرة مشتركة مطلوبة لتسلسل هندسات
+			بسمات متداخلة بشكل صحيح.<br /><br />
+	 
+			يسلسل هذه [name].
+		</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 117 - 0
docs/api/ar/core/InterleavedBufferAttribute.html

@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+	 
+		<p class="desc"></p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]( [param:InterleavedBuffer interleavedBuffer], [param:Integer itemSize], [param:Integer offset], [param:Boolean normalized] )</h3>
+	 
+		<h2>الخصائص (Properties)</h2>
+	 
+		<h3>[property:InterleavedBuffer data]</h3>
+		<p>
+			نسخة [page:InterleavedBuffer InterleavedBuffer] الممررة في
+			المُنشئ.
+		</p>
+	 
+		<h3>[property:TypedArray array]</h3>
+		<p>قيمة [page:InterleavedBufferAttribute.data data].array.</p>
+	 
+		<h3>[property:Integer count]</h3>
+		<p>
+			قيمة [page:InterleavedBufferAttribute.data data].count. إذا كان
+			المخزن يخزن عنصرًا ثلاثي الأبعاد (مثل الموضع، الطبيعي، أو
+			اللون)، فسيحسب عدد هذه العناصر المخزنة.
+		</p>
+	 
+		<h3>[property:Boolean isInterleavedBufferAttribute]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان الكائن المعطى هو من نوع [name].</p>
+	 
+		<h3>[property:Integer itemSize]</h3>
+		<p>كم عدد القيم التي تشكل كل عنصر.</p>
+	 
+		<h3>[property:String name]</h3>
+		<p>
+			اسم اختياري لهذه الحالة من السمة. الافتراضي هو سلسلة فارغة.
+		</p>
+	 
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+			الافتراضي هو `false`. تعيين هذا إلى `true` سيرسل المخزن المتداخل
+			بأكمله (وليس فقط بيانات السمة المحددة) إلى GPU مرة أخرى.
+		</p>
+	 
+		<h3>[property:Boolean normalized]</h3>
+		<p>الافتراضي هو `false`.</p>
+	 
+		<h3>[property:Integer offset]</h3>
+		<p>الإزاحة في المصفوفة الأساسية حيث يبدأ عنصر.</p>
+	 
+		<h2>الوظائف (Methods)</h2>
+	 
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>
+			يطبق مصفوفة [page:Matrix4 m] على كل عنصر Vector3 من هذه
+			InterleavedBufferAttribute.
+		</p>
+	 
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>
+			يطبق مصفوفة الطبيعي [page:Matrix3 m] على كل عنصر Vector3 من هذه
+			InterleavedBufferAttribute.
+		</p>
+		 
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>
+			يطبق مصفوفة [page:Matrix4 m] على كل عنصر Vector3 من هذه
+			InterleavedBufferAttribute، تفسير العناصر كمتجهات اتجاه.
+		</p>
+		 
+		<h3>[method:Number getX]( [param:Integer index] )</h3>
+		<p>يعيد مكون x للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:Number getY]( [param:Integer index] )</h3>
+		<p>يعيد مكون y للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:Number getZ]( [param:Integer index] )</h3>
+		<p>يعيد مكون z للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:Number getW]( [param:Integer index] )</h3>
+		<p>يعيد مكون w للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:this setX]( [param:Integer index], [param:Float x] )</h3>
+		<p>يضبط مكون x للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:this setY]( [param:Integer index], [param:Float y] )</h3>
+		<p>يضبط مكون y للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:this setZ]( [param:Integer index], [param:Float z] )</h3>
+		<p>يضبط مكون z للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:this setW]( [param:Integer index], [param:Float w] )</h3>
+		<p>يضبط مكون w للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:this setXY]( [param:Integer index], [param:Float x], [param:Float y] )</h3>
+		<p>يضبط مكونات x و y للعنصر في المؤشر المعطى.</p>
+		 
+		<h3>[method:this setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>يضبط مكونات x و y و z للعنصر في المؤشر المعطى.</p>
+
+		<h3>[method:this setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] )</h3>
+		<p>يضبط مكونات x و y و z و w للعنصر في المؤشر المعطى.</p>
+	 
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 100 - 0
docs/api/ar/core/Layers.html

@@ -0,0 +1,100 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+	 
+		<p class="desc">
+			كائن [page:Layers] يعين [page:Object3D] إلى 1 أو أكثر من 32
+			طبقة مرقمة من `0` إلى `31` - يتم تخزين الطبقات داخليًا كـ
+			[link:https://en.wikipedia.org/wiki/Mask_(computing) قناع بت]، وافتراضيًا
+			كل Object3Ds عضو في الطبقة 0.<br /><br />
+	 
+			يمكن استخدام هذا للتحكم في الرؤية - يجب أن يشترك كائن في طبقة مع
+			[page:Camera camera] ليكون مرئيًا عندما يتم عرض هذه الكاميرا
+			المعروضة.<br /><br />
+	 
+			جميع الفئات التي ترث من [page:Object3D] لديها
+			[page:Object3D.layers] خاصية وهي نسخة من هذه الفئة.
+		</p>
+	 
+		<h2>أمثلة (Examples)</h2>
+	 
+		<p>[example:webgl_layers WebGL / layers]</p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>[name]()</h3>
+		<p>إنشاء كائن طبقات جديد، مع تعيين العضوية في البداية إلى الطبقة 0.</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+	 
+		<h3>[property:Integer mask]</h3>
+		<p>
+			قناع بت يخزن أي من الطبقات الـ 32 التي يكون هذا الكائن طبقات حاليًا
+			عضوًا فيه.
+		</p>
+	 
+		<h2>الوظائف (Methods)</h2>
+	 
+		<h3>[method:undefined disable]( [param:Integer layer] )</h3>
+		<p>
+			layer - عدد صحيح من 0 إلى 31.<br /><br />
+	 
+			إزالة عضوية هذه `layer`.
+		</p>
+	 
+		<h3>[method:undefined enable]( [param:Integer layer] )</h3>
+		<p>
+			layer - عدد صحيح من 0 إلى 31.<br /><br />
+	 
+			إضافة عضوية هذه `layer`.
+		</p>
+	 
+		<h3>[method:undefined set]( [param:Integer layer] )</h3>
+		<p>
+			layer - عدد صحيح من 0 إلى 31.<br /><br />
+		 
+			تعيين العضوية إلى `layer`، وإزالة العضوية من جميع الطبقات الأخرى.
+		</p>
+		 
+		<h3>[method:Boolean test]( [param:Layers layers] )</h3>
+		<p>
+			layers - كائن طبقات<br /><br />
+		 
+			يعود بـ true إذا كان هذا وكائن `layers` الممرر لديهما على الأقل واحدة
+			طبقة مشتركة.
+		</p>
+		 
+		<h3>[method:Boolean isEnabled]( [param:Integer layer] )</h3>
+		<p>
+			layer - عدد صحيح من 0 إلى 31.<br /><br />
+		 
+			يعود بـ true إذا تم تمكين الطبقة المعطاة.
+		</p>
+		 
+		<h3>[method:undefined toggle]( [param:Integer layer] )</h3>
+		<p>
+			layer - عدد صحيح من 0 إلى 31.<br /><br />
+		 
+			تبديل عضوية `layer`.
+		</p>
+		 
+		<h3>[method:undefined enableAll]()</h3>
+		<p>إضافة عضوية لجميع الطبقات.</p>
+		 
+		<h3>[method:undefined disableAll]()</h3>
+		<p>إزالة العضوية من جميع الطبقات.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 570 - 0
docs/api/ar/core/Object3D.html

@@ -0,0 +1,570 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+
+		<p class="desc">
+			هذه هي الفئة الأساسية لمعظم الكائنات في three.js وتوفر مجموعة من
+			الخصائص والطُرق للتلاعب بالكائنات في المساحة ثلاثية الأبعاد.<br /><br />
+		 
+			لاحظ أن هذا يمكن استخدامه لتجميع الكائنات عبر طريقة [page:.add]( object ) التي تضيف الكائن كطفل، ومع ذلك فمن الأفضل
+			استخدام [page:Group] لهذا.
+		</p>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>[name]()</h3>
+		<p>المُنشئ لا يأخذ أي وسائط.</p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		 
+		<h3>[property:AnimationClip animations]</h3>
+		<p>مصفوفة بمقاطع الرسوم المتحركة للكائن.</p>
+		 
+		<h3>[property:Boolean castShadow]</h3>
+		<p>ما إذا كان يتم عرض الكائن في خريطة الظل. الافتراضي هو `false`.</p>
+		 
+		<h3>[property:Array children]</h3>
+		<p>
+			مصفوفة بأطفال الكائن. انظر [page:Group] للحصول على معلومات حول
+			تجميع الكائنات يدويًا.
+		</p>
+		 
+		<h3>[property:Material customDepthMaterial]</h3>
+		<p>
+			مادة عمق مخصصة للاستخدام عند التقديم إلى خريطة العمق. يمكن استخدامه فقط
+			في سياق المشابك. عند رمي الظل مع
+			[page:DirectionalLight] أو [page:SpotLight]، إذا كنت تعدل
+			مواضع رأس في شادر رأس يجب تحديد customDepthMaterial مخصص
+			لظلال صحيحة. الافتراضي هو `undefined`.
+		</p>
+		 
+		<h3>[property:Material customDistanceMaterial]</h3>
+		<p>
+			نفس [page:.customDepthMaterial customDepthMaterial]، ولكن يستخدم مع
+			[page:PointLight]. الافتراضي هو `undefined`.
+		</p>
+		 
+		<h3>[property:Boolean frustumCulled]</h3>
+		<p>
+			عند تعيين هذا، يتحقق في كل إطار ما إذا كان الكائن في مخروط
+			الكاميرا قبل تقديم الكائن. إذا تم تعيينه على `false` يتم تقديم الكائن
+			في كل إطار حتى لو لم يكن في مخروط الكاميرا.
+			الافتراضي هو `true`.
+		</p>
+		 
+		<h3>[property:Integer id]</h3>
+		<p>readonly – رقم فريد لهذه الحالة من الكائن.</p>
+		 
+		<h3>[property:Boolean isObject3D]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان الكائن المعطى هو من نوع [name].</p>
+		 
+		<h3>[property:Layers layers]</h3>
+		<p>
+			عضوية طبقة الكائن. الكائن مرئي فقط إذا كان لديه
+			على الأقل طبقة واحدة مشتركة مع [page:Camera] قيد الاستخدام. يمكن استخدام هذه الخاصية أيضًا لتصفية
+			كائنات غير مرغوب فيها في اختبارات التقاطع بالأشعة
+			عند استخدام [page:Raycaster].
+		</p>
+		 
+		<h3>[property:Matrix4 matrix]</h3>
+		<p>مصفوفة التحول المحلية.</p>
+		 
+		<h3>[property:Boolean matrixAutoUpdate]</h3>
+		<p>
+			عند تعيين هذا، يحسب مصفوفة الموضع، (الدوران أو
+			quaternion) والحجم في كل إطار وأيضًا يعيد حساب خصائص matrixWorld
+			. الافتراضي هو [page:Object3D.DEFAULT_MATRIX_AUTO_UPDATE] (true).
+		</p>
+		 
+		<h3>[property:Matrix4 matrixWorld]</h3>
+		<p>
+			التحول العالمي للكائن. إذا لم يكن لدى Object3D أي والد، فإنه
+			مطابق للتحول المحلي [page:.matrix].
+		</p>
+			 
+		<h3>[property:Boolean matrixWorldAutoUpdate]</h3>
+		<p>
+			إذا تم تعيينه، فإن المقدم يتحقق في كل إطار ما إذا كان الكائن و
+			أطفاله يحتاجون إلى تحديثات المصفوفة. عندما لا يكون كذلك، فعليك الحفاظ على جميع
+			المصفوفات في الكائن وأطفاله بنفسك. الافتراضي هو
+			[page:Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE] (true).
+		</p>
+			 
+		<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
+		<p>
+			عند تعيين هذا، يحسب matrixWorld في ذلك الإطار ويعيد
+			هذه الخاصية إلى false. الافتراضي هو `false`.
+		</p>
+			 
+		<h3>[property:Matrix4 modelViewMatrix]</h3>
+		<p>
+			يتم تمرير هذا إلى الشادر ويستخدم لحساب موضع
+			الكائن.
+		</p>
+			 
+		<h3>[property:String name]</h3>
+		<p>
+			اسم اختياري للكائن (لا يحتاج إلى أن يكون فريدًا). الافتراضي هو
+			سلسلة فارغة.
+		</p>
+			 
+		<h3>[property:Matrix3 normalMatrix]</h3>
+		<p>
+			يتم تمرير هذا إلى الشادر ويستخدم لحساب الإضاءة لـ
+			الكائن. هو نقل معكوس من المصفوفة 3x3 العلوية اليسرى
+			من مصفوفة modelViewMatrix لهذا الكائن.<br /><br />
+			 
+			سبب هذه المصفوفة الخاصة هو أن استخدام ببساطة
+			modelViewMatrix قد يؤدي إلى طول غير وحدة من normals (على التحجيم)
+			أو في اتجاه غير عمودي (على التحجيم غير الموحد).<br /><br />
+			 
+			من ناحية أخرى، جزء الترجمة من modelViewMatrix غير
+			ذات صلة بحساب normals. وبالتالي فإن Matrix3 كافية.
+		</p>
+
+		<h3>[property:Function onAfterRender]</h3>
+		<p>
+			رد اتصال اختياري يتم تنفيذه مباشرة بعد تقديم كائن ثلاثي الأبعاد
+			. يتم استدعاء هذه الوظيفة بالمعلمات التالية: renderer,
+			scene, camera, geometry, material, group.
+		</p>
+		<p>
+			يرجى ملاحظة أن هذا الرد الاتصال يتم تنفيذه فقط لـ `renderable` 3D
+			كائنات. معنى كائنات ثلاثية الأبعاد التي تحدد مظهرها المرئي مع
+			الهندسة والمواد مثل نسخ [page:Mesh]، [page:Line]،
+			[page:Points] أو [page:Sprite]. نسخ من [page:Object3D]، [page:Group]
+			أو [page:Bone] ليست قابلة للتقديم وبالتالي لا يتم تنفيذ هذا الرد الاتصال
+			لمثل هذه الكائنات.
+		</p>
+			 
+		<h3>[property:Function onBeforeRender]</h3>
+		<p>
+			رد اتصال اختياري يتم تنفيذه مباشرة قبل تقديم كائن ثلاثي الأبعاد
+			. يتم استدعاء هذه الوظيفة بالمعلمات التالية: renderer,
+			scene, camera, geometry, material, group.
+		</p>
+		<p>
+			يرجى ملاحظة أن هذا الرد الاتصال يتم تنفيذه فقط لـ `renderable` 3D
+			كائنات. معنى كائنات ثلاثية الأبعاد التي تحدد مظهرها المرئي مع
+			الهندسة والمواد مثل نسخ [page:Mesh]، [page:Line]،
+			[page:Points] أو [page:Sprite]. نسخ من [page:Object3D]، [page:Group]
+			أو [page:Bone] ليست قابلة للتقديم وبالتالي لا يتم تنفيذ هذا الرد الاتصال
+			لمثل هذه الكائنات.
+		</p>
+			 
+		<h3>[property:Object3D parent]</h3>
+		<p>
+			والد كائن في [link:https://en.wikipedia.org/wiki/Scene_graph scene graph]. يمكن أن يكون لكائن واحد على الأكثر واحد.
+		</p>
+			 
+		<h3>[property:Vector3 position]</h3>
+		<p>
+			A [page:Vector3] يمثل الموضع المحلي للكائن. الافتراضي هو `(0,
+			0, 0)`.
+		</p>
+			 
+		<h3>[property:Quaternion quaternion]</h3>
+		<p>دوران المحلية للكائن كـ [page:Quaternion Quaternion].</p>
+			 
+		<h3>[property:Boolean receiveShadow]</h3>
+		<p>ما إذا كان المادة تتلقى الظلال. الافتراضي هو `false`.</p>
+
+		<h3>[property:Number renderOrder]</h3>
+		<p>
+			يسمح هذا القيمة بتجاوز ترتيب التصيير الافتراضي لـ
+			[link:https://en.wikipedia.org/wiki/Scene_graph scene graph] objects على الرغم من أن الأشياء المعتمة والشفافة لا تزال مرتبة
+			بشكل مستقل. عند تعيين هذه الخاصية لمثيل [page:Group Group]، سيتم فرز جميع الكائنات النسل وتقديمها معًا.
+			الترتيب من أدنى إلى أعلى renderOrder. القيمة الافتراضية هي `0`.
+		</p>
+			 
+		<h3>[property:Euler rotation]</h3>
+		<p>
+			دوران المحلي للكائن (انظر
+			[link:https://en.wikipedia.org/wiki/Euler_angles Euler angles])، في
+			شعاع.
+		</p>
+			 
+		<h3>[property:Vector3 scale]</h3>
+		<p>مقياس المحلي للكائن. الافتراضي هو [page:Vector3]( 1, 1, 1 ).</p>
+			 
+		<h3>[property:Vector3 up]</h3>
+		<p>
+			يستخدم هذا بواسطة [page:.lookAt lookAt] method، على سبيل المثال، إلى
+			تحديد توجه النتيجة.<br />
+			الافتراضي هو [page:Object3D.DEFAULT_UP] - أي `( 0, 1, 0 )`.
+		</p>
+			 
+		<h3>[property:Object userData]</h3>
+		<p>
+			كائن يمكن استخدامه لتخزين بيانات مخصصة حول Object3D. يجب ألا يحتوي على مراجع إلى وظائف كونها لن تكون مستنسخة.
+		</p>
+			 
+		<h3>[property:String uuid]</h3>
+		<p>
+			[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] من
+			هذه المثيلة كائن. يتم تعيين هذا تلقائيًا، لذلك يجب عدم تحريره.
+		</p>
+			 
+		<h3>[property:Boolean visible]</h3>
+		<p>الكائن يحصل على التصيير إذا كان `true`. الافتراضي هو `true`.</p>
+
+		<h2>الخصائص الثابتة (Static Properties)</h2>
+		<p>
+			يتم تعريف الخصائص والطرق الثابتة لكل فئة بدلاً من كل
+			مثيل لتلك الفئة. هذا يعني أن تغيير
+			[page:Object3D.DEFAULT_UP] أو [page:Object3D.DEFAULT_MATRIX_AUTO_UPDATE]
+			سيغير قيم [page:.up up] و [page:.matrixAutoUpdate matrixAutoUpdate] لـ `كل` مثيل من Object3D (أو الفئات المشتقة)
+			تم إنشاؤه بعد إجراء التغيير (لن يتأثر Object3Ds المنشأ بالفعل).
+		</p>
+			 
+		<h3>[property:Vector3 DEFAULT_UP]</h3>
+		<p>
+			اتجاه [page:.up up] الافتراضي للكائنات، يستخدم أيضًا كموقع افتراضي
+			لـ [page:DirectionalLight]، [page:HemisphereLight] و
+			[page:Spotlight] (الذي يخلق أضواء تشرق من الأعلى إلى الأسفل).<br />
+			مضبوط على ( 0, 1, 0 ) بشكل افتراضي.
+		</p>
+			 
+		<h3>[property:Boolean DEFAULT_MATRIX_AUTO_UPDATE]</h3>
+		<p>
+			العدد الافتراضي لـ [page:.matrixAutoUpdate matrixAutoUpdate] لـ
+			Object3Ds المنشأة حديثًا.<br />
+		</p>
+			 
+		<h3>[property:Boolean DEFAULT_MATRIX_WORLD_AUTO_UPDATE]</h3>
+		<p>
+			العدد الافتراضي لـ [page:.matrixWorldAutoUpdate
+			matrixWorldAutoUpdate] لـ Object3Ds المنشأة حديثًا.<br />
+		</p>
+			 
+		<h2>الوظائف (Methods)</h2>
+			 
+		<p>
+			طرق [page:EventDispatcher EventDispatcher] متاحة على هذه
+			فئة.
+		</p>
+			 
+		<h3>[method:this add]( [param:Object3D object], ... )</h3>
+		<p>
+			يضيف `object` كطفل لهذا الكائن. يمكن إضافة عدد غير محدود من الكائنات. سيتم إزالة أي والد حالي على كائن ممرر هنا، نظرًا لأنه يمكن أن يكون للكائن والد واحد على الأكثر.<br /><br />
+			 
+			راجع [page:Group] للحصول على معلومات حول تجميع الكائنات يدويًا.
+		</p>
+			 
+		<h3>[method:undefined applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>
+			يطبق تحويل المصفوفة على الكائن ويحدث موقع الكائن ودورانه ومقياسه.
+		</p>
+			 
+		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
+		<p>يطبق الدوران الممثل بالرباعي على الكائن.</p>
+			 
+		<h3>[method:this attach]( [param:Object3D object] )</h3>
+		<p>
+			يضيف `object` كطفل لهذا، مع الحفاظ على تحويل العالم للكائن.
+			<br /><br />
+			ملاحظة: هذه الطريقة لا تدعم رسومات المشهد التي تحتوي على
+			نقاط غير متساوية في الحجم (s).
+		</p>
+			 
+		<h3>[method:Object3D clone]( [param:Boolean recursive] )</h3>
+		<p>
+			recursive -- إذا كان صحيحًا، فإن نسل الكائن يتم استنساخه أيضًا. الافتراضي
+			صحيح.<br /><br />
+			 
+			يعود بنسخة من هذا الكائن واختياريًا جميع النسل.
+		</p>
+			 
+		<h3>[method:this copy]( [param:Object3D object], [param:Boolean recursive] )</h3>
+		<p>
+			recursive -- إذا كان صحيحًا، فإن نسل الكائن يتم نسخه أيضًا. الافتراضي
+			صحيح.<br /><br />
+			 
+			نسخ الكائن المعطى في هذا الكائن. ملاحظة: لا يتم نسخ مستمعو الأحداث و
+			التعليمات البرمجية المعرفة من قبل المستخدم ([page:.onAfterRender] و [page:.onBeforeRender]).
+		</p>
+			 
+		<h3>[method:Object3D getObjectById]( [param:Integer id] )</h3>
+		<p>
+			id -- رقم فريد لمثيل الكائن<br /><br />
+			 
+			يبحث في كائن وأطفاله، بدءًا من الكائن
+			نفسه، ويرجع أول مطابقة مع id.<br />
+			لاحظ أنه يتم تعيين المعرفات بالترتيب التاريخي: 1، 2، 3، ...،
+			زيادة بواحد لكل كائن جديد.
+		</p>
+			 
+		<h3>[method:Object3D getObjectByName]( [param:String name] )</h3>
+		<p>
+			name -- سلسلة للمطابقة مع خصائص Object3D.name للأطفال.
+			<br /><br />
+			 
+			يبحث في كائن وأطفاله، بدءًا من الكائن
+			نفسه، ويرجع أول مطابقة مع اسم.<br />
+			لاحظ أنه بالنسبة لمعظم الكائنات، يكون الاسم سلسلة فارغة بشكل افتراضي. سوف
+			ستضطر إلى تعيينه يدويًا للاستفادة من هذه الطريقة.
+		</p>
+
+		<h3>[method:Object3D getObjectByProperty]( [param:String name], [param:Any value] )</h3>
+		<p>
+			name -- اسم الخاصية التي يتم البحث عنها. <br />
+			value -- قيمة الخاصية المعطاة. <br /><br />
+			 
+			يبحث في كائن وأطفاله، بدءًا من الكائن
+			نفسه، ويرجع أول مع خاصية تطابق القيمة
+			معطى.
+		</p>
+			 
+		<h3>[method:Object3D getObjectsByProperty]( [param:String name], [param:Any value] )</h3>
+		<p>
+			name -- اسم الخاصية التي يتم البحث عنها. <br />
+			value -- قيمة الخاصية المعطاة. <br /><br />
+			 
+			يبحث في كائن وأطفاله، بدءًا من الكائن
+			نفسه، ويرجع جميع الكائنات مع خاصية تطابق القيمة
+			معطى.
+		</p>
+			 
+		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
+		<p>
+			[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
+			<br /><br />
+			 
+			يعود بمتجه يمثل موقع الكائن في الفضاء العالمي.
+		</p>
+			 
+		<h3>[method:Quaternion getWorldQuaternion]( [param:Quaternion target] )</h3>
+		<p>
+			[page:Quaternion target] — سيتم نسخ النتيجة في هذا Quaternion.
+			<br /><br />
+			 
+			يعود برباعي يمثل دوران الكائن في الفضاء العالمي.
+		</p>
+			 
+		<h3>[method:Vector3 getWorldScale]( [param:Vector3 target] )</h3>
+		<p>
+			[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
+			<br /><br />
+			 
+			يعود بمتجه من عوامل التحجيم المطبقة على الكائن لكل
+			محور في الفضاء العالمي.
+		</p>
+			 
+		<h3>[method:Vector3 getWorldDirection]( [param:Vector3 target] )</h3>
+		<p>
+			[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
+			<br /><br />
+		 
+			يعود بمتجه يمثل اتجاه محور z الموجب للكائن في
+			الفضاء العالمي.
+		</p>
+		 
+		<h3>[method:Vector3 localToWorld]( [param:Vector3 vector] )</h3>
+		<p>
+			vector - متجه يمثل موقعًا في هذا المساحة المحلية للكائن.<br /><br />
+		 
+			يحول المتجه من مساحة هذا الكائن المحلية إلى الفضاء العالمي.
+		</p>
+		 
+		<h3>[method:undefined lookAt]( [param:Vector3 vector] )<br />
+		[method:undefined lookAt]( [param:Float x], [param:Float y], [param:Float z] )
+		</h3>
+		<p>
+			vector - متجه يمثل موقعًا في الفضاء العالمي.<br /><br />
+			اختياريًا، [page:.x x]، [page:.y y] و [page:.z z] مكونات من
+			موقع الفضاء العالمي.<br /><br />
+		 
+			يدور الكائن لمواجهة نقطة في الفضاء العالمي.<br /><br />
+		 
+			هذه الطريقة لا تدعم كائنات تحتوي على
+			والد (والدين) غير متساوي (ين) في الحجم.
+		</p>
+		 
+		<h3>[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
+		<p>
+			طريقة فارغة (فارغة) للحصول على تقاطعات بين شعاع صب وهذا
+			كائن. تطبق فئات فرعية مثل [page:Mesh]، [page:Line]، و [page:Points]
+			هذه الطريقة من أجل استخدام التصوير بالأشعة.
+		</p>
+		 
+		<h3>[method:this remove]( [param:Object3D object], ... )</h3>
+		<p>
+			يزيل `object` كطفل لهذا الكائن. يمكن إزالة عدد غير محدود من الكائنات
+			قد تم إزالته.
+		</p>
+		 
+		<h3>[method:this removeFromParent]()</h3>
+		<p>يزيل هذا الكائن من والده الحالي.</p>
+		 
+		<h3>[method:this clear]()</h3>
+		<p>يزيل جميع كائنات الأطفال.</p>
+		 
+		<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+			axis -- متجه معتدل في المساحة المحلية. <br />
+			angle -- الزاوية بالراديان.<br /><br />
+		 
+			قم بتدوير كائن على طول محور في المساحة المحلية. يفترض أن يكون المحور
+			معتدل.
+		</p>
+		 
+		<h3>[method:this rotateOnWorldAxis]( [param:Vector3 axis], [param:Float angle])</h3>
+		<p>
+			axis -- متجه معتدل في المساحة العالمية. <br />
+			angle -- الزاوية بالراديان.<br /><br />
+		 
+			قم بتدوير كائن على طول محور في المساحة العالمية. يفترض أن يكون المحور
+			معتدل. تفترض طريقة عدم وجود والد دوران.
+		</p>
+
+		<h3>[method:this rotateX]( [param:Float rad] )</h3>
+		<p>
+			rad - الزاوية للتدوير بالراديان.<br /><br />
+		 
+			يدور الكائن حول محور x في المساحة المحلية.
+		</p>
+		 
+		<h3>[method:this rotateY]( [param:Float rad] )</h3>
+		<p>
+			rad - الزاوية للتدوير بالراديان.<br /><br />
+		 
+			يدور الكائن حول محور y في المساحة المحلية.
+		</p>
+		 
+		<h3>[method:this rotateZ]( [param:Float rad] )</h3>
+		<p>
+			rad - الزاوية للتدوير بالراديان.<br /><br />
+		 
+			يدور الكائن حول محور z في المساحة المحلية.
+		</p>
+		 
+		<h3>[method:undefined setRotationFromAxisAngle]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+			axis -- متجه معتدل في المساحة المحلية. <br />
+			angle -- زاوية بالراديان<br /><br />
+		 
+			يستدعي [page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] ) على [page:.quaternion].
+		</p>
+		 
+		<h3>[method:undefined setRotationFromEuler]( [param:Euler euler] )</h3>
+		<p>
+			euler -- زاوية أويلر تحدد كمية الدوران.<br />
+		 
+			يستدعي [page:Quaternion.setRotationFromEuler setRotationFromEuler](
+			[page:Euler euler]) على [page:.quaternion].
+		</p>
+		 
+		<h3>[method:undefined setRotationFromMatrix]( [param:Matrix4 m] )</h3>
+		<p>
+			m -- قم بتدوير الرباعي بمكون الدوران من المصفوفة.<br />
+		 
+			يستدعي [page:Quaternion.setFromRotationMatrix setFromRotationMatrix](
+			[page:Matrix4 m]) على [page:.quaternion].<br /><br />
+		 
+			لاحظ أن هذا يفترض أن الـ 3x3 العلوي من m هو مصفوفة دوران نقية
+			(أي غير مقاس).
+		</p>
+
+		<h3>[method:undefined setRotationFromQuaternion]( [param:Quaternion q] )</h3>
+		<p>
+			q -- رباعي معتدل.<br /><br />
+		 
+			نسخ الرباعي المعطى في [page:.quaternion].
+		</p>
+		 
+		<h3>[method:Object toJSON]( [param:Object meta] )</h3>
+		<p>
+			meta -- كائن يحتوي على بيانات تعريفية مثل المواد أو القوام أو الصور
+			للكائن.<br />
+			قم بتحويل الكائن إلى three.js
+			[link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
+		</p>
+		 
+		<h3>[method:this translateOnAxis]( [param:Vector3 axis], [param:Float distance] )</h3>
+		<p>
+			axis -- متجه معتدل في المساحة المحلية.<br />
+			distance -- المسافة التي يتم ترجمتها.<br /><br />
+		 
+			قم بترجمة كائن بمسافة على طول محور في المساحة المحلية. يفترض أن يكون المحور
+			معتدل.
+		</p>
+		 
+		<h3>[method:this translateX]( [param:Float distance] )</h3>
+		<p>يترجم الكائن على طول محور x في المساحة المحلية بوحدات `distance`.</p>
+		 
+		<h3>[method:this translateY]( [param:Float distance] )</h3>
+		<p>يترجم الكائن على طول محور y في المساحة المحلية بوحدات `distance`.</p>
+		 
+		<h3>[method:this translateZ]( [param:Float distance] )</h3>
+		<p>يترجم الكائن على طول محور z في المساحة المحلية بوحدات `distance`.</p>
+		 
+		<h3>[method:undefined traverse]( [param:Function callback] )</h3>
+		<p>
+			callback - وظيفة مع كأول وسيطة كائن object3D.<br /><br />
+		 
+			ينفذ رد الاتصال على هذا الكائن وجميع النسل.<br />
+			ملاحظة: يُفضل عدم تعديل رسم المشهد داخل رد الاتصال.
+		</p>
+		 
+		<h3>[method:undefined traverseVisible]( [param:Function callback] )</h3>
+		<p>
+			callback - وظيفة مع كأول وسيطة كائن object3D.<br /><br />
+		 
+			مثل traverse، ولكن سيتم تنفيذ رد الاتصال فقط للكائنات المرئية.
+			لا يتم اجتياز نسل الكائنات غير المرئية.<br />
+			ملاحظة: يُفضل عدم تعديل رسم المشهد داخل رد الاتصال.
+		</p>
+		 
+		<h3>[method:undefined traverseAncestors]( [param:Function callback] )</h3>
+		<p>
+			callback - وظيفة مع كأول وسيطة كائن object3D.<br /><br />
+		 
+			ينفذ رد الاتصال على جميع الأجداد.<br />
+			ملاحظة: يُفضل عدم تعديل رسم المشهد داخل رد الاتصال.
+		</p>
+		 
+		<h3>[method:undefined updateMatrix]()</h3>
+		<p>يحدث التحويل المحلي.</p>
+		 
+		<h3>[method:undefined updateMatrixWorld]( [param:Boolean force] )</h3>
+		<p>
+			force - منطقي يمكن استخدامه لتجاوز
+			[page:.matrixWorldAutoUpdate]، لإعادة حساب مصفوفة العالم لـ
+			الكائن والنسل في الإطار الحالي. مفيد إذا لم تتمكن من الانتظار
+			المصور لتحديثه في الإطار التالي (باستخدام
+			[page:.matrixWorldAutoUpdate] مضبوط على `true`).<br /><br />
+		 
+			يحدث التحويل العالمي للكائن ونسله إذا كان
+			تحتاج مصفوفة العالم إلى تحديث ([page:.matrixWorldNeedsUpdate] مضبوط على true) أو
+			إذا تم تعيين معلمة `force` على `true`.
+		</p>
+		 
+		<h3>[method:undefined updateWorldMatrix]( [param:Boolean updateParents], [param:Boolean updateChildren] )</h3>
+		<p>
+			updateParents - يحدث تحويل العالم للأجداد بشكل متكرر.<br />
+			updateChildren - يحدث تحويل العالم للنسل بشكل متكرر.<br /><br />
+		 
+			يحدث التحويل العالمي للكائن.
+		</p>
+		 
+		<h3>[method:Vector3 worldToLocal]( [param:Vector3 vector] )</h3>
+		<p>
+			vector - متجه يمثل موقعًا في الفضاء العالمي.<br /><br />
+		 
+			يحول المتجه من المساحة العالمية إلى المساحة المحلية لهذا الكائن.
+		</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 230 - 0
docs/api/ar/core/Raycaster.html

@@ -0,0 +1,230 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+	 
+		<p class="desc">
+			تم تصميم هذه الفئة للمساعدة في
+			[link:https://en.wikipedia.org/wiki/Ray_casting raycasting]. يتم استخدام Raycasting
+			لاختيار الماوس (العمل على معرفة الكائنات في المساحة ثلاثية الأبعاد التي يكون عليها الماوس
+			فوق) من بين أشياء أخرى.
+		</p>
+	 
+		<h2>مثال الكود</h2>
+		<code>
+		const raycaster = new THREE.Raycaster();
+		const pointer = new THREE.Vector2();
+	 
+		function onPointerMove( event ) {
+	 
+		// حساب موضع المؤشر في إحداثيات الجهاز المعتدلة
+		// (-1 إلى +1) لكلا المكونين
+	 
+		pointer.x = ( event.clientX / window.innerWidth ) * 2 - 1;
+		pointer.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
+	 
+		}
+	 
+		function render() {
+	 
+		// تحديث شعاع التقاط مع الكاميرا وموضع المؤشر
+		raycaster.setFromCamera( pointer, camera );
+	 
+		// حساب الكائنات المتقاطعة مع شعاع التقاط
+		const intersects = raycaster.intersectObjects( scene.children );
+	 
+		for ( let i = 0; i < intersects.length; i ++ ) {
+	 
+		intersects[ i ].object.material.color.set( 0xff0000 );
+	 
+		}
+	 
+		renderer.render( scene, camera );
+	 
+		}
+	 
+		window.addEventListener( 'pointermove', onPointerMove );
+	 
+		window.requestAnimationFrame(render);
+	 
+		</code>
+	 
+		<h2>أمثلة (Examples)</h2>
+	 
+		<p>
+			[example:webgl_interactive_cubes Raycasting to a Mesh]<br />
+			[example:webgl_interactive_cubes_ortho Raycasting to a Mesh in using an OrthographicCamera]<br />
+			[example:webgl_interactive_buffergeometry Raycasting to a Mesh with BufferGeometry]<br />
+			[example:webgl_instancing_raycast Raycasting to a InstancedMesh]<br />
+			[example:webgl_interactive_lines Raycasting to a Line]<br />
+			[example:webgl_interactive_raycasting_points Raycasting to Points]<br />
+			[example:webgl_geometry_terrain_raycast Terrain raycasting]<br />
+			[example:webgl_interactive_voxelpainter Raycasting to paint voxels]<br />
+			[example:webgl_raycaster_texture Raycast to a Texture]
+		</p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>[name]( [param:Vector3 origin], [param:Vector3 direction], [param:Float near], [param:Float far] )</h3>
+		<p>
+			[page:Vector3 origin] — متجه المنشأ الذي يلقي منه الشعاع.<br />
+			[page:Vector3 direction] — متجه الاتجاه الذي يعطي اتجاهًا
+			للشعاع. يجب تعديله.<br />
+			[page:Float near] — جميع النتائج المرتجعة أبعد من قريب. قريب
+			لا يمكن أن يكون سلبيًا. القيمة الافتراضية هي 0.<br />
+			[page:Float far] — جميع النتائج المرتجعة أقرب من بعيد. بعيد لا يمكن
+			أقل من قريب. القيمة الافتراضية هي Infinity.
+		</p>
+		<p>هذا يخلق كائن raycaster جديد.<br /></p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		 
+		<h3>[property:Float far]</h3>
+		<p>
+			عامل بعيد للraycaster. هذه القيمة تشير إلى الكائنات التي يمكن
+			تجاهلها بناءً على المسافة. هذه القيمة لا يجب أن تكون سلبية و
+			يجب أن تكون أكبر من خاصية قريب.
+		</p>
+		 
+		<h3>[property:Float near]</h3>
+		<p>
+			عامل قريب للraycaster. هذه القيمة تشير إلى الكائنات التي يمكن
+			تجاهلها بناءً على المسافة. هذه القيمة لا يجب أن تكون سلبية و
+			يجب أن تكون أصغر من خاصية بعيد.
+		</p>
+		 
+		<h3>[property:Camera camera]</h3>
+		<p>
+			الكاميرا المستخدمة عند التصوير بالأشعة ضد كائنات تعتمد على المشهد مثل
+			كائنات billboarded مثل [page:Sprites]. يمكن تعيين هذا الحقل يدويًا أو
+			يتم تعيينه عند استدعاء "setFromCamera". افتراضات إلى null.
+		</p>
+		 
+		<h3>[property:Layers layers]</h3>
+		<p>
+			يستخدم من قبل [name] لتجاهل كائنات 3D بشكل اختياري عند إجراء
+			اختبارات التقاطع. يضمن المثال التالي للكود أن كائنات 3D فقط على طبقة `1` ستحظى باحترام من قِبَل المثيل من [name].
+		 
+			<code>
+			raycaster.layers.set( 1 ); 
+			object.layers.enable( 1 ); 
+			</code>
+		</p>
+		 
+		<h3>[property:Object params]</h3>
+		<p>
+			 كائن به الخصائص التالية:
+		 
+			<code>
+			{ 
+			Mesh: {},
+			Line: { threshold: 1 },
+			LOD: {},
+			Points: { threshold: 1 },
+			Sprite: {} 
+			}
+			</code>
+		 
+			حيث threshold هو دقة raycaster عند التقاط
+			كائنات، في وحدات العالم.
+		</p>
+
+		<h3>[property:Ray ray]</h3>
+		<p>ال[Page:Ray] المستخدم للتصوير بالأشعة.</p>
+		 
+		<h2>الوظائف (Methods)</h2>
+		 
+		<h3>[method:undefined set]( [param:Vector3 origin], [param:Vector3 direction])</h3>
+		<p>
+			[page:Vector3 origin] — متجه المنشأ الذي يلقي منه الشعاع.<br />
+			[page:Vector3 direction] — متجه الاتجاه المعتدل الذي يعطي
+			اتجاه للشعاع.
+		</p>
+		<p>
+			يحدث الشعاع بمنشأ واتجاه جديد. يرجى ملاحظة أن هذا
+			الطريقة تنسخ فقط القيم من الوسائط.
+		</p>
+		 
+		<h3>[method:undefined setFromCamera]( [param:Vector2 coords], [param:Camera camera] )</h3>
+		<p>
+			[page:Vector2 coords] — إحداثيات 2D للماوس، في تعديل جهاز
+			إحداثيات (NDC) --- يجب أن تكون مكونات X و Y بين -1 و 1.<br />
+			[page:Camera camera] — الكاميرا التي يجب أن ينبثق منها الشعاع
+		</p>
+		<p>يحدث الشعاع بمنشأ واتجاه جديد.</p>
+		 
+		<h3>[method:Array intersectObject]( [param:Object3D object], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
+		<p>
+			[page:Object3D object] — الكائن للتحقق من التقاطع مع
+			شعاع.<br />
+			[page:Boolean recursive] — إذا كان صحيحًا، فإنه يتحقق أيضًا من جميع الأجداد.
+			وإلا فإنه يتحقق فقط من التقاطع مع الكائن. الافتراضي صحيح.<br />
+			[page:Array optionalTarget] — (اختياري) هدف لتعيين النتيجة.
+			وإلا تم تجسيد جديد لـ [page:Array]. إذا تم تعيينه، يجب عليك مسح هذا
+			array قبل كل استدعاء (أي ، array.length = 0;).
+		</p>
+		<p>
+			يتحقق من جميع التقاطع بين الشعاع والكائن مع أو بدون
+			نسل. يتم إرجاع التقاطعات مرتبة حسب المسافة، أولًا أولًا.
+			يتم إرجاع مصفوفة من التقاطعات ...
+		</p>
+			<code> [ { distance, point, face, faceIndex, object }, ... ] </code>
+			<p>
+			[page:Float distance] – المسافة بين مصدر الشعاع و
+			التقاطع<br />
+			[page:Vector3 point] – نقطة التقاطع، في إحداثيات العالم<br />
+			[page:Object face] – وجه التقاطع<br />
+			[page:Integer faceIndex] – فهرس الوجه المتقاطع<br />
+			[page:Object3D object] – الكائن المتقاطع<br />
+			[page:Vector2 uv] - إحداثيات U,V في نقطة التقاطع<br />
+			[page:Vector2 uv1] - مجموعة ثانية من إحداثيات U,V في نقطة
+			التقاطع<br />
+			[page:Vector3 normal] - متجه عادي متداخل في نقطة
+			التقاطع<br />
+			[page:Integer instanceId] – رقم فهرس الحالة حيث يتقاطع الشعاع
+			يتقاطع InstancedMesh
+		</p>
+		<p>
+			`Raycaster` يفوض إلى [page:Object3D.raycast raycast] طريقة
+			كائن مار، عند تقييم ما إذا كان الشعاع يتقاطع مع الكائن أم لا
+			ليس. هذا يسمح لـ [page:Mesh meshes] بالرد بشكل مختلف على تصوير الأشعة
+			من [page:Line lines] و [page:Points pointclouds].
+		</p>
+		<p>
+			*ملاحظة* أنه بالنسبة للشبكات، يجب أن تكون الوجوه موجهة نحو مصدر
+			[page:.ray ray] من أجل اكتشافها؛ تقاطعات الشعاع المارة
+			من خلال الجزء الخلفي من وجه لن يتم اكتشافه. للتصوير بالأشعة ضد كلا
+			وجوه كائن، سترغب في تعيين خصائص [page:Mesh.material material]
+			[page:Material.side side] إلى `THREE.DoubleSide`.
+		</p>
+		 
+		<h3>[method:Array intersectObjects]( [param:Array objects], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
+		<p>
+			[page:Array objects] — الكائنات للتحقق من التقاطع مع
+			شعاع.<br />
+			[page:Boolean recursive] — إذا كان صحيحًا، فإنه يتحقق أيضًا من جميع نسل
+			كائنات. وإلا فإنه يتحقق فقط من التقاطع مع الكائنات. افتراضي
+			صحيح.<br />
+			[page:Array optionalTarget] — (اختياري) هدف لتعيين النتيجة.
+			وإلا تم تجسيد جديد لـ [page:Array]. إذا تم تعيينه، يجب عليك مسح هذا
+			array قبل كل استدعاء (أي ، array.length = 0;).
+		</p>
+		<p>
+			يتحقق من جميع التقاطع بين الشعاع والكائنات مع أو بدون
+			نسل. يتم إرجاع التقاطعات مرتبة حسب المسافة، أولًا أولًا. التقاطات هي من نفس الشكل كما تلك المرتجعة بواسطة
+			[page:.intersectObject].
+		</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 274 - 0
docs/api/ar/core/Uniform.html

@@ -0,0 +1,274 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		<h1>[name]</h1>
+
+		<p class="desc">
+			الموحدات هي متغيرات GLSL عالمية. يتم تمريرها إلى برامج الشادر.
+		</p>
+			
+		<h2>مثال الكود</h2>
+		<p>
+			عند إعلان موحد من [page:ShaderMaterial]، يتم إعلانه بواسطة
+			القيمة أو بالكائن.
+		</p>
+		<code>
+		uniforms: {
+		time: { value: 1.0 }, 
+		resolution: new Uniform( new Vector2() )
+		};
+		</code>
+			
+		<h2>أنواع الموحدات (Uniform types)</h2>
+		<p>
+			يجب أن يكون لكل موحد خاصية `value`. يجب أن يتوافق نوع القيمة
+			مع نوع المتغير الموحد في كود GLSL كما
+			محدد لأنواع GLSL البدائية في الجدول أدناه. موحد
+			الهياكل والمصفوفات مدعومة أيضًا. يجب تحديد مصفوفات GLSL من نوع بدائي
+			إما كمصفوفة من كائنات THREE المقابلة أو
+			كمصفوفة مسطحة تحتوي على بيانات جميع الكائنات. بعبارة أخرى؛
+			يجب عدم تمثيل المتغيرات البدائية في GLSL في المصفوفات بواسطة المصفوفات. هذه القاعدة
+			لا تطبق ترانزيتيفًا. يجب أن تكون مصفوفة من مصفوفات `vec2`، كل منها بطول
+			خمسة متجهات، يجب أن تكون مصفوفة من المصفوفات، من خمسة [page:Vector2]
+			كائنات أو عشرة `number`s.
+		</p>
+
+		<table>
+			<caption>
+				<a id="uniform-types">Uniform types</a>
+			</caption>
+			<thead>
+				<tr>
+					<th>GLSL type</th>
+					<th>JavaScript type</th>
+				</tr>
+			</thead>
+			<tbody>
+				<tr>
+					<td>int</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>uint (WebGL 2)</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>float</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>bool</td>
+					<td>[page:Boolean]</td>
+				</tr>
+				<tr>
+					<td>bool</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>vec2</td>
+					<td>[page:Vector2 THREE.Vector2]</td>
+				</tr>
+				<tr>
+					<td>vec2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Vector3 THREE.Vector3]</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Color THREE.Color]</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Vector4 THREE.Vector4]</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Quaternion THREE.Quaternion]</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Matrix3 THREE.Matrix3]</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Matrix4 THREE.Matrix4]</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec2, bvec2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec2, bvec2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec3, bvec3</td>
+					<td>[page:Int32Array Int32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec3, bvec3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec4, bvec4</td>
+					<td>[page:Int32Array Int32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec4, bvec4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>sampler2D</td>
+					<td>[page:Texture THREE.Texture]</td>
+				</tr>
+				<tr>
+					<td>samplerCube</td>
+					<td>[page:CubeTexture THREE.CubeTexture]</td>
+				</tr>
+			</tbody>
+		</table>
+
+		<p>
+			(*) نفس الشيء بالنسبة لمصفوفة (الأبعاد الداخلية) من نفس نوع GLSL،
+			تحتوي على مكونات جميع المتجهات أو المصفوفات في المصفوفة.
+		</p>
+		 
+		<h2>الزي المنظم (Structured Uniforms)</h2>
+		 
+		<p>
+			في بعض الأحيان ترغب في تنظيم الزي كـ `structs` في كود الشيدر الخاص بك.
+			يجب استخدام النمط التالي حتى يتمكن `three.js` من معالجة
+			بيانات الزي المنظمة.
+		</p>
+		<code>
+		uniforms = {
+		data: { 
+		value: {
+		position: new Vector3(), 
+		direction: new Vector3( 0, 0, 1 ) 
+		} 
+		} 
+		};
+		</code>
+		يمكن تعيين هذا التعريف على كود GLSL التالي:
+		<code>
+		struct Data { 
+		vec3 position;
+		vec3 direction;
+		};
+		uniform Data data;
+		</code>
+		 
+		<h2>الزي المنظم مع المصفوفات (Structured Uniforms with Arrays)</h2>
+		 
+		<p>
+			من الممكن أيضًا إدارة `structs` في المصفوفات. تبدو صياغة هذه الحالة
+			الاستخدام كما يلي:
+		</p>
+		<code>
+		const entry1 = {
+		position: new Vector3(),
+		direction: new Vector3( 0, 0, 1 )
+		};
+		const entry2 = {
+		position: new Vector3( 1, 1, 1 ),
+		direction: new Vector3( 0, 1, 0 )
+		};
+		 
+		uniforms = {
+		data: {
+		value: [ entry1, entry2 ]
+		}
+		};
+		</code>
+		يمكن تعيين هذا التعريف على كود GLSL التالي:
+		<code>
+		struct Data { 
+		vec3 position; 
+		vec3 direction; 
+		};
+		uniform Data data[ 2 ];
+		</code>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>[name]( [param:Object value] )</h3>
+		<p>
+			value -- كائن يحتوي على القيمة لإعداد الزى. يجب أن يكون نوعه
+			واحدًا من أنواع الزى المذكورة أعلاه.
+		</p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		 
+		<h3>[property:Object value]</h3>
+		<p>القيمة الحالية للزى.</p>
+		 
+		<h2>الوظائف (Methods)</h2>
+		 
+		<h3>[method:Uniform clone]()</h3>
+		<p>
+			يعود بنسخة من هذا الزى. <br />
+			إذا كانت خاصية قيمة الزى هى [page:Object] مع طريقة clone()،
+			يتم استخدام هذا، وإلا يتم نسخ القيمة عن طريق التعيين. تتشارك قيم المصفوفات بين [page:Uniform]s المنسوخة.
+		</p>
+			
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 61 - 0
docs/api/ar/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html lang="ar">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body class="rtl">
+		[page:BufferAttribute] &rarr;
+
+		<h1>BufferAttribute Types</h1>
+
+		<p class="desc">
+			تتوفر في three.js تسعة أنواع من [page:BufferAttribute].
+				تتوافق هذه الموجودات مع [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Syntax Typed Arrays] في JavaScript.
+		</p>
+
+		<code>
+		THREE.Float64BufferAttribute 
+		THREE.Float32BufferAttribute
+		THREE.Float16BufferAttribute 
+		THREE.Uint32BufferAttribute
+		THREE.Int32BufferAttribute 
+		THREE.Uint16BufferAttribute
+		THREE.Int16BufferAttribute 
+		THREE.Uint8ClampedBufferAttribute
+		THREE.Uint8BufferAttribute 
+		THREE.Int8BufferAttribute
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		<p>يتم استدعاء كل من الأعلاف بنفس الطريقة.</p>
+
+		<h3>
+			TypedBufferAttribute( [param:Array_or_Integer array], [param:Integer itemSize], [param:Boolean normalized] )
+		</h3>
+		<p>
+			array -- يمكن أن يكون هذا مصفوفة مكتوبة أو غير مكتوبة، أو طول الصحيح. سيتم تحويل قيمة المصفوفة إلى النوع المحدد. إذا تم توفير طول، فسيتم إنشاء TypedArray جديد، والذي سيتم تهيئته بجميع العناصر بقيم صفر.<br /><br />
+
+			itemSize -- عدد القيم التي يجب أن ترتبط بنقطة فريدة. <br /><br />
+
+			normalized -- (اختياري) يشير إلى كيفية تطابق البيانات الأساسية في الذاكرة المؤقتة مع القيم الموجودة في رمز GLSL.
+		</p>
+
+		<h2>الخصائص (Properties)</h2>
+
+		<p>انظر صفحة [page:BufferAttribute] للخصائص الموروثة.</p>
+
+		<h2>الوظائف (Methods)</h2>
+
+		<p>انظر صفحة [page:BufferAttribute] للأساليب الموروثة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js src/core/BufferAttribute.js]
+		</p>
+	</body>
+</html>

+ 21 - 0
docs/list.json

@@ -508,6 +508,27 @@
 				"Materials": "api/ar/constants/Materials",
 				"Renderer": "api/ar/constants/Renderer",
 				"Textures": "api/ar/constants/Textures"
+			},
+
+			"Core": {
+				"BufferAttribute": "api/ar/core/BufferAttribute",
+				"BufferGeometry": "api/ar/core/BufferGeometry",
+				"Clock": "api/ar/core/Clock",
+				"EventDispatcher": "api/ar/core/EventDispatcher",
+				"GLBufferAttribute": "api/ar/core/GLBufferAttribute",
+				"InstancedBufferAttribute": "api/ar/core/InstancedBufferAttribute",
+				"InstancedBufferGeometry": "api/ar/core/InstancedBufferGeometry",
+				"InstancedInterleavedBuffer": "api/ar/core/InstancedInterleavedBuffer",
+				"InterleavedBuffer": "api/ar/core/InterleavedBuffer",
+				"InterleavedBufferAttribute": "api/ar/core/InterleavedBufferAttribute",
+				"Layers": "api/ar/core/Layers",
+				"Object3D": "api/ar/core/Object3D",
+				"Raycaster": "api/ar/core/Raycaster",
+				"Uniform": "api/ar/core/Uniform"
+			},
+
+			"Core / BufferAttributes": {
+				"BufferAttribute Types": "api/ar/core/bufferAttributeTypes/BufferAttributeTypes"
 			}
 
 		}