소스 검색

Docs: Translating Objects section into Arabic (ar). (#26263)

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

* add arabic translation for Bone page

* add arabic translation for Group page

* add arabic translation for InstancedMesh page

* add arabic translation for Line page

* add arabic translation for LineLoop page

* add arabic translation for LineSegments page

* add arabic translation for LOD page

* add arabic translation for Mesh page

* add arabic translation for Points page

* add arabic translation for Skeleton page

* add arabic translation for SkinnedMesh page

* add arabic translation for Sprite page
Omar Khalifa 2 년 전
부모
커밋
d794ded08a

+ 53 - 0
docs/api/ar/objects/Bone.html

@@ -0,0 +1,53 @@
+<!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:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		عظمة هي جزء من [page:Skeleton]. يتم استخدام الهيكل العظمي بدوره من قبل
+		[page:SkinnedMesh]. العظام تكاد تكون مطابقة لـ
+		[page:Object3D] فارغ.
+		</p>
+		 
+		<h2>مثال للكود</h2>
+		 
+		<code>
+		const root = new THREE.Bone();
+		const child = new THREE.Bone();
+		 
+		root.add( child );
+		child.position.y = 5;
+		</code>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>[name]( )</h3>
+		<p>ينشئ جديدًا [name].</p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		<p>راجع الفئة الأساسية [page:Object3D] للحصول على الخصائص المشتركة.</p>
+		 
+		<h3>[property:Boolean isBone]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائنًا معطىً من نوع [name].</p>
+		 
+		<h3>[property:String type]</h3>
+		<p>تعيين إلى 'Bone' ، يمكن استخدام هذا للعثور على جميع العظام في المشهد.</p>
+		 
+		<h2>الطرق (Methods)</h2>
+		<p>راجع الفئة الأساسية [page:Object3D] للحصول على الطرق المشتركة.</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/objects/Group.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:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		هذا مطابق تقريبًا لـ [page:Object3D Object3D]. الغرض منه هو
+		جعل العمل مع مجموعات من الكائنات أكثر وضوحًا نحويًا.
+		</p>
+		 
+		<h2>مثال للكود</h2>
+		 
+		<code>
+		const geometry = new THREE.BoxGeometry( 1, 1, 1 );
+		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		 
+		const cubeA = new THREE.Mesh( geometry, material );
+		cubeA.position.set( 100, 100, 0 );
+		 
+		const cubeB = new THREE.Mesh( geometry, material );
+		cubeB.position.set( -100, -100, 0 );
+		 
+		//إنشاء مجموعة وإضافة المكعبين
+		//يمكن الآن تدوير / تحجيم هذه المكعبات كمجموعة
+		const group = new THREE.Group();
+		group.add( cubeA );
+		group.add( cubeB );
+		 
+		scene.add( group );
+		</code>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>[name]( )</h3>
+		 
+		<h2>الخصائص (Properties)</h2>
+		<p>راجع الفئة الأساسية [page:Object3D] للحصول على الخصائص المشتركة.</p>
+		 
+		<h3>[property:Boolean isGroup]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائنًا معطىً من نوع [name].</p>
+		 
+		<h3>[property:String type]</h3>
+		<p>سلسلة 'Group'. يجب عدم تغيير هذا.</p>
+		 
+		<h2>الطرق (Methods)</h2>
+		<p>راجع الفئة الأساسية [page:Object3D] للحصول على الطرق المشتركة.</p>
+		 
+		<h2>المصدر (Source)</h2>
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 172 - 0
docs/api/ar/objects/InstancedMesh.html

@@ -0,0 +1,172 @@
+<!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:Mesh] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		نسخة خاصة من [page:Mesh] مع دعم التصيير المثيل. استخدم
+		[name] إذا كان عليك تقديم عدد كبير من الكائنات بنفس
+		الهندسة والمواد ولكن مع تحولات العالم المختلفة. الاستخدام
+		من [name] سيساعدك على تقليل عدد مكالمات الرسم وبالتالي
+		تحسين أداء التصيير العام في تطبيقك.
+		</p>
+		 
+		<h2>أمثلة (Examples)</h2>
+		<p>
+		[example:webgl_instancing_dynamic WebGL / instancing / dynamic]<br />
+		[example:webgl_instancing_performance WebGL / instancing / performance]<br />
+		[example:webgl_instancing_scatter WebGL / instancing / scatter]<br />
+		[example:webgl_instancing_raycast WebGL / instancing / raycast]
+		</p>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Material material],
+		[param:Integer count] )
+		</h3>
+		<p>
+		[page:BufferGeometry geometry] - عينة من [page:BufferGeometry].<br />
+		[page:Material material] - عينة من [page:Material]. الافتراضية هي
+		جديد [page:MeshBasicMaterial].<br />
+		[page:Integer count] - عدد العينات.<br />
+		</p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		<p>راجع الفئة الأساسية [page:Mesh] للحصول على الخصائص المشتركة.</p>
+		 
+		<h3>[property:Box3 boundingBox]</h3>
+		<p>
+		يحيط هذا المربع التجزئة بجميع عينات [name]. يمكن حسابه
+		مع [page:.computeBoundingBox](). الافتراضية هي `null`.
+		</p>
+		 
+		<h3>[property:Sphere boundingSphere]</h3>
+		<p>
+		يحيط هذا المجال المحدد بجميع عينات [name]. يمكن
+		حسابه مع [page:.computeBoundingSphere](). الافتراضية هي `null`.
+		</p>
+		 
+		<h3>[property:Integer count]</h3>
+		<p>
+		عدد العينات. قيمة `count` الممررة إلى الباني
+		تمثل الحد الأقصى لعدد العينات من هذه المشبك. يمكنك تغيير
+		عدد العينات في وقت التشغيل إلى قيمة صحيحة في النطاق [0، count].
+		</p>
+		<p>
+		إذا كنت بحاجة إلى عدد أكبر من العينات من قيمة العدد الأصلية ، فلديك
+		إنشاء جديد [name].
+		</p>
+	 
+		<h3>[property:InstancedBufferAttribute instanceColor]</h3>
+		<p>
+		يمثل ألوان جميع العينات. `null` بشكل افتراضي. يجب عليك ضبط
+		علامة [page:BufferAttribute.needsUpdate needsUpdate] الخاصة بها على صحيح إذا كان لديك
+		تعديل بيانات مثيل عبر [page:.setColorAt]().
+		</p>
+	 
+		<h3>[property:InstancedBufferAttribute instanceMatrix]</h3>
+		<p>
+		يمثل التحول المحلي لجميع العينات. يجب عليك ضبطه
+		[page:BufferAttribute.needsUpdate needsUpdate] علامة صحيحة إذا قمت بتعديل
+		بيانات مثيل عبر [page:.setMatrixAt]().
+		</p>
+	 
+		<h3>[property:Boolean isInstancedMesh]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائنًا معطىً من نوع [name].</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>راجع الفئة الأساسية [page:Mesh] للحصول على الطرق المشتركة.</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 dispose]()</h3>
+		<p>
+		يطلق الموارد المتعلقة بوحدة معالجة الرسومات التي تم تخصيصها من قبل هذه العينة. استدعاء هذه
+		الطريقة كلما لم تستخدم هذه العينة في تطبيقك.
+		</p>
+
+		<h3>
+		[method:undefined getColorAt]( [param:Integer index], [param:Color color] )
+		</h3>
+		<p>
+		[page:Integer index]: فهرس العينة. يجب أن تكون القيم في
+		النطاق [0، count].
+		</p>
+		<p>
+		[page:Color color]: سيتم تعيين كائن اللون هذا إلى لون
+		العينة المحددة.
+		</p>
+		<p>احصل على لون العينة المحددة.</p>
+		 
+		<h3>
+		[method:undefined getMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )
+		</h3>
+		<p>
+		[page:Integer index]: فهرس العينة. يجب أن تكون القيم في
+		النطاق [0، count].
+		</p>
+		<p>
+		[page:Matrix4 matrix]: ستتم تعيين مصفوفة 4x4 هذه إلى المحلية
+		مصفوفة التحول للعينة المحددة.
+		</p>
+		<p>احصل على مصفوفة التحول المحلية للعينة المحددة.</p>
+		 
+		<h3>
+		[method:undefined setColorAt]( [param:Integer index], [param:Color color] )
+		</h3>
+		<p>
+		[page:Integer index]: فهرس العينة. يجب أن تكون القيم في
+		النطاق [0، count].
+		</p>
+		<p>[page:Color color]: لون عينة واحدة.</p>
+		<p>
+		يضع اللون المحدد على العينة المحددة. تأكد من ضبط
+		[page:.instanceColor][page:BufferAttribute.needsUpdate .needsUpdate] إلى
+		صحيح بعد تحديث جميع الألوان.
+		</p>
+		 
+		<h3>
+		[method:undefined setMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )
+		</h3>
+		<p>
+		[page:Integer index]: فهرس العينة. يجب أن تكون القيم في
+		النطاق [0، count].
+		</p>
+		<p>
+		[page:Matrix4 matrix]: مصفوفة 4x4 تمثل التحول المحلي
+		لعينة واحدة.
+		</p>
+		<p>
+		يضع مصفوفة التحول المحلية المحددة على العينة المحددة. جعل
+		تأكد من ضبط [page:.instanceMatrix][page:BufferAttribute.needsUpdate .needsUpdate]
+		صحيح بعد تحديث جميع المصفوفات.
+		</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/objects/LOD.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">
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+		<p class="desc">
+		مستوى التفاصيل - عرض الشبكات بمزيد أو أقل من الهندسة بناءً على المسافة
+		من الكاميرا. <br /> <br />
+			
+		كل مستوى مرتبط بكائن، ويمكن تبديل التصيير
+		بينهم على المسافات المحددة. عادةً ما تقوم بإنشاء، قل،
+		ثلاث شبكات، واحدة للبعيد (تفاصيل منخفضة)، واحدة للمدى المتوسط ​​(تفاصيل متوسطة)
+		وواحد للقريب (تفاصيل عالية).
+		</p>
+			
+		<h2>مثال للكود</h2>
+			
+		<code>
+		const lod = new THREE.LOD();
+			
+		// إنشاء كرات مع 3 مستويات من التفاصيل وإنشاء مستويات LOD جديدة لهم
+		for( let i = 0; i < 3; i++ ) {
+			const geometry = new THREE.IcosahedronGeometry( 10, 3 - i )
+			const mesh = new THREE.Mesh( geometry, material );
+			lod.addLevel( mesh, i * 75 );
+		}
+			
+		scene.add( lod );
+		</code>
+			
+		<h2>أمثلة (Examples)</h2>
+			
+		<p>[example:webgl_lod webgl / lod ]</p>
+			
+		<h2>المنشئ (Constructor)</h2>
+		<h3>[name]( )</h3>
+		<p>إنشاء [name] جديد.</p>
+			
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الخصائص المشتركة.</p>
+			
+		<h3>[property:Boolean autoUpdate]</h3>
+		<p>
+		ما إذا كان يتم تحديث كائن LOD تلقائيًا من قبل المُصور في كل إطار
+		أم لا. إذا تم تعيينه إلى false، يجب عليك استدعاء [page:LOD.update]() في
+		حلقة التصيير بنفسك. الافتراضي هو true.
+		</p>
+			
+		<h3>[property:Boolean isLOD]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائن معين هو من نوع [name].</p>
+			
+		<h3>[property:Array levels]</h3>
+		<p>
+		مصفوفة من كائنات [page:Object level]<br /> <br />
+		
+		كل مستوى هو كائن يحتوي على الخصائص التالية:<br />
+		[page:Object3D object] - الـ [page:Object3D] المراد عرضه في هذا المستوى.<br />
+		[page:Float distance] - المسافة التي يتم عرض هذا المستوى من التفاصيل فيها.<br />
+		[page:Float hysteresis] - الحد الذي يستخدم لتجنب الوميض عند حدود LOD، كجزء من المسافة.
+		</p>
+		
+		<h2>الطرق (Methods)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الطرق المشتركة.</p>
+		
+		<h3>
+		[method:this addLevel]( [param:Object3D object], [param:Float distance], [param:Float hysteresis] )
+		</h3>
+		<p>
+		[page:Object3D object] - الـ [page:Object3D] المراد عرضه في هذا المستوى.<br />
+		[page:Float distance] - المسافة التي يتم عرض هذا المستوى من التفاصيل فيها. الافتراضي 0.0.<br />
+		[page:Float hysteresis] - الحد الذي يستخدم لتجنب الوميض عند حدود LOD، كجزء من المسافة. الافتراضي 0.0.<br /> <br />
+		
+		إضافة شبكة ستعرض عند مسافة معينة وأكبر. عادةً ما تكون المسافة أبعد، كلما كان التفصيل أقل في الشبكة.
+		</p>
+		
+		<h3>[method:LOD clone]()</h3>
+		<p>إرجاع نسخة من هذا كائن LOD مع مستوياته المرتبطة.</p>
+		
+		<h3>[method:Integer getCurrentLevel]()</h3>
+		<p>الحصول على مستوى LOD النشط حاليًا. كفهرس لمصفوفة المستويات.</p>
+		
+		<h3>[method:Object3D getObjectForDistance]( [param:Float distance] )</h3>
+		<p>
+		الحصول على مرجع إلى أول [page:Object3D] (شبكة) أكبر من
+		[page:Float distance].
+		</p>
+		
+		<h3>
+		[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )
+		</h3>
+		<p>
+		الحصول على تقاطعات بين [page:Ray] ملقى وهذا LOD.
+		سيتم استدعاء هذه الطريقة بواسطة [page:Raycaster.intersectObject].
+		</p>
+		
+		<h3>[method:Object toJSON]( meta )</h3>
+		<p>إنشاء بنية JSON بتفاصيل هذا كائن LOD.</p>
+		
+		<h3>[method:undefined update]( [param:Camera camera] )</h3>
+		<p>
+		تعيين رؤية كل كائن [page:Object3D object] في [page:levels level]
+		بناءً على المسافة من [page:Camera camera].
+		</p>
+		
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 114 - 0
docs/api/ar/objects/Line.html

