瀏覽代碼

Docs: Translating Geometries section into Arabic (ar). (#26155)

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

* add arabic translation for BoxGeometry page

* add arabic translation for CapsuleGeometry page

* add arabic translation for CircleGeometry page

* add arabic translation for ConeGeometry page

* add arabic translation for CylinderGeometry page

* add arabic translation for DedecahedronGeometry page

* add arabic translation for EdgesGeometry page

* add arabic translation for ExtrudeGeometry page

* add arabic translation for IcosahedronGeometry page

* add arabic translation for LatheGeometry page

* add arabic translation for OctahedronGeometry page

* add arabic translation for PlaneGeometry page

* add arabic translation for PolyhedronGeometry page

* add arabic translation for RingGeometry page

* add arabic translation for ShapeGeometry page

* add arabic translation for SphereGeometry page

* add arabic translation for TetrahedronGeometry page

* add arabic translation for TorusGeometry page

* add arabic translation for TorusKnotGeometry page

* add arabic translation for TubeGeometry page

* add arabic translation for WireframeGeometry page

* Update list.json

---------

Co-authored-by: Michael Herzog <[email protected]>
Omar Khalifa 2 年之前
父節點
當前提交
51611feae5

+ 99 - 0
docs/api/ar/geometries/BoxGeometry.html

@@ -0,0 +1,99 @@
+<!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] &rarr;
+
+    <h1>[name]</h1>
+
+    <p class="desc">
+      [name] هي فئة هندسية لمكعب مستطيل مع 'العرض' المحدد ،
+      'الارتفاع' و 'العمق'. عند الإنشاء ، يتم توسيط المكعب على الأصل ،
+      مع كل حافة موازية لأحد المحاور.
+      </p>
+
+    <iframe
+      id="scene"
+      src="scenes/geometry-browser.html#BoxGeometry"></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.BoxGeometry( 1, 1, 1 );
+const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+const cube = new THREE.Mesh( geometry, material );
+scene.add( cube );
+    </code>
+      
+    <h2>المنشئ (Constructor)</h2>
+
+    <h3>
+    [name]([param:Float width], [param:Float height], [param:Float depth],
+    [param:Integer widthSegments], [param:Integer heightSegments],
+    [param:Integer depthSegments])
+    </h3>
+    <p>
+    width — العرض؛ أي طول الحواف الموازية لمحور X.
+    اختياري؛ الافتراضي هو 1.
+    <br />
+    height — الارتفاع؛ أي طول الحواف الموازية لمحور Y.
+    اختياري؛ الافتراضي هو 1.
+    <br />
+    depth — العمق؛ أي طول الحواف الموازية لمحور Z.
+    اختياري؛ الافتراضي هو 1.
+    <br />
+    widthSegments — عدد الوجوه المستطيلة المقسمة على طول عرض
+    الجانب. اختياري؛ الافتراضي هو 1.
+    <br />
+    heightSegments — عدد الوجوه المستطيلة المقسمة على طول ارتفاع
+    الجانب. اختياري؛ الافتراضي هو 1.
+    <br />
+    depthSegments — عدد الوجوه المستطيلة المقسمة على طول عمق
+    الجانب. اختياري؛ الافتراضي هو 1.
+    <br />
+    </p>
+   
+    <h2>الخصائص (Properties)</h2>
+    <p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+   
+    <h3>[property:Object parameters]</h3>
+    <p>
+    كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+    الهندسة.
+    </p>
+   
+    <h2>الطرق (Methods)</h2>
+    <p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+   
+
+    <h2>المصدر (Source)</h2>
+
+    <p>
+      [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+    </p>
+  </body>
+</html>

+ 79 - 0
docs/api/ar/geometries/CapsuleGeometry.html

@@ -0,0 +1,79 @@
+<!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] → [page:LatheGeometry] →
+	 
+		<h1>[name]</h1>
+	 
+		<p class="desc">
+		[name] هي فئة هندسة لكبسولة بأشعة وارتفاع محدد. يتم بناؤها باستخدام مخرطة.
+		</p>
+	 
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#CapsuleGeometry"
+		></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.CapsuleGeometry( 1, 1, 4, 8 ); 
+		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} ); 
+		const capsule = new THREE.Mesh( geometry, material ); scene.add( capsule );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+ 		<h3>
+ 		[name]([param:Float radius], [param:Float length], [param:Integer capSubdivisions], [param:Integer radialSegments])
+ 		</h3>
+ 		<p>
+ 		radius — نصف قطر الكبسولة. اختياري؛ الافتراضي هو 1.<br />
+ 		length — طول القسم الأوسط. اختياري؛ الافتراضي هو 1.<br />
+ 		capSegments — عدد قطاعات المنحنى المستخدمة لبناء الأغطية. اختياري؛
+ 		الافتراضي هو 4.<br />
+ 		radialSegments — عدد الوجوه المقسمة حول محيط
+ 		الكبسولة. اختياري؛ الافتراضي هو 8.<br />
+ 		</p>
+
+ 		<h2>الخصائص (Properties)</h2>
+ 		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+
+ 		<h3>[property:Object parameters]</h3>
+ 		<p>
+ 		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+ 		الهندسة.
+ 		</p>
+
+ 		<h2>الطرق (Methods)</h2>
+ 		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 78 - 0
docs/api/ar/geometries/CircleGeometry.html

