diff --git a/config.json b/config.json index b9c58235..b01e63e5 100644 --- a/config.json +++ b/config.json @@ -2,6 +2,7 @@ "includeLocalizedVersions": false, "outputDirectory": "docs", "sourceDirectory": "dist", + "translationsDirectory": "translations", "tutorialDirectory": "tutorials", "languages": ["en", "ar"], "translationsDirectory": "translations" diff --git a/crowdin.yml b/crowdin.yml index 2630349c..c82d255d 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,7 +1,7 @@ files: - source: /docs/**/*.qmd - translation: /translation/%two_letters_code%/%original_path%/%original_file_name%.%two_letters_code%.%file_extension% + translation: /translations/%two_letters_code%/%original_path%/%original_file_name%.%two_letters_code%.%file_extension% - source: /docs/**/*.md - translation: /translation/%two_letters_code%/%original_path%/%original_file_name%.%two_letters_code%.%file_extension% + translation: /translations/%two_letters_code%/%original_path%/%original_file_name%.%two_letters_code%.%file_extension% bundles: - 4 diff --git a/translations/ar/docs/chapters/functional doc/index.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/index.qmd.ar.qmd new file mode 100644 index 00000000..d04f2db0 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/index.qmd.ar.qmd @@ -0,0 +1,3 @@ +--- +العنوان: وثيقة وظيفية +--- diff --git a/translations/ar/docs/chapters/functional doc/utilities/commentsutil.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/commentsutil.qmd.ar.qmd new file mode 100644 index 00000000..e1c8ba32 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/commentsutil.qmd.ar.qmd @@ -0,0 +1,95 @@ +#تعليقسوتيل + +يوفر هذا الملف فئات فائدة لتحليل المعلومات واستخراجها + من التعليقات داخل ملفات التعليمات البرمجية. ويتضمن طرقًا لتحديد و + استخراج البيانات الوصفية من تعليقات الوحدة وغير الوحدة، + تسهيل التوثيق بشكل أفضل وفهم بنيات التعليمات البرمجية + مثل الوظائف والمتغيرات والفئات والوحدات النمطية. + + + +## اسم وحدة +`[متغير]` + +**وصف:** +تستخرج هذه الطريقة معلومات كتلة الوحدة من التعليقات، بما في ذلك اسم الوحدة والوصف والفئة والفئة الفرعية والرابط والمراجع. + +**Params:** + + الاسم الوصف +| --- | --- | + تعليقات التعليقات لاستخراج معلومات كتلة الوحدة النمطية منها. | + + + +## وصف +`[متغير]` + +**وصف:** +تستخرج هذه الطريقة معلومات كتلة أخرى من التعليقات، بما في ذلك الوصف، والمشارجات، والربط، والأمثلة، والإرجاع، والأخطاء التي ألقيت والمراجع. + +**Params:** + + الاسم الوصف +| --- | --- | + تعليقات التعليقات لاستخراج معلومات كتلة أخرى منها. | + + + +## محتوى الملف +`[متغير]` + +**وصف:** +تسترجع هذه الطريقة التعليقات من ملف مصدر باستخدام Acorn parser. + +**Params:** + + الاسم الوصف +| --- | --- | + مصدر الملف مصدر الملف لاسترداد التعليقات منه. | + + + +## غير معروف +`[other]` + +**وصف:** +يمثل هذا الصف تعليقا مستخرجا من ملف مصدر. + +**Params:** + + الاسم الوصف +| --- | --- | + النص محتوى النص للتعليق. | + الموقع النهائي الموقع النهائي للتعليق. | + + + +## غير معروف +`[function]` + +**وصف:** +وتحدد هذه الطريقة المعلومات التجميعية للتعليق، بما في ذلك نوع واسم البناء. + +**Params:** + + الاسم الوصف +| --- | --- | + معلومات معلومات البناء التي يجب تعيينها. | + + + +## غير معروف +`[other]` + +**وصف:** +هذه الطريقة تسترجع معلومات الوحدة النمطية من التعليق باستخدام صف التعليقات. + + + +## غير معروف +`[other]` + +**وصف:** +تسترجع هذه الطريقة معلومات كتلة أخرى من التعليق باستخدام صف التعليقات. + diff --git a/translations/ar/docs/chapters/functional doc/utilities/components.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/components.qmd.ar.qmd new file mode 100644 index 00000000..453b5af1 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/components.qmd.ar.qmd @@ -0,0 +1,211 @@ +# المكونات + +يتم استخدام هذه الوحدة لتوليد ملف الـ quarto yml + + + + +## متكررًا yConvertAllStringValuesInObjectToLowerCase +`[function]` + +**وصف:** +تحويل جميع قيم السلسلة بشكل متكرر في كائن إلى أحرف صغيرة + + +**أمثلة:** + +```جافا سكريبت +const obj = { + الاسم: "مرحبا بالعالم"، + الوصف: "هذا وصف"، + blockInfo: { + الاسم: "مرحبا بالعالم"، + الوصف: "هذا وصف"، + }, + }; + متكررًا ConvertAllStringValuesInObjectToLowerCase(obj)؛ + // => { + // الاسم: 'مرحبا بالعالم', + // الوصف: "هذا وصف"، + // blockInfo: { + // الاسم: 'مرحبا بالعالم', + // الوصف: "هذا وصف"، + // }, + // } +``` + + + +## غير معروف +`[other]` + +**وصف:** +إضافة مستند إلى الوحدة + + +**أمثلة:** + +```جافا سكريبت +الوحدة النمطية = وحدة جديدة({ name: 'StringUtil' })؛ + وحدة نمطية = وحدة جديدة ({ + الأصل: 'سلسلة.ts', + البيانات: { + + blockInfo: { + الاسم: 'StringUtil', + الوصف: "يحتوي هذا الفصل على أساليب لمعالجة السلاسل"، + }, + بناء المعلومات: { + النوع: 'صنف'، + الاسم: 'StringUtil', + }, + }, + }); + module.addDoc(moduleDoc)؛ +``` + + + +## غير معروف +`[other]` + +**وصف:** +احصل على المستندات في الوحدة + + +**أمثلة:** + +```جافا سكريبت +الوحدة النمطية = وحدة جديدة({ name: 'StringUtil' })؛ + وحدة نمطية = وحدة جديدة ({ + الأصل: 'سلسلة.ts', + البيانات: { + blockInfo: { + الاسم: 'StringUtil', + الوصف: "يحتوي هذا الفصل على أساليب لمعالجة السلاسل"، + }, + بناء المعلومات: { + النوع: 'صنف'، + الاسم: 'StringUtil', + }, + }, + }); + module.addDoc(moduleDoc)؛ + module.getDocs(); + // => [ModuleDoc] +``` + + + +## غير معروف +`[other]` + + + +## غير معروف +`[other]` + +**وصف:** +تعيين مسار الملف المصدر + + + + +## غير معروف +`[other]` + +**وصف:** +إضافة وحدة إلى الفئة الفرعية + + + + + +## غير معروف +`[other]` + +**وصف:** +الحصول على الوحدات في الفئة الفرعية + + + + + +## غير معروف +`[other]` + +**وصف:** +احصل على اسم الفئة الفرعية + + + + +## فئة +`[class]` + + + +## غير معروف +`[other]` + +**وصف:** +هذا الصف يمثل فئة. + +**Params:** + + الاسم الوصف +| --- | --- | + الاسم اسم الفئة. | + + + +## غير معروف +`[other]` + +**وصف:** +يضيف فئة فرعية إلى الفئة. + +**Params:** + + الاسم الوصف +| --- | --- | + الفئة الفرعية الفئة الفرعية المراد إضافتها. | + + + +## غير معروف +`[other]` + +**وصف:** +يسترجع الفئات الفرعية في الفئة. + + + +## غير معروف +`[other]` + +**وصف:** +يسترد اسم الفئة. + + + +## غير معروف +`[other]` + +**وصف:** +يضيف وحدة إلى الفئة. + +**Params:** + + الاسم الوصف +| --- | --- | + الوحدة النمطية الوحدة المراد إضافتها. | + + + +## غير معروف +`[other]` + +**وصف:** +يسترجع الوحدات النمطية في الفئة. + diff --git a/translations/ar/docs/chapters/functional doc/utilities/constructidentifier.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/constructidentifier.qmd.ar.qmd new file mode 100644 index 00000000..6a33fcf2 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/constructidentifier.qmd.ar.qmd @@ -0,0 +1,102 @@ +# Constructidentifier + +الفصل المسمى بناء، يحتوي على طرق لتحديد أنواع مختلفة من التركيبات البرمجية + (مثل الدوال والمتغيرات والفصول والوحدات) ضمن سطر من الكود. + وتساعد هذه الأساليب في استخراج وتحديد الأسماء المرتبطة بكل نوع من أنواع البناء. + + + +## ConstructIdentifier +`[class]` + + + +## غير معروف +`[function]` + +**وصف:** +يسترجع اسم وحدة بناء من سطر معين من التعليمات البرمجية. + + + +**Params:** + + الاسم الوصف +| --- | --- | + السطر سطر التعليمات البرمجية إلى التحليل. | + + + +## variableX +`[function]` + +**وصف:** +يسترجع اسم بناء الدالة من سطر معين من الكود. + + + +**Params:** + + الاسم الوصف +| --- | --- | + السطر سطر التعليمات البرمجية إلى التحليل. | + + + +## متغير ريجكس +`[متغير]` + +**Params:** + + الاسم الوصف +| --- | --- | + السطر سطر التعليمات البرمجية إلى التحليل. | + + + +## classRegex +`[متغير]` + +**وصف:** +يسترجع اسم بناء الصف الدراسي من سطر معين من الكود. + + + +**Params:** + + الاسم الوصف +| --- | --- | + السطر سطر التعليمات البرمجية إلى التحليل. | + + + +## إعلان +`[function]` + +**وصف:** +يحدد نوع البناء (الدالة، المتغير، الصف، الوحدة، أخرى) من نص الرمز المحدد. + + + +**Params:** + + الاسم الوصف +| --- | --- | + النص النص البرمجي لتحليله. | + + + +## غير معروف +`[function]` + +**وصف:** +يسترجع اسم البناء من نص الكود المعين. + + + +**Params:** + + الاسم الوصف +| --- | --- | + النص النص البرمجي لتحليله. | + diff --git a/translations/ar/docs/chapters/functional doc/utilities/file.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/file.qmd.ar.qmd new file mode 100644 index 00000000..95e8f423 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/file.qmd.ar.qmd @@ -0,0 +1,34 @@ +# ملف + +يتم استخدام هذه الوحدة النمطية لقراءة وكتابة الملفات + + + هذا الملف يقرأ ويحلل ملفات الكود المصدري. + يحدد نوع واسم بناء الرمز المرتبط + على تعليق معين عن طريق دراسة الخطوط التالية للتعليق، + استخدام فئة بناء أطباء الأسنان. + + + +## غير معروف +`[other]` + +**وصف:** +ترجع هذه الطريقة نوع واسم بناء الرمز المرتبط بالتعليق + + + +**أمثلة:** + +```جافا سكريبت +ملف جديد = SourceFile ('file.ts')؛ + + التعليق = تعليق جديد ({ ) + موقع البداية: { line: 1, column: 1 }، + الموقع الطرفي: { line: 1, column: 1 }, + المحتوى: "هذا تعليق" + }); + file.getLinkedCodeConstructInfo(تعليق)؛ + // => { type: 'class', name: 'StringUtil' } +``` + diff --git a/translations/ar/docs/chapters/functional doc/utilities/index.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/index.qmd.ar.qmd new file mode 100644 index 00000000..fa950f4e --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/index.qmd.ar.qmd @@ -0,0 +1,3 @@ +--- +title: المنافع العامة +--- diff --git a/translations/ar/docs/chapters/functional doc/utilities/logger.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/logger.qmd.ar.qmd new file mode 100644 index 00000000..aa20a564 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/logger.qmd.ar.qmd @@ -0,0 +1,5 @@ +# Logger + +يتم استخدام هذه الوحدة لتسجيل الرسائل إلى وحدة التحكم + + diff --git a/translations/ar/docs/chapters/functional doc/utilities/parser.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/parser.qmd.ar.qmd new file mode 100644 index 00000000..40da9dd9 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/parser.qmd.ar.qmd @@ -0,0 +1,157 @@ +# Parser + +هذا الملف مسؤول عن تحليل التعليقات في ملفات التعليمات البرمجية. + وهي تستخرج أجزاء مختلفة من المعلومات مثل + وصف الفئة، الفئة الفرعية، الرابط، المعلمات، قيم الإرجاع، + و ألقى أخطاء من التعليقات باستخدام التعبيرات العادية. + + + +## وصف المطابقة +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج الوصف من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getDescription(تعليق) => "هذه الطريقة سوف تستخرج الوصف من كتلة التعليقات" +``` + + + +## فئة المطابقات +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج الفئة من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getcategorory(تعليق) => 'StringUtil' +``` + + + +## subCategoryRegex +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج الفئة الفرعية من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getSubcategorory(تعليق) => 'StringUtil' +``` + + + +## رابط Regex +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج الرابط من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getLink(تعليق) => 'StringUtil' +``` + + + +## paramsRegex +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج كل البارام من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getParams(تعليق) => [{name: 'str', type: 'string', description: 'The string to convert to camel case'}] +``` + + + +## moduleRegex +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج اسم الوحدة من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getModuleName(تعليق) => 'StringUtil' +``` + + + +## عمليات الإرجاع +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج المردود من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getReturnsValues(تعليق) => [{type: 'string', description: 'The string to convert to camel case'}] +``` + + + +## exampleRegex +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج الأمثلة من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getexamples(comy) => ['StringUtil.convertToCamelCase(\'hello world\') => \'helloWorld\'] +``` + + + +## الرماة +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج الأخطاء الملقاة من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getThrownErrors(تعليق) => [{type: 'Error', description: 'The string to convert to camel case'}] +``` + + + +## مراجع Regex +`[متغير]` + +**وصف:** +هذه الطريقة سوف تستخرج المراجع من كتلة التعليقات + + +**أمثلة:** + +```جافا سكريبت +Parser.getReferences(تعليق) =[{text: 'StringUtil', type: 'localModule'}] +``` + diff --git a/translations/ar/docs/chapters/functional doc/utilities/writer.qmd.ar.qmd b/translations/ar/docs/chapters/functional doc/utilities/writer.qmd.ar.qmd new file mode 100644 index 00000000..4f860132 --- /dev/null +++ b/translations/ar/docs/chapters/functional doc/utilities/writer.qmd.ar.qmd @@ -0,0 +1,122 @@ +# كاتب + +هذه الوحدة النصية النصية (كاتب) تحتوي على فئات ووظائف + لتوليد هيكل الوثائق ومحتواها. + يتفاعل مع مختلف الملفات والدلائل لتنظيم + فصول التوثيق، وكتابة المحتوى إلى ملفات markdown، + و إنشاء إعداد quarto yaml لكتاب الوثائق. + + ملاحظة: هذه الوحدة لم تكتمل بعد ولا تزال قيد التطوير. + + + +## _أ +`[متغير]` + + + +## غير معروف +`[other]` + +**وصف:** +تنسيق أسماء الملفات عن طريق إزالة جميع الشرطات السفلية `(_)` + + + + +## غير معروف +`[other]` + +**وصف:** +هذه الطريقة تولد ملف تكوين Quarto YAML استنادًا إلى الفصول المقدمة. + + + +## _أ +`[متغير]` + +**وصف:** +إنشاء وحدات وتصنيفات من تكوين الدروس, هذه ستكون مطلوبة لكتابتها كفصول في ملف quarto.yml + + + + + +## غير معروف +`[function]` + +**وصف:** +نسخ محتوى الدروس في `/tutorials` إلى `/docs/chapters/tutorials` + + + + + +## وحدة +`[متغير]` + +**وصف:** +تكتب هذه الطريقة محتوى التوثيق لوحدة إلى مسار ملف محدد. + +**Params:** + + الاسم الوصف +| --- | --- | + خيارات كائن يحتوي على الوحدة ومسار الوجهة. | + خيارات.destinationPath مسار الوجهة حيث سيتم كتابة الوثائق. | + + + +## فئات +`[متغير]` + +**وصف:** +وتعد هذه الطريقة هيكل الدليل للوثائق عن طريق إنشاء المجلدات والملفات اللازمة. + + + +## فئات +`[متغير]` + +**وصف:** +هذه الطريقة تكتب الوثائق لكل فئة في ملف مناظر داخل دليل الوثائق. + + + +## غير معروف +`[function]` + +**وصف:** +هذه الطريقة تقرأ من خلال مجلد الدروس وتنسخها إلى مجلد الوجهة '/docs` أيضًا + تتبع بنية الدروس التي تم تعيينها من قبل `config.json' في مجلد الدروس إن وجدت. + + + + + +## غير معروف +`[function]` + +**وصف:** +هذه الطريقة تضيف الدروس كفصول في ملف _quarto.yml + + + + + +## configToAdd +`[متغير]` + +**وصف:** +هذه الطريقة تضيف مواصفات اللغة إلى ملف _quarto.yml + + + + + +## docsFolderPath +`[متغير]` + +**وصف:** +هذه الطريقة تنشئ نسخة من كل ملف qmd في مجلد المستندات لكل لغة + diff --git a/translations/ar/docs/chapters/globals/globals.qmd.ar.qmd b/translations/ar/docs/chapters/globals/globals.qmd.ar.qmd new file mode 100644 index 00000000..c539dc0f --- /dev/null +++ b/translations/ar/docs/chapters/globals/globals.qmd.ar.qmd @@ -0,0 +1,76 @@ +# Globals + +الإنشاءات العالمية + + + +## getJSFilesFromDirectory +`[function]` + +**وصف:** +هذه الوظيفة تتعقب بشكل متكرر الدليل المحدد ودلائله الفرعية للعثور على ملفات جافا سكريبت (.js). + يبدأ بالتحقق من كل عنصر في الدليل. إذا كان البند دليل ، فإنه يتكرر الاتصال بنفسه + للبحث عن ملفات جافا سكريبت داخل ذلك الدليل. إذا كان العنصر ملف جافا سكريبت ، فإنه يضيف مسار الملف + إلى مجموعة من ملفات جافا سكريبت التي تم العثور عليها. + + + + + +## بداية +`[function]` + +**وصف:** +يبدأ عملية توليد الوثائق. + + وتبدأ هذه الوظيفة عملية توليد الوثائق عن طريق القيام بالخطوات التالية: + + 1. يبحث عن ملفات جافا سكريبت في الدليل المحدد والدلائل الفرعية الخاصة به. + 2. يقارن التعليقات من كل ملف من ملفات JavaScript باستخدام `CommentsUtil.getCommentsFromFile()`. + 3. وهو يجهز التعليقات لاستخراج المعلومات النموذجية ويستكمل هياكل بيانات الوحدة وفئاتها وفقا لذلك. + 4. إذا تم تعريف الوحدة الافتراضية، فإنها تضيف الوحدة ومستنداتها إلى الفئة المناسبة أو الفئة الافتراضية. + 5. يقوم بإنشاء دليل الوثائق والملفات باستخدام أداة "الكتاب". + 6. وأخيرا، يسجل التقرير رسالة تشير إلى أن عملية توليد الوثائق قد اكتملت. + + تعمل هذه الوظيفة كنقطة دخول لتوليد الوثائق لملفات جافا سكريبت. + + + + + +## غير معروف +`[other]` + +**وصف:** +هذه الطريقة ستقوم بتحويل سلسلة إلى جمال toUpperCase + + +**أمثلة:** + +```جافا سكريبت +StringUtil.convertToCamelCase('hello world') => 'helloWorld' + StringUtil.convertToCamelCase('hello-world') => 'helloWorld' + StringUtil.convertToCamelCase('hello_world') => 'helloWorld' + StringUtil.convertToCamelCase('helloWorld') => 'helloWorld' + StringUtil.convertToCamelCase('hello') => 'hello' +``` + + + +## غير معروف +`[other]` + +**وصف:** +هذه الطريقة ستقوم بتحويل سلسلة إلى جمال toUpperCase + + +**أمثلة:** + +```جافا سكريبت +StringUtil.convertToCamelCase('hello world') => 'helloWorld' + StringUtil.convertToCamelCase('hello-world') => 'helloWorld' + StringUtil.convertToCamelCase('hello_world') => 'helloWorld' + StringUtil.convertToCamelCase('helloWorld') => 'helloWorld' + StringUtil.convertToCamelCase('hello') => 'hello' +``` + diff --git a/translations/ar/docs/chapters/globals/index.qmd.ar.qmd b/translations/ar/docs/chapters/globals/index.qmd.ar.qmd new file mode 100644 index 00000000..4a3c8467 --- /dev/null +++ b/translations/ar/docs/chapters/globals/index.qmd.ar.qmd @@ -0,0 +1,3 @@ +--- +العنوان: العالمية +--- diff --git a/translations/ar/docs/chapters/tutorials/changelog.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/changelog.qmd.ar.qmd new file mode 100644 index 00000000..3c48caa1 --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/changelog.qmd.ar.qmd @@ -0,0 +1,70 @@ +### التغييرات + +--- +title: سجل التغيير +--- + + +# تغيير + +وسيتم توثيق جميع التغييرات الملحوظة في هذا المشروع في هذا الملف. + +التنسيق مبني على [الحفاظ على تغيير](https://keepachangelog.com/en/1.0.0/) +ويلتزم هذا المشروع بـ [النسخة السامية](https://semver.org/spec/v2.0.0.html). + +## لم يفرج (2024-03-05) + +### الميزات: + +- استخراج مستخرجات من ملفات جافا سكريبت ([`#13`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/3)) +- إنشاء هيكل التوثيق في ملف `quarto.yml` ([`#9`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/7)) +- ربط الوثائق غير المطابقة بفئة 'Globals' ([`#21'](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/21)) +- المراجع المتعلقة بكتل الكتل الكتل والموارد الخارجية ([`#22`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/22)) +- إضافة وثائق لـ JSQuarto ([`#25`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/25)) +- إضافة دروس لـ JSQuarto ([`#26`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/26)) +- إضافة 'كيفية الإرشادات' وخطوط الأوامر المخصصة ([`#30'](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/30)) + + +### تم إصلاح الأخطاء: +- تحسين التنسيق لـ `params' و `thrown errors' و `returns' ([#14`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/14)) +- إزالة التركيبات البرمجية من وثائق الدالة ([`#15`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/15)) +- إصلاح عناوين الترويسة غير المتسقة من الوثائق المستخرجة ([`#17`](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/pull/17)) + + +#### المساهمون ✨ + +شكرا لهؤلاء الناس الرائعين (مفتاح [emoji](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + +
Richie
Richie