@@ -0,0 +1,114 @@
+<!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:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		خط مستمر.<br /><br />
+		 
+		هذا مطابق تقريبًا لـ [page:LineSegments] ؛ الفرق الوحيد هو
+		أنه يتم تقديمه باستخدام
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINE_STRIP] بدلاً من
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINES]
+		</p>
+		 
+		<h2>مثال للكود</h2>
+		 
+		<code>
+		const material = new THREE.LineBasicMaterial({
+			color: 0x0000ff
+		});
+		 
+		const points = [];
+		points.push( new THREE.Vector3( - 10, 0, 0 ) );
+		points.push( new THREE.Vector3( 0, 10, 0 ) );
+		points.push( new THREE.Vector3( 10, 0, 0 ) );
+		 
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+		 
+		const line = new THREE.Line( geometry, material );
+		scene.add( line );
+		</code>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Material material] )
+		</h3>
+		 
+		<p>
+		[page:BufferGeometry geometry] - الرؤوس التي تمثل الخط
+		القطعة (القطع). الافتراضية هي جديدة [page:BufferGeometry].<br />
+		[page:Material material] - مادة للخط. الافتراضية هي جديدة
+		[page:LineBasicMaterial].<br />
+		</p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		<p>راجع الفئة الأساسية [page:Object3D] للحصول على الخصائص المشتركة.</p>
+		 
+		<h3>[property:BufferGeometry geometry]</h3>
+		<p>الرؤوس التي تمثل الخط القطعة (القطع).</p>
+		 
+		<h3>[property:Boolean isLine]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائنًا معطىً من نوع [name].</p>
+		 
+		<h3>[property:Material material]</h3>
+		<p>مادة للخط.</p>
+		 
+		<h3>[property:Array morphTargetInfluences]</h3>
+		<p>
+		مجموعة من الأوزان عادةً من 0-1 التي تحدد مدى تطبيق التغير
+		يتم تطبيقه. غير محدد بشكل افتراضي ، ولكن يتم إعادة تعيينه إلى مجموعة فارغة بواسطة
+		[page:.updateMorphTargets]().
+		</p>
+		 
+		<h3>[property:Object morphTargetDictionary]</h3>
+		<p>
+		قاموس من morphTargets بناءً على خاصية morphTarget.name.
+		غير محدد بشكل افتراضي ، ولكن يتم إعادة بنائه [page:.updateMorphTargets]().
+		</p>
+		 
+		<h2>الطرق (Methods)</h2>
+		<p>راجع الفئة الأساسية [page:Object3D] للحصول على الطرق المشتركة.</p>
+		 
+		<h3>[method:this computeLineDistances]()</h3>
+		<p>
+		يحسب مجموعة من قيم المسافات التي هي ضرورية لـ
+		[page:LineDashedMaterial]. بالنسبة لكل رأس في الهندسة ، يحسب الأسلوب
+		الطول التراكمي من النقطة الحالية إلى
+		بداية جدا من الخط.
+		</p>
+		 
+		<h3>
+		[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )
+		</h3>
+		<p>
+		احصل على تقاطعات بين [page:Ray] المصبوب وهذا الخط.
+		ستستدعي [page:Raycaster.intersectObject] هذه الطريقة.
+		</p>
+		 
+		<h3>[method:Line clone]()</h3>
+		<p>يعود بنسخة من هذا كائن Line وأحفاده.</p>
+		 
+		<h3>[method:undefined updateMorphTargets]()</h3>
+		<p>
+		يحدث morphTargets ليكون لها تأثير على الكائن. يعيد تعيين
+		[page:.morphTargetInfluences] و [page:.morphTargetDictionary]
+		خصائص.
+		</p>
+	 
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 53 - 0
docs/api/ar/objects/LineLoop.html