@@ -0,0 +1,78 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name] هو شكل بسيط من الهندسة الإقليدية. يتم بناؤه من عدد من الشرائح المثلثية التي تتجه حول نقطة مركزية وتمتد إلى أبعد ما يمكن من نصف قطر معين. يتم بناؤه عكس اتجاه عقارب الساعة من زاوية بدء وزاوية مركزية معينة. يمكن أيضًا استخدامه لإنشاء مضلعات منتظمة، حيث يحدد عدد الشرائح عدد الجوانب.
+		</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#CircleGeometry"
+		></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.CircleGeometry( 5, 32 ); 
+const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); 
+const circle = new THREE.Mesh( geometry, material ); scene.add( circle );
+		</code>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>
+		[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])
+		</h3>
+		<p>
+		radius — نصف قطر الدائرة، الافتراضي = 1.<br />
+		segments — عدد الشرائح (المثلثات)، الحد الأدنى = 3، الافتراضي = 32.<br />
+		thetaStart — زاوية البدء للشريحة الأولى، الافتراضي = 0 (موقع الساعة
+		الثالثة).<br />
+		thetaLength — الزاوية المركزية، وغالبًا ما تسمى ثيتا، للقطاع الدائري. الافتراضي هو 2 * Pi، مما يجعله دائرة كاملة.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+		الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+	 
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 79 - 0
docs/api/ar/geometries/ConeGeometry.html

@@ -0,0 +1,79 @@
+<!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] &rarr; [page:CylinderGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسة المخروط.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#ConeGeometry"></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>مثال الكود</h>
+
+		<code>
+		const geometry = new THREE.ConeGeometry( 5, 20, 32 ); 
+		const material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
+		const cone = new THREE.Mesh(geometry, material ); scene.add( cone );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		<h3>
+		[name]([param:Float radius], [param:Float height], [param:Integer radialSegments], [param:Integer heightSegments], [param:Boolean openEnded], [param:Float thetaStart], [param:Float thetaLength])
+		</h3>
+		<p>
+		radius — نصف قطر قاعدة المخروط. الافتراضي هو 1.<br />
+		height — ارتفاع المخروط. الافتراضي هو 1.<br />
+		radialSegments — عدد الوجوه المقسمة حول محيط
+		المخروط. الافتراضي هو 32<br />
+		heightSegments — عدد صفوف الوجوه على طول ارتفاع المخروط.
+		الافتراضي هو 1.<br />
+		openEnded — مؤشر منطقي يشير إلى ما إذا كانت قاعدة المخروط مفتوحة أو
+		مغلقة. الافتراضي هو false، أي مغلق.<br />
+		thetaStart — زاوية البدء للشريحة الأولى، الافتراضي = 0 (موقع الساعة
+		الثالثة).<br />
+		thetaLength — الزاوية المركزية، وغالبًا ما تسمى ثيتا، للقطاع الدائري. الافتراضي هو 2 * Pi، مما يجعله مخروطًا كاملاً.
+		</p>
+
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:CylinderGeometry] الأساسية للخصائص المشتركة.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+		الهندسة.
+		</p>
+
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:CylinderGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 84 - 0
docs/api/ar/geometries/CylinderGeometry.html