🚇 🤔 👀
+ + + + + + +هذا المشروع يتبع مواصفات [all-contributors](https://github.com/all-contributors/all-contributors). المساهمات من أي نوع! + + +[cc-by]: http://creativecommons.org/licenses/by/4.0/ +[cc-by-image]: https://i.creativecommons.org/l/by/4.0/88x31.png +[cc-by-shield]: https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg?style=flat-square +[forks-shield]: https://img.shields.io/github/forks/Open-Science-Community-Saudi-Arabia/MOOCs.svg?style=flat-square +[forks-url]: https://github.com/Open-Science-Community-Saudi-Arabia/MOOCs/network/members +[stars-shield]: https://img.shields.io/github/stars/Open-Science-Community-Saudi-Arabia/MOOCs.svg?style=flat-square&color=brightgreen +[stars-url]: https://github.com/Open-Science-Community-Saudi-Arabia/MOOCs/stargazers +[issues-shield]: https://img.shields.io/github/issues/Open-Science-Community-Saudi-Arabia/MOOCs.svg?style=flat-square +[issues-url]: https://github.com/Open-Science-Community-Saudi-Arabia/MOOCs/issues + + + + diff --git a/translations/ar/docs/chapters/tutorials/contributing/improving_documentation.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/contributing/improving_documentation.qmd.ar.qmd new file mode 100644 index 00000000..7645edfd --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/contributing/improving_documentation.qmd.ar.qmd @@ -0,0 +1,220 @@ +###تحسين التوثيق + +## تحسين التوثيق باستخدام JSDoc + +### مقدمة + +فالتوثيق الفعال أمر بالغ الأهمية للمحافظة على علاقة مشتركة واضحة ومفهومة. إحدى الأدوات القوية لتعزيز التوثيق في الكود الخاص بك هي JSDoc. JSDoc هي لغة ترميز تسمح لك بالتعليق على التعليمات البرمجية الخاصة بك مع تعليقات منظمة، مما يتيح التوليد التلقائي للوثائق. في هذا الدليل، سوف نستكشف استخدامات JSDoc وكيف يمكن تحسين توثيق مشروعك. + +### استخدام JSDoc للوثائق الوراثية + +أحد الاستخدامات الأساسية لـ JSDoc هو توليد التوثيق مباشرة من الكود الخاص بك. من خلال إضافة تعليقات JSDoc إلى الدوال والصفوف والمتغيرات الخاصة بك، يمكنك توفير معلومات أساسية يتم استخراجها تلقائياً وتحويلها إلى وثائق شاملة. + +لاستخدام JSDoc لتوليد الوثائق، قم باتباع الخطوات التالية: + +1. تعليقات الترميز: أضف تعليقات JSDoc مباشرة فوق عناصر التعليمات البرمجية التي تريد توثيقها. استخدام /\*_ ... _/ بناء الجملة للإشارة إلى كتلة تعليقات JSDoc . + +2. وظائف التوثيق: استخدام وسوم JSDoc لوصف معلمات الدالة، قيم الإرجاع، ومعلومات إضافية. العلامات مثل @param و @returns و @description شائعة الاستخدام لهذا الغرض. العلامات المخصصة المهمة الأخرى هي @category و @subcategory، هذه العلامات تساعد على هيكلة الوثائق التي تم إنشاؤها في فصول. وستكون جميع الوحدات تحت `فئة فرعية` تحت فصل واحد، وسيتطابق اسم الفصل مع الاسم المعين لـ `الفئة الفرعية`. + الفكرة الرئيسية حول الفئتين @category و @subcategory هي السماح للفصول المتداخلة على سبيل المثال يمكن أن يحتوي الفصل الأول ألف على فصول فرعية أخرى (الفصل ألف (أ). + لاحظ أن هذا هو مستويين فقط من التعقيد، حيث أن الفصل ألف هو الفئة @والفئة الفرعية @@ ستكون هي الفصول الأخرى. نعتزم في البداية تنفيذ مستويين من الفصول المتداخلة، ولكن هذا في وقت كتابة هذا الربع لا يسمح إلا لمستوى واحد من التعبيد (١). + +3. فئات التوثيق: بالنسبة للصفوف الدراسية، استخدم تعليقات JSDoc لتوفير الأوصاف، وخصائص الصف المستندي، وطرائق فصل المستند. العلامات مثل @clas، @propers، و @method شائعة الاستخدام في هذا السياق. + +4. تشغيل توليد JSDoc : استخدام أداة مولد JSDoc ، مثل JSDoc نفسه أو أدوات شعبية أخرى مثل TypeDoc أو JSDoc3, لتحليل الكود الخاص بك وإنشاء إخراج الوثائق. تكوين المولد لاستهداف تنسيق المخرج المطلوب، مثل HTML أو Markdown. + +5. مراجعة وتحديث: مراجعة الوثائق التي تم إنشاؤها والتأكد من أنها تمثل الرمز الخاص بك بدقة. تحديث تعليقات JSDoc حسب الحاجة لتقديم تفسيرات أو معلومات إضافية أوضح. + +لمزيد من المعلومات حول استخدام JSDoc لتوليد الوثائق، انظر [وثائق JSDoc ](https://jsdoc.app/) أو [Getting بدأ باستخدام JSDoc](https://jsdoc.app/about-getting-started.html). + +### استخدام JSDoc لكتابة الوثائق + +المواد المرجعية: يمكن استخدام تعليقات JSDoc لتوفير معلومات إضافية في المواد المرجعية. كما يمكن استخدام JSDoc بما يتجاوز إصدار الوثائق الرمزية نظام بناء الجملة والعلامة المرن لديه يجعله أداة قيمة لكتابة جوانب أخرى من وثائق مشروعك، مثل الدروس والأدلة والمواد المرجعية. + +لاستخدام JSDoc لكتابة الوثائق، يرجى النظر في النُهج التالية: + +1. الدروس والإرشاد: استخدام تعليقات JSDoc لكتابة دروس ودلائل خطوة بخطوة داخل الكود الخاص بك. عن طريق تضمين المحتوى التعليمي في تعليقات JSDoc ، يمكنك الحفاظ على ارتباط الوثائق بشكل وثيق مع الكود ذي الصلة، يجعل من الأسهل على المطورين متابعة المفاهيم وفهمها. + +2. أمثلة مضمنة: استخدم تعليقات JSDoc لتضمينها أمثلة على الرموز المضمنة التي توضح استخدام الدوال أو الصفوف أو الوحدات. ويمكن استخدام هذه الأمثلة كمادة تعليمية وكمرجع سريع للمطورين. + +3. مثل شرح أنماط التصميم، أو تحديد أفضل الممارسات، أو توضيح المفاهيم المعقدة. وسوم Leverage JSDoc مثل @example أو @see لربط الموارد أو أمثلة التعليمات البرمجية ذات الصلة. + +4. التكامل مع Markdown: JSDoc يدعم Markdown ضمن التعليقات، مما يسمح لك بدمج النصوص المنسقة والعناوين والقوائم وغيرها من ميزات Markdown في وثائقك. هذا يمكّنك من إنشاء محتوى أكثر جاذبية بصرياً وتنظيماً في تعليقات JSDoc الخاصة بك. + +### تحسين وثائق JSQuarto باستخدام JSDoc + + +ولم تكتمل بعد وثائق JSQuarto. وهناك عدة مجالات يمكن تحسينها، بما في ذلك: + +- إيضاحات أكثر تفصيلا لهيكل مشروع JSQuarto ومشروع الشفرة +- معلومات إضافية عن كيفية المساهمة في المشروع +- تنفيذ JSQuarto كأداة للمبادرة القطرية +- معلومات إضافية عن كيفية الحفاظ على مشروع JSQuarto +- معلومات إضافية عن كيفية نشر مشروع JSQuarto +- خريطة الطريق للمشروع والخطط المستقبلية + +لتحسين وثائق JSQuarto ، يمكنك استخدام JSDoc لإضافة وثائق إضافية مباشرة داخل المركز البرمجي. هذا سيمكنك من تقديم إيضاحات أكثر تفصيلا للشفرة وهيكل المشروع، بالإضافة إلى معلومات إضافية عن كيفية المساهمة في المشروع، كيفية استخدام واجهة برمجة تطبيقات JSQuarto ، وكيفية صيانة المشروع ونشره. في وقت كتابة هذا، تم بناء الوثائق مع حزم أخرى لتحسين واجهة المستخدم، أحدها [Better-docs](https://github.com/SoftwareBrothers/better-docs). + +### دليل الدروس + +يقدم هذا القسم لمحة عامة عن ملفات `config.json` المستخدمة في وثائق JSQuarto، مع التركيز تحديداً على مجلد `tutorials`. ملف `config.json' يعمل كملفات تكوين تساعد على هيكلة وتنظيم الوثائق، في حين أن مجلد `الدروس` يحتوي على ملفات Markdown لمختلف الدروس. + +#### مجلد `الدروس التعليمية` + +مجلد "الدروس" داخل دليل التوثيق مكرس لاستضافة دروس حول مختلف المواضيع ذات الصلة بمنصة JSQuarto. يحتوي هذا المجلد على مجموعة من ملفات Markdown، يمثل كل منها درسا فرديا. + +Markdown هي لغة علامة خفيفة الوزن تسمح بسهولة تنسيق وبنية النص، مما يجعلها مثالية لإنشاء دروس. توفر ملفات Markdown طريقة بسيطة ولكنها قوية لتوثيق التعليمات خطوة بخطوة، والأمثلة البرمجية، والتفسيرات وغيرها من المعلومات ذات الصلة. + +يمكن تنظيم مجلد "الدروس" في مجلدات فرعية لزيادة تصنيف ودروس ذات صلة بالمجموعة. وهذا يساعد المستخدمين على تحديد مواقع الدروس التي يحتاجونها بسهولة والوصول إليها بناء على اهتماماتهم أو متطلباتهم المحددة. + +من خلال هيكلة الدروس داخل مجلد "الدروس" باستخدام Markdown، يمكن للمساهمين المساهمة بدروس جديدة، تحديث الوثائق الموجودة، وضمان أن تظل الوثائق شاملة وسهلة الاستعمال. + +ملفات son` ومجلد "الدروس التعليمية" يمكنان من بنية وثائق منظمة تنظيماً جيداً ويمكن الوصول إليها، مما يسمح للمستخدمين بالتنقل واستكشاف وثائق منصة JSQuarto بسهولة. + +#### نظرة عامة على ملفات `config.json` + +يؤدي ملف `config.json' في وثائق JSQuarto دورا حاسما في تنظيم وتصنيف المحتوى. يحدد هذا الملف هيكل الوثائق ويوفر بيانات فوقية لكل قسم أو برنامج تعليمي أو موضوع. فهي تسمح للقائمين على الصيانة والمساهمين بالتنقل في الوثائق وإدارتها بسهولة عن طريق تحديد العناوين وإنشاء هياكل متداخلة وربط المواضيع ذات الصلة. + +باستخدام ملف `config.json' ، يمكن إنشاء الوثائق وتحديثها ديناميكيا استنادا إلى الهيكل المحدد. وهذا يجعل من الأسهل الحفاظ على الاتساق، وتتبع التغييرات، وإضافة محتوى جديد. + + +#### تكوين `.json` +لنشرح كيف تعمل هذه البنية من خلال النظر إلى ملف `config.json` في مجلد `tutorials /`. يحدد هذا الملف هيكل قسم الدروس في الوثائق، بما في ذلك العناوين، وصلات الوصف لكل دورة تعليمية. + +```json +{ + "سجل التغييرات": { + "العنوان: "التغيير" + }, + "environment_setup": { + "العنوان": "إعداد البيئة" + }, + "المساهمة": { + "العنوان": "المساهمة" + } +} +``` + +في هذا المثال ، يحدد ملف 'json' عناوين وعلاقات الأقسام الرئيسية في وثائقك. الأقسام ممثلة ككائنات، مع كل كائن له مفتاح فريد و 'title"` زوج قيم مفتاح. +1. "سجل التغييرات" يمثل قسم "التغييرات". يحدد زوج القيمة الرئيسية "title" عنوان هذا القسم بأنه "التغيير". + +2. "Environ_setup" يمثل قسم "إعداد البيئة". يحدد زوج القيمة الرئيسية "title" عنوان هذا القسم بأنه "إعداد البيئة". + +3. يمثل "المساهمة" قسم "المساهمة". يحدد زوج القيمة الرئيسية "title" عنوان هذا القسم بأنه "المساهمة". + +مع هذا الهيكل، سيتضمن مجلد الوثائق الخاص بك ملفات ماركداون منفصلة لكل قسم، اسمها وفقا للمفاتيح في ملف `.json'. وعلى سبيل المثال: + +“يامل +- `الوثائق/` + - `docs /` + - `changelog.md` + - `environment_setup.md` + - `contributing.md` + - `tutorials.json` +``` + +كل ملف Markdown سوف يتطابق مع قسم في وثائقك ويجب أن يحتوي على المحتوى ذي الصلة لذلك القسم. + +هذا الهيكل المبسط يسمح لك بتنظيم وثائقك في أقسام متميزة، يجعل من الأسهل على القراء تحديد المواقع والوصول إلى المواضيع المحددة التي يحتاجون إليها. يوفر طريقة واضحة وموجزة لتمثيل الأقسام الرئيسية من وثائقك دون الحاجة إلى دروس متداخلة أو تسلسل هرمي معقد. + +تذكر أن تقوم بتحديث ملف '.json' كلما قمت بإضافة أو تعديل الأقسام للتأكد من أن هيكل التوثيق يعكس بدقة محتوى وثائقك. + +باتباع هذا الهيكل، يمكنك الحفاظ على مستودع وثائق جيد التنظيم وسهل التصفح. + +#### إعدادات `.json` المتداخلة للدورات التعليمية +لهيكلة الدروس وإنشاء دروس متداخلة داخل وثائقك، يمكنك استخدام ملف '.json' لتحديد التسلسل الهرمي والعلاقات بين الدروس. إليك مثال على كيفية هيكلة الدروس باستخدام ملف `.json`: + +“يامل +{ + "المشرفين": { + "العنوان": "دليل تقني للقائمين"، + "الأطفال": { + "reviewing_pr": { + "title": "استعراض طلبات السحب" + }, + "ci_workflow": { + "title": "CI Workflow " + }, + "الأسرار_and_security": { + العنوان : "الوصول السري/الإدارة السرية" + }, + "نشر الدليل": { + "عنوان": "دليل النشر" + } + } + }, + "المساهمة": { + "title": "المساهمة في المشروع"، + "الأطفال": { + "adding_a_course": { + "title": "إضافة دورة" + }, + "api_project_structure": { + "title": "بنية مشروع API + }, + "Improving_documentation": { + العنوان : "تحسين التوثيق" + }, + "project_structure": { + "عنوان": "بنية المشروع" + }, + "raising_issues": { + العنوان: "إثارة المشاكل" + }, + "raising_pr": { + "عنوان": "رفع طلبات الجذب" + } + } + }, + "عرض": { + "title": "استعراض المشروع" + } +} + ``` + +وفي هذا المثال، يمثل ملف `json` هيكلا للتوثيق يتألف من قسمين رئيسيين: "الدليل التقني للمتعينين" و"الدليل التقني لمطوري API". لكل قسم مجموعته الخاصة من الدروس التي تمثل ككائنات متداخلة. + +1. تعريف الأقسام أو الفئات الرئيسية على أنها الكائنات ذات المستوى الأعلى داخل ملف `json'، مثل "المشرفين" و "المساهمة". + +2. ضمن كل قسم رئيسي، قدم مفتاح "عنوان" لتحديد عنوان أو عنوان ذلك القسم. () على سبيل المثال، "الدليل التقني للقائمين" و"الدليل التقني لمطوري API". + +3. إضافة مفتاح 'الأطفال' داخل كل قسم رئيسي لتحديد الدروس المتداخلة. يتم تمثيل كل برنامج تعليمي ككائن ثانوي داخل كائن `الأطفال`. وقد لا تحتوي جميع الدروس على دروس للأطفال، ومن الأمثلة على ذلك دروس "مراجعة". بما أنه ليس لديه أطفال فإن البرنامج سيبحث فقط عن ملف "review.qmd" وليس مجلد "عرض" + +4. لكل برنامج تعليمي، قم بتوفير مفتاح فريد كمفتاح الكائن، مثل "reviewing_pr" و "ci_workflow". + +5. ضمن كل كائن تعليمي، قم بإدراج مفتاح "title" لتحديد العنوان أو العنوان لذلك البرنامج التعليمي المحدد. + +على هذا المثال هنا ما سيبدو عليه هيكل المجلد بافتراض أن المجلد الجذري هو `دروس/`: + +“يامل + - دروس/دروس + - المشرفون/ + - المشرفون + - الاستعراض_pr.qmd + - ci_workflow.qmd + - الأسرار_and_security.qmd + - نشر_guide.qmd + + - المساهمة/ + - api.md + - api_structure.md + - api_authentication_flow.qmd + - jwt_token_management.qmd + - rbac_handler_flow.qmd + + - review.qmd + + - config.json +``` + +وفي هذا الهيكل: + +- ملف التكوين 'json' موجود في المجلد 'دروس التعليمية' +- يحتوي مجلد "الدروس" على مجلدات فرعية تمثل أقسام أو فئات مختلفة من الدروس. +- كل قسم أو مجلد فئة، مثل 'المشرفين` و 'المساهمة`، يحتوي على ملفات '.qmd' لدروس فردية. + + +الهيكل المتداخل يسمح لك بتنظيم الدروس هرمياً ، مما يجعل من الأسهل التنقل والبحث عن دروس محددة استناداً إلى موضوعها أو فئتها. + +من المهم ملاحظة أن بنية البرنامج التعليمي لا تسمح إلا بمستوى واحد من التعش. هذا يعني أنه يمكنك الحصول على الأقسام الرئيسية ودروسها، ولكن لا يمكنك إنشاء المزيد من المجلدات المتداخلة داخل الدروس. + +md` ملفات نظرة عامة، يمكنك بسهولة تحديد التسلسل الهرمي والعلاقات بين الدروس، السماح لك بإنشاء دروس متداخلة وتنظيم وثائقك بطريقة منطقية ومنظمة. diff --git a/translations/ar/docs/chapters/tutorials/contributing/raising_issues.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/contributing/raising_issues.qmd.ar.qmd new file mode 100644 index 00000000..8a4ef2f8 --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/contributing/raising_issues.qmd.ar.qmd @@ -0,0 +1,45 @@ +###رفع المشكلات + + +وإثارة المسائل جزء أساسي من المساهمة في مشروع مفتوح المصدر. قبل البدء، من المستحسن أن يكون لديك فهم أساسي لـ Markdown و GitHub، اللذين يشيع استخدامهما في تدفق العمل هذا. Markdown هي لغة علامة خفيفة الوزن تستخدم لتنسيق النص وأسلوبه على الويب. يمكنك العثور على دليل شامل ل [Markdown](https://guides.github.com/features/mastering-markdown/) على موقع GitHub + +إذا كنت غير مألوف مع GitHub، فهي منصة على الإنترنت توفر أدوات للتحكم في الإصدار، وإدارة التعليمات البرمجية، والتعاون. GitHub يوفر دليل خطوة خطوة للبدء مع منصتهم على [website](https://guides.github.com/activities/hello-world/) + +من المهم التحقق مما إذا كانت فكرتك أو مشكلتك قد أثيرت بالفعل من قبل شخص آخر. يمكنك القيام بذلك عن طريق البحث من خلال المشكلات الموجودة في المشروع على GitHub. إذا وجدت مشكلة مشابهة لمشكلتك، يرجى التعليق عليها لإعلام الآخرين بأنك أيضا مهتم بالعمل عليها. + +إذا كانت المشكلة قد أغلقت بالفعل، أو إذا كانت تحل مشكلتك جزئيا فقط، من المستحسن أن تفتح مشكلة جديدة مع الإشارة إلى المشكلة القديمة. ومن شأن ذلك أن يساعد على إبقاء المناقشة منظمة وأن يكفل سهولة الوصول إلى جميع المعلومات ذات الصلة. + +ويُذكر أن إثارة مسألة ما هي فرصة لتحسين المشروع والإسهام في مجتمع المصادر المفتوحة. مع القليل من الجهد والاهتمام للتفاصيل، يمكنك المساعدة في إحداث فرق حقيقي + +### قالب المشكلة +لدينا نماذج لأنواع مختلفة من المشاكل. الرجاء استخدام القالب المناسب للمشكلة الخاصة بك. إذا كنت لست متأكدا من أي قالب يمكن استخدامه، فيرجى استخدام قالب "جنرال". + +- قالب عام ([preview](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/blob/main/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md)) : هذا هو النموذج الافتراضي لإثارة المشكلة. استخدم هذا القالب إذا كنت لست متأكدا من أي قالب يمكن استخدامه. +- قالب تقرير الأخطاء ([preview](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/blob/.github/ISSUE_TEMPLATE/bug_report.md)) : استخدم هذا القالب للإبلاغ عن خلل أو مشكلة مع المشروع. +- قالب طلب ميزة جديدة ([preview](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/blob/.github/ISSUE_TEMPLATE/new_course.md)) : استخدم هذا القالب لطلب إذن لإضافة دورة جديدة إلى القائمة. + + +### كتابة عنوان ووصف واضح +عند فتح مشكلة ما، من المهم كتابة عنوان واضح وموجز يعكس بدقة المشكلة أو الاقتراح الذي تريد إثارته. وينبغي أن يكون العنوان وصفيا بما فيه الكفاية لكي يتمكن الآخرون من فهم المسألة بسرعة، ولكن ليس طويلا أو معقدا. + +وفي وصف القضايا، قدم أكبر قدر ممكن من التفاصيل بشأن المسألة أو الاقتراح. قم بإدراج خطوات لتكرار المشكلة إذا كان ذلك منطبقاً، وأي معلومات ذات صلة أو سياق يمكن أن يساعد الآخرين على فهم المسألة بشكل أفضل. + +### استخدام تسميات المشكلة +يتم استخدام تسميات الإصدار لتصنيف وتنظيم المشكلات في مشروع مفتوح المصدر. ويمكن أيضا أن يساعد المشرفين على تحديد أولويات القضايا المتراكمة في المشروع وإدارتها. + +عند إثارة مشكلة، تأكد من اختيار التسمية المناسبة التي تصف المشكلة على أفضل وجه. على سبيل المثال، إذا كنت تبلغ عن خطأ، قد تستخدم علامة "الخطأ". إذا كنت تقترح ميزة جديدة أو تحسين، قد تستخدم تسمية "التحسينات". + +بعض تسميات المشكلات الشائعة التي قد تراها في مشروع GitHub تشمل: + +* خطأ: تستخدم للإبلاغ عن خطأ أو مشكلة في كود المشروع أو وظيفته. +* تحسين: يستخدم لاقتراح سمة جديدة أو تحسين للمشروع. +* الوثائق: تستخدم لاقتراح تغييرات أو تحسينات في وثائق المشروع. +* المساعدة المطلوبة: استخدمت للإشارة إلى أن القائمين على المشروع يسعون بنشاط إلى الحصول على مساهمات للمساعدة في حل هذه المسألة. +* المشكلة الأولى جيدة: تستخدم للإشارة إلى أن المشكلة مناسبة للمساهمين الجدد الذين بدأوا للتو بالمشروع. + +### المساهمة في إصدار المناقشات +إذا كنت مهتما بالعمل على حل مشكلة، يرجى ترك تعليق لإبلاغ الآخرين. وسيساعد ذلك على تفادي الازدواجية في العمل وكفالة إسناد المسألة إلى الشخص المناسب. +بمجرد أن تفتحوا قضية أو تعلقوا على قضية قائمة، من المهم المشاركة بنشاط في المناقشة. وهذا يعني الرد على التعليقات والأسئلة الواردة من جهات أخرى، وتوفير معلومات أو إيضاحات إضافية عند الاقتضاء، والانفتاح على التعليقات والاقتراحات. + +### استنتاج +وتشكل إثارة المسائل جزءا هاما من المساهمة في مشاريع المصادر المفتوحة. ومن خلال اتباع هذه المبادئ التوجيهية، يمكنكم المساعدة على ضمان أن تكون قضيتكم واضحة وموثقة توثيقاً جيداً وسهلة الفهم بالنسبة للآخرين. تذكر أن تشارك بنشاط في المناقشات، ومتابعة المشكلات، والمساهمة في التعليمات البرمجية إذا كنت قادرا على ذلك. مع القليل من الجهد والتعاون، يمكننا جميعا أن نساعد على جعل مشاريع المصدر المفتوح أفضل للجميع. diff --git a/translations/ar/docs/chapters/tutorials/contributing/raising_pr.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/contributing/raising_pr.qmd.ar.qmd new file mode 100644 index 00000000..fdec6e7c --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/contributing/raising_pr.qmd.ar.qmd @@ -0,0 +1,52 @@ +###Raising-pr + +## مقدمة +طلب السحب هو طريقة للمساهمين لإرسال تغييرات إلى مشروع يديره الآخرون. ويُقترح إجراء التغييرات ثم يقوم المشرفون على المشروع باستعراضها وربما دمجها. في هذا الدليل، سنمضي معكم عبر خطوات تقديم طلب سحب إلى مستودع العلوم المفتوحة - المجتمع السعودي - العربي/JSquarto في GitHub. + +## خطوات +1. ابحث عن ميزة أو خطأ تريد العمل عليه. +2. فورك مستودع Open-Science-Community-Sou-Arabia/JSquarto إلى حساب GitHub الخاص بك. +3. استنساخ المستودع المتشابك على جهازك المحلي. + + “`باش + نسخة git https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto + ``` + +4. مزامنة الشوك، لتجنب دمج الصراعات. + + “`باش + git بعد إضافة أعلى مسار https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto + Git يجلب أعلى مجرى + Git سحب الرئيسية + دفعة git + ``` + +5. إنشاء فرع جديد مع اسم المستخدم الخاص بك GitHub كاسم له. + + “`باش + Git الدفع -b + ``` +ليس إلزامياً تسمية الفرع الجديد باسم مستخدم GitHub الخاص بك، ولكن من الممارسات الجيدة القيام بذلك. + +6. قم بإجراء التغييرات الخاصة بك على هذا الفرع الجديد. +7. قم بإجراء التغييرات الخاصة بك مع رسالة التزام واضحة. + + “`باش + git يضاف + git الالتزام -m "رسالة التزام واضحة وموجزة" + ``` + +8. قم بدفع التغييرات الخاصة بك إلى مستودع الشوكات الخاص بك. + + “`باش + دفعة منشأ git + ``` + +9. انتقل إلى مستودع [Open-Science-Community-Saudi-Arabia/JSquarto](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto) على GitHub، ويجب أن ترى رسالة تقترح إنشاء طلب سحب جديد. انقر عليها. +10. لإثارة كلمة المرور ، اختر قالب "PR" وملأه بالمعلومات المطلوبة. قالب PR هو مجموعة من الأسئلة التي تحتاج إلى الإجابة عليها لجعل من الأسهل على المشرفين مراجعة طلب السحب الخاص بك. يمكنك العثور على قالب PR [here](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/blob/main/.github/PUL_REQUEST_TEMPLATE.md) + +11. إضافة عنوان ووصف واضحين وموجزين لطلب السحب الخاص بك، وشرح التغييرات التي أجريتها. + +12. قم بتقديم طلب السحب الخاص بك، وانتظر المشرفين لمراجعة التغييرات الخاصة بك. + +تهانينا! لقد قمت للتو بتقديم طلب سحب إلى مستودع Open-Science-Community-Sou-Arabia/JSquarto diff --git a/translations/ar/docs/chapters/tutorials/environment_setup.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/environment_setup.qmd.ar.qmd new file mode 100644 index 00000000..fc1ee52d --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/environment_setup.qmd.ar.qmd @@ -0,0 +1,75 @@ +### البيئة_إعداد + +--- +title: 'إعداد البيئة' +--- + +#### المتطلبات المسبقة (#environment-setup) +قبل اختبار الأداة محلياً، تأكد من وجود الشروط المسبقة التالية مثبتة على النظام الخاص بك: +- Node.js و npm (مدير الحزمة العقدية) +- Git (اختياري، إذا استنساخ المستودع) + +#### التثبيت +لاختبار الأداة محلياً، قم باتباع الخطوات التالية: + +1. استنساخ المستودع: + + “`باش + نسخة git https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto + ``` +2. انتقل إلى دليل المشروع + +3. تثبيت الإعتمادات + + “`باش + npm install + ``` + +### تشغيل الأداة +بمجرد تثبيت التبعيات ، يمكنك لصق الملفات في ملفات JS أو المجلد في دليل `/source_files` يمكنك تشغيل الأداة باستخدام الأمر التالي + +1. لإنشاء الوثائق قم بتشغيل الأمر التالي + + “`باش + npm تشغيل doc:generate + ``` + + هذا سوف يستخرج تعليقات JSDoc من ملفات js و يكتبها إلى ملفات Quarto Markdown المقابلة. + + يمكنك اختيار تحديد الدليل حيث 'source_files' ، للقيام بهذا التشغيل + + “`باش + npm تشغيل doc:generate --source= + ``` + + كما أنه يدعم إضافة دروس مخصصة، للقيام بذلك إضافة ملفات .qmd للدروس في دليل `/tutorials` + + الملفات التي تم إنشاؤها `.qmd` يمكن العثور عليها في مجلد `/docs/chapters` + + قد يختلف هذا الأمر تبعاً لسير العمل الذي تختاره، قد ترغب في إنشاء ملفات المستندات بلغات أخرى أيضاً. للقيام بذلك يمكنك تشغيل الأمر أدناه + + “`باش + npm تشغيل doc:generate languages=en,ar,es include_localized_versions --source= + ``` + + وسيصدر هذا التقرير الوثائق باللغات الإسبانية والإنكليزية والعربية. يمكنك إضافة المزيد من اللغات عن طريق فصلها بفاصلة. (هذا لا يترجم الوثائق في الواقع، بل يقوم فقط بإنشاء نسخة من الوثائق ويعاد تسميتها إلى اللغة المحددة). للتكامل مع خدمة الترجمة، يمكنك استخدام خدمة [Crowdin](https://crowdin.com/). + + وللحصول على مزيد من المعلومات عن سير العمل المتاح، انظر الدليل هنا @sec-workflow + + +2. لمعاينة الوثائق التي تم إنشاؤها قيد التشغيل + + “`باش + npm تشغيل doc:preview + ``` + + يتم معاينة المستندات مع quarto، لذا تأكد من تثبيت quarto مسبقاً + + +3. يمكنك اختيار إنشاء ومعاينة في ذهب واحد، للقيام بهذا تشغيل الأمر أدناه + + “`باش + npm تشغيل البناء --source= + ``` + + سيؤدي هذا إلى إنشاء الوثائق، ومعاينة مع quarto وفتح رابط لمعاينة المستندات diff --git a/translations/ar/docs/chapters/tutorials/how_to/adding_tutorials.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/how_to/adding_tutorials.qmd.ar.qmd new file mode 100644 index 00000000..049ad451 --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/how_to/adding_tutorials.qmd.ar.qmd @@ -0,0 +1,89 @@ +###إضافة دروس + +### دروس +الدروس هي طريقة رائعة لتعليم الناس كيفية استخدام مشروعك. وهي دليل تدريجي يمشي المستخدم من خلال مهمة أو مفهوم محدد. الدروس هي طريقة رائعة لجعل الناس يستكملون مشروعك، ولمساعدتهم على فهم كيفية استخدامه. + +### كيفية كتابة الدروس +يتم كتابة الدروس في علامة كوارتو. كوارتو هي لغة الدرج المصممة لتكون سهلة الكتابة والقراءة، وسهلة التحويل إلى صيغ أخرى. كوارتو عبارة عن مجموعة متميزة من الـ markdown، لذا فإن أي ملف markdown هو ملف ربع ساري المفعول. يضيف كونارتو بعض الميزات إلى المميزات لأسفل لجعلها أسهل لكتابة الدروس. وتشمل بعض المعالم ما يلي: + +- القدرة على تضمين الكود و الإخراج في نفس الملف +- القدرة على تضمين التعليمات البرمجية من الملفات الأخرى +- إضافة بيانات التعريف / الصور وغيرها من المحتوى إلى الملف + + +### مجلد لكتابة البرنامج التعليمي +بشكل افتراضي، يتم كتابة الدروس في المجلد `/tutorials`. هذا هو المجلد حيث يتم تخزين جميع الدروس. يتم تخزين كل برنامج تعليمي في مجلد منفصل، واسم المجلد هو اسم البرنامج التعليمي. داخل المجلد، هناك ملفات ser `.qmd` التي تحتوي على محتويات البرنامج التعليمي. + + +### تكوين البرنامج التعليمي +هناك أيضا ملف 'config.json' الذي يحتوي على تكوين البرنامج التعليمي. ملف son` يستخدم لهيكلة كيفية عرض البرنامج التعليمي من حيث ترتيب البرنامج التعليمي، العنوان والوصف وتجميع البرنامج التعليمي. + +فيما يلي مثال لملف `config.json': + +```json +{ + "المساهمة": { + "title": "المساهمة في المشروع"، + "الأطفال": { + "Improving_documentation": { + العنوان : "تحسين التوثيق" + }, + "raising_issues": { + العنوان: "إثارة المشاكل" + }, + "raising_pr": { + "عنوان": "رفع طلبات الجذب" + } + } + }, + "project_structure": { + "عنوان": "بنية المشروع" + }, + "environment_setup": { + "العنوان": "إعداد البيئة" + }, + "سجل التغييرات": { + "title": "سجل التغيير" + }, + "التوطين": { + "عنوان": "التعريب " + }, + "How_to ": { + "title": "كيف يمكن"، + "الأطفال": { + "setting_default_readme": { + العنوان "title": "ضبط الرحلة الافتراضية" + }, + "adding_tutorials": { + "title": "إضافة دروس" + }, + "specifying_source_files": { + "title": "تحديد الملفات المصدرة" + }, + "starting_a_new_build": { + "title": "بدء بناء جديد" + } + } + } +} + +``` + +في المثال الوارد أعلاه، يحتوي ملف `config.json` على قائمة من الدروس التعليمية والترتيب الذي ينبغي عرضها فيه. يحتوي ملف `config.json` أيضًا على عنوان البرنامج التعليمي ووصف البرنامج التعليمي. + +يحتوي ملف `config.json` أيضًا على قائمة للأطفال لكل برنامج تعليمي. يستخدم هذا لتجميع الدروس معا. فعلى سبيل المثال، في المثال الوارد أعلاه، فإن البرنامج التعليمي ”المساهم“ له ثلاثة أطفال: 'تحسين الوثائق`، و 'raising_issues`، و 'raising_pr`. هذا يجمع الدروس الثلاثة معاً تحت دروس "المساهمة". + +### دروس التجميع +يمكن تجميع الدروس معا باستخدام ملف `config.json'. هذا مفيد لتنظيم الدروس في فئات. على سبيل المثال، قد ترغب في تجميع جميع الدروس المتعلقة بالمساهمة في المشروع معا، أو جميع الدروس المتعلقة بتهيئة البيئة معاً. هذا يجعل من الأسهل للمستخدمين العثور على الدروس التي يهتمون بها. + +في المثال الوارد أعلاه، الملف `config.json` يجمع الدروس في فئات مثل `contributing` و`project_structure` و`environment_setup` و`changelog` و`localization` و`how_to`. ويحتوي كل من هذه الفئات على قائمة بالدروس، ويحتوي كل درس على قائمة بالأطفال. هذا يسمح لك بتنظيم الدروس بطريقة منطقية لمشروعك. + +في هذا البرنامج التعليمي، تعلمنا كيفية كتابة الدروس في Quarto markdown، وكيفية تكوين `config. تعلمنا أيضا كيفية تجميع الدروس معا باستخدام ملف `config.json'. هذا يسمح لك بتنظيم الدروس بطريقة منطقية لمشروعك، ويجعل من الأسهل للمستخدمين العثور على الدروس التي يهتمون بها. + +Summary + - كيفية كتابة الدروس + - تنسيق لكتابة الدروس + - كيفية كتابة برنامج تعليمي + - مجلد لكتابة البرنامج التعليمي + + diff --git a/translations/ar/docs/chapters/tutorials/how_to/starting_the_project.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/how_to/starting_the_project.qmd.ar.qmd new file mode 100644 index 00000000..23a1e314 --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/how_to/starting_the_project.qmd.ar.qmd @@ -0,0 +1,115 @@ +###بدء المشروع + +### بدء بيئة المشروع + +قبل البدء، تأكد من تثبيت ما يلي على جهازك: +- [Quarto](https://quarto.org/docs/get-started/index.html) +- [Node.js](https://nodejs.org/en/download/) +- [Yarn](https://yarnpkg.com/getting-started/install) أو [NPM](https://www.npmjs.com/get-npm) +- [Typescript](https://www.typescriptlang.org/download) (اختياري - فقط إذا كانت الملفات التي تعمل معها موجودة في النص النصي + + +### خطوات +1. إعداد البيئة + الرجوع إلى دليل إعداد البيئة لمزيد من التفاصيل [انظر هنا](#environment-setup) + +2. في الحالات التي تعمل فيها مع مشروع يستخدم الكتابة، سوف تحتاج إلى تجميع ملفات الكتابة إلى جافا سكريبت. للقيام بذلك، قم بتشغيل الأمر التالي في المحطة الطرفية: + “`باش + tsc -b + ``` + + تأكد من توجيه الملفات المنقولة إلى الدليل الصحيح. يمكنك القيام بذلك عن طريق تحديث ملف 'tsconfig.json' ليشمل خاصية 'outDir'. وعلى سبيل المثال: + ```json + { + "compilerOptions": { + "outDir": "./dist" + } + } + ``` + +3. بدء المشروع + “`باش + تشغيل بناء يارن + ``` + + أو + + “`باش + npm تشغيل البناء + ``` + + سيولد هذا الأمر التوثيق وسيبدأ أيضًا خادم محلي. يمكنك الوصول إلى الوثائق عن طريق زيارة الرابط الهاتفي المعروض على المحطة الطرفية الخاصة بك. + +4. إجراء تغييرات على التوثيق ومشاهدة التغييرات تعكس على المتصفح. + +5. بمجرد الانتهاء من ذلك، يمكنك إيقاف الخادم بالضغط على 'Ctrl + C` في المحطة الطرفية الخاصة بك. + +6. لإنشاء الوثائق دون بدء تشغيل الخادم، قم بتشغيل الأمر التالي: + “`باش + npm تشغيل doc:generate + ``` + + أو + + “`باش + تشغيل yarn doc:generate + ``` +9: لمعاينة الوثائق دون بدء تشغيل الخادم، قم بتشغيل الأمر التالي: + “`باش + npm تشغيل doc:preview + ``` + + أو + + “`باش + yarn تشغيل doc:preview + ``` + + سيؤدي هذا الأمر إلى بدء تشغيل خادم quarto لمعاينة الوثائق التي تم إنشاؤها بالفعل وفتحها في المتصفح الافتراضي الخاص بك. + +8. لتنظيف الوثائق التي تم إنشاؤها، قم بتشغيل الأمر التالي: + “`باش + npm تشغيل doc:clean + ``` + + أو + + “`باش + تشغيل yarn doc:clean + ``` + + سيؤدي هذا الأمر إلى حذف ملفات المستندات التي تم إنشاؤها. لاحظ أن هذا الأمر لن يحذف دليل `/tutorials` أو `/source_files أو حيثما يتم تخزين الدروس و source_files. سيتم حذف ملفات المستندات التي تم إنشاؤها فقط. + + + +يمكنك تحديد مسار الملفات المصدر عن طريق تضمين علم `--source` في الأمر. وعلى سبيل المثال: +“`باش +npm تشغيل البناء --source=./path/to/source_files +``` + +أو + +“`باش +تشغيل yarn لبناء --source=./path/to/source_files +``` + +يمكنك أيضا تحديد مسار الدروس عن طريق تضمين علم `--البرنامج التعليمي` في الأمر. وعلى سبيل المثال: +“`باش +npm تشغيل البناء --دروس تعليمية=./path/to/tutorials +``` + + +موجز الأوامر: +- 'npm قيد الإنشاء' - إنشاء الوثائق وبدء خادم محلي للحجر +- 'yarn قيد الإنشاء' - توليد الوثائق وبدء خادم الحجر المحلي +- 'npm run doc:generate' - إنشاء الوثائق دون بدء تشغيل الخادم +- 'yarn run doc:generate' - إنشاء الوثائق دون بدء تشغيل الخادم +- 'npm تشغيل doc:preview' - معاينة الوثائق التي تم إنشاؤها دون بدء تشغيل الخادم +- 'yarn run doc:preview' - معاينة الوثائق التي تم إنشاؤها دون بدء تشغيل الخادم +- 'npm run doc:Cle' - حذف ملفات الوثائق التي تم إنشاؤها +- 'yarn run doc:Cle' - حذف ملفات الوثائق التي تم إنشاؤها + +الوسوم +- `--source` - تحديد مسار الملفات المصدر +- `--البرنامج التعليمي` - تحديد مسار الدروس + diff --git a/translations/ar/docs/chapters/tutorials/how_to/usage.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/how_to/usage.qmd.ar.qmd new file mode 100644 index 00000000..a2c505dd --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/how_to/usage.qmd.ar.qmd @@ -0,0 +1,69 @@ +###الاستخدام + +## الاستخدام {#sec-usage} + +### حجج CLI مخصصة +يتم استخدام حجج CLI لتخصيص سلوك أداة JSquarto هذه الحجج المفصلة تمكنك من تصميم عملية توليد الوثائق بما يناسب متطلباتك المحددة. “`باش وبالاستفادة من هذه الحجج، يمكنك تعزيز كفاءة وفعالية عملية توليد الوثائق، مما يؤدي إلى تبسيط سير العمل الخاص بك وتحسين إنتاج الوثائق الخاصة بك. + +بعض حجج CLI المخصصة المدعومة من JSquarto تشمل: +1. `--source`: الملفات المصدرية هي مكونات محورية تحتوي على التعليقات التي تستخدمها JSquarto لإنتاج وثائق شاملة. يحدد الدليل الذي يحتوي على الملفات المصدر التي سيتم توثيقها. يمكن كتابة هذه الملفات بلغات مختلفة مدعومة من JSquarto، مثل JavaScript و TypeScript و JSX. بشكل افتراضي، سيقوم JSquarto بالتحقق من الدليل `/source_files` داخل هيكل المشروع الخاص بك لتحديد موقع هذا الملف المصدر. ومع ذلك، لديك المرونة لتعيين دليل بديل من خلال خيار '--source'. + +2. `--البرنامج التعليمي`: يحدد الدليل الذي يحتوي على ملفات البرنامج التعليمي المراد تضمينها في الوثائق. هذه الحجة تسمح لك بإدماج المحتوى التعليمي في وثائقك، وتوفير سياق إضافي وإرشادات للمستخدمين. + +3. `--الناتج`: يحدد دليل المخرجات حيث سيتم تخزين الوثائق التي تم إنشاؤها. بشكل افتراضي، سيقوم JSquarto بحفظ الوثائق في دليل `/docs` داخل هيكل المشروع الخاص بك. ومع ذلك، يمكنك تخصيص موقع الإخراج عن طريق تحديد دليل بديل من خلال خيار '--خرج`. + +4. 'اللغات`: يحدد اللغات التي ينبغي دعمها في الوثائق. هذه الحجة تمكنك من توليد الوثائق بلغات متعددة، وتغذي قاعدة متنوعة من المستخدمين. فعلى سبيل المثال، تحدد `languages=en,fr,es' اللغات الانكليزية والفرنسية والإسبانية بوصفها اللغات المدعومة. + +5. `include_localized_versions`: يحدد ما إذا كان ينبغي إدراج إصدارات موضعية من الوثائق التي تم إنشاؤها. على سبيل المثال، إذا تم تحديدها، سيقوم JSquarto بإنشاء ملفات منفصلة لكل لغة محددة. + +### تكوين +ملف `config.json' في الدليل الجذر للمشروع يستخدم لتخزين إعدادات التكوين لأداة JSquarto . يحتوي هذا الملف على الإعدادات الافتراضية لعملية توليد الوثائق، مثل دليل الملفات المصدر، ودليل الملفات التعليمية، ودليل الإخراج، واللغات المعتمدة. يمكنك تعديل هذه الإعدادات لتخصيص عملية توليد الوثائق وفقا لتفضيلاتك. هذا الملف مفيد للحالات التي تكون فيها حجج القبائل المحددة متعددة وترغب في تجنب تحديدها في كل مرة تقوم فيها بتشغيل الأداة. + +يحتوي ملف `config.json` على الحقول التالية: +1. `المصدر`: يحدد الدليل الذي يحتوي على الملفات المصدرية التي يتعين توثيقها. بشكل افتراضي، يتم تعيين هذا الحقل إلى '/source_files' داخل بنية المشروع. وهذا هو نفس حجة CI '--source'. + +2. `دليل الدروس`: يحدد الدليل الذي يحتوي على ملفات الدرس التعليمي التي ستدرج في الوثائق. بشكل افتراضي، يتم تعيين هذا الحقل إلى '/tutorial_files' داخل بنية المشروع. هذا هو نفس حجة الـ CLI `--tutorial'. + +3. 'دليل النواتج`: يحدد دليل المخرجات حيث سيتم تخزين الوثائق التي تم إنشاؤها. بشكل افتراضي، يتم تعيين هذا الحقل إلى `/docs` داخل بنية المشروع. هذا هو نفس حجة CI '--output'. + + +### الاستخدام +لاستخدام حجج CLI المخصصة هذه، ببساطة قم بإلحاقها بأمر JSquarto عند تنفيذ الأداة. وعلى سبيل المثال: + +لتحديد دليل ملفات المصدر: +“`باش +npm تشغيل doc:generate --source=/path/to/your/source/files +``` + +لتحديد دليل ملفات البرنامج التدريبي: +“`باش +npm تشغيل doc:generate --tutorial=/path/to/your/tutorial/files +``` + +لتحديد دليل الإخراج: +“`باش +npm تشغيل doc:generate --output=/path/to/your/output/directory +``` + +لتحديد اللغات المعتمدة: +“`باش +npm تشغيل doc:generate languages=en,fr,es +``` +سيؤدي هذا فقط إلى إضافة اللغات إلى ملف التكوين (_quarto.yml) وعدم إنشاء الوثائق باللغات المحددة. هذا مهم للحالات التي تستخدم فيها أداة خارجية مثل كراودِن لترجمة الوثائق وإنشاء الملفات باللغات المحددة. + +لإدراج النسخ المترجمة للوثائق التي تم إنشاؤها: +“`باش +npm تشغيل doc:generate include_localized_versions languages=en,fr,es +``` +سيؤدي هذا إلى توليد الوثائق باللغات المحددة وأيضاً إضافة اللغات إلى ملف التكوين (_quarto.yml). + +ملاحظة: إذا كنت تنوي 'include_localized_versions`، فيجب عليك أيضا تحديد حجة 'اللغات` للإشارة إلى اللغات المؤيدة للوثائق. + +من خلال الاستفادة من حجج CLI المخصصة هذه، يمكنك تصميم عملية توليد الوثائق لتلبية احتياجاتك وتفضيلاتك المحددة، وبالتالي تعزيز جودة وإمكانيات استخدام نواتج الوثائق الخاصة بك. + + +### الاستفادة من TypeScript في ملفات المصدر +عند استخدام TypeScript ضمن مشروعك، من المستصوب تحويل ملفات مصدر TypeScript إلى JavaScript قبل بدء عملية JSquarto . تنبع هذه التوصية من حقيقة أن JSquarto تفتقر إلى الدعم الجوهري لجملة TypeScript. بمجرد أن تقوم بنقل ملفات TypeScript الخاصة بك إلى JavaScript، يمكنك تنفيذ JSquarto بسلاسة على ملفات JavaScript الناتجة لإنشاء وثائق شاملة. + +دمج نقل TypeScript +قبل تنفيذ JSquarto، تأكد من تحويل ملفات مصدر TypeScript إلى JavaScript باستخدام المحول المفضل، مثل TypeScript Compiler (tsc). وتكفل هذه الخطوة التواؤم مع عملية توليد الوثائق في JSquarto، مما ييسر سلاسة وكفاءة diff --git a/translations/ar/docs/chapters/tutorials/how_to/workflows.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/how_to/workflows.qmd.ar.qmd new file mode 100644 index 00000000..a06673a5 --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/how_to/workflows.qmd.ar.qmd @@ -0,0 +1,104 @@ +###سير العمل + +### سير العمل {#sec-workflows} +هناك مختلف سير العمل التي يمكن اعتمادها لتحسين عملية توليد الوثائق باستخدام JSquarto. + +1. توليد دوك +2. توليد دوك مع نقل يدوي +3. توليد Doc مع ترجمة crowdin + +### توليد دوك +وينطوي سير العمل هذا على توليد الوثائق بلغة واحدة. وهذه العملية مباشرة وتنطوي على تنفيذ JSquarto على ملفات المصدر لتوليد وثائق شاملة باللغة المحددة. ويعد تدفق العمل هذا مثاليا بالنسبة للمشاريع التي تستهدف جمهورا لغويا محددا وتسعى إلى تبسيط عملية إعداد الوثائق. + +#### ستابس +1. للقيام بذلك، ببساطة تنفيذ أمر JSquarto مع الحجج المطلوبة ل CLI، مثل '--source' و 'languages' لتحديد دليل الملفات المصدر واللغات المدعومة، على التوالي. وعلى سبيل المثال: + + “`باش + npm تشغيل doc:generate --source=/path/to/your/source/files + ``` + +### توليد دوك مع ترجمة يدوية +من أجل الترجمة اليدوية للوثائق، يمكنك إنتاج الوثائق بلغات متعددة ثم ترجمة المحتوى يدوياً إلى اللغات المرغوبة. لسير العمل هذا، نستخدم [babelquarto](https://docs.ropensci.org/babelquarto/) الذي يساعد على معاينة الوثائق بلغات متعددة. على الرغم من أن هذا لا يترجم المحتوى، فإنه يوفر معاينة للوثائق باللغات المحددة، مما يتيح لك ترجمة المحتوى يدوياً. + +#### الخطوات +1. توليد الوثائق بلغات متعددة باستخدام JSquarto مع حجة "اللغات" لتحديد اللغات المعتمدة. وعلى سبيل المثال: + + “`باش + npm تشغيل doc:generate languages=en,fr,es include_localized_versions --source=/path/to/your/source/files + ``` +ملاحظة: تأكد من إدراج حجة 'include_localized_versions` لإنتاج نسخ من الوثائق باللغات المحددة. إذا لم تكن مشمولة، سيتم إنشاء وثائق اللغة الافتراضية فقط. ولكن سيتم إضافة تكوين اللغات إلى ملف التكوين (_quarto.yml) فقط. + +2. ترجمة المحتوى يدويا في ملفات الوثائق التي تم إنشاؤها لكل لغة. يمكنك استخدام أدوات مثل ترجمة جوجل أو خدمات الترجمة المهنية لتسهيل عملية الترجمة. + +3. قم بتحميل RStudio وتثبيت حزمة 'babelquarto' من CRAN. يتم استخدام هذه الحزمة لمعاينة الوثائق بلغات متعددة. يمكنك تثبيت الحزمة باستخدام الأمر التالي: + + “`R + install.packages('babelquarto', repos = c('https://ropensci.r-universe.dev', 'https://cloud.r-project.org')) + ``` + +4. افتح مجلد دوك الذي تم إنشاؤه في RStudio، انتقل إلى وحدة التحكم وتعيين دليل العمل إلى مجلد doc + + “`R + project_dir <- "/home/richie/Desktop/repos/oscsa/JSquarto/docs" + ``` + +5. معاينة الوثائق بلغات متعددة باستخدام حزمة 'babelquarto'. وعلى سبيل المثال، لتنفيذ الأمر التالي من أجل معاينة الوثائق باللغات الانكليزية والفرنسية والإسبانية: + + “`R + babelquarto::render_book(file.path(parent_dir, project_dir)) + ``` +6. وحتى وقت كتابة هذا التقرير، كانت هناك مسائل طفيفة تتعلق بالتنقل في الوثائق المعاد النظر فيها بلغات مختلفة. لإصلاح هذا مؤقتاً، قم بتشغيل + + “`باش + npm تشغيل إصلاح: جميع اللغات=en,fr,es + ``` + + ملاحظة: البرنامج النصي "إصلاح:all" هو برنامج نصي مخصص يصلح مشاكل التنقل في الوثائق المعاينة. يستخدم هذا البرنامج النصي لتحديث روابط التنقل في الوثائق المعاينة لتمكين التنقل السلس بين اللغات المختلفة. واللغات المحددة في النص ينبغي أن تتطابق مع اللغات المحددة في حجة "اللغات" أثناء عملية إعداد الوثائق. + +7. يمكنك الانتقال إلى دليل `/docs/_book` لعرض الوثائق المعاينة بلغات متعددة. يمكنك من التحقق من الترجمات وضمان دقة وجودة الوثائق. + + + +### توليد دوك مع ترجمة الحشود +للترجمة الآلية للوثائق، يمكنك الاستفادة من منصة كرودن لتسهيل عملية الترجمة. كراودِن هو منصة إدارة الترجمة القائمة على السحابة والتي تمكنك من أتمتة ترجمة المحتوى إلى لغات متعددة. من خلال دمج كراودِن مع JSquarto، يمكنك تبسيط عملية الترجمة وإنشاء وثائق شاملة بلغات مختلفة بكفاءة. + +#### الخطوات +1. توليد الوثائق بلغات متعددة باستخدام JSquarto مع حجة "اللغات" لتحديد اللغات المعتمدة. وعلى سبيل المثال: + + “`باش + npm تشغيل doc:generate languages=en,fr,es --source=/path/to/your/source/files + ``` + + لاحظ أن حجة "include_localized_versions" ليست مطلوبة لسير العمل هذا، لأن كراودِن سوف يتعامل مع عملية الترجمة. وإنشاء ملفات مختلفة لكل لغة. + +2. دمج كراودِن مع JSquarto لأتمتة عملية الترجمة. لدمج كراودن، تحتاج إلى إنشاء مشروع كراودِن وتكوين إعدادات المشروع لتمكين الترجمة التلقائية للوثائق. om/github-integration/#:~:text=فتح%20الخاص بك%20project%20and%20go%20to%20%20INtegrt، قرص أسفل%20list%20to%20integrate%20عن طريق%20الخاص بك%20GitHub%20a) للحصول على تعليمات مفصلة بشأن إعداد مشروع وتكوين إعدادات الترجمة. +في كراودين، يمكنك إعداد كيفية تسمية الملفات المترجمة، والتأكد من أنها تتبع تنسيق `original_file_name.locale.extension` على سبيل المثال `index.en.qmd`، `index.fr.qmd`، `index.es.qmd` + +3. بمجرد تكوين إعدادات مشروع Crowdin ، يمكنك المضي قدما في تقديم الوثائق بلغات متعددة باستخدام حزمة 'babelquarto'. هذه الخطوة تمكنك من معاينة الوثائق بلغات مختلفة قبل بدء عملية الترجمة. يمكنك استخدام حزمة 'babelquarto' لمعاينة الوثائق بلغات متعددة، كما هو مبين في تدفق العمل السابق. للقيام بهذا فتح مجلد doc الذي تم إنشاؤه في RStudio، انتقل إلى وحدة التحكم وتعيين دليل العمل إلى مجلد doc + + “`R + project_dir <- "/home/richie/Desktop/repos/oscsa/JSquarto/docs" + ``` + + معاينة الوثائق بلغات متعددة باستخدام حزمة 'babelquarto'. وعلى سبيل المثال، لتنفيذ الأمر التالي من أجل معاينة الوثائق باللغات الانكليزية والفرنسية والإسبانية: + + “`R + babelquarto::render_book(file.path(parent_dir, project_dir)) + ``` + +4. بعد تقديم الكتاب، سيتم إنشاء ملفات html وتعيينها في دليل `/docs/_book'. يمكنك بعد ذلك خدمة الكتاب باستخدام أي خادم ثابت مثل 'http-server' أو 'live-server' لمعاينة الوثائق بلغات متعددة. بدلاً من ذلك، يمكنك تشغيل الأمر التالي لخدمة الكتاب: + + “`باش + npm تشغيل الخدمة + ``` + + بعد تقديم الكتاب، يمكنك الانتقال إلى عنوان URL المحدد لعرض الوثائق بلغات متعددة. في بعض الحالات قد تلاحظ أن روابط التنقل لا تعمل كما هو متوقع. لإصلاح هذا، قم بتشغيل الأمر التالي: + + “`باش + npm تشغيل إصلاح: جميع اللغات=en,fr,es + ``` + +يستخدم سير العمل هذا JSquarto لتوليد الوثائق، و Crowdin لبدء عملية الترجمة التي تنشئ الملفات المترجمة باللغات المحددة، أخيرا حزمة 'babelquarto' لمعاينة الوثائق بلغات متعددة. + + + diff --git a/translations/ar/docs/chapters/tutorials/localization.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/localization.qmd.ar.qmd new file mode 100644 index 00000000..50abfbfe --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/localization.qmd.ar.qmd @@ -0,0 +1,48 @@ +### التعريب + +--- +title: التعريب +--- + +والتوطين هو عملية تكييف البرمجيات لتلبية الاحتياجات اللغوية والثقافية وغيرها من المتطلبات المحددة لموقع أو سوق بعينه. وهو جانب أساسي من جوانب تطوير البرمجيات يساعد على ضمان وصول المنتجات إلى المستعملين في جميع أنحاء العالم. وينطوي التعريب على ترجمة محتوى البرمجيات مثل الوصلات البينية للمستعملين، والنصوص، والوسائط المتعددة، من بين وسائل أخرى، لجعلها مناسبة لمختلف المناطق. + +كرودن هو منصة توطين قوية توفر مجموعة من الميزات لتوطين البرمجيات بكفاءة. في هذا القسم، سنناقش التعريب والترجمة وكيفية عمل كرودن كمنصة للتعريب. وسوف نسلط الضوء أيضا على أهمية إضفاء الطابع المحلي على تطوير البرمجيات وكيف يمكن أن يؤثر ذلك على نجاح المنتج. أخيراً، سوف نستكشف فوائد استخدام كراودِن كمنصة للتوطين والمزايا التي يقدمها مقارنة بالبدائل الأخرى. + +## ما هو التعريب ؟ + +والتوطين هو عملية تكييف منتج أو خدمة لتلبية الاحتياجات اللغوية والثقافية وغيرها من المتطلبات لبلد أو منطقة بعينها. هذا يتضمن ترجمة محتوى المنتج، مثل النصوص، والصور، والصوت، والصوت، • استخدام اللغة المحلية وتكييفها لتلبية المتطلبات الثقافية للسوق المستهدفة. + +والتوطين مهم في تطوير البرمجيات لأنه يساعد على جعل المنتج أيسر منالا للجمهور العالمي وتحسين تجربة المستخدم. من خلال ترجمة المحتوى إلى اللغة المحلية، يمكن للمطورين الوصول إلى جمهور أوسع وجعل من الأسهل على المستخدمين فهم المنتج واستخدامه. + +## ما هي الترجمة؟ + +الترجمة هي عملية تحويل المحتوى المكتوب أو المنطوق من لغة إلى أخرى. وتنطوي هذه العملية على فهم المحتوى الأصلي واستنساخه باللغة المستهدفة، مع مراعاة أي اختلافات ثقافية أو لغوية. + +والترجمة مهمة في تطوير البرمجيات لأنها تسمح للمطورين بجعل منتجاتهم متاحة للجمهور العالمي. من خلال ترجمة المحتوى إلى اللغة المحلية، يمكن للمطورين الوصول إلى جمهور أوسع وجعل من الأسهل على المستخدمين فهم المنتج واستخدامه. + +## كراودِن كمنصة للتعريب + +كراودِن هو منصة توطين تساعد المطورين على إدارة عملية توطين منتجاتهم. يوفر مجموعة من الميزات التي تجعل من الأسهل على المطورين ترجمة منتجاتهم والتعاون مع المترجمين. + +تشمل ميزات كراودِن: + +- إدارة الترجمة +- أدوات التعاون +- ضمان الجودة +- التكامل مع أدوات التنمية +- Crowdsourcing +- الترجمات في السياق +- الترجمة الآلية + +استخدام كراودِن للتعريب له عدة مزايا، بما في ذلك: + +- إدارة أسهل لمشاريع الترجمة +- أوقات دوران أسرع للترجمة +- تحسين جودة الترجمة +- التعاون مع المترجمين من جميع أنحاء العالم +- التكامل مع أدوات التنمية، مثل GitHub و Bitbucket +- القدرة على استخدام الترجمة الآلية لترجمات أسرع + +## استنتاج + +التعريب هو جانب هام من تطوير البرمجيات، واستخدام منصة مثل كراودِن يمكن أن يساعد على جعل العملية أسهل وأكثر كفاءة. مع كراودن، يمكن للمطورين إدارة مشاريع الترجمة، والتعاون مع المترجمين، وتحسين جودة الترجمات. باستخدام مزيج من التعريب والترجمة، يمكن للمطورين جعل منتجاتهم أيسر منالا للجمهور العالمي وتحسين تجربة المستخدم. diff --git a/translations/ar/docs/chapters/tutorials/project_structure.qmd.ar.qmd b/translations/ar/docs/chapters/tutorials/project_structure.qmd.ar.qmd new file mode 100644 index 00000000..124f0abe --- /dev/null +++ b/translations/ar/docs/chapters/tutorials/project_structure.qmd.ar.qmd @@ -0,0 +1,47 @@ +### بنية المشروع + +--- +title: بنية المشروع +--- + + +#### بنية ملف المشروع +وفيما يلي هيكل الرابطة اليابانية للتعاون التقني: + +“`باش +├── src + - وصية + - فهارس +│ ├── utils +│ │ ├── codeconstruct.ts +│ │ ├── component.ts +│ │ ├── file.ts +│ │ ├── logger.ts +│ │ ├── parser.ts +│ │ ├── string.ts + - كتاب + - دروس + -- مساهمة/ + -how_to / + environment_setup.qmd + -localization.qmd + ', project_structure.qmd + )-config.json +│ │ + - فهارس +│ │ + ', package.json + ', package-lock.json + .prettierrc + +``` + + +يحتوي دليل "API" على رمز المصدر لـ JSQuarto. وينظم دليل "API" على النحو التالي: + +- 'src/interfaces' - يحتوي على جميع تعاريف النوع/العناوين للمشروع. +- 'src/utils' - يحتوي على جميع وظائف المنفعة للمشروع. وتستخدم هذه الوظائف المفيدة لأداء مهام مختلفة مثل الوقوف والكتابة وقطع الأخشاب. +- 'src/tutorials' - يحتوي على جميع الدروس للمشروع. هذه الدروس مكتوبة بتنسيق Quarto Markdown. لاحظ أن ملف `config.json` يستخدم لتحديد كيفية هيكلة الدروس. +- 'src/index.ts' - المدخل الرئيسي للمشروع. +- 'src/package.json' - ملف حزمة المشروع؛ +- 'src/.prettierrc' - ملف التكوين المسبق للمشروع. diff --git a/translations/ar/docs/index.md.ar.md b/translations/ar/docs/index.md.ar.md new file mode 100644 index 00000000..e19481df --- /dev/null +++ b/translations/ar/docs/index.md.ar.md @@ -0,0 +1,33 @@ +# مرحبا بكم في وثائق JSQuarto + +## حول + +JSQuarto هي أداة مصممة لتوليد وثائق مرجعية لحزمة API جافا سكريبت باستخدام Markdown و Quarto. يعمل كبديل لـ JSDoc، ويوفر نهجا أبسط وأكثر مرونة لتوثيق شفرة جافا سكريبت. + +## الغرض + +الغرض من JSQuarto هو تبسيط عملية إنشاء وثائق API المرجعية لحزم جافا سكريبت. من خلال الاستفادة من Markdown و Quarto، يمكن للمطورين إنشاء وحفظ وثائق شاملة لمشاريع جافا سكريبت الخاصة بهم. + +## إلهام + +JSQuarto يستلهم من أدوات ومنهجيات التوثيق المختلفة، بما في ذلك:
+ +- [JSDoc](https://jsdoc.app/): JSDoc هو أداة شائعة لتوليد وثائق API من كود مصدر جافا سكريبت.
+- [Quarto](https://quarto.org/): Quarto هي أداة مؤلفة ونشر وثيقة متنوعة تدعم تنسيقات Markdown, LaTeX, and R Markdown.
+- [Sphinx](https://www.sphinx-doc.org/): Sphinx هو أداة لتوليد الوثائق تستخدم على نطاق واسع في مجتمع Python.
+ +## التعريب والترجمة + +وشركة JSQuarto ملتزمة بدعم توطين وترجمة الوثائق التي تم إنشاؤها. نحن نخطط لدمج كراودن، وهي منصة لإدارة التعريب ، لتسهيل جهود الترجمة. وهذا سيمكن المستخدمين من تقديم ملفات QMD التي تم إنشاؤها بلغات متعددة، مما يجعل الوثائق متاحة لجمهور أوسع. + +## المنظمة المساهمة + +تم تطوير وصيانة JSQuarto من قبل [المجتمع العلمي المفتوح في المملكة العربية السعودية] (https://github.com/Open-Science-Community-Saudi-Arabia). وتتمثل مهمتنا في تعزيز الممارسات العلمية المفتوحة وتعزيز التعاون بين الباحثين والمطورين في المملكة العربية السعودية. + +## بدء العمل + +لبدء استخدام JSQuarto، قم بزيارة [GitHub repository](https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto) للحصول على تعليمات التثبيت ووثائق الاستخدام. + +## الملاحظات والدعم + +إذا كان لديك أي أسئلة، أو ردود فعل، أو تحتاج إلى دعم، يرجى [فتح مشكلة] (https://github.com/Open-Science-Community-Saudi-Arabia/JSquarto/issues) على GitHub أو [الانضمام إلى مجتمعنا](https://github.com/Open-Science-Community-Saudi-Arabia) للحصول على المساعدة.