@@ -0,0 +1,53 @@
+<!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:Object3D] &rarr; [page:Line] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		خط مستمر يتصل بالعودة إلى البداية.<br /><br />
+		 
+		هذا مطابق تقريبًا لـ [page:Line] ؛ الفرق الوحيد هو أنه
+		يتم تقديمه باستخدام
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINE_LOOP] بدلاً من
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINE_STRIP]،
+		الذي يرسم خطًا مستقيمًا إلى الرأس التالي ، و
+		يربط الرأس الأخير مرة أخرى إلى الأول.
+		</p>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Material material] )
+		</h3>
+		 
+		<p>
+		[page:BufferGeometry geometry] - قائمة من الرؤوس التي تمثل نقاط على
+		حلقة الخط.<br />
+		[page:Material material] - مادة للخط. الافتراضية هي
+		[page:LineBasicMaterial LineBasicMaterial].
+		</p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		<p>راجع الفئة الأساسية [page:Line] للحصول على الخصائص المشتركة.</p>
+		 
+		<h3>[property:Boolean isLineLoop]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائنًا معطىً من نوع [name].</p>
+		 
+		<h2>الطرق (Methods)</h2>
+		<p>راجع الفئة الأساسية [page:Line] للحصول على الطرق المشتركة.</p>
+		 
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 49 - 0
docs/api/ar/objects/LineSegments.html