@@ -0,0 +1,84 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسة الأسطوانة.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#CylinderGeometry"
+		></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, 20, 32 ); 
+		const material = new THREE.MeshBasicMaterial( {color: 0xffff00} ); 
+		const cylinder = new THREE.Mesh( geometry, material ); scene.add( cylinder );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		<h3>
+		[name]([param:Float radiusTop], [param:Float radiusBottom], [param:Float height], [param:Integer radialSegments], [param:Integer heightSegments],
+		[param:Boolean openEnded], [param:Float thetaStart], [param:Float thetaLength])
+		</h3>
+		<p>
+		radiusTop — نصف قطر الأسطوانة في الأعلى. الافتراضي هو 1.<br />
+		radiusBottom — نصف قطر الأسطوانة في الأسفل. الافتراضي هو 1.<br />
+		height — ارتفاع الأسطوانة. الافتراضي هو 1.<br />
+		radialSegments — عدد الوجوه المقسمة حول محيط
+		الأسطوانة. الافتراضي هو 32<br />
+		heightSegments — عدد صفوف الوجوه على طول ارتفاع الأسطوانة.
+		الافتراضي هو 1.<br />
+		openEnded — مؤشر منطقي يشير إلى ما إذا كانت طرفي الأسطوانة مفتوحة
+		أو مغلقة. الافتراضي هو false، أي مغلق.<br />
+		thetaStart — زاوية البدء للشريحة الأولى، الافتراضي = 0 (موقع الساعة
+		الثالثة).<br />
+		thetaLength — الزاوية المركزية، وغالبًا ما تسمى ثيتا، للقطاع الدائري. الافتراضي هو 2 * Pi، مما يجعله أسطوانة كاملة.
+		</p>
+
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+		الهندسة.
+		</p>
+
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 64 - 0
docs/api/ar/geometries/DodecahedronGeometry.html

@@ -0,0 +1,64 @@
+<!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] &rarr; [page:PolyhedronGeometry] 
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسات الدوديكاهيدرون.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#DodecahedronGeometry"
+		></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>المنشئ (Constructor)</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — نصف قطر الدوديكاهيدرون. الافتراضي هو 1.<br />
+		detail — الافتراضي هو 0. تعيين هذه القيمة إلى قيمة أكبر من 0 يضيف
+		الرؤوس مما يجعله لم يعد دوديكاهيدرون.
+		</p>
+
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للخصائص المشتركة.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+		الهندسة.
+		</p>
+
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للطرق المشتركة.</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/geometries/EdgesGeometry.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:BufferGeometry] &rarr;
+	 
+		<h1>[name]</h1>
+	 
+		<p class="desc">
+		يمكن استخدام هذا ككائن مساعد لعرض حواف
+		[page:BufferGeometry geometry].
+		</p>
+	 
+		<h2>مثال الكود</h2>
+	 
+		<code>
+const geometry = new THREE.BoxGeometry( 100, 100, 100 ); 
+const edges = new THREE.EdgesGeometry( geometry ); 
+const line = new THREE.LineSegments(edges, new THREE.LineBasicMaterial( { color: 0xffffff } ) ); 
+scene.add( line );
+		</code>
+	 
+		<h2>أمثلة (Examples)</h2>
+		<p>[example:webgl_helpers helpers]</p>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>
+		[name]( [param:BufferGeometry geometry], [param:Integer thresholdAngle] )
+		</h3>
+		<p>
+		geometry — أي كائن هندسة.<br />
+		thresholdAngle — يتم عرض الحافة فقط إذا كانت الزاوية (بالدرجات)
+		بين معايير الوجه للوجوه الملحقة تتجاوز هذه القيمة.
+		الافتراضي = 1 درجة.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+		الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</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/geometries/ExtrudeGeometry.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">
+		[page:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">ينشئ هندسة مُبثوقة من شكل المسار.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#ExtrudeGeometry"
+		></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 length = 12, width = 8;
+
+		const shape = new THREE.Shape();
+		shape.moveTo( 0,0 );
+		shape.lineTo( 0, width );
+		shape.lineTo( length, width );
+		shape.lineTo( length, 0 );
+		shape.lineTo( 0, 0 );
+
+		const extrudeSettings = {
+			steps: 2,
+			depth: 16,
+			bevelEnabled: true,
+			bevelThickness: 1,
+			bevelSize: 1,
+			bevelOffset: 0,
+			bevelSegments: 1
+		};
+
+		const geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );
+		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+		const mesh = new THREE.Mesh( geometry, material ) ;
+		scene.add( mesh );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		<h3>[name]([param:Array shapes], [param:Object options])</h3>
+		<p>
+		shapes — شكل أو مصفوفة من الأشكال. <br />
+		options — كائن يمكن أن يحتوي على المعلمات التالية.
+		</p>
+	 
+		<ul>
+		<li>
+		curveSegments — int. عدد النقاط على المنحنيات. الافتراضي هو 12.
+		</li>
+		<li>
+		steps — int. عدد النقاط المستخدمة لتقسيم الشرائح على طول
+		عمق المنحنى المبثوق. الافتراضي هو 1.
+		</li>
+		<li>depth — float. عمق لإبعاد الشكل. الافتراضي هو 1.</li>
+		<li>
+		bevelEnabled — bool. تطبيق التجعيد على الشكل. الافتراضي هو true.
+		</li>
+		<li>
+		bevelThickness — float. مدى اختراق التجعيد في الشكل الأصلي.
+		الافتراضي هو 0.2.
+		</li>
+		<li>
+		bevelSize — float. المسافة من مخطط الشكل التي يمتد فيها التجعيد.
+		الافتراضي هو bevelThickness - 0.1.
+		</li>
+		<li>
+		bevelOffset — float. المسافة من مخطط الشكل التي يبدأ فيها التجعيد.
+		الافتراضي هو 0.
+		</li>
+		<li>bevelSegments — int. عدد طبقات التجعيد. الافتراضي هو 3.</li>
+		<li>
+		extrudePath — THREE.Curve. مسار منحنى ثلاثي الأبعاد يجب أن يتم إبعاد
+		الشكل على طوله. لا يتم دعم التجعيد لإبعاد المسار.
+		</li>
+		<li>UVGenerator — Object. كائن يوفر وظائف مولد UV</li>
+		</ul>
+	 
+		<p>هذا الكائن يبعد شكل ثنائي الأبعاد إلى هندسة ثلاثية الأبعاد.</p>
+	 
+		<p>
+		عند إنشاء شبكة بهذه الهندسة، إذا كنت ترغب في استخدام مادة منفصلة لوجهها
+		وجوانبها المبثوقة، يمكنك استخدام مصفوفة من المواد. سيتم تطبيق المادة
+		الأولى على الوجه؛ سيتم تطبيق المادة الثانية على الجانب.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+		الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+	 
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 64 - 0
docs/api/ar/geometries/IcosahedronGeometry.html

