Browse Source

Merge pull request #20079 from hassanMuhamad/dev

Docs: Added more pages
Mr.doob 5 years ago
parent
commit
1c09e7dfbf

+ 5 - 1
docs/list.js

@@ -466,7 +466,11 @@ var list = {
 
 
 			"البدء": {
 			"البدء": {
 				"إنشاء مشهد": "manual/ar/introduction/Creating-a-scene",
 				"إنشاء مشهد": "manual/ar/introduction/Creating-a-scene",
-				"التنصيب": "manual/ar/introduction/Installation",
+				"التثبيت": "manual/ar/introduction/Installation",
+				"دعم المتصفح": "manual/ar/introduction/Browser-support",
+				"WebGL فحص توافق": "manual/ar/introduction/WebGL-compatibility-check",
+				"كيف تدير الأشياء محليًا": "manual/ar/introduction/How-to-run-things-locally",
+				"Typescript إعدادات": "manual/ar/introduction/Typescript-setup",
 			},
 			},
 
 
 		},
 		},

+ 135 - 0
docs/manual/ar/introduction/Browser-support.html

@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8">
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+		<style>
+			h1,
+			h2,
+			h3,
+			h4,
+			p,
+			ul,
+			table {
+				direction: rtl !important;
+			}
+		</style>
+	</head>
+	<body>
+		<h1>([name]) دعم المتصفح</h1>
+
+		<h2>نظرة عامة</h2>
+		<div>
+			<p>
+				يمكن لـ Three.js استخدام WebGL لعرض المشاهد الخاصة بك على جميع المتصفحات الحديثة. بالنسبة إلى المتصفحات الأقدم ، وخاصة Internet Explorer 10 والإصدارات الأقدم ، قد تضطر إلى الرجوع إلى أحد المستعرضات الأخرى [link:https://github.com/mrdoob/three.js/tree/master/examples/jsm/renderers renderers] (CSS2DRenderer و CSS3DRenderer و SVGRenderer). بالإضافة إلى ذلك ، قد تضطر إلى تضمين بعض polyfills ، بالأخص إذا كنت تستخدم ملفات من المجلد [link:https://github.com/mrdoob/three.js/tree/master/examples /examples].
+			</p>
+			<p>
+				ملاحظة: إذا لم تكن بحاجة إلى دعم هذه المتصفحات القديمة ، فلا يوصى باستخدام برامج العارض الأخرى لأنها أبطأ وتدعم ميزات أقل من WebGLRenderer.
+			</p>
+		</div>
+
+		<h2>المتصفحات التي تدعم WebGL</h2>
+		<div>
+			<p>
+				Google Chrome 9+, Firefox 4+, Opera 15+, Safari 5.1+, Internet Explorer 11 و Microsoft Edge.<br/>
+				يمكنك العثور على المتصفحات التي تدعم WebGL في [link:https://caniuse.com/#feat=webgl Can I use WebGL].
+			</p>
+		</div>
+
+		<h2>ميزات لغة JavaScript أو واجهات الويب البرمجية المستخدمة في three.js</h2>
+		<div>
+			<p>
+				فيما يلي بعض الميزات المستخدمة في three.js. قد يتطلب بعض منهم polyfills إضافية.
+			</p>
+			<table>
+				<thead>
+					<tr>
+						<th>الخاصية</th>
+						<th>نطاق الاستخدم</th>
+						<th>الوحدات</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr>
+						<td>Typed Arrays</td>
+						<td>Source</td>
+						<td>BufferAttribute, BufferGeometry, etc.</td>
+					</tr>
+					<tr>
+						<td>Web Audio API</td>
+						<td>Source</td>
+						<td>Audio, AudioContext, AudioListener, etc.</td>
+					</tr>
+					<tr>
+						<td>WebXR Device API</td>
+						<td>Source</td>
+						<td>WebXRManager</td>
+					</tr>
+					<tr>
+						<td>Blob</td>
+						<td>Source</td>
+						<td>FileLoader, etc.</td>
+					</tr>
+					<tr>
+						<td>Promise</td>
+						<td>Examples</td>
+						<td>GLTFLoader, DRACOLoader, BasisTextureLoader, GLTFExporter, VRButton, ARButton, etc.</td>
+					</tr>
+					<tr>
+						<td>Fetch</td>
+						<td>Examples</td>
+						<td>ImageBitmapLoader, etc.</td>
+					</tr>
+					<tr>
+						<td>File API</td>
+						<td>Examples</td>
+						<td>GLTFExporter, etc.</td>
+					</tr>
+					<tr>
+						<td>URL API</td>
+						<td>Examples</td>
+						<td>GLTFLoader, etc.</td>
+					</tr>
+					<tr>
+						<td>Pointer Lock API</td>
+						<td>Examples</td>
+						<td>PointerLockControls</td>
+					</tr>
+				</tbody>
+			</table>
+		</div>
+
+		<h2>Polyfills</h2>
+		<div>
+			<p>فقط قم باستيراد polyfills بناءً على متطلباتك. إذا أخذنا IE9 كمثال ، فأنت بحاجة إلى ملء هذه الميزات على الأقل:</p>
+			<ul>
+				<li>Typed Arrays</li>
+				<li>Blob</li>
+			</ul>
+		</div>
+
+		<h3>مقترح polyfills</h3>
+		<div>
+			<ul>
+				<li>
+					[link:https://github.com/zloirock/core-js core-js]
+				</li>
+				<li>
+					[link:https://github.com/inexorabletash/polyfill/blob/master/typedarray.js typedarray.js]
+				</li>
+				<li>
+					[link:https://github.com/stefanpenner/es6-promise/ ES6-Promise]
+				</li>
+				<li>
+					[link:https://github.com/eligrey/Blob.js Blob.js]
+				</li>
+				<li>
+					[link:https://github.com/github/fetch fetch]
+				</li>
+			</ul>
+		</div>
+	</body>
+</html>

+ 151 - 0
docs/manual/ar/introduction/How-to-run-things-locally.html

@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8">
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+		<style>
+			h1,
+			h2,
+			h3,
+			h4,
+			p,
+			div {
+				direction: rtl !important;
+			}
+		</style>
+	</head>
+	<body>
+		<h1>كيف تدير الأشياء محليًا</h1>
+		<p>
+			إذا كنت تستخدم الأشكال الهندسية الإجرائية فقط ولا تقوم بتحميل أي مواد ، فيجب أن تعمل صفحات الويب مباشرة من نظام الملفات ، فقط انقر نقرًا مزدوجًا فوق ملف HTML في مدير الملفات
+			يجب أن يعرض محتوى الصفحة في المتصفح (سترى <em>file:///yourFile.html</em> في شريط العناوين).
+		</p>
+
+		<h2>المحتوى الذي تم تحميله من ملفات خارجية</h2>
+		<div>
+			<p>
+				إذا قمت بتحميل نماذج وأنسجة من ملفات خارجية ، نظرًا لقيود أمان المتصفحات [link:http://en.wikipedia.org/wiki/Same_origin_policy same origin policy] ، فسيفشل التحميل من نظام الملفات مع استثناء أمان.
+		 	</p>
+
+			<p>هناك طريقتان لحل هذا:</p>
+
+			<ol>
+				<li>
+					قم بتغيير أمان الملفات المحلية في المستعرض. يتيح لك ذلك الوصول إلى صفحتك على النحو التالي: <code>file:///yourFile.html</code>
+				</li>
+				<li>
+					قم بتشغيل الملفات من خادم ويب محلي. يتيح لك هذا الوصول إلى صفحتك على النحو التالي: <code>http://localhost/yourFile.html</code>
+				</li>
+			</ol>
+
+			<p>
+				إذا كنت تستخدم الخيار 1 ، فاعلم أنك قد تفتح نفسك لبعض نقاط الضعف إذا كنت تستخدم نفس المتصفح لتصفح الويب. قد ترغب في إنشاء ملف تعريف / اختصار متصفح منفصل يستخدم فقط للتطور لتكون في مأمن. دعنا نمر إلى كل خيار على حدة.
+			</p>
+		</div>
+
+
+		<h2>قم بتشغيل خادم محلي</h2>
+		<div>
+			<p>
+				تحتوي العديد من لغات البرمجة على خوادم HTTP بسيطة مضمنة فيها. فهي ليست كاملة الميزات مثل خوادم الإنتاج مثل [link:https://www.apache.org/ Apache] أو [link:https://nginx.org NGINX] ، ولكن يجب أن تكون كافية لاختبار تطبيق three.js الخاص بك.
+			</p>
+			
+			<h3>إضافات لمحررات الأكواد الأكثر إستعمالا</h3>
+			<div>
+				<p>تحتوي بعض برامج تحرير الأكواد على مكونات إضافية والتي ستنتج خادمًا بسيطًا عند الطلب.</p>
+				<ul>
+					<li>[link:https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer Live Server] لـ Visual Studio Code.</li>
+					<li>[link:https://atom.io/packages/atom-live-server Live Server] لـ Atom.</li>
+				</ul>
+			</div>
+
+			<h3>Servez</h3>
+			<div>
+				<p>
+					[link:https://greggman.github.io/servez Servez] هو خادم بسيط مع واجهة المستخدم.
+				</p>
+			</div>
+
+			<h3>Node.js http-server</h3>
+			<div>
+				<p>يحتوي Node.js على حزمة خادم HTTP بسيطة. لتثبيت:</p>
+				<code>npm install http-server -g</code>
+
+				<p>للتشغيل (من دليلك المحلي):</p>
+				<code>http-server . -p 8000</code>
+			</div>
+
+			<h3>خادم Python</h3>
+			<div>
+				<p>
+					إذا كان لديك [link:http://python.org/ Python] مثبتًا ، فيجب أن يكون كافيًا لتشغيل هذا من سطر أوامر (من دليل العمل الخاص بك):
+				</p>
+				<code>
+//Python 2.x
+python -m SimpleHTTPServer
+
+//Python 3.x
+python -m http.server
+				</code>
+
+				<p>سيخدم هذا الملفات من الدليل الحالي في المضيف المحلي تحت المنفذ 8000 ، كمثال في شريط العنوان اكتب:</p>
+
+				<code>http://localhost:8000/</code>
+			</div>
+
+			<h3>خادم Ruby</h3>
+			<div>
+				<p>إذا قمت بتثبيت Ruby ، فيمكنك الحصول على نفس النتيجة بتشغيل هذا بدلاً من ذلك:</p>
+				<code>
+ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
+				</code>
+			</div>
+
+			<h3>خادم PHP</h3>
+			<div>
+				<p>تحتوي PHP أيضًا على خادم ويب مدمج ، بدءًا من php 5.4.0:</p>
+				<code>php -S localhost:8000</code>
+			</div>
+
+			<h3>Lighttpd</h3>
+			<div>
+				<p>
+					Lighttpd هو خادم ويب خفيف الوزن للغاية للأغراض العامة. سنغطي تثبيته على OSX مع HomeBrew هنا. على عكس الخوادم الأخرى التي تمت مناقشتها هنا ، فإن lighttpd هو خادم جاهز للإنتاج الكامل.
+				</p>
+
+				<ol>
+					<li>
+						تثبيته بواسطة homebrew
+						<code>brew install lighttpd</code>
+					</li>
+					<li>
+						قم بإنشاء ملف ترتيب (configuration) يسمى lighttpd.conf في المجلد حيث تريد تشغيل خادم الويب الخاص بك. يوجد نموذج [link:http://redmine.lighttpd.net/projects/lighttpd/wiki/TutorialConfiguration here].
+					 </li>
+					<li>
+						في ملف conf ، قم بتغيير server.document-root إلى الدليل الذي تريد خدمة الملفات منه.
+					</li>
+					<li>
+						شغله من خلال الأمر التالي:
+						<code>lighttpd -f lighttpd.conf</code>
+					</li>
+					<li>
+						انتقل إلى http://localhost:3000 وسيخدم الملفات الثابتة من الدليل الذي تختاره.
+					</li>
+				</ol>
+			</div>
+			<h3>IIS</h3>
+			<div>
+				<p>إذا كنت تستخدم Microsoft IIS كخادم ويب. الرجاء إضافة إعدادات نوع MIME فيما يتعلق بامتداد .fbx قبل التحميل.</p>
+				<code>File name extension: fbx        MIME Type: text/plain</code>
+				<p>بشكل تلقائي ، يقوم IIS بحظر تنزيل ملفات .fbx و .obj. يجب عليك تعديل IIS لتمكين تنزيل هذا النوع من الملفات.</p>
+			</div>
+			<p>
+				تمت مناقشة البدائل البسيطة الأخرى هنا [link:http://stackoverflow.com/q/12905426/24874 here] على Stack Overflow.
+			</p>
+		</div>
+
+	</body>
+</html>

+ 191 - 0
docs/manual/ar/introduction/Installation.html

@@ -0,0 +1,191 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8">
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+		<style>
+			h1,
+			h2,
+			h3,
+			h4,
+			p {
+				direction: rtl !important;
+			}
+		</style>
+	</head>
+	<body>
+		<h1>التثبيت ([name])</h1>
+
+		<p>
+			يمكنك تنصيب three.js بإستعمال [link:https://www.npmjs.com/ npm] و وسائل البناء الحديثة، أو قم بالبدأ فقط
+        	بإستعمال إصدار ثابت متوفر عبر خدمة CDN.
+        	بالنسبة لأغلب المستخدمين تنصيب المكتبة بإستعمال npm هو الخيار الأفضل.
+		</p>
+
+		<p>
+			بغض النظر عن إختيارك، كن حريصا على أن تقوم بإستدعاء جميع الملفات التي تنتمي لنفس الإصدار. خلط ملفات من إصدارات
+			مختلفة قد ينتج منه بعض السلوكات الغير متوقعة.
+		</p>
+
+		<p>
+			جميع طرق تنصيب three.js بناءا على ES modules (شاهد
+			[link:https://eloquentjavascript.net/10_modules.html#h_hF2FmOVxw7 Eloquent JavaScript: ECMAScript Modules])،
+			التي تمكنك من إستدعاء أجزاء معينة من المكتبة دون الحاجة لإستدعاء المصدر كله.
+		</p>
+
+		<h2>التثبيت بإستعمال npm</h2>
+
+		<p>
+			لتنصيب وحدة (npm module) [link:https://www.npmjs.com/package/three three]، قم بفتح نافذة الأوامر في المجلد الخاص
+			بمشروعك و شغل الأمر التالي:
+		</p>
+
+		<code>
+		npm install --save three
+		</code>
+
+		<p>
+			سيتم تحميل الرزمة و تثبيتها. و من ثم تصبح مستعد لإستدعائها كالأتي:
+		</p>
+
+		<code>
+		///////////////////////////////////////////////////////
+		// Option 1: Import the entire three.js core library.
+		import * as THREE from 'three';
+
+		const scene = new THREE.Scene();
+
+
+		///////////////////////////////////////////////////////
+		// Option 2: Import just the parts you need.
+		import { Scene } from 'three';
+
+		const scene = new Scene();
+		</code>
+
+		<p>
+			خلال التنصيب بإستعمال npm، لقد قمت بشكل غير مباشر بإستعمال
+			[link:https://eloquentjavascript.net/10_modules.html#h_zWTXAU93DC bundling tool] لجمع كل الرزم التي يحتاجها
+			مشروعك في ملف JavaScript واحد.
+			بينما يمكن لأي جامع رزم حديث العمل مع three.js، يبقى الخيار الأكثر شيوعا هو
+			[link:https://webpack.js.org/ webpack].
+		</p>
+
+		<p>
+			لا يمكن الوصول لكل المزايا مباشرة من خلال رزمة <em>three</em> (بإستعمال bare import). بقية الأجزاء المستعملة
+			كثيرا من المكتبة مثل
+			الضوابط (controls)،
+			المحمل (loaders)، و آثار ما بعد المعالجة (post-processing effects)، يجب إستدعائهم من مجلد
+			[link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm examples/jsm]. لمعرفة المزيد، قم
+			بزيارة قسم
+			<em>الأمثلة</em>
+			بالأسفل.
+		</p>
+
+		<p>
+			لمعرفة المزيد عن وحدات npm.
+			قم بزيارة [link:https://eloquentjavascript.net/20_node.html#h_J6hW/SmL/a Eloquent JavaScript: Installing with npm].
+		</p>
+
+		<h2>التثبيت من CDN أو استضافة ثابتة</h2>
+
+		<p>
+			يمكن إستعمال مكتبة three.js دون الحاجة إلى نظام بناء، سواءا عبر تحميل الملفات إلى خادم الويب الخاص بك أو باستخدام CDN موجود. بسبب أن المكتبة تعتمد على وحدات ES (modules) يجب على أي شفرة برمجية تشير إليها أن تستخدام <em>type="module"</em> كما هو موضح أسفله:
+		</p>
+
+		<code>
+		&lt;script type="module">
+
+		  // Find the latest version by visiting https://unpkg.com/three. The URL will
+		  // redirect to the newest stable release.
+		  import * as THREE from 'https://unpkg.com/three@&lt;VERSION>/build/three.module.js';
+
+		  const scene = new THREE.Scene();
+
+		&lt;/script>
+		</code>
+
+		<p>
+			ليست كل المزايا يمكن الوصول لها عبر وحدة <em>build/three.module.js</em>. بعض المكونات الأخرى من المكتبة - مثل الضوابط (controls) وعناصر التحميل (loaders) وتأثيرات ما بعد المعالجة (post-processing effects) - يجب إستدعائهم من الملفات الثانوية [link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm examples/jsm].
+		</p>
+
+
+		<h2>أمثلة</h2>
+
+		<p>
+			يركز جوهر three.js على أهم المكونات المكونة لمحرك ثلاثي الأبعاد.  العديد من المكونات المفيدة الأخرى - مثل الضوابط ، عناصر التحميل ، وتأثيرات ما بعد المعالجة - هي جزء من المجلد [link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm examples/jsm]. .يشار إليها باسم "أمثلة" ، لأنه بينما يمكنك استخدامها ببساطة، من المفترض أيضًا إعادة دمجها وتخصيصها. هذه المكونات تضل  متزامنة مع المكتبة الأساسية
+			بينما يتم الاحتفاظ بحزم الجهات الخارجية المماثلة على npm بواسطة أشخاص مختلفين وقد لا تكون محدثة.
+		</p>
+
+		<p>
+			لا يلزم تثبيت الأمثلة بشكل منفصل ، ولكن يجب استيرادها بشكل منفصل. إذا تم تثبيت three.js بواسطة npm ، يمكنك إستدعاء مكون OrbitControls كالأتي:
+		</p>
+
+		<code>
+		import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
+
+		const controls = new OrbitControls();
+		</code>
+
+		<p>
+			إذا تم تثبيت three.js من CDN ، فمن المستحسن إستخدم نفس CDN لتثبيت المكونات الأخرى:
+		</p>
+
+		<code>
+		&lt;script type="module">
+
+		  // Find the latest version by visiting https://unpkg.com/three. The URL will
+		  // redirect to the newest stable release.
+		  import { OrbitControls } from 'https://unpkg.com/three@&lt;VERSION>/examples/jsm/controls/OrbitControls.js';
+
+		  const controls = new OrbitControls();
+
+		&lt;/script>
+		</code>
+
+		<p>
+			من المهم أن تستخدم جميع الملفات نفس الإصدار. لا تستورد أمثلة مختلفة من إصدارات مختلفة، أو تستخدم أمثلة من إصدارات مختلفة عن مكتبة three.js نفسها.
+		</p>
+
+		<h2>التوافق</h2>
+
+		<h3>واردات CommonJS</h3>
+
+		<p>
+			في حين أن معظم حِزم JavaScript الحديثة تدعم الآن وحدات ES افتراضيًا ، فقد لا تدعم بعض أدوات البناء القديمة.
+			في مثل هذه الحالات بإستطاعتك تعديل المجمع لفهم وحدات ES: <br/>
+			[link:http://browserify.org/ Browserify] يحتاج فقط إلى إضافة [link:https://github.com/babel/babelify babelify] على سبيل المثال.
+		</p>
+
+		<h3>خرائط الإستيراد</h3>
+
+		<p>
+			تختلف المسارات المستوردة عند التثبيت من npm ، مقارنة بالتثبيت من استضافة ثابتة أو CDN. نحن ندرك أن هذه مشكلة مريحة لكلا مجموعتي المستخدمين. 
+			يفضل المطورون الذين لديهم أدوات إنشاء وحزم محددات الحزم المجردة (على سبيل المثال "three") بدلاً من المسارات النسبية ، وتستخدم الملفات في المجلد <em>examples/</em> مراجع نسبية إلى <em> three.module.js </em > التي لا تتبع هذا التوقع.
+				أولئك الذين لا يستخدمون أدوات الإنشاء - للنماذج الأولية السريعة أو التعلم أو التفضيل الشخصي - قد يكرهون بالمثل تلك الواردات النسبية ، والتي تتطلب هياكل مجلدات معينة وتكون أقل تسامحًا من مساحة الاسم <em> THREE. * </em> العام.
+		</p>
+
+		<p>
+			نأمل في إزالة هذه المسارات النسبية عندما يصبح [link:https://github.com/WICG/import-maps import maps] متاحًا على نطاق واسع ، واستبدالها بمحددات الحزمة المجردة إلى اسم الحزمة npm ، 'three'. يتطابق هذا مع توقعات أداة الإنشاء لحزم npm بشكل وثيق ، ويسمح لمجموعتي المستخدمين بكتابة نفس الرمز تمامًا عند استيراد ملف. بالنسبة للمستخدمين الذين يفضلون تجنب أدوات الإنشاء ، يمكن أن يوجه تعيين JSON البسيط جميع الواردات إلى CDN أو مجلد ملف ثابت. من الناحية التجريبية ، يمكنك محاولة استخدام عمليات استيراد أبسط اليوم مع تعبئة خريطة الاستيراد ، كما هو موضح في [link:https://glitch.com/edit/#!/three-import-map?path=index.html import map example].
+		</p>
+
+		<h3>Node.js</h3>
+
+		<p>
+			قد يكون استخدام three.js في Node.js أمرًا صعبًا ، وذلك لسببين:
+		</p>
+
+		<p>
+			أولاً ، نظرًا لأن three.js مصممة للويب ، فإنها تعتمد على المتصفح وواجهات برمجة تطبيقات DOM التي لا تتواجد دائمًا في Node.js. يمكن حل بعض هذه المشكلات باستخدام (shims) مثل [link:https://github.com/stackgl/headless-gl headless-gl]، أو عن طريق استبدال مكونات مثل [page: TextureLoader] ببدائل مخصصة. قد تتشابك واجهات برمجة تطبيقات DOM الأخرى بعمق مع الكود الذي يستخدمها ، وسيكون من الصعب حلها. نرحب بطلبات السحب البسيطة والقابلة للصيانة لتحسين دعم Node.js ، لكننا نوصي بفتح مشكلة لمناقشة التحسينات التي أجريتها أولاً.
+		</p>
+
+		<p>
+			ثانيًا ، دعم Node.js لوحدات ES ... معقد. بدءًا من الإصدار 12 من Node.js ، يمكن استيراد المكتبة الأساسية كوحدة نمطية CommonJS ، مع <em>require('three')</em>. ومع ذلك ، فإن معظم أمثلة المكونات في <em>examples/jsm</em> لا يمكنها ذلك.
+			قد تحل الإصدارات المستقبلية من Node.js هذه المشكلة ، ولكن في هذه الأثناء قد تحتاج إلى استخدام حلول بديلة مثل [link:https://github.com/standard-things/esm esm] لتمكين تطبيق Node.js الخاص بك من التعرف على وحدات ES.
+		</p>
+
+	</body>
+</html>

+ 52 - 0
docs/manual/ar/introduction/Typescript-setup.html

@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8">
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+		<style>
+			h1,
+			h2,
+			h3,
+			h4,
+			p {
+				direction: rtl !important;
+			}
+		</style>
+	</head>
+	<body>
+		<h1>Typescript إعدادات</h1>
+
+		<p>
+			three.js هي مكتبة قائمة على JavaScript. ومع ذلك ، من الممكن استخدامه في مشروع TypeScript ، حيث تعرض المكتبة [link:https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html Declaration Files] ملفات التصريح (ملفات * d.ts *).
+		</p>
+
+		<p>
+			الحد الأدنى من التكوين المطلوب لكي يتمكن برنامج التحويل البرمجي TypeScript من
+			اكتشف أنواع three.js.
+			<br>
+			ستحتاج إلى ضبط الخيار [link:https://www.typescriptlang.org/docs/handbook/module-resolution.html moduleResolution] على *node* ، وخيار [link:https://www.typescriptlang.org/docs/handbook/compiler-options.html target] على *es6* أو  ما هو أحدث.
+		</p>
+
+		<code>
+		// Example of minimal `tsconfig.json` file
+		{
+			"compilerOptions": {
+				"target": "es6",
+				"moduleResolution": "node",
+			},
+			"include": [ "./src/**/*.ts" ],
+		}
+		</code>
+
+		<p>
+			ملاحظة: اعتبارًا من اليوم ، ليس من الممكن استخدام كتابة three.js بدون استخدام هذين الخيارين.
+		</p>
+
+		<p>
+			ملاحظة: يحدث أن بعض التصريحات غير صحيحة و / أو مفقودة. تُعد المساهمة في ملفات التصريح مفيدة حقًا للمجتمع ، مما يجعل كتابات three.js أفضل وأكثر دقة.
+		</p>
+	</body>
+</html>

+ 44 - 0
docs/manual/ar/introduction/WebGL-compatibility-check.html

@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8">
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+		<style>
+			h1,
+			h2,
+			h3,
+			h4,
+			p {
+				direction: rtl !important;
+			}
+		</style>
+	</head>
+	<body>
+		<h1>فحص توافق WebGL</h1>
+		<p>
+			على الرغم من أن هذه المشكلة أصبحت أقل وأقل ، إلا أن بعض الأجهزة أو المتصفحات قد لا تدعم WebGL.
+			تتيح لك الطريقة التالية التحقق مما إذا كانت مدعومة وعرض رسالة للمستخدم إذا لم تكن مدعومة.
+		</p>
+
+		<p>
+			أضف [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/WebGL.js] إلى جافا سكريبت الخاص بك وقم بتشغيل ما يلي قبل محاولة تقديم أي شيء.
+		</p>
+
+		<code>
+		if ( WEBGL.isWebGLAvailable() ) {
+
+			// Initiate function or other initializations here
+			animate();
+
+		} else {
+
+			var warning = WEBGL.getWebGLErrorMessage();
+			document.getElementById( 'container' ).appendChild( warning );
+
+		}
+		</code>
+	</body>
+</html>