@@ -0,0 +1,49 @@
+<!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:Object3D] &rarr; [page:Line] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		سلسلة من الخطوط المرسومة بين أزواج الرؤوس. <br /> <br />
+			
+		هذا مشابه تقريبًا لـ [page:Line]؛ الفرق الوحيد هو أنه يتم عرضه باستخدام
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINES] بدلاً من
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINE_STRIP].
+		</p>
+			
+		<h2>المنشئ (Constructor)</h2>
+			
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Material material] )
+		</h3>
+			
+		<p>
+		[page:BufferGeometry geometry] — زوج (أزواج) من الرؤوس التي تمثل كل
+		خط (خطوط) القطع.<br />
+		[page:Material material] — المادة المستخدمة للخط. الافتراضي هو
+		[page:LineBasicMaterial LineBasicMaterial].
+		</p>
+			
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Line] للحصول على الخصائص المشتركة.</p>
+			
+		<h3>[property:Boolean isLineSegments]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائن معين هو من نوع [name].</p>
+			
+		<h2>الطرق (Methods)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Line] للحصول على الطرق المشتركة.</p>
+			
+		<h2>المصدر (Source)</h2>
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 108 - 0
docs/api/ar/objects/Mesh.html

@@ -0,0 +1,108 @@
+<!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:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		فئة تمثل كائنات مبنية على شبكات مضلعة ثلاثية الأضلاع
+		[link:https://en.wikipedia.org/wiki/Polygon_mesh]. كما تعمل كقاعدة لفئات أخرى مثل
+		[page:SkinnedMesh].
+		</p>
+			
+		<h2>مثال للكود</h2>
+			
+		<code>
+		const geometry = new THREE.BoxGeometry( 1, 1, 1 );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		const mesh = new THREE.Mesh( geometry, material );
+		scene.add( mesh );
+		</code>
+			
+		<h2>المنشئ (Constructor)</h2>
+			
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Material material] )
+		</h3>
+		<p>
+		[page:BufferGeometry geometry] — (اختياري) نسخة من
+		[page:BufferGeometry]. الافتراضي هو [page:BufferGeometry] جديد.<br />
+		[page:Material material] — (اختياري) نسخة واحدة أو مصفوفة من
+		[page:Material]. الافتراضي هو [page:MeshBasicMaterial] جديد
+		</p>
+			
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الخصائص المشتركة.</p>
+			
+		<h3>[property:BufferGeometry geometry]</h3>
+		<p>
+		نسخة من [page:BufferGeometry] (أو الفئات المشتقة منها)، تحدد بنية
+		الكائن.
+		</p>
+			
+		<h3>[property:Boolean isMesh]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائن معين هو من نوع [name].</p>
+			
+		<h3>[property:Material material]</h3>
+		<p>
+		نسخة من المادة المشتقة من فئة [page:Material] الأساسية أو مصفوفة من المواد، تحدد مظهر الكائن. الافتراضي هو
+		[page:MeshBasicMaterial].
+		</p>
+
+		<h3>[property:Array morphTargetInfluences]</h3>
+		<p>
+		مصفوفة من الأوزان عادةً من 0-1 تحدد مقدار التحول
+		الذي يتم تطبيقه. غير معرف بشكل افتراضي، ولكن يتم إعادة تعيينه إلى مصفوفة فارغة بواسطة
+		[page:Mesh.updateMorphTargets updateMorphTargets].
+		</p>
+		
+		<h3>[property:Object morphTargetDictionary]</h3>
+		<p>
+		قاموس من morphTargets بناءً على خاصية morphTarget.name.
+		غير معرف بشكل افتراضي، ولكن يتم إعادة بنائه [page:Mesh.updateMorphTargets updateMorphTargets].
+		</p>
+		
+		<h2>الطرق (Methods)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الطرق المشتركة.</p>
+		
+		<h3>[method:Mesh clone]()</h3>
+		<p>إرجاع نسخة من هذا كائن [name] وأحفاده.</p>
+		
+		<h3>
+		[method:Vector3 getVertexPosition]( [param:Integer index], [param:Vector3 target] )
+		</h3>
+		<p>
+		الحصول على موضع الرأس المحلي في الفهرس المحدد، مع مراعاة
+		حالة الرسوم المتحركة الحالية لكل من التحولات والتشكيل.
+		</p>
+		
+		<h3>
+		[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )
+		</h3>
+		<p>
+		الحصول على تقاطعات بين شعاع ملقى وهذه الشبكة.
+		سيتم استدعاء هذه الطريقة بواسطة [page:Raycaster.intersectObject]، ولكن النتائج
+		غير مرتبة.
+		</p>
+		
+		<h3>[method:undefined updateMorphTargets]()</h3>
+		<p>
+		تحديث التحولات لعدم التأثير على الكائن. يعيد تعيين خصائص
+		[page:Mesh.morphTargetInfluences morphTargetInfluences] و
+		[page:Mesh.morphTargetDictionary morphTargetDictionary].
+		</p>
+		
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 90 - 0
docs/api/ar/objects/Points.html