@@ -0,0 +1,64 @@
+<!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] &rarr; [page:PolyhedronGeometry] &rarr;
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسة الإيكوساهيدرون.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#IcosahedronGeometry"
+		></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>المنشئ (Constructor)</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — الافتراضي هو 1. <br />
+		detail — الافتراضي هو 0. تعيين هذه القيمة إلى قيمة أكبر من 0 يضيف المزيد
+		من الرؤوس مما يجعله لم يعد إيكوساهيدرون. عندما يكون التفصيل أكبر من
+		1، فهو عبارة عن كرة بشكل فعال.
+		</p>
+
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للخصائص المشتركة.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن يحتوي على خاصية لكل من معلمات المنشئ. أي تعديل بعد التجسيد لا يغير
+		الهندسة.
+		</p>
+
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 83 - 0
docs/api/ar/geometries/LatheGeometry.html

@@ -0,0 +1,83 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			ينشئ شبكات مع تماثل محوري مثل الفازات. يدور الخراطة حول المحور Y.
+		</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#LatheGeometry"
+		></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 points = [];
+		for ( let i = 0; i < 10; i ++ ) {
+			points.push( new THREE.Vector2( Math.sin( i * 0.2 ) * 10 + 5, ( i - 5 ) * 2 ) );
+		}
+		const geometry = new THREE.LatheGeometry( points );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		const lathe = new THREE.Mesh( geometry, material );
+		scene.add( lathe );
+		</code>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>
+		[name]([param:Array points], [param:Integer segments], [param:Float
+		phiStart], [param:Float phiLength])
+		</h3>
+		<p>
+		points — مصفوفة من Vector2s. يجب أن يكون الإحداثي x لكل نقطة أكبر من الصفر. الافتراضي هو مصفوفة مع (0، -0.5) ، (0.5، 0) و (0، 0.5) التي تنشئ شكل الماس البسيط.<br />
+		segments — عدد قطاعات المحيط التي يتم إنشاؤها. الافتراضي هو
+		12.<br />
+		phiStart — الزاوية الابتدائية بالراديان. الافتراضي هو 0.<br />
+		phiLength — المدى الرادياني (0 إلى 2PI) للقسم الملتوي 2PI هو مخرطة مغلقة ، أقل من 2PI هو جزء. الافتراضي هو 2PI.
+		</p>
+		<p>هذا ينشئ [name] بناءً على المعلمات.</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</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/geometries/OctahedronGeometry.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:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسة الأوكتاهيدرون.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#OctahedronGeometry"
+		></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>المنشئ (Constructor)</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — نصف قطر الثماني. الافتراضي هو 1.<br />
+		detail — الافتراضي هو 0. تعيين هذه القيمة إلى قيمة أكبر من الصفر يضيف
+		الرؤوس مما يجعله لم يعد ثمانيًا.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 75 - 0
docs/api/ar/geometries/PlaneGeometry.html