@@ -0,0 +1,90 @@
+<!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:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		فئة لعرض النقاط. يتم عرض النقاط بواسطة
+		[page:WebGLRenderer] باستخدام
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.POINTS].
+		</p>
+			
+		<h2>المنشئ (Constructor)</h2>
+			
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Material material] )
+		</h3>
+		<p>
+		[page:BufferGeometry geometry] — (اختياري) نسخة من
+		[page:BufferGeometry]. الافتراضي هو [page:BufferGeometry] جديد.<br />
+		[page:Material material] — (اختياري) نسخة من [page:Material]. الافتراضي هو
+		[page:PointsMaterial] جديد.
+		</p>
+			
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الخصائص المشتركة.</p>
+			
+		<h3>[property:BufferGeometry geometry]</h3>
+		<p>
+		نسخة من [page:BufferGeometry] (أو الفئات المشتقة منها)، تحدد بنية
+		الكائن.
+		</p>
+
+		<h3>[property:Boolean isPoints]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائن معين هو من نوع [name].</p>
+		
+		<h3>[property:Material material]</h3>
+		<p>
+		نسخة من [page:Material]، تحدد مظهر الكائن. الافتراضي
+		هو [page:PointsMaterial].
+		</p>
+		
+		<h3>[property:Array morphTargetInfluences]</h3>
+		<p>
+		مصفوفة من الأوزان عادةً من 0-1 تحدد مقدار التحول
+		الذي يتم تطبيقه. غير معرف بشكل افتراضي، ولكن يتم إعادة تعيينه إلى مصفوفة فارغة بواسطة
+		[page:Points.updateMorphTargets updateMorphTargets].
+		</p>
+		
+		<h3>[property:Object morphTargetDictionary]</h3>
+		<p>
+		قاموس من morphTargets بناءً على خاصية morphTarget.name.
+		غير معرف بشكل افتراضي، ولكن يتم إعادة بنائه [page:Points.updateMorphTargets updateMorphTargets].
+		</p>
+		
+		<h2>الطرق (Methods)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الطرق المشتركة.</p>
+		
+		<h3>
+		[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )
+		</h3>
+		<p>
+		الحصول على تقاطعات بين شعاع ملقى وهذه النقاط.
+		سيتم استدعاء هذه الطريقة بواسطة [page:Raycaster.intersectObject].
+		</p>
+		
+		<h3>[method:Points clone]()</h3>
+		<p>إرجاع نسخة من هذا كائن Points وأحفاده.</p>
+		
+		<h3>[method:undefined updateMorphTargets]()</h3>
+		<p>
+		تحديث التحولات لعدم التأثير على الكائن. يعيد تعيين خصائص
+		[page:Points.morphTargetInfluences morphTargetInfluences] و
+		[page:Points.morphTargetDictionary morphTargetDictionary].
+		</p>
+		
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 131 - 0
docs/api/ar/objects/Skeleton.html

@@ -0,0 +1,131 @@
+<!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:Bone bones] لإنشاء هيكل عظمي يمكن استخدامه بواسطة
+		[page:SkinnedMesh].
+		</p>
+			
+		<h2>مثال للكود</h2>
+		<code>
+		// إنشاء "ذراع" بسيط
+			
+		const bones = [];
+			
+		const shoulder = new THREE.Bone();
+		const elbow = new THREE.Bone();
+		const hand = new THREE.Bone();
+			
+		shoulder.add( elbow );
+		elbow.add( hand );
+			
+		bones.push( shoulder );
+		bones.push( elbow );
+		bones.push( hand );
+			
+		shoulder.position.y = -5;
+		elbow.position.y = 0;
+		hand.position.y = 5;
+			
+		const armSkeleton = new THREE.Skeleton( bones );
+		</code>
+			
+		<p>
+		انظر إلى صفحة [page:SkinnedMesh] للحصول على مثال على الاستخدام مع
+		[page:BufferGeometry] القياسية.
+		</p>
+			
+		<h2>المنشئ (Constructor)</h2>
+			
+		<h3>[name]( [param:Array bones], [param:Array boneInverses] )</h3>
+		<p>
+		[page:Array bones] - مصفوفة من [page:Bone bones]. الافتراضي هو مصفوفة فارغة
+		.<br />
+		[page:Array boneInverses] - (اختياري) مصفوفة من [page:Matrix4 Matrix4s].<br /> <br />
+			
+		إنشاء [name] جديد.
+		</p>
+			
+		<h2>الخصائص (Properties)</h2>
+			
+		<h3>[property:Array bones]</h3>
+		<p>
+		مصفوفة من [page:bone bones]. لاحظ أن هذه نسخة من المصفوفة الأصلية،
+		وليس مرجعًا، لذلك يمكنك تعديل المصفوفة الأصلية دون التأثير
+		هذه واحدة.
+		</p>
+
+		<h3>[property:Array boneInverses]</h3>
+		<p>
+		مصفوفة من [page:Matrix4 Matrix4s] تمثل معكوس
+		[page:Matrix4 matrixWorld] للعظام الفردية.
+		</p>
+		
+		<h3>[property:Float32Array boneMatrices]</h3>
+		<p>مصفوفة البيانات التي تحمل بيانات العظام عند استخدام نسيج الرأس.</p>
+		
+		<h3>[property:DataTexture boneTexture]</h3>
+		<p>
+		[page:DataTexture] التي تحمل بيانات العظام عند استخدام نسيج الرأس.
+		</p>
+		
+		<h3>[property:Integer boneTextureSize]</h3>
+		<p>حجم [page:.boneTexture].</p>
+		
+		<h2>الطرق (Methods)</h2>
+		
+		<h3>[method:Skeleton clone]()</h3>
+		<p>إرجاع نسخة من هذا كائن Skeleton.</p>
+		
+		<h3>[method:undefined calculateInverses]()</h3>
+		<p>
+		توليد مصفوفة [page:.boneInverses boneInverses] إذا لم يتم توفيرها في
+		المُنشئ.
+		</p>
+		
+		<h3>[method:this computeBoneTexture]()</h3>
+		<p>
+		حساب نسخة من [page:DataTexture] لتمرير بيانات العظام
+		بشكل أكثر كفاءة إلى المُظلل. يتم تعيين النسيج إلى
+		[page:.boneTexture boneTexture].
+		</p>
+		
+		<h3>[method:undefined pose]()</h3>
+		<p>إعادة الهيكل العظمي إلى وضعية الأساس.</p>
+		
+		<h3>[method:undefined update]()</h3>
+		<p>
+		تحديث [page:Float32Array boneMatrices] و [page:DataTexture boneTexture]
+		بعد تغيير العظام. يتم استدعاء هذا تلقائيًا بواسطة
+		[page:WebGLRenderer] إذا تم استخدام الهيكل العظمي مع [page:SkinnedMesh].
+		</p>
+		
+		<h3>[method:Bone getBoneByName]( [param:String name] )</h3>
+		<p>
+		name -- سلسلة لتطابق خاصية .name لـ Bone. <br /> <br />
+		
+		البحث في مصفوفة عظام الهيكل العظمي وإرجاع الأولى التي تطابق
+		الاسم.<br />
+		</p>
+		
+		<h3>[method:undefined dispose]()</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>

+ 189 - 0
docs/api/ar/objects/SkinnedMesh.html