@@ -0,0 +1,75 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسات الطائرة.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#PlaneGeometry"
+		></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.PlaneGeometry( 1, 1 );
+const material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
+const plane = new THREE.Mesh( geometry, material );
+scene.add( plane );
+		</code>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>
+		[name]([param:Float width], [param:Float height], [param:Integer
+		widthSegments], [param:Integer heightSegments])
+		</h3>
+		<p>
+		width — العرض على طول المحور X. الافتراضي هو 1.<br />
+		height — الارتفاع على طول المحور Y. الافتراضي هو 1.<br />
+		widthSegments — اختياري. الافتراضي هو 1. <br />
+		heightSegments — اختياري. الافتراضي هو 1.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 68 - 0
docs/api/ar/geometries/PolyhedronGeometry.html

@@ -0,0 +1,68 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			متعدد الأوجه هو صلب في ثلاثة أبعاد مع وجوه مسطحة. ستأخذ هذه الفئة مصفوفة من الرؤوس ، وتعرضها على كرة ، ثم تقسمها إلى المستوى المطلوب من التفاصيل. يتم استخدام هذه الفئة بواسطة [page:DodecahedronGeometry] ، [page:IcosahedronGeometry] ، [page:OctahedronGeometry] ، و [page:TetrahedronGeometry] لإنشاء هندساتهم المعنية.
+		</p>
+
+		<h2>Code Example</h2>
+		<code>
+const verticesOfCube = [
+  	-1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,
+  	-1,-1, 1,    1,-1, 1,    1, 1, 1,    -1, 1, 1,
+];
+
+const indicesOfFaces = [
+  	2,1,0,    0,3,2,
+  	0,4,7,    7,3,0,
+  	0,1,5,    5,4,0,
+  	1,2,6,    6,5,1,
+  	2,3,7,    7,6,2,
+  	4,5,6,    6,7,4
+];
+
+const geometry = new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 6, 2 );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		<h3>
+		[name]([param:Array vertices], [param:Array indices], [param:Float radius], [param:Integer detail])
+		</h3>
+		<p>
+		vertices — [page:Array] من النقاط على شكل [1،1،1، -1، -1، -1، ...]
+		<br />
+		indices — [page:Array] من الفهارس التي تشكل وجوه الشكل
+		[0،1،2، 2،3،0، ...] <br />
+		radius — [page:Float] - نصف قطر الشكل النهائي <br />
+		detail — [page:Integer] - عدد المستويات لتقسيم الهندسة. كلما كان التفصيل أكثر ، كان الشكل أكثر نعومة.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</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/geometries/RingGeometry.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">
+		[page:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسة حلقة ثنائية الأبعاد.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#RingGeometry"></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>Code Example</h2>
+
+		<code>
+		const geometry = new THREE.RingGeometry( 1, 5, 32 ); 
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
+		const mesh = new THREE.Mesh( geometry, material ); scene.add( mesh );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		<h3>
+		[name]([param:Float innerRadius], [param:Float outerRadius],
+		[param:Integer thetaSegments], [param:Integer phiSegments], [param:Float thetaStart], [param:Float thetaLength])
+		</h3>
+		<p>
+		innerRadius — الافتراضي هو 0.5. <br />
+		outerRadius — الافتراضي هو 1. <br />
+		thetaSegments — عدد القطاعات. يعني الرقم الأعلى أن الحلقة ستكون
+		أكثر دائرية. الحد الأدنى هو 3. الافتراضي هو 32. <br />
+		phiSegments — الحد الأدنى هو 1. الافتراضي هو 1.<br />
+		thetaStart — زاوية البدء. الافتراضي هو 0. <br />
+		thetaLength — زاوية مركزية. الافتراضي هو Math.PI * 2.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</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/geometries/ShapeGeometry.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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			ينشئ هندسة متعددة الأضلاع من جانب واحد من شكل واحد أو أكثر من المسارات.
+		</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#ShapeGeometry"
+		></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>Code Example</h2>
+
+		<code>
+		const x = 0, y = 0;
+
+		const heartShape = new THREE.Shape();
+
+		heartShape.moveTo( x + 5, y + 5 );
+		heartShape.bezierCurveTo( x + 5, y + 5, x + 4, y, x, y );
+		heartShape.bezierCurveTo( x - 6, y, x - 6, y + 7,x - 6, y + 7 );
+		heartShape.bezierCurveTo( x - 6, y + 11, x - 3, y + 15.4, x + 5, y + 19 );
+		heartShape.bezierCurveTo( x + 12, y + 15.4, x + 16, y + 11, x + 16, y + 7 );
+		heartShape.bezierCurveTo( x + 16, y + 7, x + 16, y, x + 10, y );
+		heartShape.bezierCurveTo( x + 7, y, x + 5, y + 5, x + 5, y + 5 );
+
+		const geometry = new THREE.ShapeGeometry( heartShape );
+		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+		const mesh = new THREE.Mesh( geometry, material ) ;
+		scene.add( mesh );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		<h3>[name]([param:Array shapes], [param:Integer curveSegments])</h3>
+ 		<p>
+ 		shapes — [page:Array] من الأشكال أو [page:Shape shape] واحد. الافتراضي هو
+ 		شكل مثلث واحد.<br />
+ 		curveSegments - [page:Integer] - عدد القطاعات لكل شكل. الافتراضي هو
+ 		12.
+ 		</p>
+
+ 		<h2>الخصائص (Properties)</h2>
+ 		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+
+ 		<h3>[property:Object parameters]</h3>
+ 		<p>
+ 		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+ 		</p>
+
+ 		<h2>الطرق (Methods)</h2>
+ 		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</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/geometries/SphereGeometry.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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسات الكرة.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#SphereGeometry"
+		></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.SphereGeometry( 15, 32, 16 ); 
+const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); 
+const sphere = new THREE.Mesh( geometry, material ); scene.add( sphere );
+		</code>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>
+		[name]([param:Float radius], [param:Integer widthSegments], [param:Integer heightSegments], [param:Float phiStart], [param:Float phiLength],
+		[param:Float thetaStart], [param:Float thetaLength])
+		</h3>
+	 
+		<p>
+		radius — نصف قطر الكرة. الافتراضي هو 1.<br />
+		widthSegments — عدد القطاعات الأفقية. القيمة الدنيا هي 3 ، والافتراضي هو
+		32.<br />
+		heightSegments — عدد القطاعات العمودية. القيمة الدنيا هي 2 ، والافتراضي هو
+		16.<br />
+		phiStart — حدد زاوية البدء الأفقية. الافتراضي هو 0.<br />
+		phiLength — حدد حجم زاوية المسح الأفقية. الافتراضي هو Math.PI *
+		2.<br />
+		thetaStart — حدد زاوية البدء العمودية. الافتراضي هو 0.<br />
+		thetaLength — حدد حجم زاوية المسح العمودية. الافتراضي هو Math.PI.<br />
+		</p>
+	 
+		<p>
+		يتم إنشاء الهندسة عن طريق التمرير وحساب قمم حول المحور Y
+		(المسح الأفقي) والمحور Z (المسح العمودي). وبالتالي ، يمكن إنشاء كرات ناقصة (شبيهة بـ `'شرائح كروية'`) من خلال استخدام قيم مختلفة من phiStart و phiLength و thetaStart و thetaLength ، لتحديد النقاط التي نبدأ فيها (أو ننهي) حساب تلك
+		قمم.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 62 - 0
docs/api/ar/geometries/TetrahedronGeometry.html