@@ -0,0 +1,189 @@
+<!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:Object3D] &rarr; [page:Mesh] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		شبكة لديها [page:Skeleton] مع [page:Bone bones] يمكن استخدامها بعد ذلك
+		لتحريك رؤوس الهندسة.<br /> <br />
+			
+		يمكن استخدام [name] فقط مع WebGL 2. مع WebGL 1 `OES_texture_float` و
+		مطلوب دعم نسيج الرأس.
+		</p>
+			
+		<iframe id="scene" src="scenes/bones-browser.html"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>مثال للكود</h2>
+
+		<code>
+		const geometry = new THREE.CylinderGeometry( 5, 5, 5, 5, 15, 5, 30 );
+
+		// create the skin indices and skin weights manually
+		// (typically a loader would read this data from a 3D model for you)
+
+		const position = geometry.attributes.position;
+
+		const vertex = new THREE.Vector3();
+
+		const skinIndices = [];
+		const skinWeights = [];
+
+		for ( let i = 0; i < position.count; i ++ ) {
+
+			vertex.fromBufferAttribute( position, i );
+
+			// compute skinIndex and skinWeight based on some configuration data
+			const y = ( vertex.y + sizing.halfHeight );
+			const skinIndex = Math.floor( y / sizing.segmentHeight );
+			const skinWeight = ( y % sizing.segmentHeight ) / sizing.segmentHeight;
+			skinIndices.push( skinIndex, skinIndex + 1, 0, 0 );
+			skinWeights.push( 1 - skinWeight, skinWeight, 0, 0 );
+		}
+
+		geometry.setAttribute( 'skinIndex', new THREE.Uint16BufferAttribute( skinIndices, 4 ) );
+		geometry.setAttribute( 'skinWeight', new THREE.Float32BufferAttribute( skinWeights, 4 ) );
+
+		// create skinned mesh and skeleton
+
+		const mesh = new THREE.SkinnedMesh( geometry, material );
+		const skeleton = new THREE.Skeleton( bones );
+
+		// see example from THREE.Skeleton
+		const rootBone = skeleton.bones[ 0 ];
+		mesh.add( rootBone );
+
+		// bind the skeleton to the mesh
+		mesh.bind( skeleton );
+
+		// move the bones and manipulate the model
+		skeleton.bones[ 0 ].rotation.x = -0.1;
+		skeleton.bones[ 1 ].rotation.x = 0.2;
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Material material] )
+		</h3>
+		<p>
+		[page:BufferGeometry geometry] - نسخة من [page:BufferGeometry].<br />
+		[page:Material material] - (اختياري) نسخة من [page:Material].
+		الافتراضي هو [page:MeshBasicMaterial] جديد.
+		</p>
+		
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Mesh] للحصول على الخصائص المشتركة.</p>
+		
+		<h3>[property:String bindMode]</h3>
+		<p>
+		إما "مرفق" أو "منفصل". "مرفق" يستخدم
+		خاصية [page:SkinnedMesh.matrixWorld] لمصفوفة التحويل الأساسية لـ
+		العظام. "منفصل" يستخدم [page:SkinnedMesh.bindMatrix]. الافتراضي هو
+		"مرفق".
+		</p>
+		
+		<h3>[property:Matrix4 bindMatrix]</h3>
+		<p>المصفوفة الأساسية المستخدمة لتحويلات العظام المربوطة.</p>
+		
+		<h3>[property:Matrix4 bindMatrixInverse]</h3>
+		<p>المصفوفة الأساسية المستخدمة لإعادة تعيين تحويلات العظام المربوطة.</p>
+		
+		<h3>[property:Box3 boundingBox]</h3>
+		<p>
+		مربع التحديد لـ [name]. يمكن حسابه بـ
+		[page:.computeBoundingBox](). الافتراضي هو `null`.
+		</p>
+		
+		<h3>[property:Sphere boundingSphere]</h3>
+		<p>
+		الكرة المحيطة لـ [name]. يمكن حسابها بـ
+		[page:.computeBoundingSphere](). الافتراضي هو `null`.
+		</p>
+		
+		<h3>[property:Boolean isSkinnedMesh]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائن معين هو من نوع [name].</p>
+		
+		<h3>[property:Skeleton skeleton]</h3>
+		<p>[page:Skeleton] يمثل هيكل العظام للشبكة المشدودة.</p>
+		
+		<h2>الطرق (Methods)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Mesh] للحصول على الطرق المشتركة.</p>
+		
+		<h3>
+		[method:undefined bind]( [param:Skeleton skeleton], [param:Matrix4 bindMatrix] )
+		</h3>
+		<p>
+		[page:Skeleton skeleton] - [page:Skeleton] تم إنشاؤه من شجرة [page:Bone Bones].<br />
+		[page:Matrix4 bindMatrix] - [page:Matrix4] يمثل التحويل الأساسي
+		للهيكل العظمي.<br /> <br />
+		
+		ربط هيكل عظمي بالشبكة المشدودة. يتم حفظ bindMatrix في
+		خاصية .bindMatrix ويتم حساب .bindMatrixInverse.
+		</p>
+		
+		<h3>[method:SkinnedMesh clone]()</h3>
+		<p>
+		لا تقوم هذه الطريقة حاليًا بنسخ نسخة من [name] بشكل صحيح.
+		يرجى استخدام [page:SkeletonUtils.clone]() في هذه الأثناء.
+		</p>
+		
+		<h3>[method:undefined computeBoundingBox]()</h3>
+		<p>
+		حساب مربع التحديد، وتحديث خاصية [page:.boundingBox].<br />
+		لا يتم حساب مربعات التحديد افتراضيًا. يجب حسابها بشكل صريح
+		، وإلا كانت `null`. إذا كانت نسخة من [name] متحركة،
+		يجب استدعاء هذه الطريقة في كل إطار لحساب مربع تحديد صحيح.
+		</p>
+		
+		<h3>[method:undefined computeBoundingSphere]()</h3>
+		<p>
+		حساب الكرة المحيطة، وتحديث خاصية [page:.boundingSphere]
+		.<br />
+		لا يتم حساب الكرات المحيطة افتراضيًا. يجب حسابها بشكل صريح
+		، وإلا كانت `null`. إذا كانت نسخة من [name] متحركة،
+		يجب استدعاء هذه الطريقة في كل إطار لحساب كرة محيطة صحيحة.
+		</p>
+		
+		<h3>[method:undefined normalizeSkinWeights]()</h3>
+		<p>تطبيع أوزان الجلد.</p>
+		
+		<h3>[method:undefined pose]()</h3>
+		<p>هذه الطريقة تضع الشبكة المشدودة في وضعية الأساس (إعادة تعيين الوضعية).</p>
+		
+		<h3>
+		[method:Vector3 applyBoneTransform]( [param:Integer index], [param:Vector3 vector] )
+		</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>

+ 87 - 0
docs/api/ar/objects/Sprite.html

@@ -0,0 +1,87 @@
+<!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:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		الرذاذ هو طائرة تواجه دائمًا نحو الكاميرا، عمومًا مع
+		تطبيق نسيج شفاف جزئيًا.<br /> <br />
+			
+		الرذاذ لا يلقي ظلالًا، وضبط <code>castShadow = true</code> سوف
+		لا يكون له أي تأثير.
+		</p>
+			
+		<h2>مثال للكود</h2>
+			
+		<code>
+		const map = new THREE.TextureLoader().load( 'sprite.png' );
+		const material = new THREE.SpriteMaterial( { map: map } );
+			
+		const sprite = new THREE.Sprite( material );
+		scene.add( sprite );
+		</code>
+			
+		<h2>المنشئ (Constructor)</h2>
+			
+		<h3>[name]( [param:Material material] )</h3>
+		<p>
+		[page:Material material] - (اختياري) نسخة من
+		[page:SpriteMaterial]. الافتراضي هو [page:SpriteMaterial] أبيض.<br /> <br />
+			
+		إنشاء [name] جديد.
+		</p>
+			
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الخصائص المشتركة.</p>
+			
+		<h3>[property:Boolean isSprite]</h3>
+		<p>علامة للقراءة فقط للتحقق مما إذا كان كائن معين هو من نوع [name].</p>
+			
+		<h3>[property:SpriteMaterial material]</h3>
+		<p>
+		نسخة من [page:SpriteMaterial]، تحدد مظهر الكائن.
+		الافتراضي هو [page:SpriteMaterial] أبيض.
+		</p>
+			
+		<h3>[property:Vector2 center]</h3>
+		<p>
+		نقطة مرساة الرذاذ، والنقطة التي يدور حولها الرذاذ.
+		قيمة (0.5، 0.5) تتوافق مع منتصف الرذاذ. قيمة
+		من (0، 0) يتوافق مع الزاوية السفلى اليسرى من الرذاذ. الافتراضي
+		هو (0.5، 0.5).
+		</p>
+			
+		<h2>الطرق (Methods)</h2>
+		<p>انظر إلى الفئة الأساسية [page:Object3D] للحصول على الطرق المشتركة.</p>
+			
+		<h3>[method:Sprite clone]()</h3>
+		<p>إرجاع نسخة من هذا كائن Sprite وأحفاده.</p>
+			
+		<h3>[method:this copy]( [param:Sprite sprite] )</h3>
+		<p>نسخ خصائص رذاذ المارة إلى هذه واحدة.</p>
+			
+		<h3>
+		[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )
+		</h3>
+		<p>
+		الحصول على تقاطعات بين شعاع ملقى وهذه الرذاذ.
+		سيتم استدعاء هذه الطريقة بواسطة [page:Raycaster.intersectObject](). يجب تهيئة raycaster
+		بواسطة استدعاء [page:Raycaster.setFromCamera]() قبل
+		raycasting ضد sprites.
+		</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 15 - 0
docs/list.json

@@ -694,6 +694,21 @@
 				"DiscreteInterpolant": "api/ar/math/interpolants/DiscreteInterpolant",
 				"LinearInterpolant": "api/ar/math/interpolants/LinearInterpolant",
 				"QuaternionLinearInterpolant": "api/ar/math/interpolants/QuaternionLinearInterpolant"
+			},
+
+			"Objects": {
+				"Bone": "api/ar/objects/Bone",
+				"Group": "api/ar/objects/Group",
+				"InstancedMesh": "api/ar/objects/InstancedMesh",
+				"Line": "api/ar/objects/Line",
+				"LineLoop": "api/ar/objects/LineLoop",
+				"LineSegments": "api/ar/objects/LineSegments",
+				"LOD": "api/ar/objects/LOD",
+				"Mesh": "api/ar/objects/Mesh",
+				"Points": "api/ar/objects/Points",
+				"Skeleton": "api/ar/objects/Skeleton",
+				"SkinnedMesh": "api/ar/objects/SkinnedMesh",
+				"Sprite": "api/ar/objects/Sprite"
 			}
 
 		}