@@ -0,0 +1,62 @@
+<!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] &rarr; [page:PolyhedronGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسات التيتراهيدرون.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#TetrahedronGeometry"
+		></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>المنشئ (Constructor)</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — نصف قطر المنشور الرباعي. الافتراضي هو 1.<br />
+		detail — الافتراضي هو 0. تعيين هذه القيمة إلى قيمة أكبر من 0 يضيف
+		الرؤوس مما يجعله لم يعد منشورًا رباعيًا.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:PolyhedronGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 75 - 0
docs/api/ar/geometries/TorusGeometry.html

@@ -0,0 +1,75 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">فئة لإنشاء هندسات التوروس.</p>
+
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#TorusGeometry"
+		></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.TorusGeometry( 10, 3, 16, 100 ); 
+const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); 
+const torus = new THREE.Mesh( geometry, material ); scene.add( torus );
+		</code>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>
+		[name]([param:Float radius], [param:Float tube], [param:Integer radialSegments], [param:Integer tubularSegments], [param:Float arc])
+		</h3>
+		<p>
+		radius - نصف قطر الدائرة ، من مركز الدائرة إلى مركز
+		الأنبوب. الافتراضي هو 1. <br />
+		tube — نصف قطر الأنبوب. الافتراضي هو 0.4. <br />
+		radialSegments — الافتراضي هو 12 <br />
+		tubularSegments — الافتراضي هو 48. <br />
+		arc — زاوية مركزية. الافتراضي هو Math.PI * 2.
+		</p>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 84 - 0
docs/api/ar/geometries/TorusKnotGeometry.html

@@ -0,0 +1,84 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			ينشئ عقدة دائرية ، والتي يتم تحديد شكلها الخاص من خلال زوج من الأعداد الصحيحة المتباينة ، p و q. إذا لم يكن p و q متباينين ، فسيكون النتيجة رابط دائري.
+		</p>
+		 
+		<iframe
+			id="scene"
+			src="scenes/geometry-browser.html#TorusKnotGeometry"
+		></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.TorusKnotGeometry( 10, 3, 100, 16 ); 
+const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); 
+const torusKnot = new THREE.Mesh( geometry, material ); scene.add( torusKnot );
+		</code>
+	 
+		<h2>المنشئ (Constructor)</h2>
+	 
+		<h3>
+		[name]([param:Float radius], [param:Float tube], [param:Integer tubularSegments], [param:Integer radialSegments], [param:Integer p],
+		[param:Integer q])
+		</h3>
+		<ul>
+		<li>radius - نصف قطر الدائرة. الافتراضي هو 1.</li>
+		<li>tube — نصف قطر الأنبوب. الافتراضي هو 0.4.</li>
+		<li>tubularSegments — الافتراضي هو 64.</li>
+		<li>radialSegments — الافتراضي هو 8.</li>
+		<li>
+		p — هذه القيمة تحدد ، عدد مرات التفاف الهندسة حول محورها
+		التناظر الدوار. الافتراضي هو 2.
+		</li>
+		<li>
+		q — هذه القيمة تحدد ، عدد مرات التفاف الهندسة حول دائرة في داخل
+		الدائرة. الافتراضي هو 3.
+		</li>
+		</ul>
+	 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+	 
+		<h3>[property:Object parameters]</h3>
+		<p>
+		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+		</p>
+	 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 103 - 0
docs/api/ar/geometries/TubeGeometry.html

@@ -0,0 +1,103 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">ينشئ أنبوبًا يُبثق على طول منحنى ثلاثي الأبعاد.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#TubeGeometry"></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>
+		class CustomSinCurve extends THREE.Curve {
+
+			constructor( scale = 1 ) {
+				super();
+				this.scale = scale;
+			}
+
+			getPoint( t, optionalTarget = new THREE.Vector3() ) {
+
+				const tx = t * 3 - 1.5;
+				const ty = Math.sin( 2 * Math.PI * t );
+				const tz = 0;
+
+				return optionalTarget.set( tx, ty, tz ).multiplyScalar( this.scale );
+			}
+		}
+
+		const path = new CustomSinCurve( 10 );
+		const geometry = new THREE.TubeGeometry( path, 20, 2, 8, false );
+		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+		const mesh = new THREE.Mesh( geometry, material );
+		scene.add( mesh );
+		</code>
+
+		<h2>المنشئ (Constructor)</h2>
+
+		 <h3>
+ 		[name]([param:Curve path], [param:Integer tubularSegments], [param:Float radius], [param:Integer radialSegments], [param:Boolean closed])
+ 		</h3>
+ 		<p>
+ 		path — [page:Curve] - مسار ثلاثي الأبعاد يرث من فئة [page:Curve] الأساسية
+		. الافتراضي هو منحنى بيزير رباعي.<br />
+ 		tubularSegments — [page:Integer] - عدد القطاعات التي تشكل
+ 		الأنبوب. الافتراضي هو `64`.<br />
+ 		radius — [page:Float] - نصف قطر الأنبوب. الافتراضي هو `1`.<br />
+ 		radialSegments — [page:Integer] - عدد القطاعات التي تشكل
+ 		المقطع العرضي. الافتراضي هو `8`.<br />
+ 		closed — [page:Boolean] هل الأنبوب مفتوح أم مغلق. الافتراضي هو `false`.<br />
+ 		</p>
+
+ 		<h2>الخصائص (Properties)</h2>
+ 		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+
+ 		<h3>[property:Object parameters]</h3>
+ 		<p>
+ 		كائن به خاصية لكل من معلمات المُنشئ. أي تعديل بعد التجسيد لا يغير الهندسة.
+ 		</p>
+
+ 		<h3>[property:Array tangents]</h3>
+ 		<p>مصفوفة من المماسات [page:Vector3]</p>
+
+ 		<h3>[property:Array normals]</h3>
+ 		<p>مصفوفة من المعايير [page:Vector3]</p>
+
+ 		<h3>[property:Array binormals]</h3>
+ 		<p>مصفوفة من المعايير المزدوجة [page:Vector3]</p>
+
+ 		<h2>الطرق (Methods)</h2>
+ 		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 54 - 0
docs/api/ar/geometries/WireframeGeometry.html

@@ -0,0 +1,54 @@
+<!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] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			يمكن استخدام هذا ككائن مساعد لعرض [page:BufferGeometry geometry] كإطار سلكي.
+		</p>
+
+		<h2>مثال الكود</h2>
+		 
+		<code>
+		const geometry = new THREE.SphereGeometry( 100, 100, 100 );
+		 
+		const wireframe = new THREE.WireframeGeometry( geometry );
+		 
+		const line = new THREE.LineSegments( wireframe );
+		line.material.depthTest = false;
+		line.material.opacity = 0.25;
+		line.material.transparent = true;
+		 
+		scene.add( line );
+		</code>
+		 
+		<h2>أمثلة (Examples)</h2>
+		 
+		<p>[example:webgl_helpers helpers]</p>
+		 
+		<h2>المنشئ (Constructor)</h2>
+		 
+		<h3>[name]( [param:BufferGeometry geometry] )</h3>
+		<p>geometry — أي كائن هندسي.</p>
+		 
+		<h2>الخصائص (Properties)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للخصائص المشتركة.</p>
+		 
+		<h2>الطرق (Methods)</h2>
+		<p>انظر فئة [page:BufferGeometry] الأساسية للطرق المشتركة.</p>
+
+		<h2>المصدر (Source)</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 24 - 0
docs/list.json

@@ -559,6 +559,30 @@
 				"QuadraticBezierCurve": "api/ar/extras/curves/QuadraticBezierCurve",
 				"QuadraticBezierCurve": "api/ar/extras/curves/QuadraticBezierCurve",
 				"QuadraticBezierCurve3": "api/ar/extras/curves/QuadraticBezierCurve3",
 				"QuadraticBezierCurve3": "api/ar/extras/curves/QuadraticBezierCurve3",
 				"SplineCurve": "api/ar/extras/curves/SplineCurve"
 				"SplineCurve": "api/ar/extras/curves/SplineCurve"
+			},
+
+			"Geometries": {
+				"BoxGeometry": "api/ar/geometries/BoxGeometry",
+				"CapsuleGeometry": "api/ar/geometries/CapsuleGeometry",
+				"CircleGeometry": "api/ar/geometries/CircleGeometry",
+				"ConeGeometry": "api/ar/geometries/ConeGeometry",
+				"CylinderGeometry": "api/ar/geometries/CylinderGeometry",
+				"DodecahedronGeometry": "api/ar/geometries/DodecahedronGeometry",
+				"EdgesGeometry": "api/ar/geometries/EdgesGeometry",
+				"ExtrudeGeometry": "api/ar/geometries/ExtrudeGeometry",
+				"IcosahedronGeometry": "api/ar/geometries/IcosahedronGeometry",
+				"LatheGeometry": "api/ar/geometries/LatheGeometry",
+				"OctahedronGeometry": "api/ar/geometries/OctahedronGeometry",
+				"PlaneGeometry": "api/ar/geometries/PlaneGeometry",
+				"PolyhedronGeometry": "api/ar/geometries/PolyhedronGeometry",
+				"RingGeometry": "api/ar/geometries/RingGeometry",
+				"ShapeGeometry": "api/ar/geometries/ShapeGeometry",
+				"SphereGeometry": "api/ar/geometries/SphereGeometry",
+				"TetrahedronGeometry": "api/ar/geometries/TetrahedronGeometry",
+				"TorusGeometry": "api/ar/geometries/TorusGeometry",
+				"TorusKnotGeometry": "api/ar/geometries/TorusKnotGeometry",
+				"TubeGeometry": "api/ar/geometries/TubeGeometry",
+				"WireframeGeometry": "api/ar/geometries/WireframeGeometry"
 			}
 			}
 
 
 		}
 		}