ويكي مصدر
arwikisource
https://ar.wikisource.org/wiki/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9
MediaWiki 1.47.0-wmf.15
first-letter
ميديا
خاص
نقاش
مستخدم
نقاش المستخدم
ويكي مصدر
نقاش ويكي مصدر
ملف
نقاش الملف
ميدياويكي
نقاش ميدياويكي
قالب
نقاش القالب
مساعدة
نقاش المساعدة
تصنيف
نقاش التصنيف
بوابة
نقاش البوابة
مؤلف
نقاش المؤلف
صفحة
نقاش الصفحة
فهرس
نقاش الفهرس
نص زمني
نقاش النص الزمني
وحدة
نقاش الوحدة
فعالية
نقاش فعالية
اتفاقية القضاء على جميع أشكال التمييز ضد المرأة
0
4398
617209
616138
2026-08-12T14:23:53Z
Lanhiaze
7710
تضمين يدوي صفحة صفحة مبدئياً
617209
wikitext
text/x-wiki
{{ترويسة
|عنوان=اتفاقية القضاء على جميع أشكال التمييز ضد المرأة
|مؤلف=
|ملاحظات=اعتمدت وعرضت للتوقيع والتصديق والانضمام بموجب قرار الجمعية العامة للأمم المتحدة 34/180 المؤرخ في 18 كانون الأول/ديسمبر 1979؛
تاريخ بدء النفاذ: 3 أيلول/سبتمبر 1981، وفقا لأحكام المادة 27 (1).
للاتفاقية [[البرتوكول الاختياري الملحق باتفاقية القضاء على جميع أشكال التمييز ضد المرأة|بروتوكول اختياري]]
}}
----
'''أقسام هذه الوثيقة:''' المواد: [[#المادة ١|١]] | [[#المادة ٢|٢]] | [[#المادة ٣|٣]] | [[#المادة ٤|٤]] | [[#المادة ٥|٥]] | [[#المادة ٦|٦]] | [[#المادة ٧|٧]] | [[#المادة ٨|٨]] | [[#المادة ٩|٩]] | [[#المادة ١٠|١٠]] | [[#المادة ١١|١١]] | [[#المادة ١٢|١٢]] | [[#المادة ١٣|١٣]] | [[#المادة ١٤|١٤]] | [[#المادة ١٥|١٥]] | [[#المادة ١٦|١٦]] | [[#المادة ١٧|١٧]] | [[#المادة ١٨|١٨]] | [[#المادة ١٩|١٩]] | [[#المادة ٢٠|٢٠]] | [[#المادة ٢١|٢١]] | [[#المادة ٢٢|٢٢]] | [[#المادة ٢٣|٢٣]] | [[#المادة ٢٤|٢٤]] | [[#المادة ٢٥|٢٥]] | [[#المادة ٢٦|٢٦]] | [[#المادة ٢٧|٢٧]] | [[#المادة ٢٨|٢٨]] | [[#المادة ٢٩|٢٩]] | [[#المادة ٣٠|٣٠]] |
----
__NOTOC__ __لافهرس__
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=130 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=129 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=128 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=127 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=126 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=125 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=124 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=123 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=122 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=121 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=120 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=119 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=118 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=117 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=116 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=115 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=114 />
----
* عن حقوق الإنسان: مجموعة صكوك دولية، المجلد الأول، الأمم المتحدة، نيويورك، 1993، رقم المبيعA.94.XIV-Vol.1، Part 1، ص 208.
==أنظر أيضا==
* [[البرتوكول الاختياري الملحق باتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
{{ويكيبيديا}}
[[تصنيف:الأمم المتحدة]]
[[تصنيف:حقوق المرأة]]
[[تصنيف:قرارات الجمعية العامة للأمم المتحدة]]
[[تصنيف:مشاع-أمم متحدة]]
[[تصنيف:مواثيق دولية]]
0i99nl3tr9lsy3mnupptvju3ay6umx5
617301
617209
2026-08-12T22:30:28Z
Lanhiaze
7710
وفق عنوان الوثيقة
617301
wikitext
text/x-wiki
{{ترويسة
|عنوان=اتفاقية القضاء على جميع أشكال التمييز ضد المرأة
|مؤلف=
|ملاحظات=اعتمدت وعرضت للتوقيع والتصديق والانضمام بموجب قرار الجمعية العامة للأمم المتحدة 34/180 المؤرخ في 18 كانون الأول/ديسمبر 1979؛
تاريخ بدء النفاذ: 3 أيلول/سبتمبر 1981، وفقا لأحكام المادة 27 (1).
للاتفاقية [[بروتوكول اختياري لاتفاقية القضاء على جميع أشكال التمييز ضد المرأة|بروتوكول اختياري]]
}}
----
'''أقسام هذه الوثيقة:''' المواد: [[#المادة ١|١]] | [[#المادة ٢|٢]] | [[#المادة ٣|٣]] | [[#المادة ٤|٤]] | [[#المادة ٥|٥]] | [[#المادة ٦|٦]] | [[#المادة ٧|٧]] | [[#المادة ٨|٨]] | [[#المادة ٩|٩]] | [[#المادة ١٠|١٠]] | [[#المادة ١١|١١]] | [[#المادة ١٢|١٢]] | [[#المادة ١٣|١٣]] | [[#المادة ١٤|١٤]] | [[#المادة ١٥|١٥]] | [[#المادة ١٦|١٦]] | [[#المادة ١٧|١٧]] | [[#المادة ١٨|١٨]] | [[#المادة ١٩|١٩]] | [[#المادة ٢٠|٢٠]] | [[#المادة ٢١|٢١]] | [[#المادة ٢٢|٢٢]] | [[#المادة ٢٣|٢٣]] | [[#المادة ٢٤|٢٤]] | [[#المادة ٢٥|٢٥]] | [[#المادة ٢٦|٢٦]] | [[#المادة ٢٧|٢٧]] | [[#المادة ٢٨|٢٨]] | [[#المادة ٢٩|٢٩]] | [[#المادة ٣٠|٣٠]] |
----
__NOTOC__ __لافهرس__
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=130 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=129 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=128 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=127 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=126 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=125 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=124 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=123 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=122 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=121 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=120 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=119 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=118 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=117 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=116 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=115 />
<pages index="United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf" include=114 />
----
* عن حقوق الإنسان: مجموعة صكوك دولية، المجلد الأول، الأمم المتحدة، نيويورك، 1993، رقم المبيعA.94.XIV-Vol.1، Part 1، ص 208.
==أنظر أيضا==
* [[البرتوكول الاختياري الملحق باتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
{{ويكيبيديا}}
[[تصنيف:الأمم المتحدة]]
[[تصنيف:حقوق المرأة]]
[[تصنيف:قرارات الجمعية العامة للأمم المتحدة]]
[[تصنيف:مشاع-أمم متحدة]]
[[تصنيف:مواثيق دولية]]
hwgunjdn10ie14m1aby0xfuj4qofr2y
بروتوكول اختياري لاتفاقية القضاء على جميع أشكال التمييز ضد المرأة
0
4401
617265
616153
2026-08-12T19:39:30Z
~2026-44033-07
72767
617265
wikitext
text/x-wiki
{{ترويسة
|عنوان=البرتوكول الاختياري الملحق ب[[اتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
|مؤلف= الجمعية العامة للأمم المتحدة
|ملاحظات=اعتمد وعرض للتوقيع والتصديق والانضمام بموجب قرار الجمعية العامة للأمم المتحدة 4 الدورة الرابعة والخمسون بتاريخ 9 أكتوبر 1999؛ تاريخ بدء النفاذ 22 ديسمبر 2000، وفقا لأحكام المادة 16.
----
وثيقة الأمم المتحدة A/RES/54/4.
}}
----
'''أقسام هذه الوثيقة:''' المواد: [[#المادة ١|١]] | [[#المادة ٢|٢]] | [[#المادة ٣|٣]] | [[#المادة ٤|٤]] | [[#المادة ٥|٥]] | [[#المادة ٦|٦]] | [[#المادة ٧|٧]] | [[#المادة ٨|٨]] | [[#المادة ٩|٩]] | [[#المادة ١٠|١٠]] | [[#المادة ١١|١١]] | [[#المادة ١٢|١٢]] | [[#المادة ١٣|١٣]] | [[#المادة ١٤|١٤]] | [[#المادة ١٥|١٥]] | [[#المادة ١٦|١٦]] | [[#المادة ١٧|١٧]] | [[#المادة ١٨|١٨]] | [[#المادة ١٩|١٩]] | [[#المادة ٢٠|٢٠]] | [[#المادة ٢١|٢١]] |
----
__NOTOC__
__NOEDITSECTION__
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=58 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=57 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=56 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=55 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=54 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=53 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=52 />
==طالع كذلك==
* [[اتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
[[تصنيف:قرارات الجمعية العامة للأمم المتحدة|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
[[تصنيف:مواثيق دولية|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
[[تصنيف:مشاع-أمم_متحدة|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
[[تصنيف:حقوق المرأة|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
e7ebqmr080teaiarkwwb9n73mi7dq32
617297
617265
2026-08-12T22:30:25Z
Lanhiaze
7710
نقل Lanhiaze صفحة [[البرتوكول الاختياري الملحق باتفاقية القضاء على جميع أشكال التمييز ضد المرأة]] إلى [[بروتوكول اختياري لاتفاقية القضاء على جميع أشكال التمييز ضد المرأة]] دون ترك تحويلة: خطأ إملائي في العنوان: كما في عنوان الوثيقة
617265
wikitext
text/x-wiki
{{ترويسة
|عنوان=البرتوكول الاختياري الملحق ب[[اتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
|مؤلف= الجمعية العامة للأمم المتحدة
|ملاحظات=اعتمد وعرض للتوقيع والتصديق والانضمام بموجب قرار الجمعية العامة للأمم المتحدة 4 الدورة الرابعة والخمسون بتاريخ 9 أكتوبر 1999؛ تاريخ بدء النفاذ 22 ديسمبر 2000، وفقا لأحكام المادة 16.
----
وثيقة الأمم المتحدة A/RES/54/4.
}}
----
'''أقسام هذه الوثيقة:''' المواد: [[#المادة ١|١]] | [[#المادة ٢|٢]] | [[#المادة ٣|٣]] | [[#المادة ٤|٤]] | [[#المادة ٥|٥]] | [[#المادة ٦|٦]] | [[#المادة ٧|٧]] | [[#المادة ٨|٨]] | [[#المادة ٩|٩]] | [[#المادة ١٠|١٠]] | [[#المادة ١١|١١]] | [[#المادة ١٢|١٢]] | [[#المادة ١٣|١٣]] | [[#المادة ١٤|١٤]] | [[#المادة ١٥|١٥]] | [[#المادة ١٦|١٦]] | [[#المادة ١٧|١٧]] | [[#المادة ١٨|١٨]] | [[#المادة ١٩|١٩]] | [[#المادة ٢٠|٢٠]] | [[#المادة ٢١|٢١]] |
----
__NOTOC__
__NOEDITSECTION__
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=58 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=57 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=56 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=55 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=54 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=53 />
<pages index="United_Nations_-_Optional_Protocol_to_the_Convention_on_the_Elimination_of_All_Forms_of_Discrimination_against_Women_(1999).pdf" include=52 />
==طالع كذلك==
* [[اتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
[[تصنيف:قرارات الجمعية العامة للأمم المتحدة|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
[[تصنيف:مواثيق دولية|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
[[تصنيف:مشاع-أمم_متحدة|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
[[تصنيف:حقوق المرأة|برتوكول اختياري ملحق اتفاقية قضاء على جميع أشكال تمييز ضد مرأة]]
e7ebqmr080teaiarkwwb9n73mi7dq32
المعاهدات والصكوك الدولية لحقوق الإنسان حسب الموضوع
0
4494
617300
74856
2026-08-12T22:30:27Z
Lanhiaze
7710
وفق عنوان الوثيقة
617300
wikitext
text/x-wiki
===ميثاق الأمم المتحدة والنظام الأساسى لمحكمة العدل الدولية===
*[[ميثاق الأمم المتحدة]]
*[[النظام الأساسى لمحكمة العدل الدولية]]
===الشرعة الدولية لحقوق الإنسان===
*[[الإعلان العالمي لحقوق الإنسان]]
*[[العهد الدولي الخاص بالحقوق الاقتصادية والاجتماعية والثقافية]]
*[[العهد الدولي الخاص بالحقوق المدنية والسياسية]]
*:[[البروتوكول الاختياري الملحق بالعهد الدولي للحقوق المدنية والسياسية بشأن تقديم شكاوى من قبل الأفراد]]
*:[[البروتوكول الاختياري الثاني الملحق بالعهد الدولي للحقوق المدنية والسياسية، بهدف إلغاء عقوبة الإعدام]]
===حق تقرير المصير===
*[[إعلان منح الاستقلال للبلدان والشعوب المستعمرة]]
*[[السيادة الدائمة علي الموارد الطبيعية]]
===منع التمييز وحماية الأقليات===
*[[إعلان الأمم المتحدة للقضاء علي جميع أشكال التمييز العنصري]]
*[[إعلان بشأن العنصر والتحيز العنصري]]
*[[الاتفاقية الدولية للقضاء علي جميع أشكال التمييز العنصري]]
*[[الاتفاقية الدولية لمناهضة الفصل العنصري في الألعاب الرياضية]]
*[[الاتفاقية الخاصة بمكافحة التمييز في مجال التعليم]]
*[[بروتوكول إنشاء لجنة للتوفيق والمساعي الحميدة|بروتوكول إنشاء لجنة للتوفيق والمساعي الحميدة يناط بها البحث عن تسوية لأية خلافات قد تنشأ بين الدول الأطراف في الاتفاقية الخاصة بمكافحة التمييز في مجال التعليم]]
*[[الاتفاقية الدولية لقمع جريمة الفصل العنصري والمعاقبة عليها]]
*[[إعلان بشأن المبادئ الأساسية الخاصة بإسهام وسائل الإعلام في دعم السلام والتفاهم الدولي وتعزيز حقوق الإنسان|إعلان بشأن المبادئ الأساسية الخاصة بإسهام وسائل الإعلام في دعم السلام والتفاهم الدولي، وتعزيز حقوق الإنسان، ومكافحة العنصرية والفصل العنصري والتحريض علي الحرب]]
*[[إعلان بشأن القضاء على جميع أشكال التعصب والتمييز القائمين على أساس الدين أو المعتقد]]
*[[إعلان بشأن حقوق الأشخاص المنتمين إلى أقليات قومية أو إثنية وإلى أقليات دينية ولغوية]]
===حقوق المرأة===
*[[إتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
*[[بروتوكول اختياري لاتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
*[[إعلان بشأن القضاء على العنف ضد المرأة]]
*[[إعلان القضاء على التمييز ضد المرأة]]
*[[اتفاقية بشأن الحقوق السياسية للمرأة]]
*[[إعلان بشأن حماية النساء والأطفال في حالات الطوارئ والمنازعات المسلحة]]
*[[إعلان بشأن مشاركة المرأة في تعزيز السلم والتعاون الدوليين]]
===الرق والعبودية والممارسات المشابهة===
*[[الاتفاقية الخاصة بالرق]]
*[[برتوكول بتعديل الاتفاقية الخاصة بالرق الموقعة في جنيف]]
*[[الاتفاقية التكميلية لإبطال الرق وتجارة الرقيق والأعراف والممارسات الشبيهة بالرق]]
===حقوق الأشخاص الخاضعين للإحتجاز أو السجن===
*[[القواعد النموذجية الدنيا لمعاملة السجناء]]
*[[المبادئ الأساسية لمعاملة السجناء]]
*[[مجموعة المبادئ المتعلقة بحماية جميع الأشخاص الذين يتعرضون لأي شكل من أشكال الاحتجاز أو السجن]]
===الحماية من التعذيب وغيره من ضروب المعاملة القاسية أو اللاإنسانية أو المهينة===
*[[اتفاقية مناهضة التعذيب وغيره من ضروب المعاملة أو العقوبة القاسية أو اللاإنسانية أو المهينة]]
*[[إعلان حماية جميع الأشخاص من التعرض للتعذيب وغيره من ضروب المعاملة أو العقوبة القاسية أو اللاإنسانية أو المهينة]]
*[[مبادئ آداب مهنة الطب المتصلة بدور الموظفين الصحيين|مبادئ آداب مهنة الطب المتصلة بدور الموظفين الصحيين، ولا سيما الأطباء، في حماية المسجونين والمحتجزين من التعذيب وغيره من ضروب المعاملة أو العقوبة القاسية أو اللاإنسانية أو المهنية]]
*[[إعلان حماية جميع الأشخاص من الاختفاء القسري]]
===حقوق الإنسان في إقامة العدل===
*[[مدونة لقواعد سلوك الموظفين المكلفين بإنفاذ القوانين]]
*[[مبادئ أساسية بشأن دور المحامين]]
*[[مبادئ توجيهية بشأن دور أعضاء النيابة العامة]]
*[[إعلان بشأن المبادئ الأساسية لتوفير العدالة لضحايا الجريمة وإساءة استعمال السلطة]]
*[[ضمانات تكفل حماية حقوق الذين يواجهون عقوبة الإعدام]]
*[[مبادئ أساسية بشأن استقلال السلطة القضائية]]
*[[مبادئ المنع والتقصي الفعالين لعمليات الإعدام خارج نطاق القانون والإعدام التعسفي والإعدام دون محاكمة]]
*[[معاهدة نموذجية بشأن نقل الإجراءات في المسائل الجنائية]]
*[[معاهدة نموذجية بشأن نقل الإشراف علي المجرمين المحكوم عليهم بأحكام مشروطة أو المفرج عنهم إفراجا مشروط]]
*[[إعلان فيينا بشأن الجريمة والعدالة مواجهة تحديات القرن الحادي والعشرين]]
*[[اتفاقية حظر الاتجار بالأشخاص واستغلال دعارة الغير]]
*[[اتفاقية الأمم المتحدة لمكافحة الجريمة المنظمة عبر الوطنية]]
*[[بروتوكول منع وقمع ومعاقبة الاتجار بالأشخاص، وبخاصة النساء والأطفال، المكمل لاتفاقية الأمم المتحدة لمكافحة الجريمة المنظمة عبر الوطنية]]
*[[بروتوكول مكافحة تهريب المهاجرين عن طريق البر والبحر والجو، المكمِّل لاتفاقية الأمم المتحدة لمكافحة الجريمة المنظمة عبر الوطنية]]
*[[مضبطة نموذجية لتشريح الجثث]]
*[[البروتوكول النموذجي المتعلق بالتحقيق القانوني في علميات الإعدام خارج نطاق القانون والإعدام التعسفي والإعدام دون محاكمة|البروتوكول النموذجي المتعلق بالتحقيق القانوني في علميات الإعدام خارج نطاق القانون والإعدام التعسفي والإعدام دون محاكمة
"بروتوكول منيسوتا"]]
*[[الإجراءات النموذجية لاستخراج الجثث وتحليل بقايا هياكلها]]
===حقوق الأحداث===
[[قواعد الأمم المتحدة بشأن حماية الأحداث المجردين من حريتهم]]
===حقوق الطفل===
*[[إعلان حقوق الطفل]]
*[[اتفاقية حقوق الطفل]]
*[[البروتوكول الاختياري لاتفاقية حقوق الطفل بشأن اشتراك الأطفال في المنازعات المسلحة]]
*[[البروتوكول الاختياري لاتفاقية حقوق الطفل بشأن بيع الأطفال واستغلال الأطفال في البغاء وفي المواد الاباحية]]
*[[الإعلان المتعلق بالمبادئ الاجتماعية والقانونية المتصلة بحماية الأطفال ورعايتهم مع الاهتمام الخاص بالحضانة والتبني|الإعلان المتعلق بالمبادئ الاجتماعية والقانونية المتصلة بحماية الأطفال ورعايتهم مع الاهتمام الخاص بالحضانة والتبني علي الصعيدين الوطني والدولي]]
*[[إعلان حقوق الطفل لعام 1924 - جنيف]]
===مؤتمرات الأمم المتحدة لحقوق الإنسان===
*[[إعلان طهران]]
*[[إعلان وبرنامج عمل فيينا]]
===حرية التنظيم===
*[[الإعلان المتعلق بحق ومسؤولية الأفراد والجماعات وهيئات المجتمع في تعزيز وحماية حقوق الإنسان والحريات الأساسية المعترف بها عالميا]]
*[[المبادئ المتعلقة بمركز المؤسسات الوطنية لتعزيز وحماية حقوق الإنسان]]
*[[زيادة فعالية مبدأ إجراء انتخابات دورية ونزيهة]]
*[[مشروع المبادئ العامة بشأن الحرية وعدم التمييز في مسألة الحقوق السياسية]]
*[[زيادة فعالية مبدأ الانتخابات الدورية النزيهة: إطار للجهود التي يتعين الاضطلاع بها في المستقبل]]
*[[اتفاقية الحرية النقابية وحماية حق التنظيم النقابي]]
*[[اتفاقية حق التنظيم النقابي والمفاوضة الجماعية]]
*[[الاتفاقية الخاصة بممثلي العمال]]
*[[اتفاقية علاقات العمل (في الخدمة العامة)]]
===التوظيف والعمل القسري===
*[[إعلان منظمه العمل الدولية بشأن المبادئ والحقوق الأساسية في العمل ومتابعته]]
*[[اتفاقية السخرة]]
*[[اتفاقية المساواة في الأجور]]
*[[احترام القانون الدولي الإنساني ومساندة العمل الإنساني في النزاعات المسلحة]]
*[[اتفاقية تحريم السخرة]]
*[[اتفاقية التمييز (في مجال الاستخدام والمهنة)]]
*[[اتفاقية سياسة العمالة]]
*[[اتفاقية تشجيع المفاوضة الجماعية]]
*[[اتفاقية بشأن النهوض بالعمالة والحماية من البطالة]]
*[[اتفاقية تحديد ساعات العمل في المنشآت الصناعية بثماني ساعات يوميا وبثمان وأربعين ساعة أسبوعيا]]
*[[اتفاقية البطالة]]
*[[إتفاقية بشأن تخفيض ساعات العمل في الأشغال العامة، لعام 1936]]
*[[إتفاقية بشأن الأجازات السنوية مدفوعة الأجر، لعام 1936]]
*[[إتفاقية بشأن الحد الأدني للكفأة المهنية الواجب توافرها لدي ربابنة وضباط السفن التجارية، لعام 1936]]
*[[اتفاقية بشأن الإجازات السنوية مدفوعة الأجر للبحارة، لعام 1936]]
*[[اتفاقية تحديد ساعات العمل في المنشآت الصناعية بثماني ساعات يوميا وبثمان وأربعين ساعة أسبوعيا، لعام 1936]]
*[[اتفاقية بشأن التأمين الصحي للبحارة، لعام 1936]]
*[[اتفاقية بشأن ساعات العمل وإعداد العاملين علي ظهر السفن، لعام 1936]]
*[[اتفاقية الحد الأدني لسن تشغيل الأحداث في العمل البحري (مراجعة، 1936)]]
*[[اتفاقية الحد الأدني لسن تشغيل الأحداث في الأعمال الصناعية (مراجعة، 1937)]]
*[[اتفاقية بشأن سن استخدام الأحداث في الأعمال غير الصناعة (مراجعة عام 1937)]]
*[[اتفاقية بشأن تخفيض ساعات العمل في صناعة النسيج، لعام 1938]]
*[[اتفاقية بشأن أحكام السلامة في صناعة البناء، لعام 1937]]
===الشركات وحقوق الإنسان===
*[[القواعد المتعلقة بمسؤوليات الشركات عبر الوطنية وغيرها من مؤسسات الأعمال في مجال حقوق الإنسان]]
*[[التعليق على القواعد المتعلقة بمسؤولية الشركات عبر الوطنية وغيرها من مؤسسات الأعمال في مجال حقوق الإنسان]]
===الحقوق الاقتصادية والحق في الخصوصية والسلم===
*[[الإعلان العالمي الخاص باستئصال الجوع وسوء التغذية]]
*[[مبادئ توجيهية لتنظيم ملفات البيانات الشخصية المعدة بالحاسبة الإلكترونية]]
*[[إعلان بشأن حق الشعوب في السلم]]
*[[إعلان مبادئ بشأن التسامح]]
*[[إعلان بشأن المدن والمستوطنات البشرية الأخرى في الألفية الجديدة]]
===الشعوب الأصلية===
*[[الاتفاقية رقم 169 بشأن الشعوب الأصلية والقبلية في البلدان المستقلة]]
===التنمية===
*[[إعلان حول التقدم والإنماء في الميدان الاجتماعي]]
*[[الإعلان الخاص باستخدام التقدم العلمي والتكنولوجي لصالح السلم وخير البشرية]]
*[[إعلان الحق في التنمية]]
*[[إعلان التزام بشأن فيروس نقص المناعة البشرية/الإيدز]]
*[[إعلان الأمم المتحدة بشأن الألفية]]
===حقوق لمعوقين===
*[[الإعلان الخاص بحقوق المتخلفين عقليا]]
*[[مبادئ حماية الأشخاص المصابين بمرض عقلي وتحسين العناية بالصحة العقلية]]
*[[الإعلان الخاص بحقوق المعوقين]]
===حقوق اللاجئين===
*[[الاتفاقية الخاصة بوضع اللاجئين]]
*[[البروتوكول الخاص بوضع اللاجئين]]
*[[النظام الأساسي لمفوضية الأمم المتحدة لشؤون اللاجئين]]
*[[إعلان بشأن الملجأ الإقليمي]]
===حقوق الأجانب===
*[[الإعلان المتعلق بحقوق الإنسان للأفراد الذين ليسوا من مواطني البلد الذي يعيشون فيه]]
===جرائم الحرب والجرائم ضد الإنسانية بما في ذلك جريمة الإبادة الجماعية===
*[[اتفاقية منع جريمة الإبادة الجماعية والمعاقبة عليها]]
*[[اتفاقية عدم تقادم جرائم الحرب والجرائم المرتكبة ضد الإنسانية]]
*[[مبادئ التعاون الدولي في تعقب واعتقال وتسليم ومعاقبة الأشخاص المذنبين بارتكاب جرائم حرب وجرائم ضد الإنسانية]]
*[[نظام روما الأساسي للمحكمة الجنائية الدولية]]
*[[القواعد الإجرائية وقواعد الإثبات الخاصة بالمحكمة الجنائية الدولية]]
*[[أركان الجرائم الخاصة بالمحكمة الجنائية الدولية]]
===القانون الإنساني الدولي===
*[[اتفاقية جنيف لتحسين حال الجرحى والمرضى بالقوات المسلحة في الميدان]]
*[[اتفاقية جنيف لتحسين حال جرحى ومرضى وغرقى القوات المسلحة في البحار]]
*[[اتفاقية جنيف بشأن معاملة أسرى الحرب]]
*[[اتفاقية جنيف بشأن حماية الأشخاص المدنيين في وقت الحرب]]
*[[البرتوكول الإضافي الأول الملحق باتفاقيات جنيف المعقودة في 12 آب/أغسطس 1949 والمتعلق بحماية ضحايا المنازعات المسلحة الدولية]]
*[[البرتوكول الإضافي الثاني الملحق باتفاقيات جنيف المعقودة في 12 آب/أغسطس 1949 والمتعلق بحماية ضحايا المنازعات المسلحة غير الدولية]]
*[[مبادئ توجيهية بشأن التشريد الداخلي]]
*[[الاضطرابات والتوترات الداخلية: مشروع جديد لإعلان عن القواعد الإنسانية الدنيا]]
*[[إعلان بشأن قواعد القانون الدولي الإنساني المتعلقة بتسيير الأعمال العدائية في المنازعات المسلحة غير الدولية]]
*[[اجتماع المائدة المستديرة التاسع عشر بشأن المشكلات الراهنة للقانون الدولي الإنساني]]
*[[إعلان سان بترسبورغ لسنة 1868 بغية حظر استعمال قذائف معينة في زمن الحرب]]
*[[اللجنة الدولية لتقصي الحقائق]] ، نصا نموذجيا للإعلان بالاعتراف باختصاص اللجنة الدولية لتقصي الحقائق.
*[[مبادئ توجيهية بشأن الحق في المساعدة الإنسانية]]
*[[القانون الدولي الإنساني: الانتقال من القانون إلي العمل تقرير عن أعمال متابعة المؤتمر الدولي لحماية ضحايا الحرب]]
*[[حماية السكان المدنيين في فترة النزاع المسلح]]
*[[مواد الحرب التي أصدرها ملك السويد غوستاف الثاني أدولف]]
*[[اتفاق تعاون بين الأمانة العامة لمنظمة الدول الأمريكية واللجنة الدولية للصليب الأحمر]]
*[[الموئل البشري الثاني: إعلان من اللجنة الدولي]]
*[[قانون نموذجي بشأن استعمال وحماية شارة الصليب الأحمر أو الهلال الأحمر]]
*[[منح اللجنة الدولية للصليب الأحمر مركز المراقب لدي الجمعية العامة للأمم المتحدة]]
*[[اتفاق بين اللجنة الدولية للصليب الأحمر ورابطة جمعيات الصليب الأحمر والهلال الأحمر]]
*[[القانون الدولي الإنساني المطبق في النزاعات المسلحة في البحار]]
*[[المبادئ والأعمال المعتمدة بشأن المساعدة والحماية في إطار العمل الإنساني]]
*[[دعم القدرة الوطنية علي تقديم المساعدة في الشؤون الإنسانية و الإنمائية وحماية المستضعفين]]
*[[الإعلان الختامي للمؤتمر الدولي لحماية ضحايا الحرب]]
*[[اجتماع فريق الخبراء الدولي الحكومي المعني بحماية ضحايا الحرب]]
*[[احترام القانون الدولي الإنساني ومساندة العمل الإنساني في المنازعات المسلحة]]
*[[احترام القانون الدولي الإنساني ومساندة العمل الإنساني في النزاعات المسلحة]]
*[[احترام القانون الدولي الإنساني]]
*[[النظام الأساسي للجنة الدولية للصليب الأحمر]]
*[[الاتجاه إلى تحريم الألغام الأرضية المضادة للأفراد: تحريما تاما]]
*[[أول اقتراح لإنشاء محكمة جنائية دولية دائمة]]
*[[بيان الصليب الأحمر أمام الجمعية العامة للأمم المتحدة حول فتوى محكمة العدل الدولية بشأن مشروعية التهديد بالأسلحة النووية أو استخدامها]]
*[[توصيات اجتماع فريق الخبراء الدولي الحكومي المعني بحماية ضحايا الحرب]]
*[[اتفاق بين اللجنة الدولية للصليب الأحمر والمجلس الاتحادي السويسري لتحديد الوضع القانوني للجنة في سويسرا]]
*[[النظام الداخلي للجنة الدولية الإنسانية لتقصي الحقائق]]
*[[إعلان كمبالا]]
*[[استنتاجات بشأن جمع شمل العائلات]]
*[[الاجتماع التأسيسي للجنة الدولية لتقصي الحقائق]]
*[[انتخاب أعضاء اللجنة الدولية لتقصي الحقائق]]
*[[لائحة بشأن الاطلاع علي محفوظات اللجنة الدولي للصليب الأحمر]]
*[[نتائج وتوصيات الندوة الإقليمية بشأن التدابير الوطنية لتطبيق القانون الدولي الإنساني]]
*[[إعلان بشأن زيادة فعالية مبدأ الامتناع عن التهديد باستعمال القوة أو استعمالها في العلاقات الدولية]]
*[[إعلان مانيلا بشأن تسوية المنازعات الدولية بالوسائل السلمية]]
*[[اللائحة المتعلقة بقوانين وأعراف الحرب البرية]]
*[[اتفاقية لاهاي بشأن حقوق وواجبات الدول المحايدة والأشخاص المحايدين في حالة الحرب البرية]]
*[[اتفاقية لاهاي لحماية الممتلكات الثقافية في حالة نزاع مسلح]]
*[[بروتوكول بشأن المتفجرات من مخلفات الحرب]]
*[[البروتوكول المتعلق بأسلحة الليزر المسببة للعمى]]
[[تصنيف:وثائق]]
nme3febga0q7slcl48lk135g4plij4t
مؤلف:ابن كثير
102
6187
617231
525246
2026-08-12T18:12:25Z
حبيشان
52457
617231
wikitext
text/x-wiki
{{مؤلف/ملعب|مفتاح=ك}}
{{سيرة كتاب|ذيل تذكرة الحفاظ#ابن كثير|ذيل تذكرة الحفاظ}}
== مؤلفاته ==
{{بداية قائمة وثيقة}}
{{وثيقة| الإصدارات= البداية والنهاية}}
{{وثيقة
| التاريخ= 1997
| العنوان= البداية والنهاية (هجر، 1997)
| مسح = [https://archive.org/details/alhelawy07/bn01 الأرشيف]
|متفرقات = 21 مجلد
}}
{{وثيقة
| التاريخ= 2004
| العنوان= البداية والنهاية (بيت الأفكار، 2004)
| مسح = [https://archive.org/details/p.d.f3219/ الأرشيف]
|متفرقات = مجلد واحد 2460 صفحة
}}
{{وثيقة
| التاريخ= 2010
| العنوان= البداية والنهاية (دار ابن كثير، 2010)
| مسح = [https://archive.org/details/bidayawnihaya/Bidaya01a الأرشيف] [https://archive.org/details/ELBIDAJETUWENNIHAJETU0304IsmailB.Kesir/EL-BIDAJETU%20WE-N-NIHAJETU%20%20%2001%20-%2002%20%20%20-%20%20%20Isma%27il%20b.%20Kesir/ الأرشيف]
|متفرقات = 20 مجلد
}}
{{وثيقة| الإصدارات=النهاية في الفتن والملاحم}}
{{وثيقة| الإصدارات=تفسير القرآن العظيم}}
{{وثيقة| الإصدارات=فضائل القرآن}}
{{وثيقة| الإصدارات=اختصار علوم الحديث}}
{{وثيقة| الإصدارات=قصص الأنبياء لإبن كثير}}
{{نهاية قائمة وثيقة}}
{{ملكية عامة مؤلف قديم}}
[[تصنيف:ابن كثير|*]]
[[تصنيف:مؤلفون-ك]]
{{ضبط استنادي}}
t80s86qtpx4xc1hn3vmgq0wual2w2k4
617236
617231
2026-08-12T18:20:42Z
حبيشان
52457
617236
wikitext
text/x-wiki
{{مؤلف|مفتاح=ك}}
{{سيرة كتاب|ذيل تذكرة الحفاظ#ابن كثير|ذيل تذكرة الحفاظ}}
== مؤلفاته ==
{{بداية قائمة وثيقة}}
{{وثيقة| الإصدارات= البداية والنهاية}}
{{وثيقة
| التاريخ= 1997
| العنوان= البداية والنهاية (هجر، 1997)
| مسح = [https://archive.org/details/alhelawy07/bn01 الأرشيف]
|متفرقات = 21 مجلد
}}
{{وثيقة
| التاريخ= 2004
| العنوان= البداية والنهاية (بيت الأفكار، 2004)
| مسح = [https://archive.org/details/p.d.f3219/ الأرشيف]
|متفرقات = مجلد واحد 2460 صفحة
}}
{{وثيقة
| التاريخ= 2010
| العنوان= البداية والنهاية (دار ابن كثير، 2010)
| مسح = [https://archive.org/details/bidayawnihaya/Bidaya01a الأرشيف] [https://archive.org/details/ELBIDAJETUWENNIHAJETU0304IsmailB.Kesir/EL-BIDAJETU%20WE-N-NIHAJETU%20%20%2001%20-%2002%20%20%20-%20%20%20Isma%27il%20b.%20Kesir/ الأرشيف]
|متفرقات = 20 مجلد
}}
{{وثيقة| الإصدارات=النهاية في الفتن والملاحم}}
{{وثيقة| الإصدارات=تفسير القرآن العظيم}}
{{وثيقة| الإصدارات=فضائل القرآن}}
{{وثيقة| الإصدارات=اختصار علوم الحديث}}
{{وثيقة| الإصدارات=قصص الأنبياء لإبن كثير}}
{{نهاية قائمة وثيقة}}
{{ملكية عامة مؤلف قديم}}
[[تصنيف:ابن كثير|*]]
[[تصنيف:مؤلفون-ك]]
{{ضبط استنادي}}
7ymm3xergc12rurtko1v7e13hzpyvqe
617332
617236
2026-08-13T10:04:14Z
حبيشان
52457
617332
wikitext
text/x-wiki
{{مؤلف/ملعب|مفتاح=ك}}
{{سيرة كتاب|ذيل تذكرة الحفاظ#ابن كثير|ذيل تذكرة الحفاظ}}
== مؤلفاته ==
{{بداية قائمة وثيقة}}
{{وثيقة| الإصدارات= البداية والنهاية}}
{{وثيقة
| التاريخ= 1997
| العنوان= البداية والنهاية (هجر، 1997)
| مسح = [https://archive.org/details/alhelawy07/bn01 الأرشيف]
|متفرقات = 21 مجلد
}}
{{وثيقة
| التاريخ= 2004
| العنوان= البداية والنهاية (بيت الأفكار، 2004)
| مسح = [https://archive.org/details/p.d.f3219/ الأرشيف]
|متفرقات = مجلد واحد 2460 صفحة
}}
{{وثيقة
| التاريخ= 2010
| العنوان= البداية والنهاية (دار ابن كثير، 2010)
| مسح = [https://archive.org/details/bidayawnihaya/Bidaya01a الأرشيف] [https://archive.org/details/ELBIDAJETUWENNIHAJETU0304IsmailB.Kesir/EL-BIDAJETU%20WE-N-NIHAJETU%20%20%2001%20-%2002%20%20%20-%20%20%20Isma%27il%20b.%20Kesir/ الأرشيف]
|متفرقات = 20 مجلد
}}
{{وثيقة| الإصدارات=النهاية في الفتن والملاحم}}
{{وثيقة| الإصدارات=تفسير القرآن العظيم}}
{{وثيقة| الإصدارات=فضائل القرآن}}
{{وثيقة| الإصدارات=اختصار علوم الحديث}}
{{وثيقة| الإصدارات=قصص الأنبياء لإبن كثير}}
{{نهاية قائمة وثيقة}}
{{ملكية عامة مؤلف قديم}}
[[تصنيف:ابن كثير|*]]
[[تصنيف:مؤلفون-ك]]
{{ضبط استنادي}}
t80s86qtpx4xc1hn3vmgq0wual2w2k4
617339
617332
2026-08-13T11:21:51Z
حبيشان
52457
617339
wikitext
text/x-wiki
{{مؤلف|مفتاح=ك}}
{{سيرة كتاب|ذيل تذكرة الحفاظ#ابن كثير|ذيل تذكرة الحفاظ}}
== مؤلفاته ==
{{بداية قائمة وثيقة}}
{{وثيقة| الإصدارات= البداية والنهاية}}
{{وثيقة
| التاريخ= 1997
| العنوان= البداية والنهاية (هجر، 1997)
| مسح = [https://archive.org/details/alhelawy07/bn01 الأرشيف]
|متفرقات = 21 مجلد
}}
{{وثيقة
| التاريخ= 2004
| العنوان= البداية والنهاية (بيت الأفكار، 2004)
| مسح = [https://archive.org/details/p.d.f3219/ الأرشيف]
|متفرقات = مجلد واحد 2460 صفحة
}}
{{وثيقة
| التاريخ= 2010
| العنوان= البداية والنهاية (دار ابن كثير، 2010)
| مسح = [https://archive.org/details/bidayawnihaya/Bidaya01a الأرشيف] [https://archive.org/details/ELBIDAJETUWENNIHAJETU0304IsmailB.Kesir/EL-BIDAJETU%20WE-N-NIHAJETU%20%20%2001%20-%2002%20%20%20-%20%20%20Isma%27il%20b.%20Kesir/ الأرشيف]
|متفرقات = 20 مجلد
}}
{{وثيقة| الإصدارات=النهاية في الفتن والملاحم}}
{{وثيقة| الإصدارات=تفسير القرآن العظيم}}
{{وثيقة| الإصدارات=فضائل القرآن}}
{{وثيقة| الإصدارات=اختصار علوم الحديث}}
{{وثيقة| الإصدارات=قصص الأنبياء لإبن كثير}}
{{نهاية قائمة وثيقة}}
{{ملكية عامة مؤلف قديم}}
[[تصنيف:ابن كثير|*]]
[[تصنيف:مؤلفون-ك]]
{{ضبط استنادي}}
7ymm3xergc12rurtko1v7e13hzpyvqe
ويكي مصدر:بوت
4
7880
617234
503130
2026-08-12T18:17:59Z
Mdktb
40249
تهذيب
617234
wikitext
text/x-wiki
{{سياسة}}
{{رأس الصفحة
| العنوان = سياسة استعمال البوت
|القسم=
|السابق = → [[ويكي مصدر:سياسات وتعليمات|سياسات وتعليمات]]
|التالي =
|اختصار = [[وم:بوت]]
|ملاحظات =
تسرد هذه الصفحة السياسات والتعليمات المتعلقة بعمل البوتات، والتي هي عبارة عن برامج حاسوبية تقوم بالتعديل بشكل آلي أو شبه آلي.
إن كنت تريد طلب أي عمل من البوتات رجاء ضع طلبك في [[ويكي مصدر:طلبات البوت]].
<div dir = ltr>If you'd like to request a bot flag, please list your request in the [[وم:الميدان|Scriptorium]].</div >
}}
[[ملف:Wikisource Bots.png|210px|left]]
__TOC__
'''البوتات''' هي برامج حاسوبية تقوم بالتعديل بشكل نصف آلي أو آلي في صفحات ويكي مصدر وذلك تحت إشراف جزئي أو بدون إشراف من المشغل. وبسبب أن البوتات قد تتسبب في الكثير من الأخطاء في التعديل أو أن تسبب حمل زائد على خوادم النظام فإن على البوتات أن تتبع السياسات والتعليمات المشار إليها أدناه. توضح هذه السياسة كيفية استعمال البوتات في ويكي مصدر، وأي حساب للبوت لا يتبع هذه السياسة سيتم [[وم:منع|منعه]] بشكل فوري حتى يقوم مشغل البوت بإصلاح المشكلة في عمله. يبلغ عدد البوتات حتى الأن: [[خاص:عرض المستخدمين/bot|{{NUMBERINGROUP:bot}}]]
== السياسة ==
=== حساب البوت ===
يجب أن يشغل البوت باستخدام حساب مختلف عن حساب مشغله الرئيسي، حيث لا يمنح علم البوت لأي محرر بشري. يجب على كل حساب بوت في ويكي مصدر أن يحوي في اسمه على كلمة "بوت" أو "bot" بشكل واضح لتمييزه عن الحسابات العادية للمحررين، وأكثر الصيغ المتبعة في تسمية البوت هو إلحاق كلمة "bot" باسم حساب المشغل (مثلاً، [[مستخدم:MenoBot|MenoBot]] يشغله المستخدم [[مستخدم:Meno25|Meno25]]).
يجب على مشغل البوت أن يرد على تساؤلات المستخدمين بنفسه، وليس أن تكون الأجوبة بشكل آلي عن طريق برنامج حاسوبي. يجب على مشغلي البوتات تحويل صفحة نقاش البوت إلى صفحة نقاش حسابهم الأصلي لتسهيل متابعة النقاش والوصول إليها.
=== موافقة المجتمع ===
يجب على مشغلي البوتات الحصول على موافقة المجتمع لتشغيل البوت في [[وم:الميدان|الميدان]] قبل تشغيل البوت (يستثنى من ذلك بوتات وصلات اللغات الأخرى). يجب على مشغل البوت الذي يطلب الحصول على علم البوت أن يشرح المهام التي سيقوم بها البوت مع إيراد بعد التعديلات كأمثلة، ولغة البرمجة أو البرنامج المستعمل، ودرجة التدخل البشري في عمل البوت ومدة تشغيل البوت المتوقعة.
إن لم يظهر أي معارضة لطلب البوت خلال ثلاثة أيام على الأقل، بإمكان البوت أن يبدأ بالتشغيل بشكل بطئ دون علم البوت بشكل تجريبي. يجب إيقاف البوت بشكل فوري في حال ظهور أي مشاكل في عمله أو تلقي أي شكوى من قبل المستخدمين ويبقى متوقفا حتى حل المشكلة. بإمكان البوت بعد تشغيله لفترة تجريبية تصل إلى أسبوع الاتصال ب[[وم:بيروقراط|بيروقراط]] للحصول على علم البوت.
بإمكان بوتات وصلات اللغات التي تعمل على وضع وصلات اللغات للصفحات من نسخ ويكي مصدر للغات المختلفة العمل دون الحصول على موافقة المجتمع، إلا أنها تخضع لهذه السياسة تماما مثل البوتات الأخرى.
=== الاستخدام غير المقبول ===
* '''تعديلات خلافية''' : يجب على البوتات أن تقوم بتعديلات يوافق عليها محررو ويكي مصدر الآخرين، ويجب أن لا تستخدم على الإطلاق للقيام بتعديلات حول مواضيع خلافية يعارضها بعض المحررين. يجب الحصول على توافق المحررين في [[وم:الميدان|الميدان]] قبل القيام بأي تعديلات قد يبدو أنها خلافية بواسطة البوت.
* '''استرجاع البيانات''' : يجب أن لا تستخدم البوتات للحصول على نسخة من بيانات ويكي مصدر لا تتعلق بعمل البوت، وهذا يتضمن تحميل صفحات ويكي مصدر بشكل تلقائي من أي موقع خارجي. إن كان هناك أي حاجة للحصول على نسخة من صفحات ويكي مصدر بالإمكان الحصول على ذلك من [http://download.wikimedia.org/ قاعدة بيانات ويكيميديا].
* '''تدقيق إملائي''' : لا يسمح لأي بوت بإجراء التدقيق الإملائي على صفحات ويكي مصدر خاصة تلك التي في النطاق الرئيسي. يجب أن تبقى الأعمال المصدرية محفوظة كما هي بما فيها الأخطاء الإملائية المحتملة.
== إرشادات ==
=== سرعة التعديل ===
يجب على البوتات الغير حاصلة على علم البوت التعديل بفارق 1 دقيقة بين التعديلات. إذا ما تم الموافقة على عمل البوت وحصل على علم البوت فإنه من الممكن تشغيل البوت بفاصل 5 ثواني بين التعديلين (12 تعديل في الدقيقة). من الأفضل أن تتجنب البوتات العمل في ساعات الذروة، وذلك حفاظا على مقدرات النظام حيث أن قدرة الخوادم يجب أن تكرس لتعديلات المحررين اليدوية أولا. في ساعات الذروة يجب أن تعمل البوتات بفاصل 20 ثانية بين التعديلين (3 تعديلات في الدقيقة).
=== المراقبة ===
ما لم تكن الموافقة على تشغيل البوت قد تمت على أن يشغل البوت بشكل تلقائي، فإنه يجب أن يكون المشغل مرافقا لعمل البوت بشكل دائم وأن يفحصل تعديلات بوته بشكل مستمر ويرد على نقاشات المستخدمين وأن يكون مستعدا لإيقاف بوته في أي لحظة عند حدوث أي خلل في عمله أو عند تلقي شكوى. إن لم يكن المشغل متواجدا أثناء عمل البوت سيتم منع حساب البوت حتى حل أي مشاكل تتعلق بعمله.
=== التطوير والشيفرة البرمجة ===
ينصح مشغلي البوتات بتطوير بوتاتهم لتعمل بكفاءة عالية، أو الحصول على أحدث نسخة في حال استخدام برمجيات جاهزة. ويشجع مشغلي البوت على إتاحة الشيفرة البرمجية للجميع على الرغم من أن الأمر غير ملزم.
== قائمة الأعمال المرخص بها مسبقاً ==
''التوافق : [[ويكي_مصدر:الميدان#أعمال غير خلافية تحتاج ترخيص]]''
* ترحيل الوصلات إلى ويكي بيانات
* قالب مراجع مع فقرة للمراجع
* إضافة {{قا|مقالة تصنيف}} للتصانيف
* إصلاح وصلة داخلية مكتوبة كوصلة خارجية
* تعريب مدخلات القالب
* إضافة قالب كومنز وتصنيف كومنز (للمقالات والتصانيف)
* توزيع أوسمة مشروع مستخدمو الأسبوع الأكثر نشاطا (Jarbot)
* تحديث مشروع مستخدمو الأسبوع الأكثر نشاطا (Jarbot)
* تنبيه الحذف السريع
* إضافة اسم القالب الصحيح لمدخل اسم القالب
* التنبيه بتواجد صور استعمال عادل غير مستخدمة
* إصلاح التحويلات
* حذف روابط الملفات المحذوفة
* إستعمال قالب معلومات بمعلومات موردة من ويكي بينات كلما أمكن
* إنشاء تصنيفات عبر بوت مثل ما يقيم به بوت (Mr.Ibrahembot) في ويكيبيديا العربية.
* إضافة قالب ترحيب (MenoBot)
* ارشفة النقاشات القديمة
== انظر أيضًا ==
* [[ويكي مصدر:طلبات البوت]]
[[تصنيف:بوتات|*]]
gt8dd8ncxpoveiqje5dg9u3e3hwdoyx
617237
617234
2026-08-12T18:28:04Z
Mdktb
40249
/* قائمة الأعمال المرخص بها مسبقاً */ +وصلة دائمة
617237
wikitext
text/x-wiki
{{سياسة}}
{{رأس الصفحة
| العنوان = سياسة استعمال البوت
|القسم=
|السابق = → [[ويكي مصدر:سياسات وتعليمات|سياسات وتعليمات]]
|التالي =
|اختصار = [[وم:بوت]]
|ملاحظات =
تسرد هذه الصفحة السياسات والتعليمات المتعلقة بعمل البوتات، والتي هي عبارة عن برامج حاسوبية تقوم بالتعديل بشكل آلي أو شبه آلي.
إن كنت تريد طلب أي عمل من البوتات رجاء ضع طلبك في [[ويكي مصدر:طلبات البوت]].
<div dir = ltr>If you'd like to request a bot flag, please list your request in the [[وم:الميدان|Scriptorium]].</div >
}}
[[ملف:Wikisource Bots.png|210px|left]]
__TOC__
'''البوتات''' هي برامج حاسوبية تقوم بالتعديل بشكل نصف آلي أو آلي في صفحات ويكي مصدر وذلك تحت إشراف جزئي أو بدون إشراف من المشغل. وبسبب أن البوتات قد تتسبب في الكثير من الأخطاء في التعديل أو أن تسبب حمل زائد على خوادم النظام فإن على البوتات أن تتبع السياسات والتعليمات المشار إليها أدناه. توضح هذه السياسة كيفية استعمال البوتات في ويكي مصدر، وأي حساب للبوت لا يتبع هذه السياسة سيتم [[وم:منع|منعه]] بشكل فوري حتى يقوم مشغل البوت بإصلاح المشكلة في عمله. يبلغ عدد البوتات حتى الأن: [[خاص:عرض المستخدمين/bot|{{NUMBERINGROUP:bot}}]]
== السياسة ==
=== حساب البوت ===
يجب أن يشغل البوت باستخدام حساب مختلف عن حساب مشغله الرئيسي، حيث لا يمنح علم البوت لأي محرر بشري. يجب على كل حساب بوت في ويكي مصدر أن يحوي في اسمه على كلمة "بوت" أو "bot" بشكل واضح لتمييزه عن الحسابات العادية للمحررين، وأكثر الصيغ المتبعة في تسمية البوت هو إلحاق كلمة "bot" باسم حساب المشغل (مثلاً، [[مستخدم:MenoBot|MenoBot]] يشغله المستخدم [[مستخدم:Meno25|Meno25]]).
يجب على مشغل البوت أن يرد على تساؤلات المستخدمين بنفسه، وليس أن تكون الأجوبة بشكل آلي عن طريق برنامج حاسوبي. يجب على مشغلي البوتات تحويل صفحة نقاش البوت إلى صفحة نقاش حسابهم الأصلي لتسهيل متابعة النقاش والوصول إليها.
=== موافقة المجتمع ===
يجب على مشغلي البوتات الحصول على موافقة المجتمع لتشغيل البوت في [[وم:الميدان|الميدان]] قبل تشغيل البوت (يستثنى من ذلك بوتات وصلات اللغات الأخرى). يجب على مشغل البوت الذي يطلب الحصول على علم البوت أن يشرح المهام التي سيقوم بها البوت مع إيراد بعد التعديلات كأمثلة، ولغة البرمجة أو البرنامج المستعمل، ودرجة التدخل البشري في عمل البوت ومدة تشغيل البوت المتوقعة.
إن لم يظهر أي معارضة لطلب البوت خلال ثلاثة أيام على الأقل، بإمكان البوت أن يبدأ بالتشغيل بشكل بطئ دون علم البوت بشكل تجريبي. يجب إيقاف البوت بشكل فوري في حال ظهور أي مشاكل في عمله أو تلقي أي شكوى من قبل المستخدمين ويبقى متوقفا حتى حل المشكلة. بإمكان البوت بعد تشغيله لفترة تجريبية تصل إلى أسبوع الاتصال ب[[وم:بيروقراط|بيروقراط]] للحصول على علم البوت.
بإمكان بوتات وصلات اللغات التي تعمل على وضع وصلات اللغات للصفحات من نسخ ويكي مصدر للغات المختلفة العمل دون الحصول على موافقة المجتمع، إلا أنها تخضع لهذه السياسة تماما مثل البوتات الأخرى.
=== الاستخدام غير المقبول ===
* '''تعديلات خلافية''' : يجب على البوتات أن تقوم بتعديلات يوافق عليها محررو ويكي مصدر الآخرين، ويجب أن لا تستخدم على الإطلاق للقيام بتعديلات حول مواضيع خلافية يعارضها بعض المحررين. يجب الحصول على توافق المحررين في [[وم:الميدان|الميدان]] قبل القيام بأي تعديلات قد يبدو أنها خلافية بواسطة البوت.
* '''استرجاع البيانات''' : يجب أن لا تستخدم البوتات للحصول على نسخة من بيانات ويكي مصدر لا تتعلق بعمل البوت، وهذا يتضمن تحميل صفحات ويكي مصدر بشكل تلقائي من أي موقع خارجي. إن كان هناك أي حاجة للحصول على نسخة من صفحات ويكي مصدر بالإمكان الحصول على ذلك من [http://download.wikimedia.org/ قاعدة بيانات ويكيميديا].
* '''تدقيق إملائي''' : لا يسمح لأي بوت بإجراء التدقيق الإملائي على صفحات ويكي مصدر خاصة تلك التي في النطاق الرئيسي. يجب أن تبقى الأعمال المصدرية محفوظة كما هي بما فيها الأخطاء الإملائية المحتملة.
== إرشادات ==
=== سرعة التعديل ===
يجب على البوتات الغير حاصلة على علم البوت التعديل بفارق 1 دقيقة بين التعديلات. إذا ما تم الموافقة على عمل البوت وحصل على علم البوت فإنه من الممكن تشغيل البوت بفاصل 5 ثواني بين التعديلين (12 تعديل في الدقيقة). من الأفضل أن تتجنب البوتات العمل في ساعات الذروة، وذلك حفاظا على مقدرات النظام حيث أن قدرة الخوادم يجب أن تكرس لتعديلات المحررين اليدوية أولا. في ساعات الذروة يجب أن تعمل البوتات بفاصل 20 ثانية بين التعديلين (3 تعديلات في الدقيقة).
=== المراقبة ===
ما لم تكن الموافقة على تشغيل البوت قد تمت على أن يشغل البوت بشكل تلقائي، فإنه يجب أن يكون المشغل مرافقا لعمل البوت بشكل دائم وأن يفحصل تعديلات بوته بشكل مستمر ويرد على نقاشات المستخدمين وأن يكون مستعدا لإيقاف بوته في أي لحظة عند حدوث أي خلل في عمله أو عند تلقي شكوى. إن لم يكن المشغل متواجدا أثناء عمل البوت سيتم منع حساب البوت حتى حل أي مشاكل تتعلق بعمله.
=== التطوير والشيفرة البرمجة ===
ينصح مشغلي البوتات بتطوير بوتاتهم لتعمل بكفاءة عالية، أو الحصول على أحدث نسخة في حال استخدام برمجيات جاهزة. ويشجع مشغلي البوت على إتاحة الشيفرة البرمجية للجميع على الرغم من أن الأمر غير ملزم.
== قائمة الأعمال المرخص بها مسبقًا ==
''التوافق : [[خاص:وصلة_دائمة/248135#أعمال_غير_خلافية_تحتاج_ترخيص|أعمال غير خلافية تحتاج ترخيص]]''
* ترحيل الوصلات إلى ويكي بيانات
* قالب مراجع مع فقرة للمراجع
* إضافة {{قا|مقالة تصنيف}} للتصانيف
* إصلاح وصلة داخلية مكتوبة كوصلة خارجية
* تعريب مدخلات القالب
* إضافة قالب كومنز وتصنيف كومنز (للمقالات والتصانيف)
* توزيع أوسمة مشروع مستخدمو الأسبوع الأكثر نشاطا
* تحديث مشروع مستخدمو الأسبوع الأكثر نشاطا
* تنبيه الحذف السريع
* إضافة اسم القالب الصحيح لمدخل اسم القالب
* التنبيه بتواجد صور استعمال عادل غير مستخدمة
* إصلاح التحويلات
* حذف روابط الملفات المحذوفة
* إستعمال قالب معلومات بمعلومات موردة من ويكي بينات كلما أمكن
* إنشاء تصنيفات عبر بوت مثل ما يقيم به بوت (Mr.Ibrahembot) في ويكيبيديا العربية.
* إضافة قالب ترحيب (MenoBot)
* ارشفة النقاشات القديمة
== انظر أيضًا ==
* [[ويكي مصدر:طلبات البوت]]
[[تصنيف:بوتات|*]]
1on878jw1xxizcc8wci4357ynh9bixf
ميدياويكي:Gadgets-definition
8
12302
617330
609314
2026-08-13T09:41:11Z
حبيشان
52457
/* browsing */ تصحيح
617330
wikitext
text/x-wiki
<noinclude><div class="mw-content-ltr small" style="overflow: auto;direction: ltr;"></noinclude>
== hidden ==
* SettingsManager [ResourceLoader |dependencies=mediawiki.user, user.options, mediawiki.api, mediawiki.util |hidden] |SettingsManager.js
* libJQuery [ResourceLoader |hidden] |libJQuery-ui.js |libJQuery.css
== template-gadgets ==
* countdown-timer [ResourceLoader |default |hidden |dependencies=mediawiki.language |categories=Gadget-Countdown] |countdown-timer.js
* DigitalKhatt [ResourceLoader |default |hidden |type=styles |categories=Font-DigitalKhatt] |DigitalKhatt.css |AyaNum.css
* Abyat [ResourceLoader |default |hidden |categories=Gadget-Abyat] |Abyat.js
== editing-tools ==
* TemplatePreloader [ResourceLoader |default |actions=edit |namespaces=0, 1, 102] |TemplatePreloader.js
* charinsert [ResourceLoader |actions=edit ] |charinsert.js
* charinsert-core [ResourceLoader |hidden |dependencies=jquery.textSelection, user, mediawiki.storage] |charinsert-styles.css |charinsert-core.js
* summaryButtons [ResourceLoader |default |type=general |dependencies=ext.visualEditor.desktopArticleTarget.init, mediawiki.ui.button, mediawiki.util |actions=edit] |summaryButtons.js |summaryButtons.css
* BiDiEditing [ResourceLoader |actions=edit |contentModels=text,wikitext,proofread-index,proofread-page] |BiDiEditing.js
* HotCat [ResourceLoader |contentModels=wikitext] |HotCat.js
* wikEd [ResourceLoader |dependencies=mediawiki.storage |contentModels=text,wikitext] |wikEd.js
* BandeauxPortails [ResourceLoader |namespaces=0] |BandeauxPortails.js
* Cat-a-lot [ResourceLoader |dependencies=mediawiki.util |namespaces=14] |Cat-a-lot.js
* DotsSyntaxHighlighter [ResourceLoader |dependencies=jquery.client |actions=edit] |DotsSyntaxHighlighter.js
* archive [ResourceLoader |rights=move |dependencies=mediawiki.util, mediawiki.api, oojs-ui-core, oojs-ui-windows |namespaces=3, 4, 5, 7, 9, 11, 13, 15, 101, 829] |Archiver.js
* autocomplete [ResourceLoader |default |dependencies=jquery.ui, jquery.textSelection |actions=edit] |autocomplete.js
* QuickEdit [ResourceLoader] |QuickEdit.js |QuickEdit.css
* decodesummary [ResourceLoader |default |dependencies=jquery.lengthLimit| actions=edit] |decodesummary.js
== editing-tools-for-Index-namespace ==
* transclusion-check [ResourceLoader |default |dependencies=mediawiki.util, mediawiki.api |actions=view |namespaces=106] |transclusion-check.js| transclusion-check.css
* mark-proofread [ResourceLoader |default |type=styles |namespaces=106 |actions=view] |mark-proofread.css
== editing-tools-for-Page-namespace ==
* GoogleOCR [ResourceLoader |default |actions=edit |namespaces=104] |GoogleOCR.js
* Easy_LST [ResourceLoader |default |hidden |actions=edit |namespaces=0,104 ] |Easy_LST.js
== browsing ==
* directLinkToCommons [ResourceLoader |default |dependencies=mediawiki.util] |directLinkToCommons.js
* Popups [ResourceLoader |dependencies=mediawiki.api, mediawiki.user, mediawiki.util, user.options, mediawiki.jqueryMsg |type=general] |Popups.js
* userinfo [ResourceLoader |targets = desktop |dependencies=mediawiki.util |namespaces=2, 3] |userinfo.js
* XTools-ArticleInfo [ResourceLoader] |XTools-ArticleInfo.js
* WikidataTab [ResourceLoader |skins=vector, vector-2022, monobook, timeless] |WikidataTab.js |WikidataTab.css
* Linkscount [ResourceLoader |namespaces=-1] |Linkscount.js |Linkscount.css
== interface ==
* Site [ResourceLoader |default |hidden |top |dependencies=mediawiki.util |peers=Site-styles] |DisplayFooter.js
* Site-styles [hidden |type=styles] |Site.css |SiteHeader.css |DisplayFooter.css
* PageNumbers [ResourceLoader |default |hidden |namespaces=0, 2, 4 |contentModels=wikitext] |PageNumbers.js
* PageNumbers-core [ResourceLoader |hidden |dependencies=mediawiki.util, user, mediawiki.cookie] |PageNumbers-core.js |PageNumbers-core.css
* WMP-icons [ResourceLoader |default |type=styles |skins=vector-2022] |WMP-icons.css
* UTCLiveClock [ResourceLoader | type=general |dependencies=mediawiki.util, mediawiki.api, mediawiki.user |peers=UTCLiveClock-pagestyles] |UTCLiveClock.js |UTCLiveClock.css
* UTCLiveClock-pagestyles [hidden |skins=vector, monobook] |UTCLiveClock-pagestyles.css
* Purgetab [ResourceLoader |dependencies=mediawiki.util, mediawiki.api |default |rights=edit, autoconfirmed] |Purgetab.js
* Check-Fonts [ResourceLoader |dependencies= mediawiki.storage |hidden |default |contentModels=wikitext] |Check-Fonts.js
* Font-Amiri [ResourceLoader |default |hidden |type=styles] |Font-Amiri.css
* interwiki-transclusion [ResourceLoader |default |hidden |dependencies=mediawiki.util, mediawiki.api] |interwiki-transclusion.js
* dark-mode-toggle [ResourceLoader | dependencies=mediawiki.util, mediawiki.api, mediawiki.storage |peers=dark-mode-toggle-pagestyles] |dark-mode-toggle.js
* dark-mode-toggle-pagestyles [hidden |skins=vector, vector-2022, minerva, monobook] |dark-mode-toggle-pagestyles.css
* dark-mode [ResourceLoader |supportsUrlLoad |skins=vector, vector-2022, monobook, modern, minerva, timeless] |dark-mode.css
* footnote-tip [ResourceLoader | default |contentModels=wikitext] |footnote-tip.js
* exlinks [ResourceLoader |dependencies=mediawiki.util] |exlinks.js
* Font-Hafs [ResourceLoader |hidden |supportsUrlLoad |type=styles] |Font-Hafs.css
* AncreTitres [ResourceLoader |contentModels=wikitext |dependencies=mediawiki.util, mediawiki.user] |AncreTitres.js
== test ==
* Urgent-fixes [default |type=styles] |Urgent-fixes.css
* Fill_Index[ResourceLoader |namespaces= 106 |actions=edit] |Fill_Index.js
<noinclude></div></noinclude>
6u3wusq2kkjnzbae5udzzqdtngjshpl
قالب:سياسة
10
12444
617232
557623
2026-08-12T18:13:16Z
Mdktb
40249
+موائمة الوضع الداكن
617232
wikitext
text/x-wiki
{{مقفل}}{{#لو:{{{1|}}}{{{اختصار|}}} | {{مختصر|{{{1|}}}}} }}
<div style ="font-size:90%; padding:8px; background-color: var(--background-color-progressive-subtle,#e6f0ff); color:inherit; border: dotted 2px var(--border-color-content-added,#a3d3ff); margin-bottom:10px; ">
[[ملف:Gold seal policy v4.svg|وصلة=|50بك|يمين]]'''هذه الصفحة أو القسم [[وم:سياسات وإرشادات|سياسة رسمية]] في ويكي مصدر العربي'''. {{#لو:{{{2|}}} |<small>(تم اعتمادها في {{{2}}})</small> }} <br />
يتم اعتماد السياسات من قبل [[ويكي مصدر:مجتمع ويكي مصدر|مجتمع ويكي مصدر]] بعد إتمام [[ويكي مصدر:الميدان|النقاش]] و[[ويكي مصدر:توافق|التوافق]] حولها، تعديل وإلغاء السياسات يتم فقط عبر النقاش في الميدان.</div><includeonly>[[تصنيف:سياسات ويكي مصدر|{{PAGENAME}}]]</includeonly><noinclude>
[[تصنيف:قوالب سياسات ويكي مصدر]]</noinclude>
ffvkfd84andjrijdakw1kb956mevodz
مؤلف:محمد رضا
102
39630
617340
496919
2026-08-13T11:23:12Z
حبيشان
52457
617340
wikitext
text/x-wiki
{{مؤلف}}
==كتب==
# [[سيدنا محمد|سيدنا محمد {{صلى الله عليه وسلم}}]]
# [[أبو بكر الصديق أول الخلفاء الراشدين]]
== كتب مصورة ==
# [[:تصنيف:الفاروق عمر بن الخطاب:مطبوع|الفاروق عمر بن الخطاب]]
# [[:تصنيف:أبو بكر الصديق أول الخلفاء الراشدين:مطبوع|أبو بكر الصديق أول الخلفاء الراشدين]]
# [[:تصنيف:سيرة ذي النورين عثمان بن عفان:مطبوع|سيرة ذي النورين عثمان بن عفان]]
irll0kxjtkbpzc6i1jf1x43lhqi0cc0
مؤلف:ابن تيمية
102
45945
617341
496925
2026-08-13T11:23:32Z
حبيشان
52457
617341
wikitext
text/x-wiki
{{مؤلف
|الاسم = ابن تيمية
|فهرس = ت
|سنة الميلاد الهجرية = 661
|سنة الوفاة الهجرية = 728
|وصف = '''ابن تيمية'''، وهو أحمد بن عبد الحليم بن عبد السلام (ابن تيمية)، تقي الدين أبو العباس النميري ولقبه «شيخ الإسلام» ولد يوم الإثنين 10 ربيع الأول 661 هـ أحد علماء الحنابلة، أشتهر في مجالات عدّة أهمها : الفقه والحديث والعقيدة وأصول الفقه.
|وصلة ويكيبيديا = ابن تيمية
| defaultsort = ت
}} {{عنوان|مؤلفات ابن تيمية}}
== كتب ==
# [[اقتضاء الصراط المستقيم مخالفة أصحاب الجحيم]]
# [[الاستقامة]]
# [[الأربعين التي رواها شيخ الإسلام بالسند]]
# [[كتاب الإيمان الكبير]]
# [[التبيان في نزول القرآن]]
# [[التحفة العراقية]]
# [[الجواب الباهر في زوار المقابر]]
# [[الجواب الصحيح لمن بدل دين المسيح]]
# [[الحسنة والسيئة]]
# [[الرد الأقوم على ما في فصوص الحكم]]
# [[الرد على ابن عربي]]
# [[الرد على البكري]]
# [[الرد على اليهود والنصارى]]
# [[الزهد والورع والعبادة]]
# [[السياسة الشرعية في إصلاح الراعي والرعية]]
# [[الصارم المسلول على شاتم الرسول]]
# [[الصفدية]]
# [[العبودية]]
# [[العقيدة الحموية الكبرى]]
# [[العقيدة الواسطية]]
# [[الفتاوى الكبرى]]
# [[الفرقان بين أولياء الرحمن وأولياء الشيطان]]
# [[القاعدة المراكشية]]
# [[الكلم الطيب]]
# [[الكيلانية]]
# [[المنطق]]
# [[النبوات]]
# [[الواسطة بين الحق والخلق]]
# [[الوصية الجامعة لخير الدنيا والآخرة]]
# [[إقامة الدليل على إبطال التحليل]]
# [[بغية المرتاد في الرد على المتفلسفة والقرامطة]]
# [[بيان تلبيس الجهمية في تأسيس بدعهم الكلامية]]
# [[جواب أهل العلم والإيمان أن قل هو الله أحد تعدل ثلث القرآن]]
# [[حقوق آل البيت بين السنة والبدعة]]
# [[درء تعارض العقل والنقل]]
# [[دقائق التفسير]]
# [[رفع الملام عن الأئمة الأعلام]]
# [[زيارة القبور والاستنجاد بالمقبور]]
# [[سؤال وجواب (أين الله)]]
# [[شرح العقيدة الأصفهانية]]
# [[شرح العمدة في الفقه]]
# [[شرح حديث النزول]]
# [[صحة أصول مذهب أهل المدينة]]
# [[فضل أبي بكر الصديق رضي الله عنه]]
# [[قاعدة جليلة في التوسل والوسيلة]]
# [[قاعدة في الأموال السلطانية]]
# [[قاعدة في المحبة]]
# [[قاعدة مختصرة في وجوب طاعة الله ورسوله وولاة الأمور]]
# [[كتاب الإيمان الأوسط]]
# [[المسائل الماردينية]]
# [[مسألة الأحاديث التي يرويها القصاص وغيرهم بالطرق]]
# [[مسألة الأحرف التي أنزلها الله على آدم]]
# [[المشهد المنسوب إلى الحسين بمدينة القاهرة]]
# [[معارج الوصول]]
# [[مقتل علي بن أبي طالب والحسين]]
# [[مقدمة في أصول التفسير]]
# [[منهاج السنة النبوية]]
== رسائل ==
# [[جامع الرسائل]]
# [[مجموعة الرسائل والمسائل]]
# [[الرسالة الأكملية]]
# [[الرسالة التدمرية]]
# [[حقيقة الصيام|رسالة حقيقة الصيام]]
# [[الرسالة العرشية]]
# [[الرسالة القبرصية]]
# [[الرسالة السنية إلى الطائفة العدوية]]
# [[رسالة إلى أهل البحرين في رؤية الكفار ربهم]]
# [[رسالة شيخ الإسلام ابن تيمية إلى الملك الناصر]]
# [[رسالة شيخ الإسلام ابن تيمية إلى والدته]]
# [[رسالة في الحقيقة والمجاز]]
# [[رسالة في أمراض القلوب وشفائها]]
# [[رسالة في إيضاح الدلالة في عموم الرسالة]]
# [[رسالة في علم الباطن والظاهر]]
# [[رسالة في فضل الخلفاء الراشدين]]
# [[رسالة ابن تيمية عند مداهمة التتار لأرض المسلمين]]
== كتب عنه ==
{{سير التذكرة|ابن تيمية|تذكرة الحفاظ/الطبقة الحادية والعشرون#ابن تيمية}}
* [[الاختيارات الفقهية لشيخ الإسلام ابن تيمية]] لعلي بن محمد بن عباس البعلي الدمشقي
* [[الأعلام العلية في مناقب ابن تيمية]] لعمر بن علي البزار
* [[أسماء مؤلفات شيخ الإسلام ابن تيمية]] [[مؤلف:ابن القيم|لابن القيم]]
* [[العقود الدرية من مناقب شيخ الإسلام أحمد بن تيمية]] لابن عبد الهادي المقدسي
* [[الرد الوافر على من زعم أن من سمى ابن تيمية شيخ الإسلام كافر]] لابن ناصر الدين الدمشقي
* [[الرسالة الزكية في ثناء الأئمة على ابن تيمية]] لمرعي بن يوسف الحنبلي المقدسي
* [[مختصر الفتاوى المصرية]] لبدر الدين البعلي
== كتب مصورة ==
# [[:تصنيف:الاختيارات الفقهية لشيخ الإسلام ابن تيمية:مطبوع|الاختيارات الفقهية لشيخ الإسلام ابن تيمية]]
# [[:تصنيف:الحسنة والسيئة:مطبوع|الحسنة والسيئة]]
# [[:تصنيف:الرسالة التدمرية:مطبوع|الرسالة التدمرية]]
# [[:تصنيف:الرسالة العرشية:مطبوع|الرسالة العرشية]]
# [[:تصنيف:السياسة الشرعية في إصلاح الراعي والرعية:مطبوع|السياسة الشرعية في إصلاح الراعي والرعية]]
# [[:تصنيف:الصارم المسلول على شاتم الرسول:مطبوع|الصارم المسلول على شاتم الرسول]]
# [[:تصنيف:الفرقان بين الحق والباطل:مطبوع|الفرقان بين الحق والباطل]]
# [[:تصنيف:الفرقان بين أولياء الرحمن وأولياء الشيطان:مطبوع|الفرقان بين أولياء الرحمن وأولياء الشيطان]]
# [[:تصنيف:القاعدة الواسطية:مطبوع|القاعدة الواسطية]]
# [[:تصنيف:الواسطة بين الخلق والحق:مطبوع|الواسطة بين الخلق والحق]]
# [[:تصنيف:بغية المرتاد في الرد على المتفلسفة والقرامطة والباطنية:مطبوع|بغية المرتاد في الرد على المتفلسفة والقرامطة والباطنية]]
# [[:تصنيف:درء تعارض العقل والنقل:مطبوع|درء تعارض العقل والنقل]]
# [[:تصنيف:رسالة في أصول الدين:مطبوع|رسالة في أصول الدين]]
# [[:تصنيف:رفع الملام عن الأئمة الأعلام:مطبوع|رفع الملام عن الأئمة الأعلام]]
# [[:تصنيف:مجموعة الرسائل الكبرى:مطبوع|مجموعة الرسائل الكبرى]]
# [[:تصنيف:مجموعة الرسائل والمسائل:مطبوع|مجموعة الرسائل والمسائل]]
# [[:تصنيف:نقض المنطق:مطبوع|نقض المنطق]]
# [[:تصنيف:مجموعة التوحيد:مطبوع|مجموعة التوحيد]] - مجموعة مؤلفات له ولغيره
# [[:تصنيف:جلاء العينين في محاكمة الأحمدين:مطبوع|جلاء العينين في محاكمة الأحمدين]] من تأليف نعمان الآلوسي
== التصنيف الرئيس ==
* [[:تصنيف:ابن تيمية]]
{{ملكية عامة مؤلف قديم}}
[[تصنيف:ابن تيمية|*]]
{{ضبط استنادي}}
94hicqzew0dgmsdbc5hy0ufr1z13ibh
قالب:أظهر أول
10
121376
617238
434654
2026-08-12T18:39:33Z
Mdktb
40249
+موائمة مبدأية للوضع الداكن
617238
wikitext
text/x-wiki
<div style="margin-left:{{{indent|0}}}"><!-- NOTE: width renders incorrectly if added to main STYLE section -->
{| <!-- Template:Collapse top --> class="mw-collapsible {{{{{|safesubst:}}}#if:{{{expand|{{{collapse|}}}}}}||mw-collapsed}} {{{class|}}}" style="background: {{{bg1|var(--background-color-transparent,transparent)}}}; color:inherit; text-align: right; border: {{{border|1px}}} solid {{{b-color|Silver}}}; margin: 0.2em auto auto; width:{{{{{|safesubst:}}}#if:{{{width|}}}|{{{width}}}|100%}}; clear: {{{clear|both}}}; padding: 1px;"
|-
! style="background: {{{bg|#{{main other|F0F2F5|CCFFCC}}}}}; font-size:87%; padding:0.2em 0.3em; text-align:{{{{{|safesubst:}}}#if:{{{left|}}}|left|center}}; {{{{{|safesubst:}}}#if:{{{fc|}}}|color: {{{fc}}};|}}" | <div style="display:inline;font-size:115%">{{{1|{{{title|{{{reason|{{{header|{{{heading|{{{result|محتوى إضافي}}}}}}}}}}}}}}}}}}</div>
{{{{{|safesubst:}}}#if:{{{warning|{{{2|}}}}}}
|{{{{{|safesubst:}}}!}}-
{{{{{|safesubst:}}}!}} style="text-align:center; font-style:italic;" {{{{{|safesubst:}}}!}} {{{2|النص التالي هو نقاش مؤرشف. {{strongbad|رجاء عدم تعديله أو الإضافة عليه.}} }}} }}
|-
| style="border: solid {{{border2|1px Silver}}}; padding: {{{padding|0.6em}}}; background: {{{bg2|var(--background-color-base,#fff)}}}; color:inherit;" {{{{{|safesubst:}}}!}}<noinclude>
{{lorem ipsum|3}}
{{Collapse bottom}}
{{توثيق}}
</noinclude>
te9xmjumsbiqfqn55xt1x2ea4iu3b6s
وحدة:مؤلف
828
133687
617235
601951
2026-08-12T18:19:12Z
حبيشان
52457
فصل التنسيق
617235
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('div')
html:tag('span')
:addClass('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|12px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Categorie Auteur-X
firstRow:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br');
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
secondRow:tag('div')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'Module:مؤلف/styles.css' }) .. tostring(html)
end
return {
author = author
}
3ynuk1guylc2k7ywwgtohointm6gkmt
617323
617235
2026-08-13T08:37:19Z
حبيشان
52457
تحسين عرض
617323
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('div')
html:tag('span')
:addClass('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|12px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Categorie Auteur-X
main:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Title
firstRow:tag('div'):tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br');
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
secondRow:tag('div')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'Module:مؤلف/styles.css' }) .. tostring(html)
end
return {
author = author
}
8jq53pbu7og48vwc5z5hsyf0dn456iy
617325
617323
2026-08-13T09:03:06Z
حبيشان
52457
تحسين التنسيق
617325
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('div')
html:tag('span')
:addClass('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|12px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Categorie Auteur-X
main:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br'):done()
:tag('span')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Dates
-- firstRow:tag('div')
-- :addClass('author-dates')
-- :wikitext(formatDates(birth, death, hbirth, hdeath, class))
-- :newline()
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
-- secondRow
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'Module:مؤلف/styles.css' }) .. tostring(html)
end
return {
author = author
}
qaffclowzpjiu5nhw6ulmwrwvhh8n08
617337
617325
2026-08-13T11:20:13Z
حبيشان
52457
تحسين عرض
617337
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('li')
html:tag('span')
:addClass('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|20px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Categorie Auteur-X
main:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br'):done()
:tag('span')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Dates
-- firstRow:tag('div')
-- :addClass('author-dates')
-- :wikitext(formatDates(birth, death, hbirth, hdeath, class))
-- :newline()
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:tag('ul')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
-- secondRow
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'وحدة:مؤلف/ملعب/styles.css' }) .. tostring(html)
end
return {
author = author
}
hab9s52f7wix2tx7wrcoosnlwvh9hrw
617342
617337
2026-08-13T11:26:58Z
حبيشان
52457
617342
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('li')
html:tag('span')
:addClass('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|20px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Categorie Auteur-X
main:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br'):done()
:tag('span')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Dates
-- firstRow:tag('div')
-- :addClass('author-dates')
-- :wikitext(formatDates(birth, death, hbirth, hdeath, class))
-- :newline()
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:tag('ul')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
-- secondRow
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'وحدة:مؤلف/styles.css' }) .. tostring(html)
end
return {
author = author
}
0ksoj7a940c0h338920sdumcjsqljxc
قالب:مؤلف/ملعب
10
133762
617230
495553
2026-08-12T18:11:48Z
حبيشان
52457
617230
wikitext
text/x-wiki
<includeonly>{{#invoke:مؤلف/ملعب|author}}</includeonly><noinclude>{{توثيق}}</noinclude>
dhe36sb5kzuy4iqq8ut9yrau6256hu7
ويكي مصدر:الميدان
4
143146
617216
615577
2026-08-12T14:53:19Z
حبيشان
52457
/* وضع عدد الصفحات في نطاق (صفحة) على الصفحة الرئيسة */
617216
wikitext
text/x-wiki
{{رأس الميدان}}{{صندوق أرشيف آلي|ويكي مصدر:الميدان|2006}}
<!-- المداخلات تحت هذا السطر. لا تعدل هذا السطر وما قبله. -->
== مهمة بوتية: المستخدمون الأنشط في الشهر مع توزيع أوسمة ==
أقترح صفحة إحصائيات بالمستخدمين الأنشط في الشهر مع توزيع أوسمة على غرار صفحة ويكيبديا الإسبوعية، وتكون ل:
* عدد إنشاء الصفحات.
* عدد المساهمات.
وذلك لأول 3 مراكز. أريد آراءكم في الموضوع. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 16:35، الأربعاء 19 رمضان 1446هـ (+3) 13:35، 19 مارس 2025 (ت ع م)
:مرحبا {{ر|حبيشان}} هل من أمثلة؟ [[مستخدم:أبو هشام|أبو هشام]] 02:01، 20 مارس 2025 (ت ع م)
:{{أتفق}} فقط لو امكن .التمييز حسب النطاقات يعني انشاء الصفحات في النطاق الرئيس + الفهرس + القوالب من جهة ونطاق الصفحة من جهة أخرى
:اضافة تصحيح وتدقيق الصفحات
:تحياتي [[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 18:45، 21 مارس 2025 (ت ع م)
::مرحبا @[[مستخدم:Nehaoua|Nehaoua]]، لما التميز حسب النطاقات؟ تحياتي [[مستخدم:NANöR|NANöR]] ([[نقاش المستخدم:NANöR|نقاش]]) 22:01، 21 مارس 2025 (ت ع م)
:::مرحبًا @[[مستخدم:NANöR|NANöR]] انشاء الصفحات في نطاق "صفحة" أمر يسير ويكاد يكون آليًا "لو كان الملف له طبقة نصوص مسبقة لصار الأمر أكثر سهولة"، أيضا تعليم الصفحات دون نص أيسر كذلك، لكن انشاء فهرس أو قالب أو صفحة في النطاق العمل يتطلب مجهودًا (مطالعة الكتاب للترقيم، والفصل لإنشاء القوالب والفصول) تحياتي [[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 22:10، 21 مارس 2025 (ت ع م)
* {{لا أتفق}} مع فكرة توزيع الأوسمة آلياً وروتينياً. برأيي، الأوسمة يقدمها مستخدم ما لمستخدم آخر حسب ما يرى مناسباً وفق تقديره الشخصي.
: وفي الوقت نفسه {{أتفق}} مع ضرورة تمييز المساهمات حسب النطاق، بما في ذلك للأسباب التي ذكرها الأخ @[[مستخدم:Nehaoua|Nehaoua]]. فمهمة إنشاء الصفحات قابلة للأتمتة، وإذا لم تكن مساهمة المستخدم تزيد على مجرد النقر على زر التعرف الضوئي دون قراءة النص الناتج فهي لا تتعدى العمل الآلي، ولو أنها تحتاج إلى بعض الجهد. ومثال على العمل الذي يشبه عمل البوت ما رأيته هنا مؤخراً حين امتلأت الصفحات بأحرف لاتينية لا معنى لها. وقد جربت في إحدى تلك الصفحات النقر على زر التعرف فتحول النص إلى عربي معقول. --[[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 10:50، 22 مارس 2025 (ت ع م)
::@[[مستخدم:Lanhiaze|Lanhiaze]] الإحصائيات والأوسمة ستكون مشابهة للمهمة في ويكيبيديا مثل [[w:ويكيبيديا:مستخدمو الأسبوع الأكثر نشاطا/الأسبوع ال١٠ ٢٠٢٥]]، يعني رأيك أن تكون هناك إحصائيات شهرية فقط بدون توزيع أوسمة، بهذا لن يكون هناك تنافس يشجع المستخدمين على النشاط. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 14:43، السبت 22 رمضان 1446هـ (+3) 11:43، 22 مارس 2025 (ت ع م)
:::{{ر|حبيشان}}، هناك ما يسمى [[w:قانون غودهارت|قانون غودهارت]]، وصميمه هو أنك عندما تجعل مشعراً أو مقياساً ما هدفاً ينبغي السعي إليه لا يعود هذا المشعر أو المقياس ذا قيمة لأنه يصبح هدفاً بحد ذاته. إذا جعلت عدد المساهمات مقياساً للنشاط سوف يسعى من تهمه المنافسة إلى حفظ كل تعديل على الصفحة ليسجَّل مساهمة منفصلة مثلاً فيزداد عدد التعديلات، ولا يسعى إلى الجودة النهائية. وأعتقد أن أساس العمل في المشاريع التطوعية هو التعاون لا التنافس، بل أن التنافس قد يؤدي إلى إيذاء العمل في المشروع.
:::وأنا مثلاً ساهمت في ويكيبيديا بنشاط بحساب غير هذا الحساب قبل أن يكون فيها قائمة بأنشط المستخدمين، وعندما ظهرت قائمة الويكيبيديين الخمسمئة الأنشط كنت في عُشرها الأعلى، إلا أن مساهمتي لم تكن من أجل هذا بل من أجل ويكيبيديا نفسها. وهنا أيضاً أفعل ما يتيسر لي بما أرى فيه فائدة للمشروع (أغلبه تعديلات صيانة لا إضافة مضمون جديد)، ولو أنني خامل نسبياً في الفترة الأخيرة، ربما لأنني كنت أشعر سابقاً أنني أكاد أكون الوحيد هنا، أما الآن فلم أعد وحيداً، وصار هنا من يقومون بأعمال التحرير والإدارة. [[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 13:36، 22 مارس 2025 (ت ع م)
::::@[[مستخدم:Lanhiaze|Lanhiaze]] مع اتفاقي على وجود هذه السلبيات في نظام الأوسمة الآلية لكن أرى أن إيجابياته تطغى على هذه السلبيات حيث ينشط بعض المستخدمين الذين لا يهدفون أصلا لتحقيق مركز شهري في الأوسمة حين يكافئون ببعضها، إلى جانب من يهدفون إليها أيضا، ووجود عدد مراجعات غير ضرورية يمكن أن يعالج بتنبيه المستخدمين. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 14:16، الثلاثاء 25 رمضان 1446هـ (+3) 11:16، 25 مارس 2025 (ت ع م)
* وتعقيب آخر: لا أرى فائدة كبيرة في إنشاء كمي لتصنيفات فارغة (حسب سنة الميلاد أو الوفاة على سبيل المثال). ربما يمكن تكليف بوت بأن يتابع صفحة [[خاص:تصنيفات مطلوبة|التصنيفات المطلوبة]] دورياً ويكتشف بينها التصنيفات وفق الميلاد أو الوفاة وينشئها بين حين وآخر مع تصنيفاتها وقوالبها. وكذلك تنشأ في الفترة الأخيرة قوالب عديدة بلا أدنى توثيق، وهذه لا يمكن أن تفيد إلا من أنشأها، أي أن فائدتها للمشروع محدودة؛ فمن أنشأها قد يترك المساهمة بعد أشهر أو سنوات، وقد ينشئ غيره قوالب مماثلة دون أن يعرف أن القالب المطلوب موجود بالفعل. كل قالب يجب أن يرافقه توثيق يشرح الغرض من القالب وطريقة عمله مع أمثلة كافية لكل متغيراته بشكل واضح. --[[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 11:01، 22 مارس 2025 (ت ع م)
* أرجو مطالعة النتائج في [[ويكي مصدر:المستخدمون الأنشط في الشهر]].--[[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 14:50، السبت 29 رمضان 1446هـ (+3) 11:50، 29 مارس 2025 (ت ع م)
*:مرحبًا @[[مستخدم:حبيشان|حبيشان]] جيدة جدًا، يمكن تحديد اسم الشهر مثلًا فبراير 2025، في النص والملخص ليمكن العودة لها مستقبلًا تحياتي [[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 22:17، 29 مارس 2025 (ت ع م)
== النطاق المناسب لصفحات محتويات فهرس ==
أرى أن وضع المحتويات في نطاق (قالب) ليس سلوكا مستحسنا وأن الأفضل وضعها في صفحة فرعية من الفهرس نفسه مثلا: [[:قالب:محتويات نساء الخلفاء (دار المعارف، 1950)]] تكون في [[فهرس:نساء الخلفاء.pdf/محتويات]] وهذا يفيدنا في أمور
# سهولة الوصولة إلى صفحة المحتويات بصيغة موحدة.
# سهولة صيانة متعلقات الفهرس لأن المحتويات صفحة فرعية منه، وهذا يفيد في حالة النقل أو الحذف، بينما يمكن أن يحذف الفهرس أو ينقل ويغفل عن صفحة المحتويات لأنها في نطاق قالب.
# نطاق قالب موضوع أصلا للمكونات الصفحات التي تضمن كثيرا، بينما المحتويات غالبا لا تضمن أكثر من مرتين
# عدم مزاحمة القوالب في الظهور في الأدوات التي تسهل إدارج القوالب في الصفحات.
# تجنب الإرباك في الصيانة حيث هذه الصفحات ليس لها توثيق، ولا بيانات قالب.
[[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 17:07، الجمعة 13 شوال 1446هـ (+3) 14:07، 11 أبريل 2025 (ت ع م)
:{{تعليق}}شكرا @[[مستخدم:حبيشان|حبيشان]] لتوضيح الأمر. أعتقد أفضل للبحث مثلما ذكرت أن تكون في صفحة فرعية من الفهرس. لكن لما إنشاء صفحات جديدة بدل الكتابة في جدول المحتويات في الفهرس؟ تحياتي [[مستخدم:NANöR|NANöR]] ([[نقاش المستخدم:NANöR|نقاش]]) 07:53، 12 أبريل 2025 (ت ع م)
:{{تعليق}} @[[مستخدم:حبيشان|حبيشان]]، الفكرة جيدة والحجج لصالحها معقولة. هناك نقطة تقنية طفيفة، وهي ألا ينسى المستخدمون إدراج نقطتين قبل اسم الصفحة، مثلاً <code><nowiki>{{:فهرس:كذا.pdf/محتويات}}</nowiki></code>. --[[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 13:40، 12 أبريل 2025 (ت ع م)
::مرحبًا @[[مستخدم:Lanhiaze|Lanhiaze]] شكرًا لك، غابت عني هذه المعلومة لذا استعملت نطاق القالب، شكرًا مرة أخرى [[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 19:58، 25 أبريل 2025 (ت ع م)
:مرحبًا @[[مستخدم:حبيشان|حبيشان]] فكرة جيدة، المهم أن نتفق على صيغة موحدة تحياتي [[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 19:23، 25 أبريل 2025 (ت ع م)
::برأيي صيغة <code><nowiki>.../محتويات</nowiki></code> مقبولة. أي بلا ال التعريف على سبيل المثال (أرجو نقل [[فهرس:تاريخ طرابلس الغرب (المطبعة السلفية، 1349هـ)/المحتويات|هذه الصفحة]]). كما لاحظت أن هذه الصيغة لا تنشئ صفحة فرعية بل صفحة عادية في نطاق الفهرس، والذي على ما يبدو لا يقبل إنشاء الصفحات الفرعية، بدليل أن الصفحة الفرعية لا يوجد في أعلاها وصلة إلى الصفحة الأساسية! [[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 20:44، 25 أبريل 2025 (ت ع م)
:::@[[مستخدم:Lanhiaze|Lanhiaze]] في الواقع الصفحة المذكورة غير دقيقة، الأصل أن تكون بعنوان الكتاب ملحقًا بامتداد الملف <code>.pdf</code>، والنطاق يقبل الصفحات الفرعية، لاحظ مثلا الوصلة في النقاش أعلاه: [[فهرس:نساء الخلفاء.pdf/محتويات]].
:::أدعم الخيار <code>/محتويات</code>، وربما يمكننا أن نقترح في فبريكاتور إنشاء وصلة فرعية لها «تظهر إن كانت متوفرة» على غرار صفحة الأنماط، تحياتي --[[مستخدم:Mdktb|Mdktb]] ([[نقاش المستخدم:Mdktb|نقاش]]) 13:51، 8 مايو 2026 (ت ع م)
== إضافة اللغة العربية إلى المتعرف الضوئي كراكن ==
{{تابع في|T403346}}
بالنسبة للغة العربية لا يوجد متعرف ضوئي يدعم اللغة العربية في ويكيميديا غير متعرف جوجل، تبثت المؤسسة متعرف جديد اسمه [https://kraken.re kraken] على موقع متعرف تحت التجربة في https://kraken-ocr.wmcloud.org/ لكن للأسف لم يُثبت أي نموذج تعرف عربي في الموقع المذكور، طلبت في المهمة أعلاه تثبيت نموذجين عربيين لتجربة المتعرف الجديد وتوسع خيارات التعرف العربية.
أرجو إبداء رأيكم في المهمة هنا أو في المهمة نفسها. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 11:10، الأربعاء 18 ربيع الأول 1447هـ (+3) 08:10، 10 سبتمبر 2025 (ت ع م)
:مرحبًا @[[مستخدم:حبيشان|حبيشان]]، تنبّه أحد المطورين للمهمة وأضاف النماذج، لكن يبدو أن النتيجة ليست كما هو مأمول، جربتها مع عدّة صور ولم أحصل على أي نتيجة مقبولة، جربهّا إن أمكنك، والزميل المطوّر ينتظر اختبارنا لما قام به، تحياتي --[[مستخدم:Mdktb|Mdktb]] ([[نقاش المستخدم:Mdktb|نقاش]]) 00:31، 8 مايو 2026 (ت ع م)
:<u>ملاحظة أخرى:</u> طلبت في هذه [[phab:T424543|التذكرة]] منذ مدة قصيرة إضافة أحد النماذج التي تدعم العربية لـ Transkribus، وجدته أفضل الموجود نوعًا ما، بعض التجارب كانت مقبولة، تحياتي --[[مستخدم:Mdktb|Mdktb]] ([[نقاش المستخدم:Mdktb|نقاش]]) 00:40، 8 مايو 2026 (ت ع م)
::@[[مستخدم:Mdktb|Mdktb]] أشكرك على المتابعة والاقتراحات، أظن أن هناك خطأ ما في تثبيت نموذج كراكن لأن سبق تجربته من أحد المشاريع وأعطى نتائج جيدة، بينما الآن لا يكاد تخرج من كلمة صحيحة. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 22:59، السبت 22 ذو القعدة 1447هـ (+3) 19:59، 9 مايو 2026 (ت ع م)
== مهمة بوتية للتصانيف ==
بعض التصانيف في ويكي مصدر تحوي وصلات ربط انترويكي لنسخ اللغات والمشاريع الأخرى، وهذه الوصلات قد استُغني عنها بالربط في ويكي بيانات، فالمطلوب مهمة بوتية لحذف هذه الوصلات وتهجيرها إلى ويكي بيانات/، كما نحتاج بين الفينة والأخرى مهمة نقل التصانيف الآلي عبر البوت كما في ويكيبيديا، وأنا أرشح للمهمتين بوت المهندس المبدع @[[مستخدم:Mr. Ibrahem|Mr. Ibrahem]] حيث قد عمل هذه المهام سابقا في ويكيبيديا بكفاءة عالية. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 16:32، الأحد 29 ربيع الأول 1447هـ (+3) 13:32، 21 سبتمبر 2025 (ت ع م)
:@[[مستخدم:Mr. Ibrahem|Mr. Ibrahem]] أرجو قبول المهمة، حيث لا اعتراض عليها. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 17:23، الخميس 10 ربيع الآخر 1447هـ (+3) 14:23، 2 أكتوبر 2025 (ت ع م)
== وضع عدد الصفحات في نطاق (صفحة) على الصفحة الرئيسة ==
اقترح وضع عدد الصفحات في نطاق صفحة على الصفحة الرئيسة فيكون السطر الذي تحت لوجو ويكي مصدر:
المكتبة الحرة التي يستطيع الجميع تحسينها. توجد الآن [[خاص:إحصاءات|{{NUMBEROFARTICLES}}]] صفحة في النطاق الرئيس و{{#invoke:PagesInNS|main|104}} في نطاق «صفحة».
لأن هذا يعطي صورة أيضا عن تطور المشروع. [[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 16:45، الأربعاء 29 رمضان 1447هـ (+3) 13:45، 18 مارس 2026 (ت ع م)
:لا أرى نفعاً كبيراً في هذا، فأغلب الزوار، على ما أعتقد، لا يعرفون ما هي النطاقات وما هو نطاق «صفحة» وما دلالته. وعموماً، هذه الإحصاءات لا تعبّر كثيراً عن تطور المشروع، فمثلاً عدد الصفحات في النطاق الرئيسي لا يساوي عدد الأعمال المنشورة لأن الكثير منها هي فصول للأعمال الكبيرة ولا يمكن تقدير عدد العناوين الأساسية الفعلي. باعتقادي، يمكن أن نخمن أن عدد الأعمال في نسخ ويكي مصدر الكبرى الأخرى والتي تعدّ بمئات الآلاف (كالإنكليزية أو الفرنسية) أكبر منه في النسخ التي تعدّ صفحاتها في النطاق الرئيسي بعشرات الآلاف (كالعربية والإسبانية)، ولكن هذا غير مؤكد.
:ربما الأفضل أن نحذو حذو [[:pl:|النسخة البولونية]] التي تذكر على صفحتها الرئيسية عدد النصوص (وهو عدد غير دقيق كما ذكرت أعلاه، ولكن ليس لدينا مؤشر أفضل منه) وعدد المؤلفين (وقد يكون أكثر دقةً، كما أنه مشعر مفهوم للجميع). [[:de:|النسخة الألمانية]] تعدد في إطار Statistik في وسط الصفحة وليس في رأسها (على ما يبدو بالاستناد إلى تصنيفات رئيسية غير متقاطعة) بعض أنواع النصوص الموجودة فيها: «تضم المكتبة حالياً 57,184 عملاً، تشمل 9,946 قصيدة، و3,630 أسطورة، و1,935 حكاية، و147 رواية، وأكثر من 4,607 نصوص قانونية. إضافةً إلى ذلك، يوجد ما يقارب 206 من الكتيبات والمنشورات، و192 رسالة، و133 مخطوطة، ومواد أخرى.» أجد أن هذا جميل أيضاً. [[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 19:25، 18 مارس 2026 (ت ع م)
:{{ضد}} قد يؤدي ذلك إلى إرباك زوار الموقع، كما قد يعطي انطباعًا بأن الصفحات الأخرى خارج نطاق هذه الصفحة تفتقر إلى القيمة.
:تحياتي… [[مستخدم:Almajidy|<span style="font-family:amiri; color:#000080; font-size:20px;">'''ٱلْمَاجِدِيّ'''</span>]] <sup>[[نقاش_المستخدم:Almajidy|'''خَاطِبْنِي''']]</sup> 03:24، 1 أبريل 2026 (ت ع م)
:{{تعليق}} برأيي ليست معبرة حقيقًة عن تطوّر المشروع كما أشار Lanhiaze واعتقد أنها لا تخلو من تفخيم غير دقيق، ذلك لوجود العديد من الصفحات غير مصححة ومجرد استخراج وتعرّف ضوئي، ربما عدد الصفحات المصححة «{{PAGESINCATEGORY:صححت}}» أكثر دقة، والمتحقق منها «{{PAGESINCATEGORY:تم التحقق منها}}» مقياس مفيد، لكن ليس في رأس الصفحة بل ضمن أقسامها، وأجد ما ذكره Lanhiaze اضافة جيدة كذلك، تحياتي --[[مستخدم:Mdktb|Mdktb]] ([[نقاش المستخدم:Mdktb|نقاش]]) 02:58، 8 أبريل 2026 (ت ع م)
{{خلاصة}} لا توافق على المقترح.--[[User:حبيشان|حبيشان]]<sup>('''[[نقاش المستخدم:حبيشان|ن]]''')</sup> 17:53، الأربعاء 29 صفر 1448هـ (+3) 14:53، 12 أغسطس 2026 (ت ع م)
== RFC about AI-generated content in Wikimedia Commons ==
<bdi lang="en" dir="ltr">Apologies for writing in English, please help translate this message to your language. You are invited to participate in a [[c:Commons:Requests for comment/Policy update for AI content|request for comment on Wikimedia Commons about a policy update for AI content]]. This may affect files that are uploaded to Wikimedia Commons for use on this project. Thank you. [[m:User:Codename Noreste|Codename Noreste]] ([[m:User talk:Codename Noreste|نقاش]])</bdi> 17:12، 23 يونيو 2026 (ت ع م)
<!-- الرسالة التي أرسلها User:Codename Noreste@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 -->
== نشر رابط جهات الاتصال القانونية والسلامة في تذييل الويكي الخاص بكم ==
<section begin="Message"/>
'''جهات الاتصال القانونية والأمنية'''
مرحبًا بالمجتمع، وفّرت مؤسسة ويكيميديا [[wmf:Special:MyLanguage/Legal:Wikimedia Foundation Legal and Safety Contact Information|صفحة موحّدة لجهات الاتصال القانونية والأمنية]] ليُربط بها في تذييل الويكي الخاص بكم، لضمان الوصول إلى معلومات قانونية دقيقة. يُعدّ ذلك متطلبًا تنظيميًا. لقد نشرنا بالفعل روابط في ويكيبيديا الإنجليزية والألمانية والإيطالية والإسبانية وغيرها من الويكيات، وسننشرها في الويكي الخاص بكم قريبًا. [[m:Special:MyLanguage/Wikimedia_Foundation_Legal_and_Safety_Contacts_FAQ|يرجى قراءة المزيد في صفحة المشروع]] وترك أي تعليقات في هذا القسم أو في [[m:Special:MyLanguage/Talk:Wikimedia Foundation Legal and Safety Contacts FAQ|صفحة النقاش]].
<section end="Message"/>
-- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:30، 25 يونيو 2026 (ت ع م)
<!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=User:Sannita_(WMF)/Mass_sending_test&oldid=30731267 -->
== [[مؤلف:رضوان الشهال]] ==
المؤلف توفي في ١٩٨٨، وهذا يعني أن أعماله تؤول إلى الملك العام في لبنان بعد خمسين سنة من وفاته، أي في ٢٠٣٩،أليس كذلك؟ إن كان حسابي صحيحاً، فلا يجوز نشر أعماله الآن. [[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 22:13، 25 يونيو 2026 (ت ع م)
أما بالنسبة للملف في كومنز، ففي الولايات المتحدة، حسب ما أفهم قانونها، ستبقى أعماله محمية سبعين سنة بعد وفاته، أي لن يمكن رفعه إلى هناك حتى سنة ٢٠٥٩. --[[مستخدم:Lanhiaze|Lanhiaze]] ([[نقاش المستخدم:Lanhiaze|نقاش]]) 22:23، 25 يونيو 2026 (ت ع م)
== دعوة للمشاركة في ندوة: التراث المفتوح في ويكي مصدر ==
السلام عليكم ورحمة الله وبركاته،
[[ملف:Poster_OpenHeritage-Wikisource.png|تصغير|إعلان الندوة]]
تعلن [[w:ar:ويكيبيديا:مجموعة الحضارة الإسلامية|'''مجموعة الحضارة الإسلامية''']] عن تنظيم ورشة عمل تفاعلية بعنوان "التراث المفتوح في ويكي مصدر".
تأتي هذه الورشة خطوة أولى تعريفية تمهيدية لمسابقة "ويكي مصدر" التي تعتزم المجموعة إطلاقها خلال شهر يوليو 2026، والتي تهدف إلى إحياء وتوثيق التراث الإسلامي وضمان إتاحته للجميع.
'''تفاصيل الورشة:'''
* '''المحاضر: زميلنا د. باسم فليفل'''، الباحث المتخصص في التاريخ الحديث، والإداري في عدد من مشاريع ويكيميديا.
* '''الموعد:''' '''يوم الأربعاء 8 يوليو 2026 الموافق 23 محرم 1448 هـ'''، في تمام الساعة 8:30 مساءً بتوقيت مكة المكرمة (يمكنكم معرفة التوقيت في منطقتكم المحلية من '''[https://meet.google.com/fef-twqs-vnw هنا]''').
* '''للتسجيل:''' عبر ملء الاستبانة '''[https://docs.google.com/forms/d/e/1FAIpQLSdPQeudcz6mzFGo4n4Izrh0bEw4FsaDcbjHC-TMzNDhfb0Z9A/viewform?usp=header هنا]'''
لا تترددوا بمشاركة معلومات الجلسة مع مجتمعكم وأصدقائكم. [[مستخدم:SanBonne|SanBonne]] ([[نقاش المستخدم:SanBonne|نقاش]]) 23:08، 4 يوليو 2026 (ت ع م)
{{تحديد}}
-----
<div style="background-color:#fff4d6; border: 3px solid #000; padding: 16px; border-radius:12px; font-family: Calibri; font-size:16px; line-height:1.5;">
[[ملف:Poster Contest Open Heritage Wikisource.png|تصغير|إعلان المسابقة]]
السلام عليكم ورحمة الله
تدعوكم مجموعة الحضارة الإسلامية للمشاركة في مسابقتنا الأولى على مشروع ويكي مصدر، والتي سنعمل فيها على توثيق تراثنا الإسلامي عبر إضافة كتاب "رياض الصالحين".
ستسهم مشاركتكم في حفظ تراثنا وإتاحته رقمياً، فضلاً عن تطوير مهاراتكم التحريرية في مشاريع الويكي، كما ستحظون بفرصة الفوز بجوائز قيمة تقديراً لمساهماتكم.
* تمتد فترة المسابقة من '''10 إلى 30 يوليو 2026'''.
* صفحة الفعالية: '''[[meta:Event:Open Heritage-Islamic Civilization Contest|مسابقة التراث المفتوح في ويكي مصدر]]'''
لا تترددوا بالرد على هذا الموضوع أو في صفحة نقاش المسابقة لأي تعليق أو استفسار، ومشاركة معلومات هذه المسابقة مع معارفكم وأصدقائكم.
</div> --[[مستخدم:SanBonne|SanBonne]] ([[نقاش المستخدم:SanBonne|نقاش]]). 15:47، 10 يوليو 2026 (ت ع م)
== Request for comment (the future of Abstract Wikipedia) ==
<bdi lang="en" dir="ltr" class="mw-content-ltr">
Apologies if this has not yet been translated into your wiki's language. {{int:Please-translate}}
You are invited to voice your opinions in a [[:m:Requests for comment/The future of Abstract Wikipedia|request for comment about the future of Abstract Wikipedia]]. {{Int:Feedback-thanks-title}}
[[:m:User:Kowal2701|Kowal2701]] ([[:m:User talk:Kowal2701|talk]]) 12:25، 24 يوليو 2026 (ت ع م)
</bdi>
<!-- الرسالة التي أرسلها User:DreamRimmer@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 -->
== الترحيل إلى بارسويد ==
<section begin="announcement-content" />
<em>[[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Parsoid Read Views/Read View Announcement|طالعها بلغة أخرى]]</em>
<div class="mw-translate-fuzzy">
مرحبا بكم. يسرني أن أبلغكم أن الخطوة التالية من مشروع [[mw:Special:MyLanguage/Parsoid/Parser Unification|توحيد المحلل اللغوي]] وهي باروسيد «Parsoid» سوف تفعّل قريبا لتصير عارض المقالات الافتراضي على موقعكم الويكي $wiki. نزيد تدريجيا عدد مواقع الويكي التي تستعين ببارسويد وغرضنا من ذلك أن يصير المحلل اللغوي الافتراضي لنصوص الويكي لإصدار دعم برمجيات ميدياويكي طويل الأجل القادم. سوف يزيد هذا من مستوى جدارة مواقعنا الويكي واتساقها للمحررين والقراء واستخدام الأدوات وكذا تيسير تصميم سمات نصوص الويكي القادمة وتطويرها برمجيا.
</div>
لو تسبب هذا في تعطيل تدفق عملكم، لا تجزعوا! يمكنكم إلغاء التفعيل مستخدمين واحد من تفضيلات المستخدم أو وقف بارسويد على الصفحة الحالية مستخدمين قائمة «الأدوات» الفرعية، كما هو مبيّن في توثيق [[mw:Special:MyLanguage/Help:Extension:ParserMigration|امتداد:ترحيل بارسويد]].
ثمة [[mw:Special:MyLanguage/Parsoid/Parser Unification/Confidence Framework|المزيد من المعلومات المتاحة عن خطة النشر]]، تشتمل على أعمال الاختبار الواجب إجرائها قبل تشغيل باروسيد على أي موقع ويكي.
إن أردتم الإبلاغ عن أعطال برمجية أو مشاكل، يرجى الاطلاع على أعمال توثيق [[mw:Special:MyLanguage/Parsoid/Parser Unification/Known Issues|المشاكل المعروفة]] ولو عثرتم على عطل برمجي جديد يرجى إنشاء تذكرة فبريكاتور ووسم [[phab:project/view/5846|فريق تحويل المحتوى على فبريكاتور]].
<section end="announcement-content" />
[[mw:User:MSantos (WMF)|Content Transform Team]] 16:31، 3 أغسطس 2026 (ت ع م)
<!-- الرسالة التي أرسلها User:MSantos (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikisource&oldid=28221043 -->
ok9zr6rn72a9650swday9cq7hqeqao3
وحدة:توثيق
828
147001
617225
518565
2026-08-12T16:37:52Z
حبيشان
52457
تحديث من الإنجليزية
617225
Scribunto
text/plain
-- This module implements {{documentation}}.
-- Get required modules.
local getArgs = require('Module:Arguments').getArgs
-- Get the config table.
local cfg = mw.loadData('وحدة:توثيق/ضبط')
local p = {}
-- Often-used functions.
local ugsub = mw.ustring.gsub
local format = mw.ustring.format
----------------------------------------------------------------------------
-- Helper functions
--
-- These are defined as local functions, but are made available in the p
-- table for testing purposes.
----------------------------------------------------------------------------
local function message(cfgKey, valArray, expectType)
--[[
-- Gets a message from the cfg table and formats it if appropriate.
-- The function raises an error if the value from the cfg table is not
-- of the type expectType. The default type for expectType is 'string'.
-- If the table valArray is present, strings such as $1, $2 etc. in the
-- message are substituted with values from the table keys [1], [2] etc.
-- For example, if the message "foo-message" had the value 'Foo $2 bar $1.',
-- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz."
--]]
local msg = cfg[cfgKey]
expectType = expectType or 'string'
if type(msg) ~= expectType then
error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2)
end
if not valArray then
return msg
end
local function getMessageVal(match)
match = tonumber(match)
return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4)
end
return ugsub(msg, '$([1-9][0-9]*)', getMessageVal)
end
p.message = message
local function makeWikilink(page, display)
if display then
return format('[[%s|%s]]', page, display)
else
return format('[[%s]]', page)
end
end
p.makeWikilink = makeWikilink
local function makeCategoryLink(cat, sort)
local catns = mw.site.namespaces[14].name
return makeWikilink(catns .. ':' .. cat, sort)
end
p.makeCategoryLink = makeCategoryLink
local function makeUrlLink(url, display)
return format('[%s %s]', url, display)
end
p.makeUrlLink = makeUrlLink
local function makeToolbar(...)
local ret = {}
local lim = select('#', ...)
if lim < 1 then
return nil
end
for i = 1, lim do
ret[#ret + 1] = select(i, ...)
end
-- 'documentation-toolbar'
return format(
'<span class="%s">(%s)</span>',
message('toolbar-class'),
table.concat(ret, ' | ')
)
end
p.makeToolbar = makeToolbar
----------------------------------------------------------------------------
-- Argument processing
----------------------------------------------------------------------------
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame, {
valueFunc = function (key, value)
if type(value) == 'string' then
value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
if key == 'heading' or value ~= '' then
return value
else
return nil
end
else
return value
end
end
})
return p[funcName](args)
end
end
----------------------------------------------------------------------------
-- Entry points
----------------------------------------------------------------------------
function p.nonexistent(frame)
if mw.title.getCurrentTitle().subpageText == 'مختبر' then
return frame:expandTemplate{title = 'ملاحظة مختبر الوحدة'}
else
return p.main(frame)
end
end
p.main = makeInvokeFunc('_main')
function p._main(args)
--[[
-- This function defines logic flow for the module.
-- @args - table of arguments passed by the user
--]]
local env = p.getEnvironment(args)
local root = mw.html.create()
root
:wikitext(p._getModuleWikitext(args, env))
:wikitext(p.protectionTemplate(env))
:wikitext(p.sandboxNotice(args, env))
:tag('div')
-- 'documentation-container'
:addClass(message('container'))
:attr('role', 'complementary')
:attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil)
:attr('aria-label', args.heading == '' and 'Documentation' or nil)
:newline()
:tag('div')
-- 'documentation'
:addClass(message('main-div-classes'))
:newline()
:wikitext(p._startBox(args, env))
:wikitext(p._content(args, env))
:tag('div')
-- 'documentation-clear'
:addClass(message('clear'))
:done()
:newline()
:done()
:wikitext(p._endBox(args, env))
:done()
:wikitext(p.addTrackingCategories(env))
-- 'Module:Documentation/styles.css'
return mw.getCurrentFrame():extensionTag (
'templatestyles', '', {src=cfg['templatestyles']
}) .. tostring(root)
end
----------------------------------------------------------------------------
-- Environment settings
----------------------------------------------------------------------------
function p.getEnvironment(args)
--[[
-- Returns a table with information about the environment, including title
-- objects and other namespace- or path-related data.
-- @args - table of arguments passed by the user
--
-- Title objects include:
-- env.title - the page we are making documentation for (usually the current title)
-- env.templateTitle - the template (or module, file, etc.)
-- env.docTitle - the /doc subpage.
-- env.sandboxTitle - the /sandbox subpage.
-- env.testcasesTitle - the /testcases subpage.
--
-- Data includes:
-- env.protectionLevels - the protection levels table of the title object.
-- env.subjectSpace - the number of the title's subject namespace.
-- env.docSpace - the number of the namespace the title puts its documentation in.
-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.
-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.
--
-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value
-- returned will be nil.
--]]
local env, envFuncs = {}, {}
-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value
-- returned by that function is memoized in the env table so that we don't call any of the functions
-- more than once. (Nils won't be memoized.)
setmetatable(env, {
__index = function (t, key)
local envFunc = envFuncs[key]
if envFunc then
local success, val = pcall(envFunc)
if success then
env[key] = val -- Memoise the value.
return val
end
end
return nil
end
})
function envFuncs.title()
-- The title object for the current page, or a test page passed with args.page.
local title
local titleArg = args.page
if titleArg then
title = mw.title.new(titleArg)
else
title = mw.title.getCurrentTitle()
end
return title
end
function envFuncs.templateTitle()
--[[
-- The template (or module, etc.) title object.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
-- 'testcases-subpage' --> 'testcases'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local subpage = title.subpageText
if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') or (subpage == message('doc-subpage') and mw.title.getCurrentTitle().namespace == env.docSpace) then
return mw.title.makeTitle(subjectSpace, title.baseText)
else
return mw.title.makeTitle(subjectSpace, title.text)
end
end
function envFuncs.docTitle()
--[[
-- Title object of the /doc subpage.
-- Messages:
-- 'doc-subpage' --> 'doc'
--]]
local title = env.title
local docname = args[1] -- User-specified doc page.
local docpage
if docname then
docpage = docname
else
docpage = env.docpageBase .. '/' .. message('doc-subpage')
end
return mw.title.new(docpage)
end
function envFuncs.sandboxTitle()
--[[
-- Title object for the /sandbox subpage.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage'))
end
function envFuncs.testcasesTitle()
--[[
-- Title object for the /testcases subpage.
-- Messages:
-- 'testcases-subpage' --> 'testcases'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage'))
end
function envFuncs.protectionLevels()
-- The protection levels table of the title object.
return env.title.protectionLevels
end
function envFuncs.subjectSpace()
-- The subject namespace number.
return mw.site.namespaces[env.title.namespace].subject.id
end
function envFuncs.docSpace()
-- The documentation namespace number. For most namespaces this is the
-- same as the subject namespace. However, pages in the Article, File,
-- MediaWiki or Category namespaces must have their /doc, /sandbox and
-- /testcases pages in talk space.
local subjectSpace = env.subjectSpace
if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then
return subjectSpace + 1
else
return subjectSpace
end
end
function envFuncs.docpageBase()
-- The base page of the /doc, /sandbox, and /testcases subpages.
-- For some namespaces this is the talk page, rather than the template page.
local templateTitle = env.templateTitle
local docSpace = env.docSpace
local docSpaceText = mw.site.namespaces[docSpace].name
-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.
return docSpaceText .. ':' .. templateTitle.text
end
function envFuncs.compareUrl()
-- Diff link between the sandbox and the main template using [[Special:ComparePages]].
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
if templateTitle.exists and sandboxTitle.exists then
local compareUrl = mw.uri.canonicalUrl(
'Special:ComparePages',
{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}
)
return tostring(compareUrl)
else
return nil
end
end
return env
end
----------------------------------------------------------------------------
-- Auxiliary templates
----------------------------------------------------------------------------
p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext')
function p._getModuleWikitext(args, env)
local currentTitle = mw.title.getCurrentTitle()
if currentTitle.contentModel ~= 'Scribunto' then return end
pcall(require, currentTitle.prefixedText) -- if it fails, we don't care
local moduleWikitext = package.loaded["Module:Module wikitext"]
if moduleWikitext then
return moduleWikitext.main()
end
end
function p.sandboxNotice(args, env)
--[=[
-- Generates a sandbox notice for display above sandbox pages.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-notice-image' --> '[[ملف:Sandbox.svg|50px|alt=|link=]]'
-- 'sandbox-notice-blurb' --> 'This is the $1 for $2.'
-- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).'
-- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page'
-- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page'
-- 'sandbox-notice-pagetype-other' --> 'sandbox page'
-- 'sandbox-notice-compare-link-display' --> 'diff'
-- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.'
-- 'sandbox-notice-testcases-link-display' --> 'test cases'
-- 'sandbox-category' --> 'Template sandboxes'
-- 'module-sandbox-category' --> 'Module sandboxes'
-- 'other-sandbox-category' --> 'Sandboxes outside of template or module namespace'
--]=]
local title = env.title
local sandboxTitle = env.sandboxTitle
local templateTitle = env.templateTitle
local subjectSpace = env.subjectSpace
if not (subjectSpace and title and sandboxTitle and templateTitle
and mw.title.equals(title, sandboxTitle)) then
return nil
end
-- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text".
local omargs = {}
omargs.image = message('sandbox-notice-image')
-- Get the text. We start with the opening blurb, which is something like
-- "This is the template sandbox for [[قالب:Foo]] (diff)."
local text = '__EXPECTUNUSEDTEMPLATE__'
local pagetype, sandboxCat
if subjectSpace == 10 then
pagetype = message('sandbox-notice-pagetype-template')
sandboxCat = message('sandbox-category')
elseif subjectSpace == 828 then
pagetype = message('sandbox-notice-pagetype-module')
sandboxCat = message('module-sandbox-category')
else
pagetype = message('sandbox-notice-pagetype-other')
sandboxCat = message('other-sandbox-category')
end
local templateLink = makeWikilink(templateTitle.prefixedText)
local compareUrl = env.compareUrl
if compareUrl then
local compareDisplay = message('sandbox-notice-compare-link-display')
local compareLink = makeUrlLink(compareUrl, compareDisplay)
text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink})
else
text = text .. message('sandbox-notice-blurb', {pagetype, templateLink})
end
-- Get the test cases page blurb if the page exists. This is something like
-- "See also the companion subpage for [[قالب:Foo/testcases|test cases]]."
local testcasesTitle = env.testcasesTitle
if testcasesTitle and testcasesTitle.exists then
if testcasesTitle.contentModel == "Scribunto" then
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display')
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink})
else
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink})
end
end
-- Add the sandbox to the sandbox category.
omargs.text = text .. makeCategoryLink(sandboxCat)
-- 'documentation-clear'
return '<div class="' .. message('clear') .. '"></div>'
.. require('Module:Message box').main('ombox', omargs)
end
function p.protectionTemplate(env)
-- Generates the padlock icon in the top right.
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'protection-template' --> 'pp-template'
-- 'protection-template-args' --> {docusage = 'yes'}
local protectionLevels = env.protectionLevels
if not protectionLevels then
return nil
end
local editProt = protectionLevels.edit and protectionLevels.edit[1]
local moveProt = protectionLevels.move and protectionLevels.move[1]
if editProt then
-- The page is edit-protected.
return require('Module:Protection banner')._main{
message('protection-reason-edit'), small = true
}
elseif moveProt and moveProt ~= 'autoconfirmed' then
-- The page is move-protected but not edit-protected. Exclude move
-- protection with the level "autoconfirmed", as this is equivalent to
-- no move protection at all.
return require('Module:Protection banner')._main{
action = 'move', small = true
}
else
return nil
end
end
----------------------------------------------------------------------------
-- Start box
----------------------------------------------------------------------------
p.startBox = makeInvokeFunc('_startBox')
function p._startBox(args, env)
--[[
-- This function generates the start box.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make
-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox
-- which generate the box HTML.
--]]
env = env or p.getEnvironment(args)
local links
local content = args.content
if not content or args[1] then
-- No need to include the links if the documentation is on the template page itself.
local linksData = p.makeStartBoxLinksData(args, env)
if linksData then
links = p.renderStartBoxLinks(linksData)
end
end
-- Generate the start box html.
local data = p.makeStartBoxData(args, env, links)
if data then
return p.renderStartBox(data)
else
-- User specified no heading.
return nil
end
end
function p.makeStartBoxLinksData(args, env)
--[[
-- Does initial processing of data to make the [view] [edit] [history] [purge] links.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'view-link-display' --> 'view'
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'purge-link-display' --> 'purge'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'docpage-preload' --> 'Template:Documentation/preload'
-- 'create-link-display' --> 'create'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local docTitle = env.docTitle
if not title or not docTitle then
return nil
end
if docTitle.isRedirect then
docTitle = docTitle.redirectTarget
end
-- Create link if /doc doesn't exist.
local preload = args.preload
if not preload then
if subjectSpace == 828 then -- Module namespace
preload = message('module-preload')
else
preload = message('docpage-preload')
end
end
return {
title = title,
docTitle = docTitle,
-- View, display, edit, and purge links if /doc exists.
viewLinkDisplay = message('view-link-display'),
editLinkDisplay = message('edit-link-display'),
historyLinkDisplay = message('history-link-display'),
purgeLinkDisplay = message('purge-link-display'),
--#Added 2 lines
usageLinkDisplay = message('usage-link-display'),
TemplateUsage = message('template-usage'),
preload = preload,
createLinkDisplay = message('create-link-display')
}
end
function p.renderStartBoxLinks(data)
--[[
-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.
-- @data - a table of data generated by p.makeStartBoxLinksData
--]]
local docTitle = data.docTitle
-- #Added block:This block added by Mr.Ibrahim to view [استخدامات] link
local ret
local title = data.title
local usageUrl = "https://templatecount.toolforge.org/index.php?lang=ar&namespace=" .. title.namespace .. "&name=" .. mw.uri.encode( title.text , 'PATH')
local usageLink = makeUrlLink(usageUrl , data.usageLinkDisplay)
local templates_use_module = "//ar.wikipedia.org/w/index.php?title=خاص:بحث&fulltext=Search&ns10=1&ns8=1&search=insource%3A%2F(invoke%7Cاستدعاء)%3A+%2A" .. mw.uri.encode( title.text , 'PATH') .. "%5C%7C%2F"
local templates_use_moduleLink = makeUrlLink(templates_use_module , data.TemplateUsage)
-- yes, we do intend to purge the template page on which the documentation appears
local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay)
if docTitle.exists then
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)
local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay)
local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay)
-- #Edited line
return viewLink .. editLink .. historyLink .. purgeLink .. usageLink .. (title.namespace == 828 and (templates_use_moduleLink) or '')
else
local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay)
-- #Edited line
return createLink .. purgeLink .. usageLink .. (title.namespace == 828 and (templates_use_moduleLink) or '')
end
return ret
end
function p.makeStartBoxData(args, env, links)
--[=[
-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error.
--
-- Messages:
-- 'documentation-icon-wikitext' --> '[[ملف:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- 'template-namespace-heading' --> 'Template documentation'
-- 'module-namespace-heading' --> 'Module documentation'
-- 'file-namespace-heading' --> 'Summary'
-- 'other-namespaces-heading' --> 'Documentation'
-- 'testcases-create-link-display' --> 'create'
--]=]
local subjectSpace = env.subjectSpace
if not subjectSpace then
-- Default to an "other namespaces" namespace, so that we get at least some output
-- if an error occurs.
subjectSpace = 2
end
local data = {}
-- Heading
local heading = args.heading -- Blank values are not removed.
if heading == '' then
-- Don't display the start box if the heading arg is defined but blank.
return nil
end
if heading then
data.heading = heading
elseif subjectSpace == 10 then -- Template namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading')
elseif subjectSpace == 828 then -- Module namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading')
elseif subjectSpace == 6 then -- File namespace
data.heading = message('file-namespace-heading')
else
data.heading = message('other-namespaces-heading')
end
-- Heading CSS
local headingStyle = args['heading-style']
if headingStyle then
data.headingStyleText = headingStyle
else
-- 'documentation-heading'
data.headingClass = message('main-div-heading-class')
end
-- Data for the [view][edit][history][purge] or [create] links.
if links then
-- 'mw-editsection-like plainlinks'
data.linksClass = message('start-box-link-classes')
data.links = links
end
return data
end
function p.renderStartBox(data)
-- Renders the start box html.
-- @data - a table of data generated by p.makeStartBoxData.
local sbox = mw.html.create('div')
sbox
-- 'documentation-startbox'
:addClass(message('start-box-class'))
:newline()
:tag('span')
:addClass(data.headingClass)
:attr('id', 'documentation-heading')
:cssText(data.headingStyleText)
:wikitext(data.heading)
local links = data.links
if links then
sbox:tag('span')
:addClass(data.linksClass)
:attr('id', data.linksId)
:wikitext(links)
end
return tostring(sbox)
end
----------------------------------------------------------------------------
-- Documentation content
----------------------------------------------------------------------------
p.content = makeInvokeFunc('_content')
function p._content(args, env)
-- Displays the documentation contents
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
local content = args.content or args["محتوى"]
if not content and docTitle and docTitle.exists then
content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}
end
-- The line breaks below are necessary so that "=== Headings ===" at the start and end
-- of docs are interpreted correctly.
return '\n' .. (content or '') .. '\n'
end
p.contentTitle = makeInvokeFunc('_contentTitle')
function p._contentTitle(args, env)
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
if not args.content and docTitle and docTitle.exists then
return docTitle.prefixedText
else
return ''
end
end
----------------------------------------------------------------------------
-- End box
----------------------------------------------------------------------------
p.endBox = makeInvokeFunc('_endBox')
function p._endBox(args, env)
--[=[
-- This function generates the end box (also known as the link box).
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
--]=]
-- Get environment data.
env = env or p.getEnvironment(args)
local subjectSpace = env.subjectSpace
local docTitle = env.docTitle
if not subjectSpace or not docTitle then
return nil
end
-- Check whether we should output the end box at all. Add the end
-- box by default if the documentation exists or if we are in the
-- user, module or template namespaces.
local linkBox = args['link box']
if linkBox == 'off'
or not (
docTitle.exists
or subjectSpace == 2
or subjectSpace == 828
or subjectSpace == 10
)
then
return nil
end
-- Assemble the link box.
local text = ''
if linkBox then
text = text .. linkBox
else
text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]."
if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then
-- We are in the user, template or module namespaces.
-- Add sandbox and testcases links.
-- "Editors can experiment in this template's sandbox and testcases pages."
text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />'
if not args.content and not args[1] then
-- "Please add categories to the /doc subpage."
-- Don't show this message with inline docs or with an explicitly specified doc page,
-- as then it is unclear where to add the categories.
text = text .. (p.makeCategoriesBlurb(args, env) or '')
end
text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template"
end
end
local box = mw.html.create('div')
-- 'documentation-metadata'
box:attr('role', 'note')
:addClass(message('end-box-class'))
-- 'plainlinks'
:addClass(message('end-box-plainlinks'))
:wikitext(text)
:done()
return '\n' .. tostring(box)
end
function p.makeDocPageBlurb(args, env)
--[=[
-- Makes the blurb "This documentation is transcluded from [[قالب:Foo]] (edit, history)".
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'transcluded-from-blurb' -->
-- 'The above [[Wikipedia:Template documentation|documentation]]
-- is [[مساعدة:Transclusion|transcluded]] from $1.'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'create-link-display' --> 'create'
-- 'create-module-doc-blurb' -->
-- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].'
--]=]
local docTitle = env.docTitle
if not docTitle then
return nil
end
if docTitle.exists then
-- /doc exists; link to it.
local docLink = makeWikilink(docTitle.prefixedText)
local editDisplay = message('edit-link-display')
local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay)
local historyDisplay = message('history-link-display')
local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay)
return message('transcluded-from-blurb', {docLink})
.. ' '
.. makeToolbar(editLink, historyLink)
.. '<br />'
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')}
local createDisplay = message('create-link-display')
local createLink = makeUrlLink(createUrl, createDisplay)
return message('create-module-doc-blurb', {createLink})
.. '<br />'
end
end
function p.makeExperimentBlurb(args, env)
--[[
-- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-link-display' --> 'sandbox'
-- 'sandbox-edit-link-display' --> 'edit'
-- 'compare-link-display' --> 'diff'
-- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'sandbox-create-link-display' --> 'create'
-- 'mirror-edit-summary' --> 'Create sandbox version of $1'
-- 'mirror-link-display' --> 'mirror'
-- 'mirror-link-preload' --> 'Template:Documentation/mirror'
-- 'sandbox-link-display' --> 'sandbox'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display'--> 'edit'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'testcases-create-link-display' --> 'create'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display' --> 'edit'
-- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases'
-- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases'
-- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.'
-- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
local testcasesTitle = env.testcasesTitle
local templatePage = templateTitle.prefixedText
if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then
return nil
end
-- Make links.
local sandboxLinks, testcasesLinks
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandbox-link-display')
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareLink
if compareUrl then
local compareDisplay = message('compare-link-display')
compareLink = makeUrlLink(compareUrl, compareDisplay)
end
sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink)
else
local sandboxPreload
if subjectSpace == 828 then
sandboxPreload = message('module-sandbox-preload')
else
sandboxPreload = message('template-sandbox-preload')
end
local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorPreload = message('mirror-link-preload')
local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary}
if subjectSpace == 828 then
mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary}
end
local mirrorDisplay = message('mirror-link-display')
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
end
if testcasesTitle.exists then
local testcasesPage = testcasesTitle.prefixedText
local testcasesDisplay = message('testcases-link-display')
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'}
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay)
-- for Modules, add testcases run link if exists
if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then
local testcasesRunLinkDisplay = message('testcases-run-link-display')
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink)
else
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
end
else
local testcasesPreload
if subjectSpace == 828 then
testcasesPreload = message('module-testcases-preload')
else
testcasesPreload = message('template-testcases-preload')
end
local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink)
end
local messageName
if subjectSpace == 828 then
messageName = 'experiment-blurb-module'
else
messageName = 'experiment-blurb-template'
end
return message(messageName, {sandboxLinks, testcasesLinks})
end
function p.makeCategoriesBlurb(args, env)
--[[
-- Generates the text "Please add categories to the /doc subpage."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'doc-link-display' --> '/doc'
-- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.'
--]]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display'))
return message('add-categories-blurb', {docPathLink})
end
function p.makeSubpagesBlurb(args, env)
--[[
-- Generates the "Subpages of this template" link.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'template-pagetype' --> 'template'
-- 'module-pagetype' --> 'module'
-- 'default-pagetype' --> 'page'
-- 'subpages-link-display' --> 'Subpages of this $1'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
if not subjectSpace or not templateTitle then
return nil
end
local pagetype
if subjectSpace == 10 then
pagetype = message('template-pagetype')
elseif subjectSpace == 828 then
pagetype = message('module-pagetype')
else
pagetype = message('default-pagetype')
end
local subpagesLink = makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpages-link-display', {pagetype})
)
return message('subpages-blurb', {subpagesLink})
end
----------------------------------------------------------------------------
-- Tracking categories
----------------------------------------------------------------------------
function p.addTrackingCategories(env)
--[[
-- Check if {{documentation}} is transcluded on a /doc or /testcases page.
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'display-strange-usage-category' --> true
-- 'doc-subpage' --> 'doc'
-- 'testcases-subpage' --> 'testcases'
-- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage'
--
-- /testcases pages in the module namespace are not categorised, as they may have
-- {{documentation}} transcluded automatically.
--]]
local title = env.title
local subjectSpace = env.subjectSpace
if not title or not subjectSpace then
return nil
end
local subpage = title.subpageText
if message('display-strange-usage-category', nil, 'boolean')
and (
subpage == message('doc-subpage')
or subjectSpace ~= 828 and subpage == message('testcases-subpage')
)
then
return makeCategoryLink(message('strange-usage-category'))
end
return ''
end
return p
p0ln6g811zedi29nsddf6ttj8sva6mz
617279
617225
2026-08-12T19:58:33Z
حبيشان
52457
تصحيح
617279
Scribunto
text/plain
-- This module implements {{documentation}}.
-- Get required modules.
local getArgs = require('Module:Arguments').getArgs
-- Get the config table.
local cfg = mw.loadData('وحدة:توثيق/ضبط')
local p = {}
-- Often-used functions.
local ugsub = mw.ustring.gsub
local format = mw.ustring.format
----------------------------------------------------------------------------
-- Helper functions
--
-- These are defined as local functions, but are made available in the p
-- table for testing purposes.
----------------------------------------------------------------------------
local function message(cfgKey, valArray, expectType)
--[[
-- Gets a message from the cfg table and formats it if appropriate.
-- The function raises an error if the value from the cfg table is not
-- of the type expectType. The default type for expectType is 'string'.
-- If the table valArray is present, strings such as $1, $2 etc. in the
-- message are substituted with values from the table keys [1], [2] etc.
-- For example, if the message "foo-message" had the value 'Foo $2 bar $1.',
-- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz."
--]]
local msg = cfg[cfgKey]
expectType = expectType or 'string'
if type(msg) ~= expectType then
error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2)
end
if not valArray then
return msg
end
local function getMessageVal(match)
match = tonumber(match)
return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4)
end
return ugsub(msg, '$([1-9][0-9]*)', getMessageVal)
end
p.message = message
local function makeWikilink(page, display)
if display then
return format('[[%s|%s]]', page, display)
else
return format('[[%s]]', page)
end
end
p.makeWikilink = makeWikilink
local function makeCategoryLink(cat, sort)
local catns = mw.site.namespaces[14].name
return makeWikilink(catns .. ':' .. cat, sort)
end
p.makeCategoryLink = makeCategoryLink
local function makeUrlLink(url, display)
return format('[%s %s]', url, display)
end
p.makeUrlLink = makeUrlLink
local function makeToolbar(...)
local ret = {}
local lim = select('#', ...)
if lim < 1 then
return nil
end
for i = 1, lim do
ret[#ret + 1] = select(i, ...)
end
-- 'documentation-toolbar'
return format(
'<span class="%s">(%s)</span>',
message('toolbar-class'),
table.concat(ret, ' | ')
)
end
p.makeToolbar = makeToolbar
----------------------------------------------------------------------------
-- Argument processing
----------------------------------------------------------------------------
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame, {
valueFunc = function (key, value)
if type(value) == 'string' then
value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
if key == 'heading' or value ~= '' then
return value
else
return nil
end
else
return value
end
end
})
return p[funcName](args)
end
end
----------------------------------------------------------------------------
-- Entry points
----------------------------------------------------------------------------
function p.nonexistent(frame)
if mw.title.getCurrentTitle().subpageText == 'مختبر' then
return frame:expandTemplate{title = 'ملاحظة مختبر الوحدة'}
else
return p.main(frame)
end
end
p.main = makeInvokeFunc('_main')
function p._main(args)
--[[
-- This function defines logic flow for the module.
-- @args - table of arguments passed by the user
--]]
local env = p.getEnvironment(args)
local root = mw.html.create()
root
:wikitext(p._getModuleWikitext(args, env))
:wikitext(p.protectionTemplate(env))
:wikitext(p.sandboxNotice(args, env))
:tag('div')
-- 'documentation-container'
:addClass(message('container'))
:attr('role', 'complementary')
:attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil)
:attr('aria-label', args.heading == '' and 'Documentation' or nil)
:newline()
:tag('div')
-- 'documentation'
:addClass(message('main-div-classes'))
:newline()
:wikitext(p._startBox(args, env))
:wikitext(p._content(args, env))
:tag('div')
-- 'documentation-clear'
:addClass(message('clear'))
:done()
:newline()
:done()
:wikitext(p._endBox(args, env))
:done()
:wikitext(p.addTrackingCategories(env))
-- 'Module:Documentation/styles.css'
return mw.getCurrentFrame():extensionTag (
'templatestyles', '', {src=cfg['templatestyles']
}) .. tostring(root)
end
----------------------------------------------------------------------------
-- Environment settings
----------------------------------------------------------------------------
function p.getEnvironment(args)
--[[
-- Returns a table with information about the environment, including title
-- objects and other namespace- or path-related data.
-- @args - table of arguments passed by the user
--
-- Title objects include:
-- env.title - the page we are making documentation for (usually the current title)
-- env.templateTitle - the template (or module, file, etc.)
-- env.docTitle - the /doc subpage.
-- env.sandboxTitle - the /sandbox subpage.
-- env.testcasesTitle - the /testcases subpage.
--
-- Data includes:
-- env.protectionLevels - the protection levels table of the title object.
-- env.subjectSpace - the number of the title's subject namespace.
-- env.docSpace - the number of the namespace the title puts its documentation in.
-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.
-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.
--
-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value
-- returned will be nil.
--]]
local env, envFuncs = {}, {}
-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value
-- returned by that function is memoized in the env table so that we don't call any of the functions
-- more than once. (Nils won't be memoized.)
setmetatable(env, {
__index = function (t, key)
local envFunc = envFuncs[key]
if envFunc then
local success, val = pcall(envFunc)
if success then
env[key] = val -- Memoise the value.
return val
end
end
return nil
end
})
function envFuncs.title()
-- The title object for the current page, or a test page passed with args.page.
local title
local titleArg = args.page
if titleArg then
title = mw.title.new(titleArg)
else
title = mw.title.getCurrentTitle()
end
return title
end
function envFuncs.templateTitle()
--[[
-- The template (or module, etc.) title object.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
-- 'testcases-subpage' --> 'testcases'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local subpage = title.subpageText
if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') or (subpage == message('doc-subpage') and mw.title.getCurrentTitle().namespace == env.docSpace) then
return mw.title.makeTitle(subjectSpace, title.baseText)
else
return mw.title.makeTitle(subjectSpace, title.text)
end
end
function envFuncs.docTitle()
--[[
-- Title object of the /doc subpage.
-- Messages:
-- 'doc-subpage' --> 'doc'
--]]
local title = env.title
local docname = args[1] -- User-specified doc page.
local docpage
if docname then
docpage = docname
else
docpage = env.docpageBase .. '/' .. message('doc-subpage')
end
return mw.title.new(docpage)
end
function envFuncs.sandboxTitle()
--[[
-- Title object for the /sandbox subpage.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage'))
end
function envFuncs.testcasesTitle()
--[[
-- Title object for the /testcases subpage.
-- Messages:
-- 'testcases-subpage' --> 'testcases'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage'))
end
function envFuncs.protectionLevels()
-- The protection levels table of the title object.
return env.title.protectionLevels
end
function envFuncs.subjectSpace()
-- The subject namespace number.
return mw.site.namespaces[env.title.namespace].subject.id
end
function envFuncs.docSpace()
-- The documentation namespace number. For most namespaces this is the
-- same as the subject namespace. However, pages in the Article, File,
-- MediaWiki or Category namespaces must have their /doc, /sandbox and
-- /testcases pages in talk space.
local subjectSpace = env.subjectSpace
if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then
return subjectSpace + 1
else
return subjectSpace
end
end
function envFuncs.docpageBase()
-- The base page of the /doc, /sandbox, and /testcases subpages.
-- For some namespaces this is the talk page, rather than the template page.
local templateTitle = env.templateTitle
local docSpace = env.docSpace
local docSpaceText = mw.site.namespaces[docSpace].name
-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.
return docSpaceText .. ':' .. templateTitle.text
end
function envFuncs.compareUrl()
-- Diff link between the sandbox and the main template using [[Special:ComparePages]].
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
if templateTitle.exists and sandboxTitle.exists then
local compareUrl = mw.uri.canonicalUrl(
'Special:ComparePages',
{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}
)
return tostring(compareUrl)
else
return nil
end
end
return env
end
----------------------------------------------------------------------------
-- Auxiliary templates
----------------------------------------------------------------------------
p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext')
function p._getModuleWikitext(args, env)
local currentTitle = mw.title.getCurrentTitle()
if currentTitle.contentModel ~= 'Scribunto' then return end
pcall(require, currentTitle.prefixedText) -- if it fails, we don't care
local moduleWikitext = package.loaded["Module:Module wikitext"]
if moduleWikitext then
return moduleWikitext.main()
end
end
function p.sandboxNotice(args, env)
--[=[
-- Generates a sandbox notice for display above sandbox pages.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-notice-image' --> '[[ملف:Sandbox.svg|50px|alt=|link=]]'
-- 'sandbox-notice-blurb' --> 'This is the $1 for $2.'
-- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).'
-- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page'
-- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page'
-- 'sandbox-notice-pagetype-other' --> 'sandbox page'
-- 'sandbox-notice-compare-link-display' --> 'diff'
-- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.'
-- 'sandbox-notice-testcases-link-display' --> 'test cases'
-- 'sandbox-category' --> 'Template sandboxes'
-- 'module-sandbox-category' --> 'Module sandboxes'
-- 'other-sandbox-category' --> 'Sandboxes outside of template or module namespace'
--]=]
local title = env.title
local sandboxTitle = env.sandboxTitle
local templateTitle = env.templateTitle
local subjectSpace = env.subjectSpace
if not (subjectSpace and title and sandboxTitle and templateTitle
and mw.title.equals(title, sandboxTitle)) then
return nil
end
-- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text".
local omargs = {}
omargs.image = message('sandbox-notice-image')
-- Get the text. We start with the opening blurb, which is something like
-- "This is the template sandbox for [[قالب:Foo]] (diff)."
local text = '__EXPECTUNUSEDTEMPLATE__'
local pagetype, sandboxCat
if subjectSpace == 10 then
pagetype = message('sandbox-notice-pagetype-template')
sandboxCat = message('sandbox-category')
elseif subjectSpace == 828 then
pagetype = message('sandbox-notice-pagetype-module')
sandboxCat = message('module-sandbox-category')
else
pagetype = message('sandbox-notice-pagetype-other')
sandboxCat = message('other-sandbox-category')
end
local templateLink = makeWikilink(templateTitle.prefixedText)
local compareUrl = env.compareUrl
if compareUrl then
local compareDisplay = message('sandbox-notice-compare-link-display')
local compareLink = makeUrlLink(compareUrl, compareDisplay)
text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink})
else
text = text .. message('sandbox-notice-blurb', {pagetype, templateLink})
end
-- Get the test cases page blurb if the page exists. This is something like
-- "See also the companion subpage for [[قالب:Foo/testcases|test cases]]."
local testcasesTitle = env.testcasesTitle
if testcasesTitle and testcasesTitle.exists then
if testcasesTitle.contentModel == "Scribunto" then
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display')
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink})
else
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink})
end
end
-- Add the sandbox to the sandbox category.
omargs.text = text .. makeCategoryLink(sandboxCat)
-- 'documentation-clear'
return '<div class="' .. message('clear') .. '"></div>'
.. require('Module:Message box').main('ombox', omargs)
end
function p.protectionTemplate(env)
-- Generates the padlock icon in the top right.
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'protection-template' --> 'pp-template'
-- 'protection-template-args' --> {docusage = 'yes'}
local protectionLevels = env.protectionLevels
if not protectionLevels then
return nil
end
local editProt = protectionLevels.edit and protectionLevels.edit[1]
local moveProt = protectionLevels.move and protectionLevels.move[1]
if editProt then
-- The page is edit-protected.
return require('Module:Protection banner')._main{
message('protection-reason-edit'), small = true
}
elseif moveProt and moveProt ~= 'autoconfirmed' then
-- The page is move-protected but not edit-protected. Exclude move
-- protection with the level "autoconfirmed", as this is equivalent to
-- no move protection at all.
return require('Module:Protection banner')._main{
action = 'move', small = true
}
else
return nil
end
end
----------------------------------------------------------------------------
-- Start box
----------------------------------------------------------------------------
p.startBox = makeInvokeFunc('_startBox')
function p._startBox(args, env)
--[[
-- This function generates the start box.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make
-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox
-- which generate the box HTML.
--]]
env = env or p.getEnvironment(args)
local links
local content = args.content
if not content or args[1] then
-- No need to include the links if the documentation is on the template page itself.
local linksData = p.makeStartBoxLinksData(args, env)
if linksData then
links = p.renderStartBoxLinks(linksData)
end
end
-- Generate the start box html.
local data = p.makeStartBoxData(args, env, links)
if data then
return p.renderStartBox(data)
else
-- User specified no heading.
return nil
end
end
function p.makeStartBoxLinksData(args, env)
--[[
-- Does initial processing of data to make the [view] [edit] [history] [purge] links.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'view-link-display' --> 'view'
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'purge-link-display' --> 'purge'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'docpage-preload' --> 'Template:Documentation/preload'
-- 'create-link-display' --> 'create'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local docTitle = env.docTitle
if not title or not docTitle then
return nil
end
if docTitle.isRedirect then
docTitle = docTitle.redirectTarget
end
-- Create link if /doc doesn't exist.
local preload = args.preload
if not preload then
if subjectSpace == 828 then -- Module namespace
preload = message('module-preload')
else
preload = message('docpage-preload')
end
end
return {
title = title,
docTitle = docTitle,
-- View, display, edit, and purge links if /doc exists.
viewLinkDisplay = message('view-link-display'),
editLinkDisplay = message('edit-link-display'),
historyLinkDisplay = message('history-link-display'),
purgeLinkDisplay = message('purge-link-display'),
--#Added 2 lines
usageLinkDisplay = message('usage-link-display'),
TemplateUsage = message('template-usage'),
preload = preload,
createLinkDisplay = message('create-link-display')
}
end
function p.renderStartBoxLinks(data)
--[[
-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.
-- @data - a table of data generated by p.makeStartBoxLinksData
--]]
local docTitle = data.docTitle
-- #Added block:This block added by Mr.Ibrahim to view [استخدامات] link
local ret
local title = data.title
local usageUrl = "https://templatecount.toolforge.org/index.php?lang=ar&namespace=" .. title.namespace .. "&name=" .. mw.uri.encode( title.text , 'PATH')
local usageLink = makeUrlLink(usageUrl , data.usageLinkDisplay)
local templates_use_module = mw.site.server .. "/w/index.php?title=خاص:بحث&fulltext=Search&ns10=1&ns8=1&search=insource%3A%2F(invoke%7Cاستدعاء)%3A+%2A" .. mw.uri.encode( title.text , 'PATH') .. "%5C%7C%2F"
local templates_use_moduleLink = makeUrlLink(templates_use_module , data.TemplateUsage)
-- yes, we do intend to purge the template page on which the documentation appears
local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay)
if docTitle.exists then
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)
local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay)
local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay)
-- #Edited line
return viewLink .. editLink .. historyLink .. purgeLink .. usageLink .. (title.namespace == 828 and (templates_use_moduleLink) or '')
else
local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay)
-- #Edited line
return createLink .. purgeLink .. usageLink .. (title.namespace == 828 and (templates_use_moduleLink) or '')
end
return ret
end
function p.makeStartBoxData(args, env, links)
--[=[
-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error.
--
-- Messages:
-- 'documentation-icon-wikitext' --> '[[ملف:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- 'template-namespace-heading' --> 'Template documentation'
-- 'module-namespace-heading' --> 'Module documentation'
-- 'file-namespace-heading' --> 'Summary'
-- 'other-namespaces-heading' --> 'Documentation'
-- 'testcases-create-link-display' --> 'create'
--]=]
local subjectSpace = env.subjectSpace
if not subjectSpace then
-- Default to an "other namespaces" namespace, so that we get at least some output
-- if an error occurs.
subjectSpace = 2
end
local data = {}
-- Heading
local heading = args.heading -- Blank values are not removed.
if heading == '' then
-- Don't display the start box if the heading arg is defined but blank.
return nil
end
if heading then
data.heading = heading
elseif subjectSpace == 10 then -- Template namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading')
elseif subjectSpace == 828 then -- Module namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading')
elseif subjectSpace == 6 then -- File namespace
data.heading = message('file-namespace-heading')
else
data.heading = message('other-namespaces-heading')
end
-- Heading CSS
local headingStyle = args['heading-style']
if headingStyle then
data.headingStyleText = headingStyle
else
-- 'documentation-heading'
data.headingClass = message('main-div-heading-class')
end
-- Data for the [view][edit][history][purge] or [create] links.
if links then
-- 'mw-editsection-like plainlinks'
data.linksClass = message('start-box-link-classes')
data.links = links
end
return data
end
function p.renderStartBox(data)
-- Renders the start box html.
-- @data - a table of data generated by p.makeStartBoxData.
local sbox = mw.html.create('div')
sbox
-- 'documentation-startbox'
:addClass(message('start-box-class'))
:newline()
:tag('span')
:addClass(data.headingClass)
:attr('id', 'documentation-heading')
:cssText(data.headingStyleText)
:wikitext(data.heading)
local links = data.links
if links then
sbox:tag('span')
:addClass(data.linksClass)
:attr('id', data.linksId)
:wikitext(links)
end
return tostring(sbox)
end
----------------------------------------------------------------------------
-- Documentation content
----------------------------------------------------------------------------
p.content = makeInvokeFunc('_content')
function p._content(args, env)
-- Displays the documentation contents
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
local content = args.content or args["محتوى"]
if not content and docTitle and docTitle.exists then
content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}
end
-- The line breaks below are necessary so that "=== Headings ===" at the start and end
-- of docs are interpreted correctly.
return '\n' .. (content or '') .. '\n'
end
p.contentTitle = makeInvokeFunc('_contentTitle')
function p._contentTitle(args, env)
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
if not args.content and docTitle and docTitle.exists then
return docTitle.prefixedText
else
return ''
end
end
----------------------------------------------------------------------------
-- End box
----------------------------------------------------------------------------
p.endBox = makeInvokeFunc('_endBox')
function p._endBox(args, env)
--[=[
-- This function generates the end box (also known as the link box).
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
--]=]
-- Get environment data.
env = env or p.getEnvironment(args)
local subjectSpace = env.subjectSpace
local docTitle = env.docTitle
if not subjectSpace or not docTitle then
return nil
end
-- Check whether we should output the end box at all. Add the end
-- box by default if the documentation exists or if we are in the
-- user, module or template namespaces.
local linkBox = args['link box']
if linkBox == 'off'
or not (
docTitle.exists
or subjectSpace == 2
or subjectSpace == 828
or subjectSpace == 10
)
then
return nil
end
-- Assemble the link box.
local text = ''
if linkBox then
text = text .. linkBox
else
text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]."
if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then
-- We are in the user, template or module namespaces.
-- Add sandbox and testcases links.
-- "Editors can experiment in this template's sandbox and testcases pages."
text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />'
if not args.content and not args[1] then
-- "Please add categories to the /doc subpage."
-- Don't show this message with inline docs or with an explicitly specified doc page,
-- as then it is unclear where to add the categories.
text = text .. (p.makeCategoriesBlurb(args, env) or '')
end
text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template"
end
end
local box = mw.html.create('div')
-- 'documentation-metadata'
box:attr('role', 'note')
:addClass(message('end-box-class'))
-- 'plainlinks'
:addClass(message('end-box-plainlinks'))
:wikitext(text)
:done()
return '\n' .. tostring(box)
end
function p.makeDocPageBlurb(args, env)
--[=[
-- Makes the blurb "This documentation is transcluded from [[قالب:Foo]] (edit, history)".
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'transcluded-from-blurb' -->
-- 'The above [[Wikipedia:Template documentation|documentation]]
-- is [[مساعدة:Transclusion|transcluded]] from $1.'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'create-link-display' --> 'create'
-- 'create-module-doc-blurb' -->
-- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].'
--]=]
local docTitle = env.docTitle
if not docTitle then
return nil
end
if docTitle.exists then
-- /doc exists; link to it.
local docLink = makeWikilink(docTitle.prefixedText)
local editDisplay = message('edit-link-display')
local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay)
local historyDisplay = message('history-link-display')
local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay)
return message('transcluded-from-blurb', {docLink})
.. ' '
.. makeToolbar(editLink, historyLink)
.. '<br />'
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')}
local createDisplay = message('create-link-display')
local createLink = makeUrlLink(createUrl, createDisplay)
return message('create-module-doc-blurb', {createLink})
.. '<br />'
end
end
function p.makeExperimentBlurb(args, env)
--[[
-- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-link-display' --> 'sandbox'
-- 'sandbox-edit-link-display' --> 'edit'
-- 'compare-link-display' --> 'diff'
-- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'sandbox-create-link-display' --> 'create'
-- 'mirror-edit-summary' --> 'Create sandbox version of $1'
-- 'mirror-link-display' --> 'mirror'
-- 'mirror-link-preload' --> 'Template:Documentation/mirror'
-- 'sandbox-link-display' --> 'sandbox'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display'--> 'edit'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'testcases-create-link-display' --> 'create'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display' --> 'edit'
-- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases'
-- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases'
-- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.'
-- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
local testcasesTitle = env.testcasesTitle
local templatePage = templateTitle.prefixedText
if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then
return nil
end
-- Make links.
local sandboxLinks, testcasesLinks
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandbox-link-display')
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareLink
if compareUrl then
local compareDisplay = message('compare-link-display')
compareLink = makeUrlLink(compareUrl, compareDisplay)
end
sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink)
else
local sandboxPreload
if subjectSpace == 828 then
sandboxPreload = message('module-sandbox-preload')
else
sandboxPreload = message('template-sandbox-preload')
end
local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorPreload = message('mirror-link-preload')
local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary}
if subjectSpace == 828 then
mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary}
end
local mirrorDisplay = message('mirror-link-display')
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
end
if testcasesTitle.exists then
local testcasesPage = testcasesTitle.prefixedText
local testcasesDisplay = message('testcases-link-display')
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'}
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay)
-- for Modules, add testcases run link if exists
if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then
local testcasesRunLinkDisplay = message('testcases-run-link-display')
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink)
else
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
end
else
local testcasesPreload
if subjectSpace == 828 then
testcasesPreload = message('module-testcases-preload')
else
testcasesPreload = message('template-testcases-preload')
end
local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink)
end
local messageName
if subjectSpace == 828 then
messageName = 'experiment-blurb-module'
else
messageName = 'experiment-blurb-template'
end
return message(messageName, {sandboxLinks, testcasesLinks})
end
function p.makeCategoriesBlurb(args, env)
--[[
-- Generates the text "Please add categories to the /doc subpage."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'doc-link-display' --> '/doc'
-- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.'
--]]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display'))
return message('add-categories-blurb', {docPathLink})
end
function p.makeSubpagesBlurb(args, env)
--[[
-- Generates the "Subpages of this template" link.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'template-pagetype' --> 'template'
-- 'module-pagetype' --> 'module'
-- 'default-pagetype' --> 'page'
-- 'subpages-link-display' --> 'Subpages of this $1'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
if not subjectSpace or not templateTitle then
return nil
end
local pagetype
if subjectSpace == 10 then
pagetype = message('template-pagetype')
elseif subjectSpace == 828 then
pagetype = message('module-pagetype')
else
pagetype = message('default-pagetype')
end
local subpagesLink = makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpages-link-display', {pagetype})
)
return message('subpages-blurb', {subpagesLink})
end
----------------------------------------------------------------------------
-- Tracking categories
----------------------------------------------------------------------------
function p.addTrackingCategories(env)
--[[
-- Check if {{documentation}} is transcluded on a /doc or /testcases page.
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'display-strange-usage-category' --> true
-- 'doc-subpage' --> 'doc'
-- 'testcases-subpage' --> 'testcases'
-- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage'
--
-- /testcases pages in the module namespace are not categorised, as they may have
-- {{documentation}} transcluded automatically.
--]]
local title = env.title
local subjectSpace = env.subjectSpace
if not title or not subjectSpace then
return nil
end
local subpage = title.subpageText
if message('display-strange-usage-category', nil, 'boolean')
and (
subpage == message('doc-subpage')
or subjectSpace ~= 828 and subpage == message('testcases-subpage')
)
then
return makeCategoryLink(message('strange-usage-category'))
end
return ''
end
return p
boz7hrpe27rd55pzrfm6a3cprx31p1y
وحدة:توثيق/ضبط
828
147002
617224
518567
2026-08-12T16:36:38Z
حبيشان
52457
تحديث من الإنجليزية
617224
Scribunto
text/plain
----------------------------------------------------------------------------------------------------
--
-- Configuration for Module:Documentation
--
-- Here you can set the values of the parameters and messages used in Module:Documentation to
-- localise it to your wiki and your language. Unless specified otherwise, values given here
-- should be string values.
----------------------------------------------------------------------------------------------------
local cfg = {} -- Do not edit this line.
----------------------------------------------------------------------------------------------------
-- Protection template configuration
----------------------------------------------------------------------------------------------------
-- cfg['protection-reason-edit']
-- The protection reason for edit-protected templates to pass to
-- [[Module:Protection banner]].
cfg['protection-reason-edit'] = 'قالب'
--[[
----------------------------------------------------------------------------------------------------
-- Sandbox notice configuration
--
-- On sandbox pages the module can display a template notifying users that the current page is a
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a
-- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the
-- messages that the notices contains.
----------------------------------------------------------------------------------------------------
--]]
-- cfg['sandbox-notice-image']
-- The image displayed in the sandbox notice.
cfg['sandbox-notice-image'] = '[[ملف:Edit In Sandbox Icon - Color.svg|50px|alt=|link=]]'
--[[
-- cfg['sandbox-notice-pagetype-template']
-- cfg['sandbox-notice-pagetype-module']
-- cfg['sandbox-notice-pagetype-other']
-- The page type of the sandbox page. The message that is displayed depends on the current subject
-- namespace. This message is used in either cfg['sandbox-notice-blurb'] or
-- cfg['sandbox-notice-diff-blurb'].
--]]
cfg['sandbox-notice-pagetype-template'] = 'صفحة [[ويكي مصدر:ملاعب القوالب ومختبراتها|ملعب القالب]]'
cfg['sandbox-notice-pagetype-module'] = 'صفحة ملعب الوحدة'
cfg['sandbox-notice-pagetype-other'] = 'صفحة ملعب'
--[[
-- cfg['sandbox-notice-blurb']
-- cfg['sandbox-notice-diff-blurb']
-- cfg['sandbox-notice-diff-display']
-- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page
-- type, which is either cfg['sandbox-notice-pagetype-template'],
-- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between
-- the sandbox and the main template. The display value of the diff link is set by
-- cfg['sandbox-notice-compare-link-display'].
--]]
cfg['sandbox-notice-blurb'] = 'هذه $1 لصفحة $2.'
cfg['sandbox-notice-diff-blurb'] = 'هذه $1 لصفحة $2 ($3).'
cfg['sandbox-notice-compare-link-display'] = 'فرق'
--[[
-- cfg['sandbox-notice-testcases-blurb']
-- cfg['sandbox-notice-testcases-link-display']
-- cfg['sandbox-notice-testcases-run-blurb']
-- cfg['sandbox-notice-testcases-run-link-display']
-- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.
-- cfg['sandbox-notice-testcases-link-display'] is the display value for that link.
-- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test
-- cases page, and $2 is a link to the page to run it.
-- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test
-- cases.
--]]
cfg['sandbox-notice-testcases-blurb'] = 'انظر أيضاً الصفحات الفرعية لـ $1.'
cfg['sandbox-notice-testcases-link-display'] = 'مختبر'
cfg['sandbox-notice-testcases-run-blurb'] = 'انظر أيضاً الصفحات الفرعية لـ $1 ($2).'
cfg['sandbox-notice-testcases-run-link-display'] = 'تشغيل'
-- cfg['sandbox-category'] - A category to add to all template sandboxes.
-- cfg['module-sandbox-category'] - A category to add to all module sandboxes.
-- cfg['other-sandbox-category'] - A category to add to all sandboxe not in templates or modules.
cfg['sandbox-category'] = 'ملاعب قوالب'
cfg['module-sandbox-category'] = 'ملاعب وحدات'
cfg['other-sandbox-category'] = 'ملاعب خارج نطاق قالب أو وحدة'
----------------------------------------------------------------------------------------------------
-- Start box configuration
----------------------------------------------------------------------------------------------------
-- cfg['documentation-icon-wikitext']
-- The wikitext for the icon shown at the top of the template.
cfg['documentation-icon-wikitext'] = '[[ملف:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- cfg['template-namespace-heading']
-- The heading shown in the template namespace.
cfg['template-namespace-heading'] = 'توثيق القالب'
-- cfg['module-namespace-heading']
-- The heading shown in the module namespace.
cfg['module-namespace-heading'] = 'توثيق الوحدة' .. " [[تصنيف:جميع وحدات ويكي مصدر]]"
-- cfg['file-namespace-heading']
-- The heading shown in the file namespace.
cfg['file-namespace-heading'] = 'ملخص'
-- cfg['other-namespaces-heading']
-- The heading shown in other namespaces.
cfg['other-namespaces-heading'] = 'توثيق'
-- cfg['view-link-display']
-- The text to display for "view" links.
cfg['view-link-display'] = 'عرض'
-- cfg['edit-link-display']
-- The text to display for "edit" links.
cfg['edit-link-display'] = 'عدّل'
-- cfg['history-link-display']
-- The text to display for "history" links.
cfg['history-link-display'] = 'تاريخ'
-- cfg['purge-link-display']
-- The text to display for "purge" links.
cfg['purge-link-display'] = 'محو الاختزان'
cfg['usage-link-display'] = 'استخدامات'
cfg['template-usage'] = 'قوالب'
-- cfg['create-link-display']
-- The text to display for "create" links.
cfg['create-link-display'] = 'أنشئ'
----------------------------------------------------------------------------------------------------
-- Link box (end box) configuration
----------------------------------------------------------------------------------------------------
-- cfg['transcluded-from-blurb']
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.
cfg['transcluded-from-blurb'] = '[[ويكي مصدر:توثيق قالب|التوثيق]] في الأعلى [[ويكي مصدر:تضمين|مضمن]] من $1.'
--[[
-- cfg['create-module-doc-blurb']
-- Notice displayed in the module namespace when the documentation subpage does not exist.
-- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the
-- display cfg['create-link-display'].
--]]
cfg['create-module-doc-blurb'] = 'يمكنك أن تنشئ صفحة توثيق لهذه [[ويكي مصدر:لوا|الوحدة]] ($1).'
----------------------------------------------------------------------------------------------------
-- Experiment blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['experiment-blurb-template']
-- cfg['experiment-blurb-module']
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.
-- It is only shown in the template and module namespaces. With the default English settings, it
-- might look like this:
--
-- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages.
--
-- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links.
--
-- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending
-- on what namespace we are in.
--
-- Parameters:
--
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display'])
--
-- If the sandbox doesn't exist, it is in the format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display'])
--
-- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload']
-- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display']
-- loads a default edit summary of cfg['mirror-edit-summary'].
--
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:
--
-- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display'])
--
-- If the test cases page doesn't exist, it is in the format:
--
-- cfg['testcases-link-display'] (cfg['testcases-create-link-display'])
--
-- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the
-- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current
-- namespace.
--]]
cfg['experiment-blurb-template'] = "يمكن للمحررين تجريب تعديلاتهم على القالب في صفحات $1 و$2."
cfg['experiment-blurb-module'] = "يمكن للمحررين تجريب تعديلاتهم على الوحدة في صفحات $1 و$2."
----------------------------------------------------------------------------------------------------
-- Sandbox link configuration
----------------------------------------------------------------------------------------------------
-- cfg['sandbox-subpage']
-- The name of the template subpage typically used for sandboxes.
cfg['sandbox-subpage'] = 'ملعب'
-- cfg['template-sandbox-preload']
-- Preload file for template sandbox pages.
cfg['template-sandbox-preload'] = 'قالب:توثيق/مسبق-ملعب'
-- cfg['module-sandbox-preload']
-- Preload file for Lua module sandbox pages.
cfg['module-sandbox-preload'] = 'قالب:توثيق/مسبق-ملعب وحدة'
-- cfg['sandbox-link-display']
-- The text to display for "sandbox" links.
cfg['sandbox-link-display'] = 'ملعب'
-- cfg['sandbox-edit-link-display']
-- The text to display for sandbox "edit" links.
cfg['sandbox-edit-link-display'] = 'عدّل'
-- cfg['sandbox-create-link-display']
-- The text to display for sandbox "create" links.
cfg['sandbox-create-link-display'] = 'أنشئ'
-- cfg['compare-link-display']
-- The text to display for "compare" links.
cfg['compare-link-display'] = 'فرق'
-- cfg['mirror-edit-summary']
-- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the
-- template page.
cfg['mirror-edit-summary'] = 'إنشاء نسخة ملعب لـ $1'
-- cfg['mirror-link-display']
-- The text to display for "mirror" links.
cfg['mirror-link-display'] = 'مرآة'
-- cfg['mirror-link-preload']
-- The page to preload when a user clicks the "mirror" link.
cfg['mirror-link-preload'] = 'قالب:توثيق/مرآة'
----------------------------------------------------------------------------------------------------
-- Test cases link configuration
----------------------------------------------------------------------------------------------------
-- cfg['testcases-subpage']
-- The name of the template subpage typically used for test cases.
cfg['testcases-subpage'] = 'مختبر'
-- cfg['template-testcases-preload']
-- Preload file for template test cases pages.
cfg['template-testcases-preload'] = 'قالب:توثيق/مسبق-مختبر'
-- cfg['module-testcases-preload']
-- Preload file for Lua module test cases pages.
cfg['module-testcases-preload'] = 'قالب:توثيق/مسبق/مختبر وحدة'
-- cfg['testcases-link-display']
-- The text to display for "testcases" links.
cfg['testcases-link-display'] = 'مختبر'
-- cfg['testcases-edit-link-display']
-- The text to display for test cases "edit" links.
cfg['testcases-edit-link-display'] = 'عدل'
-- cfg['testcases-run-link-display']
-- The text to display for test cases "run" links.
cfg['testcases-run-link-display'] = 'run'
-- cfg['testcases-create-link-display']
-- The text to display for test cases "create" links.
cfg['testcases-create-link-display'] = 'أنشئ'
----------------------------------------------------------------------------------------------------
-- Add categories blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['add-categories-blurb']
-- Text to direct users to add categories to the /doc subpage. Not used if the "content" or
-- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a
-- link to the /doc subpage with a display value of cfg['doc-link-display'].
--]]
cfg['add-categories-blurb'] = 'من فضلك أضف التصنيفات في الصفحة الفرعية للقالب $1.'
-- cfg['doc-link-display']
-- The text to display when linking to the /doc subpage.
cfg['doc-link-display'] = '/شرح'
----------------------------------------------------------------------------------------------------
-- Subpages link configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['subpages-blurb']
-- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a
-- display value of cfg['subpages-link-display']. In the English version this blurb is simply
-- the link followed by a period, and the link display provides the actual text.
--]]
cfg['subpages-blurb'] = '$1.'
--[[
-- cfg['subpages-link-display']
-- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'],
-- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in
-- the template namespace, the module namespace, or another namespace.
--]]
cfg['subpages-link-display'] = 'الصفحات الفرعية لـ $1'
-- cfg['template-pagetype']
-- The pagetype to display for template pages.
cfg['template-pagetype'] = 'قالب'
-- cfg['module-pagetype']
-- The pagetype to display for Lua module pages.
cfg['module-pagetype'] = 'وحدة'
-- cfg['default-pagetype']
-- The pagetype to display for pages other than templates or Lua modules.
cfg['default-pagetype'] = 'صفحة'
----------------------------------------------------------------------------------------------------
-- Doc link configuration
----------------------------------------------------------------------------------------------------
-- cfg['doc-subpage']
-- The name of the subpage typically used for documentation pages.
cfg['doc-subpage'] = 'شرح'
-- cfg['docpage-preload']
-- Preload file for template documentation pages in all namespaces.
cfg['docpage-preload'] = 'قالب:توثيق/مسبق'
-- cfg['module-preload']
-- Preload file for Lua module documentation pages.
cfg['module-preload'] = 'قالب:توثيق/مسبق-وحدة-شرح'
----------------------------------------------------------------------------------------------------
-- HTML and CSS configuration
----------------------------------------------------------------------------------------------------
-- cfg['templatestyles']
-- The name of the TemplateStyles page where CSS is kept.
-- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed.
cfg['templatestyles'] = 'وحدة:توثيق/styles.css'
-- cfg['container']
-- Class which can be used to set flex or grid CSS on the
-- two child divs documentation and documentation-metadata
cfg['container'] = 'documentation-container'
-- cfg['main-div-classes']
-- Classes added to the main HTML "div" tag.
cfg['main-div-classes'] = 'documentation'
-- cfg['main-div-heading-class']
-- Class for the main heading for templates and modules and assoc. talk spaces
cfg['main-div-heading-class'] = 'documentation-heading'
-- cfg['start-box-class']
-- Class for the start box
cfg['start-box-class'] = 'documentation-startbox'
-- cfg['start-box-link-classes']
-- Classes used for the [view][edit][history] or [create] links in the start box.
-- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]]
cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks'
-- cfg['end-box-class']
-- Class for the end box.
cfg['end-box-class'] = 'documentation-metadata'
-- cfg['end-box-plainlinks']
-- Plainlinks
cfg['end-box-plainlinks'] = 'plainlinks'
-- cfg['toolbar-class']
-- Class added for toolbar links.
cfg['toolbar-class'] = 'documentation-toolbar'
-- cfg['clear']
-- Just used to clear things.
cfg['clear'] = 'documentation-clear'
----------------------------------------------------------------------------------------------------
-- Tracking category configuration
----------------------------------------------------------------------------------------------------
-- cfg['display-strange-usage-category']
-- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage
-- or a /testcases subpage. This should be a boolean value (either true or false).
cfg['display-strange-usage-category'] = true
-- cfg['strange-usage-category']
-- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a
-- /doc subpage or a /testcases subpage.
cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage'
--[[
----------------------------------------------------------------------------------------------------
-- End configuration
--
-- Don't edit anything below this line.
----------------------------------------------------------------------------------------------------
--]]
return cfg
77rd8ddk05ms77jxgjfu69fg0uqdl83
فهرس:التهذيب في أصول التعريب (auc aco001146).pdf
106
216137
617241
616505
2026-08-12T19:09:29Z
Nehaoua
7481
تنسيق ويكي
617241
proofread-index
text/x-wiki
{{:MediaWiki:Proofreadpage_index_template
|النوع=book
|العنوان=[[التهذيب في أصول التعريب]]
|Language=ar
|الجزء=
|المؤلف=[[مؤلف:أحمد عيسى|أحمد عيسى]]
|المترجم=
|المحقق=
|المحرر=
|الرسام=
|المدرسة=
|الناشر=
|المكان=
|السنة=1923
|Key=
|ISBN=
|OCLC=
|LCCN=
|BNF_ARK=
|ARC=
|DOI=
|المصدر=pdf
|الصورة=5
|الحالة=C
|Transclusion=no
|Validation_date=
|الصفحات=<pagelist
1="غلاف"
2to4="–"
5=1
151to152="ج. مح."
153to155="–"
156="غلاف"
/>
|الأجزاء=
|الملاحظات={{صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/151}}
{{صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/152}}
|Width=
|Header=
|Footer=
|wikidata=
}}
[[تصنيف:مؤلفات أحمد عيسى]]
4a2h8br3ls5coh4m8ubu6ueqgz4v8m4
617303
617241
2026-08-13T03:13:28Z
JazarF
71952
617303
proofread-index
text/x-wiki
{{:MediaWiki:Proofreadpage_index_template
|النوع=book
|العنوان=[[التهذيب في أصول التعريب]]
|Language=ar
|الجزء=
|المؤلف=[[مؤلف:أحمد عيسى|أحمد عيسى]]
|المترجم=
|المحقق=
|المحرر=
|الرسام=
|المدرسة=
|الناشر=
|المكان=
|السنة=1923
|Key=
|ISBN=
|OCLC=
|LCCN=
|BNF_ARK=
|ARC=
|DOI=
|المصدر=pdf
|الصورة=5
|الحالة=C
|Transclusion=no
|Validation_date=
|الصفحات=<pagelist
1="غلاف"
2to4="–"
5=1
153to155="–"
156="غلاف"
/>
|الأجزاء=
|الملاحظات={{صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/151}}
{{صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/152}}
|Width=
|Header=
|Footer=
|wikidata=
}}
[[تصنيف:مؤلفات أحمد عيسى]]
355uc6adurwjpcajw8zdbwv5xqw9irk
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/151
104
216144
617295
617077
2026-08-12T20:59:51Z
Nehaoua
7481
تنسيق ويكي
617295
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" />{{وسط|–١٤٧–}}</noinclude>{{وسط|'''فهرست'''}}
{| style="margin:0 auto; width:85%; border-collapse:collapse;" dir="rtl"
! style="width:15%; text-align:center;" | صفحة
! style="text-align:right;" |
|-
| style="text-align:center;" | {{ربط بصفحة|5|4|٥}}
| [[التهذيب في أصول التعريب/خطبة الكتاب|خطبة الكتاب]]
|-
| style="text-align:center;" | {{ربط بصفحة|8|4|٨}}
| [[التهذيب في أصول التعريب/باب القول في أصل اللغة العربية|١ - باب القول في أصل اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|15|4|١٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/تكرير الأصل للدلالة على تكرير الفعل|تكرير الأصل للدلالة على تكرير الفعل]]
|-
| style="text-align:center;" | {{ربط بصفحة|16|4|١٦}}
| [[التهذيب في أصول التعريب/باب القول في معنى اللغة|٢ - باب القول في معنى اللغة]]
|-
| style="text-align:center;" | {{ربط بصفحة|17|4|١٧}}
| [[التهذيب في أصول التعريب/باب في علة تسمية العرب|٣ - باب في علة تسمية العرب]]
|-
| style="text-align:center;" | {{ربط بصفحة|21|4|٢١}}
| [[التهذيب في أصول التعريب/باب في موطن اللغة العربية|٤ - باب في موطن اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|23|4|٢٣}}
| [[التهذيب في أصول التعريب/باب في علة سكن البوادي من عرب البدو وغيرهم|٥ - باب في علة سكن البوادي من عرب البدو وغيرهم]]
|-
| style="text-align:center;" | {{ربط بصفحة|25|4|٢٥}}
| [[التهذيب في أصول التعريب/باب في النسب في العرب|٦ - باب في النسب في العرب]]
|-
| style="text-align:center;" | {{ربط بصفحة|29|4|٢٩}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل في طبقات الأنساب|١ - فصل في طبقات الأنساب]]
|-
| style="text-align:center;" | {{ربط بصفحة|32|4|٣٢}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/ فصل في تسلسل النسب|٢ - فصل في تسلسل النسب]]
|-
| style="text-align:center;" | {{ربط بصفحة|32|4|٣٢}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/ فصل في العرب القحطانية|٣ - فصل في العرب القحطانية]]
|-
| style="text-align:center;" | {{ربط بصفحة|36|4|٣٦}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل في العرب العدنانية|٤ - فصل في العرب العدنانية]]
|-
| style="text-align:center;" | {{ربط بصفحة|42|4|٤٢}}
| [[التهذيب في أصول التعريب/باب في لغة جزيرة العرب واختلافها|٧ - باب في لغة جزيرة العرب واختلافها]]
|-
| style="text-align:center;" | {{ربط بصفحة|45|4|٤٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل في اختلاف لغة العرب|١ - فصل في اختلاف لغة العرب]]
|-
| style="text-align:center;" | {{ربط بصفحة|47|4|٤٧}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل في المذموم من اللغات|٢ - فصل في المذموم من اللغات]]
|-
| style="text-align:center;" | {{ربط بصفحة|48|4|٤٨}}
| [[التهذيب في أصول التعريب/باب في مراتب كلام العرب|٨ - باب في مراتب كلام العرب]]
|-
| style="text-align:center;" | {{ربط بصفحة|50|4|٥٠}}
| [[التهذيب في أصول التعريب/باب في بلاغة القرآن|٩ - باب في بلاغة القرآن]]
|-
| style="text-align:center;" | {{ربط بصفحة|54|4|٥٤}}
| [[التهذيب في أصول التعريب/باب في اللغة العربية بين اللغات|١٠ - باب في اللغة العربية بين اللغات]]
|-
| style="text-align:center;" | {{ربط بصفحة|57|4|٥٧}}
| [[التهذيب في أصول التعريب/باب في القول في مهد الساميين|١١ - باب في القول في مهد الساميين]]
|-
| style="text-align:center;" | {{ربط بصفحة|58|4|٥٨}}
| [[التهذيب في أصول التعريب/باب في تقسيم اللغات السامية|١٢ - باب في تقسيم اللغات السامية]]
|-
| style="text-align:center;" | {{ربط بصفحة|60|4|٦٠}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل في تقسيم اللهجات الآرامية|١ - فصل في تقسيم اللهجات الآرامية]]
|-
| style="text-align:center;" | {{ربط بصفحة|63|4|٦٣}}
| [[التهذيب في أصول التعريب/باب في السبب الداعي إلى نقل فلسفة اليونان وعلومها إلى اللغة السريانية قبل النهضة العربية|١٣ - باب في السبب الداعي إلى نقل فلسفة اليونان وعلومها إلى اللغة السريانية قبل النهضة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|73|4|٧٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/مدارس التعليم عند السريان|مدارس التعليم عند السريان]]
|-
| style="text-align:center;" | {{ربط بصفحة|74|4|٧٤}}
| [[التهذيب في أصول التعريب/باب في اللغات السامية الجنوبية|١٤ - باب في اللغات السامية الجنوبية]]<noinclude>{{nop}}
|}</noinclude>
9ib5a0vijvob3lp5xbio69c00yue60r
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/152
104
216145
617291
616582
2026-08-12T20:47:47Z
Nehaoua
7481
تنسيق ويكي
617291
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" />{{وسط|–١٤٨–}}
{| style="margin:0 auto; width:85%; border-collapse:collapse;" dir="rtl"
! style="width:15%; text-align:center;" | صفحة
! style="text-align:right;" |</noinclude>{{nop}}
|-
| style="text-align:center;" | ٧٦
| [[التهذيب في أصول التعريب/١٥ - باب فى اللغة العامية أو الدارجة|التهذيب في أصول التعريب/١٥ - باب فى اللغة العامية أو الدارجة]]
|-
| style="text-align:center;" | ٧٧
| [[التهذيب في أصول التعريب/١٦ - باب فى القول فى العربي الجنوبي|التهذيب في أصول التعريب/١٦ - باب فى القول فى العربي الجنوبي]]
|-
| style="text-align:center;" | ٨٢
| [[التهذيب في أصول التعريب/١٧ - باب فى القول فى تدوين اللغة واستنباط النحو والصرف|التهذيب في أصول التعريب/١٧ - باب فى القول فى تدوين اللغة واستنباط النحو والصرف]]
|-
| style="text-align:center;" | ٨٣
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن النحو|التهذيب في أصول التعريب/فن النحو]]
|-
| style="text-align:center;" | ٨٧
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن التصريف أو الصرف|التهذيب في أصول التعريب/فن التصريف أو الصرف]]
|-
| style="text-align:center;" | ٨٨
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن اللغة|التهذيب في أصول التعريب/فن اللغة]]
|-
| style="text-align:center;" | ٩١
| [[التهذيب في أصول التعريب/١٨ - باب فى القول فى فضل اللغة العربية|التهذيب في أصول التعريب/١٨ - باب فى القول فى فضل اللغة العربية]]
|-
| style="text-align:center;" | ٩٣
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الكتابة|التهذيب في أصول التعريب/الكتابة]]
|-
| style="text-align:center;" | ٩٤
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الشعر|التهذيب في أصول التعريب/الشعر]]
|-
| style="text-align:center;" | ٩٤
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/العروض|التهذيب في أصول التعريب/العروض]]
|-
| style="text-align:center;" | ٩٥
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الأمثال|التهذيب في أصول التعريب/الأمثال]]
|-
| style="text-align:center;" | ٩٥
| [[التهذيب في أصول التعريب/١٩ - باب فى القول فى اتساع اللغة العربية|التهذيب في أصول التعريب/١٩ - باب فى القول فى اتساع اللغة العربية]]
|-
| style="text-align:center;" | ٩٩
| [[التهذيب في أصول التعريب/٢٠ - باب فى الكتابة العربية|التهذيب في أصول التعريب/٢٠ - باب فى الكتابة العربية]]
|-
| style="text-align:center;" | ١٠٠
| [[التهذيب في أصول التعريب/٢١ - باب فى حاجة العرب إلى التعريب|التهذيب في أصول التعريب/٢١ - باب فى حاجة العرب إلى التعريب]]
|-
| style="text-align:center;" | ١٠٣
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/نقل الدواوين إلى العربية|التهذيب في أصول التعريب/نقل الدواوين إلى العربية]]
|-
| style="text-align:center;" | ١٠٤
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/اتساع دائرة النقل والترجمة|التهذيب في أصول التعريب/اتساع دائرة النقل والترجمة]]
|-
| style="text-align:center;" | ١٠٩
| [[التهذيب في أصول التعريب/٢٢ - باب فى الدلالة الكتابية على الحروف الأعجمية|التهذيب في أصول التعريب/٢٢ - باب فى الدلالة الكتابية على الحروف الأعجمية]]
|-
| style="text-align:center;" | ١١٢
| [[التهذيب في أصول التعريب/٢٣ - باب فى النقل من اللغات الأعجمية إلى العربية|التهذيب في أصول التعريب/٢٣ - باب فى النقل من اللغات الأعجمية إلى العربية]]
|-
| style="text-align:center;" | ١١٣
| [[التهذيب في أصول التعريب/٢٤ - باب فى القول فى الترجمة|التهذيب في أصول التعريب/٢٤ - باب فى القول فى الترجمة]]
|-
| style="text-align:center;" | ١١٤
| [[التهذيب في أصول التعريب/٢٥ - باب فى القول فى الاشتقاق|التهذيب في أصول التعريب/٢٥ - باب فى القول فى الاشتقاق]]
|-
| style="text-align:center;" | ١١٧
| [[التهذيب في أصول التعريب/٢٦ - باب القول فى المجاز|التهذيب في أصول التعريب/٢٦ - باب القول فى المجاز]]
|-
| style="text-align:center;" | ١١٩
| [[التهذيب في أصول التعريب/٢٧ - باب فى القول فى النحت|التهذيب في أصول التعريب/٢٧ - باب فى القول فى النحت]]
|-
| style="text-align:center;" | ١٢٠
| [[التهذيب في أصول التعريب/٢٨ - باب القول فى التعريب|التهذيب في أصول التعريب/٢٨ - باب القول فى التعريب]]
|-
| style="text-align:center;" | ١٢١
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فى دلائل الاسم المعرب|التهذيب في أصول التعريب/فى دلائل الاسم المعرب]]
|-
| style="text-align:center;" | ١٢٥
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل فى حكم التعريب|التهذيب في أصول التعريب/فصل فى حكم التعريب]]
|-
| style="text-align:center;" | ١٢٩
| [[التهذيب في أصول التعريب/٢٩ - باب فى حروف الهجاء ومقارنتها|التهذيب في أصول التعريب/٢٩ - باب فى حروف الهجاء ومقارنتها]]
|-
| style="text-align:center;" | ١٣٠
| [[التهذيب في أصول التعريب/٣٠ - باب فى قواعد التعريب|التهذيب في أصول التعريب/٣٠ - باب فى قواعد التعريب]]
|}<noinclude></noinclude>
7k4pak8mf4x0dtoxnehbukxxt541215
617292
617291
2026-08-12T20:53:36Z
Nehaoua
7481
تنسيق ويكي
617292
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" />{{وسط|–١٤٨–}}
{| style="margin:0 auto; width:85%; border-collapse:collapse;" dir="rtl"
! style="width:15%; text-align:center;" | صفحة
! style="text-align:right;" |</noinclude>{{nop}}
|-
| style="text-align:center;" | {{ربط بصفحة||4|٧٦}}
| [[التهذيب في أصول التعريب/باب فى اللغة العامية أو الدارجة|١٥ - باب فى اللغة العامية أو الدارجة]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٧٧}}
| [[التهذيب في أصول التعريب/ باب فى القول فى العربي الجنوبي|١٦ - باب فى القول فى العربي الجنوبي]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٨٢}}
| [[التهذيب في أصول التعريب/باب فى القول فى تدوين اللغة واستنباط النحو والصرف|١٧ - باب فى القول فى تدوين اللغة واستنباط النحو والصرف]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٨٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن النحو|فن النحو]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٨٧}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن التصريف أو الصرف|فن التصريف أو الصرف]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٨٨}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن اللغة|فن اللغة]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٩١}}
| [[التهذيب في أصول التعريب/باب فى القول فى فضل اللغة العربية|١٨ - باب فى القول فى فضل اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٩٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الكتابة|الكتابة]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٩٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الشعر|الشعر]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٩٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/العروض|العروض]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٩٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الأمثال|الأمثال]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٩٥}}
| [[التهذيب في أصول التعريب/باب فى القول فى اتساع اللغة العربية|١٩ - باب فى القول فى اتساع اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|٩٩}}
| [[التهذيب في أصول التعريب/باب فى الكتابة العربية|٢٠ - باب فى الكتابة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٠٠}}
| [[التهذيب في أصول التعريب/باب فى حاجة العرب إلى التعريب|٢١ - باب فى حاجة العرب إلى التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٠٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/نقل الدواوين إلى العربية|نقل الدواوين إلى العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٠٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/اتساع دائرة النقل والترجمة|اتساع دائرة النقل والترجمة]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٠٩}}
| [[التهذيب في أصول التعريب/باب فى الدلالة الكتابية على الحروف الأعجمية|٢٢ - باب فى الدلالة الكتابية على الحروف الأعجمية]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١١٢}}
| [[التهذيب في أصول التعريب/باب فى النقل من اللغات الأعجمية إلى العربية|٢٣ - باب فى النقل من اللغات الأعجمية إلى العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١١٣}}
| [[التهذيب في أصول التعريب/باب فى القول فى الترجمة|٢٤ - باب فى القول فى الترجمة]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١١٤}}
| [[التهذيب في أصول التعريب/باب فى القول فى الاشتقاق|٢٥ - باب فى القول فى الاشتقاق]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١١٧}}
| [[التهذيب في أصول التعريب/باب القول فى المجاز|٢٦ - باب القول فى المجاز]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١١٩}}
| [[التهذيب في أصول التعريب/باب فى القول فى النحت|٢٧ - باب فى القول فى النحت]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٢٠}}
| [[التهذيب في أصول التعريب/باب القول فى التعريب|٢٨ - باب القول فى التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٢١}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فى دلائل الاسم المعرب|فى دلائل الاسم المعرب]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٢٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل فى حكم التعريب|فصل فى حكم التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٢٩}}
| [[التهذيب في أصول التعريب/باب فى حروف الهجاء ومقارنتها|٢٩ - باب فى حروف الهجاء ومقارنتها]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١٣٠}}
| [[التهذيب في أصول التعريب/باب فى قواعد التعريب|٣٠ - باب فى قواعد التعريب]]
|}<noinclude></noinclude>
lfxh4c2zjqklndqejpk5d3g3ooqn9v2
617293
617292
2026-08-12T20:55:30Z
Nehaoua
7481
تنسيق ويكي
617293
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" />{{وسط|–١٤٨–}}
{| style="margin:0 auto; width:85%; border-collapse:collapse;" dir="rtl"
! style="width:15%; text-align:center;" | صفحة
! style="text-align:right;" |</noinclude>{{nop}}
|-
| style="text-align:center;" | {{ربط بصفحة|76|4|٧٦}}
| [[التهذيب في أصول التعريب/باب فى اللغة العامية أو الدارجة|١٥ - باب فى اللغة العامية أو الدارجة]]
|-
| style="text-align:center;" | {{ربط بصفحة|77|4|٧٧}}
| [[التهذيب في أصول التعريب/ باب فى القول فى العربي الجنوبي|١٦ - باب فى القول فى العربي الجنوبي]]
|-
| style="text-align:center;" | {{ربط بصفحة|82|4|٨٢}}
| [[التهذيب في أصول التعريب/باب فى القول فى تدوين اللغة واستنباط النحو والصرف|١٧ - باب فى القول فى تدوين اللغة واستنباط النحو والصرف]]
|-
| style="text-align:center;" | {{ربط بصفحة|83|4|٨٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن النحو|فن النحو]]
|-
| style="text-align:center;" | {{ربط بصفحة|87|4|٨٧}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن التصريف أو الصرف|فن التصريف أو الصرف]]
|-
| style="text-align:center;" | {{ربط بصفحة|88|4|٨٨}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن اللغة|فن اللغة]]
|-
| style="text-align:center;" | {{ربط بصفحة|91|4|٩١}}
| [[التهذيب في أصول التعريب/باب فى القول فى فضل اللغة العربية|١٨ - باب فى القول فى فضل اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|93|4|٩٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الكتابة|الكتابة]]
|-
| style="text-align:center;" | {{ربط بصفحة|94|4|٩٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الشعر|الشعر]]
|-
| style="text-align:center;" | {{ربط بصفحة|94|4|٩٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/العروض|العروض]]
|-
| style="text-align:center;" | {{ربط بصفحة|95|4|٩٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الأمثال|الأمثال]]
|-
| style="text-align:center;" | {{ربط بصفحة|95|4|٩٥}}
| [[التهذيب في أصول التعريب/باب فى القول فى اتساع اللغة العربية|١٩ - باب فى القول فى اتساع اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|99|4|٩٩}}
| [[التهذيب في أصول التعريب/باب فى الكتابة العربية|٢٠ - باب فى الكتابة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|100|4|١٠٠}}
| [[التهذيب في أصول التعريب/باب فى حاجة العرب إلى التعريب|٢١ - باب فى حاجة العرب إلى التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة|103|4|١٠٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/نقل الدواوين إلى العربية|نقل الدواوين إلى العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|104|4|١٠٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/اتساع دائرة النقل والترجمة|اتساع دائرة النقل والترجمة]]
|-
| style="text-align:center;" | {{ربط بصفحة|109|4|١٠٩}}
| [[التهذيب في أصول التعريب/باب فى الدلالة الكتابية على الحروف الأعجمية|٢٢ - باب فى الدلالة الكتابية على الحروف الأعجمية]]
|-
| style="text-align:center;" | {{ربط بصفحة|112|4|١١٢}}
| [[التهذيب في أصول التعريب/باب فى النقل من اللغات الأعجمية إلى العربية|٢٣ - باب فى النقل من اللغات الأعجمية إلى العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|113|4|١١٣}}
| [[التهذيب في أصول التعريب/باب فى القول فى الترجمة|٢٤ - باب فى القول فى الترجمة]]
|-
| style="text-align:center;" | {{ربط بصفحة|114|4|١١٤}}
| [[التهذيب في أصول التعريب/باب فى القول فى الاشتقاق|٢٥ - باب فى القول فى الاشتقاق]]
|-
| style="text-align:center;" | {{ربط بصفحة||4|١١٧}}
| [[التهذيب في أصول التعريب/باب القول فى المجاز|٢٦ - باب القول فى المجاز]]
|-
| style="text-align:center;" | {{ربط بصفحة|119|4|١١٩}}
| [[التهذيب في أصول التعريب/باب فى القول فى النحت|٢٧ - باب فى القول فى النحت]]
|-
| style="text-align:center;" | {{ربط بصفحة|120|4|١٢٠}}
| [[التهذيب في أصول التعريب/باب القول فى التعريب|٢٨ - باب القول فى التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة|121|4|١٢١}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فى دلائل الاسم المعرب|فى دلائل الاسم المعرب]]
|-
| style="text-align:center;" | {{ربط بصفحة|125|4|١٢٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل فى حكم التعريب|فصل فى حكم التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة|129|4|١٢٩}}
| [[التهذيب في أصول التعريب/باب فى حروف الهجاء ومقارنتها|٢٩ - باب فى حروف الهجاء ومقارنتها]]
|-
| style="text-align:center;" | {{ربط بصفحة|130|4|١٣٠}}
| [[التهذيب في أصول التعريب/باب فى قواعد التعريب|٣٠ - باب فى قواعد التعريب]]
|}<noinclude></noinclude>
gwvg5r4antjsaocqdx6o1yn1vld0gtp
617294
617293
2026-08-12T20:56:28Z
Nehaoua
7481
تنسيق ويكي
617294
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" />{{وسط|–١٤٨–}}
{| style="margin:0 auto; width:85%; border-collapse:collapse;" dir="rtl"
! style="width:15%; text-align:center;" | صفحة
! style="text-align:right;" |</noinclude>{{nop}}
|-
| style="text-align:center;" | {{ربط بصفحة|76|4|٧٦}}
| [[التهذيب في أصول التعريب/باب فى اللغة العامية أو الدارجة|١٥ - باب فى اللغة العامية أو الدارجة]]
|-
| style="text-align:center;" | {{ربط بصفحة|77|4|٧٧}}
| [[التهذيب في أصول التعريب/ باب فى القول فى العربي الجنوبي|١٦ - باب فى القول فى العربي الجنوبي]]
|-
| style="text-align:center;" | {{ربط بصفحة|82|4|٨٢}}
| [[التهذيب في أصول التعريب/باب فى القول فى تدوين اللغة واستنباط النحو والصرف|١٧ - باب فى القول فى تدوين اللغة واستنباط النحو والصرف]]
|-
| style="text-align:center;" | {{ربط بصفحة|83|4|٨٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن النحو|فن النحو]]
|-
| style="text-align:center;" | {{ربط بصفحة|87|4|٨٧}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن التصريف أو الصرف|فن التصريف أو الصرف]]
|-
| style="text-align:center;" | {{ربط بصفحة|88|4|٨٨}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فن اللغة|فن اللغة]]
|-
| style="text-align:center;" | {{ربط بصفحة|91|4|٩١}}
| [[التهذيب في أصول التعريب/باب فى القول فى فضل اللغة العربية|١٨ - باب فى القول فى فضل اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|93|4|٩٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الكتابة|الكتابة]]
|-
| style="text-align:center;" | {{ربط بصفحة|94|4|٩٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الشعر|الشعر]]
|-
| style="text-align:center;" | {{ربط بصفحة|94|4|٩٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/العروض|العروض]]
|-
| style="text-align:center;" | {{ربط بصفحة|95|4|٩٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/الأمثال|الأمثال]]
|-
| style="text-align:center;" | {{ربط بصفحة|95|4|٩٥}}
| [[التهذيب في أصول التعريب/باب فى القول فى اتساع اللغة العربية|١٩ - باب فى القول فى اتساع اللغة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|99|4|٩٩}}
| [[التهذيب في أصول التعريب/باب فى الكتابة العربية|٢٠ - باب فى الكتابة العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|100|4|١٠٠}}
| [[التهذيب في أصول التعريب/باب فى حاجة العرب إلى التعريب|٢١ - باب فى حاجة العرب إلى التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة|103|4|١٠٣}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/نقل الدواوين إلى العربية|نقل الدواوين إلى العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|104|4|١٠٤}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/اتساع دائرة النقل والترجمة|اتساع دائرة النقل والترجمة]]
|-
| style="text-align:center;" | {{ربط بصفحة|109|4|١٠٩}}
| [[التهذيب في أصول التعريب/باب فى الدلالة الكتابية على الحروف الأعجمية|٢٢ - باب فى الدلالة الكتابية على الحروف الأعجمية]]
|-
| style="text-align:center;" | {{ربط بصفحة|112|4|١١٢}}
| [[التهذيب في أصول التعريب/باب فى النقل من اللغات الأعجمية إلى العربية|٢٣ - باب فى النقل من اللغات الأعجمية إلى العربية]]
|-
| style="text-align:center;" | {{ربط بصفحة|113|4|١١٣}}
| [[التهذيب في أصول التعريب/باب فى القول فى الترجمة|٢٤ - باب فى القول فى الترجمة]]
|-
| style="text-align:center;" | {{ربط بصفحة|114|4|١١٤}}
| [[التهذيب في أصول التعريب/باب فى القول فى الاشتقاق|٢٥ - باب فى القول فى الاشتقاق]]
|-
| style="text-align:center;" | {{ربط بصفحة|117|4|١١٧}}
| [[التهذيب في أصول التعريب/باب القول فى المجاز|٢٦ - باب القول فى المجاز]]
|-
| style="text-align:center;" | {{ربط بصفحة|119|4|١١٩}}
| [[التهذيب في أصول التعريب/باب فى القول فى النحت|٢٧ - باب فى القول فى النحت]]
|-
| style="text-align:center;" | {{ربط بصفحة|120|4|١٢٠}}
| [[التهذيب في أصول التعريب/باب القول فى التعريب|٢٨ - باب القول فى التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة|121|4|١٢١}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فى دلائل الاسم المعرب|فى دلائل الاسم المعرب]]
|-
| style="text-align:center;" | {{ربط بصفحة|125|4|١٢٥}}
| style="padding-right:2em;" | [[التهذيب في أصول التعريب/فصل فى حكم التعريب|فصل فى حكم التعريب]]
|-
| style="text-align:center;" | {{ربط بصفحة|129|4|١٢٩}}
| [[التهذيب في أصول التعريب/باب فى حروف الهجاء ومقارنتها|٢٩ - باب فى حروف الهجاء ومقارنتها]]
|-
| style="text-align:center;" | {{ربط بصفحة|130|4|١٣٠}}
| [[التهذيب في أصول التعريب/باب فى قواعد التعريب|٣٠ - باب فى قواعد التعريب]]
|}<noinclude></noinclude>
f2s5yo5yayl1f17sq3nlokudhtl0d6d
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/36
104
217231
617249
616560
2026-08-12T19:18:09Z
Nehaoua
7481
/* تم التّحقّق منها */
617249
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|- ٣٢ -}}</noinclude><section begin="1" />{{ع3|٢– فصل في تسلسل النسب}}
قلنا ان العرب فرقتان فرقة بائدة وفرقة باقية
فاما الفرقة البائدة فقد تقدم ذكرها، وأما الفرقة الباقية فهي متفرقة من جذمين قطحان وعدنان، والعرب كلها منهما
<section end="1" /><section begin="2" />{{ع3|٣– فصل في العرب القحطانية}}
فأما القحطانية وأكثر قبائل العرب منهم فهم أنسب وأقدم من غيرهم، وهم أهل اليمن من ولد قحطان ولذلك تفتخر أهل اليمن على غيرها، من العرب و قحطان هو أبو يَعْرُب، ويقال ان العرب انما سمیت عربا به وولد يعرب يَشْجُب وولد يشْجُب سبأ، واسم سبأ عبد شمس بن يشجب وانما سمي سبأ لأنه أول من سبا في العرب، ومنه تفرعت جميع قبائلهم من ولديه حمير وكهلان وولد سبأ سبعة نفر الاشعر بن سبأ ومنه رهط أبي موسى الأشعري وحمير بن سبأ وأنْمار بن سبأ وعاملة بن سبأ ومُرَّة بن سبأ وعمرو بن سبأ وكهلان بن سبأ، فولد مُرَّة بن سبأ شعبان بن مُرَّة، وولد الأشعر بن سبأ الأشعريين، وولد عمرو بن سبأ عديّ بن عمرو، فولد عديّ لَخْماً وجُذاماً وجذام قبائلها وبطونها منهم جَديس وغَشْم وجُشَم وغَطَفان ونَفائه ومَداله والدار التي ينسب اليها الداريون، وولد أنمار بن سبأ ولداً فخالفوا خثعما وبجيلة، وبجيلة امرأة تنسب القبيلة اليها وهي بنت صعب بن سعد العشيرة، ومن بطون بَجيلة قسْر رهط خالد بن عبد اللّٰه القسري، وولد عاملة بن سبأ قبائل ويزعم نساب مصر أنهم من ولد قاسط قال الشاعر:
{{أبيات|أعمال حتى متى يذهبن\\إلى غير والدك الأكرم
ووالدكم قاسط فارجعوا\\إلى النسب الأبلد الأقدم}}
<section end="2" /><noinclude></noinclude>
7o6eodfi6rgpk6b26112e1um10177gb
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/39
104
217234
617257
616563
2026-08-12T19:26:44Z
Nehaoua
7481
/* تم التّحقّق منها */
617257
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|-٣٥-}}</noinclude>ومن كهلان بن سبأ الأَزْد بن الغَوْث بن نَبْت بن مالك بن أُدَد بن زيد بن كهلان، ومنهم مازن بن الأزدِ ومَيْدَعان بن الأزد والهَنْو بن الأزد
ومن قبائل الأزد الأنصارُ وهم الأوْس والخَزْرَج وهما الأوس والخزرج ابنا حارثة بن ثَعْلبة بن عمرو وهو المُزَيْقِياء قال سُوَيْد بن صامت
{{أبيات|أنا ابن مُزيْقيا عمرو وجَدِّي\\أبوه عامرٌ ماء السماء}}
وعمرو بن عامر وهو ماء السماء بن حارثة بن ثعلبة بن امرئ القيس بن ثعلبة بن مازن بن عبد اللّٰه بن الأزد بن الغوث بن نَبْت بن مالك بن زيد بن كهلان بن سبأ بن يشجب بن يعرب بن قحطان، وأمهم قِيلة فيقال للأنصار أبناء قيلة
فولد الخزرج بن حارثة خمسة نفر جُشَم بن الخزرج وعوف بن الخزرج والحارث بن الخزرج وكعب بن الخزرج وعمرو بن الخزرج وكان يقال لهم القواقل، ومن ولد عمرو بن الخزرج النَجَّار وسمي النجار لأنه ضرب رجل فنجره أي قطعه ويقال لهم بنو النجار واسمه تَيْمُ اللات بن ثعلبة ىن عمرو بن الخزرج، ومنهم بطون الخزرج: غَنْم بن مالك بن النجَّار بن ثعلبة بن عمرو بن الخزرج، ومنهم بنو مَبْذُول واسمه عامر بن مالك بن النجَّار بن الثعلبة بن الخزرج، ومنهم جَدِيلة وهو معاوية بن عمرو بن مالك بن النجار، ومنهم مِلْحان بن عَدِي بن النجار بن ثعلبة بن عمرو بن الخزرج، ومنهم بنو خِدْرَة وبنو خُدَارَة بطنان من عوف بن الحارث بن الخزرج، ومنهم بنو القَوْقَل وهم القواقل{{حا|وذلك ان الرجل كان اذا استجار بيثرب قيل له قوقل حيث شئت فقد امنت}} واسمه غَنْم بن عمرو بن عوف بن الخزرج، ومنهم بنو زريق بن عامر بن زُرَيق بن حارثة بن مالك بن عضب بن جُشَم بن الخزرج، ومنهم بنوا سلَمة بن سعد بن علي بن أسد بن شاردة بن جشم بن الخزرج، ومنهم مازن بن النجار بن ثعلبة بن عمرو بن خزرج<noinclude>{{smallrefs|rule=yes}}</noinclude>
eybcb298ph01pl2yi5lasru33ae1qck
617258
617257
2026-08-12T19:27:08Z
Nehaoua
7481
617258
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|-٣٥-}}</noinclude>ومن كهلان بن سبأ الأَزْد بن الغَوْث بن نَبْت بن مالك بن أُدَد بن زيد بن كهلان، ومنهم مازن بن الأزدِ ومَيْدَعان بن الأزد والهَنْو بن الأزد
ومن قبائل الأزد الأنصارُ وهم الأوْس والخَزْرَج وهما الأوس والخزرج ابنا حارثة بن ثَعْلبة بن عمرو وهو المُزَيْقِياء قال سُوَيْد بن صامت
{{أبيات|أنا ابن مُزيْقيا عمرو وجَدِّي\\أبوه عامرٌ ماء السماء}}
وعمرو بن عامر وهو ماء السماء بن حارثة بن ثعلبة بن امرئ القيس بن ثعلبة بن مازن بن عبد اللّٰه بن الأزد بن الغوث بن نَبْت بن مالك بن زيد بن كهلان بن سبأ بن يشجب بن يعرب بن قحطان، وأمهم قِيلة فيقال للأنصار أبناء قيلة
فولد الخزرج بن حارثة خمسة نفر جُشَم بن الخزرج وعوف بن الخزرج والحارث بن الخزرج وكعب بن الخزرج وعمرو بن الخزرج وكان يقال لهم القواقل، ومن ولد عمرو بن الخزرج النَجَّار وسمي النجار لأنه ضرب رجل فنجره أي قطعه ويقال لهم بنو النجار واسمه تَيْمُ اللات بن ثعلبة ىن عمرو بن الخزرج، ومنهم بطون الخزرج: غَنْم بن مالك بن النجَّار بن ثعلبة بن عمرو بن الخزرج، ومنهم بنو مَبْذُول واسمه عامر بن مالك بن النجَّار بن الثعلبة بن الخزرج، ومنهم جَدِيلة وهو معاوية بن عمرو بن مالك بن النجار، ومنهم مِلْحان بن عَدِي بن النجار بن ثعلبة بن عمرو بن الخزرج، ومنهم بنو خِدْرَة وبنو خُدَارَة بطنان من عوف بن الحارث بن الخزرج، ومنهم بنو القَوْقَل وهم القواقل{{حا|وذلك ان الرجل كان اذا استجار بيثرب قيل له قوقل حيث شئت فقد امنت}} واسمه غَنْم بن عمرو بن عوف بن الخزرج، ومنهم بنو زريق بن عامر بن زُرَيق بن حارثة بن مالك بن عضب بن جُشَم بن الخزرج، ومنهم بنوا سلَمة بن سعد بن علي بن أسد بن شاردة بن جشم بن الخزرج، ومنهم مازن بن النجار بن ثعلبة بن عمرو بن خزرج<noinclude>{{smallrefs|rule=yes}}
{{حواشي}}</noinclude>
srlg3xzg2z0pte3acwxqp18je9oznwn
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/32
104
217235
617243
616556
2026-08-12T19:12:33Z
Nehaoua
7481
/* تم التّحقّق منها */
617243
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|- ٢٨ -}}</noinclude><section begin="1" />الأشراف أو الأخبار والأنساب ومحمد بن سلام الجُمَجي له كتاب بيوتات العرب، وأبو الحسن النسابة محمد بن القاسم التميمي له كتاب الأنساب والأخبار، وأبو الفرج الأصفهاني (المتوفى سنة ٣٦٠) وهو علي بن الحسين بن الهيثم القرشي، وأبو عبيدة معمر بن المثنَّى (المتوفى سنة ٢٠٩) والبيهقي (المتوفى سنة ٤٥٨)، وابن عبد البر، وابن هُزَيم محمد ابن احمد (المتوفى سنة ٣٣٤) والهمداني وله كتاب التاج، والقلقشندي له نهاية الأرب في معرفة أنساب العرب
<section end="1" /><section begin="2" />{{ع3|١– فصل في طبقات الأنساب}}
طبقات الأنساب في العرب كثيرة عد منها أبو عبيدة عشر طبقات فقال: ان جميع ما بنت عليه العرب أركانها ووضعت عليه أساسها في النسب عشر طبقات
أولهن جذم النسب اما الى عدنان واما الى قحطان، فهما جميعاً تنسب العرب اليهما، والجذم القطع، وذلك لما كثر الاختلاف في الآباء وأسمائهم فما فوق ذلك على العرب قطع ذكرهم، واقتصروا على ما دونها لاجتماعهم على صحته، ومنه قول النبي صلى اللّٰه عليه وسلم لما انتسب إلى عدنان «كذب النسابون فيما فوق ذلك» لتطاول العهد
الطبقة الثانية: الجمهور والتجمهر الاجتماع والكثرة ومنه قولهم جماهير العرب أي جماعتهم، ومنه ترجمة مجموع اللغة العربية الجمهرة وجمهرة الأنساب أي مجموعها
الطبقة الثالثة: الشعوب واحدها شعب هو الذي يجمع القبائل ويشملها وهو الذي يشبه بالرأس من الجسد، قال اللّٰه عز وجل «إِنَّا خلقناكم من ذكر وأنثى وجعلناكم شعوباً وقبائل لتعارفوا»
الطبقة الرابعة: القبيلة وهي التي دون الشعب، وهي التي تجمع العمائر، وانا سميت قبيلة لتقابل بعضها بعضًا واستوائها في العدد، وهي بمنزلة الصدر في الجسد: قال الحسين بن طباطبا هي بمنزلة الوجه من الجسد لان
<section end="2" /><noinclude></noinclude>
23daracisogqhj385cvhn9qd7jflde2
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/37
104
217236
617256
616561
2026-08-12T19:26:01Z
Nehaoua
7481
/* تم التّحقّق منها */
617256
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|- ٣٣ -}}</noinclude>وولد حمير بن سبأ ست نفر مالك بن حمیر وعامر بن حمير وعوف بن حمیر وسعد بن حمير ووائلة بن حمير وعمرو بن حمير، فولد مالك بن حمير قضاعة بن مالك، فهو قضاعة بن مالك بن عمرو بن مرة بن زيد بن مالك بن حمير
ومن قبائل قضاعة وبطونها كلب بن وبرة بن ثعلب بن حُلوان بن عمران بن الحافِ{{حا|الحاف من الحفي هو مما حذفت العرب ياءه اجتزاء بالكسرة كقولهم العاص واليمان وكقوله تعالى «دعوة الداع»}} بن قضاعة، ووبرة وُلد له كلب وأسدٌ ونمرٌ وذئبٌ وثعلبٌ وفهدٌ وضبعٌ ودُبٌّ وسیدٌ وسِرْحان، ومن قبائل قضاعة أيضًا مصاد، وبنو القين بن جُشَم بن سَلَع بن أسد بن وبرة، وتَنُّوخ، وجَرْم وهو عمرو بن عِلاف بن زَبَّان بن حلوان بن عمران بن الحافِ بن قضاعة، وراسب، وبَهْراء، وبَلِيّ بن عمرو بن الحاف بن قضاعة. ومهرة بن حيدان بن عمرو بن الحاف بن قضاعة. وعُذْرة وهم بنو عذرة بن سعيد بن هُذَيم بن زيد بن لیث بن سَوْدة بن أسلم بن الحاف بن قضاعة واليهم ينسب العشق والتتيم (ومن أحسن ما يحكى أنه قبل لرجل منهم: ما بال العشق يقتلكم يا بني عذرة؟: قال لان فينا جمالا وعفة)، وفَهْد بن زيد، بن سودة بن أسلم بن الحاف بن قضاعة، وسعْدِ هُذَيْم، وهذيم عبد حبشي نسب اليه والشائعة منه ذو الكلاع وذو نُواس وذو أصبح وذو جَدن وذو يزن وبطون كثيرة، وولد كَهْلان بن سبأ زيد بن كهلان، فولد زيد بن كهلان مالك بن زيد وأُدَد بن زيد، فولد أدد طيء بن أدد والغَوْث بن أدد، ومن طيء بنو نَبْهان واسمه سودان بن عمرو بن الغوث بن طيء ومن طيء بنو ثُعَل بن عمرو بن الغوث بن طيء الذي يذكره امرؤ القيس
{{أبيات|رُبَّ رَام من بني ثُعَلِ \\ مَخْرج کفَّيه من سُتُرهْ}}
ومن طيء بنو سِنْبِس وهم بنو سنبس بن معاوية بن جَرْوَل بن ثُعَل بن عمرو بن الغوث بن طيء، ومنها بَوْلان واسمه غُصَيْن بن عمرو بن الغوث بن طيء
ومنها هُناءة وهم بنو هُناءة بن عمرو بن الغوث بن طيء
{{nop}}<noinclude>{{smallrefs|rule=yes}}
{{حواشي}}</noinclude>
d70n9t9bmdaznmnx12g2ix5erw6v48v
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/40
104
217237
617254
616576
2026-08-12T19:21:58Z
Nehaoua
7481
/* تم التّحقّق منها */
617254
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" /></noinclude><section begin="1" />بطون الأوس: أما الأوس فهو أوس بن حارثة، وولد أوس بن حارثة مالك بن أوس، فمن مالك تفرقت تفرقت قبائل الأوس كلها وبطونها فولد مالك عوْفاً وهم أهل قُبَآء، وولد عوفٌ عمراً هو النَبيت، ومُرَّة وهم الجعادرة يقال لهم أوس اللّٰه، ومنهم ضُبَيعة بن عمرو بن عوف بن مالك بن الأوس، ومنهم عاصم بن ثابت بن أبي الأقلَح، وهو قيس بن عِصمة بن مالك بن أمَة بن ضبيعة، ومنهم جَحْجَبَى بن كُلْفة رهط أُحَيحة بن الجُلَاح بن الحَريش بن جحجبى سيد الأوس في الجاهلية وزوج سَلْمى بنت عمرو النجارية، ومنهم بنو عبد الأشهل بن جشم بن الحارث بن الخزرج، وبنو الحُبْلى رهط عبد اللّٰه بن أبي سَلول، ومنهم حبيب بن عمرو بن عوف بن مالك بن الأوس، ومن الأنصار بنو جَفْنة بن عمرو وآل مُحَرّق سمي محرقاً لانه كان يعاقب بالنار، وهو الحارث بن عمرو، وآل القَعْقاع وهم ملوم غسَّان بالشام
وولد واثلة بن حمير، الشكاشك بن واثلة والعدد من حمير في واثلة، انتهى نسب القحطانية،
فأما وصلة النسب بين القحطانية والعدنانية فهو جرهم الثانية وهو من القبائل القديمة وهو جرهم بن يقطن بن عابر وعند عابر يجتمع النسب بين اليمنية والمضرية لان مضر كلها بنو فالغ بن عابر واليمن كلها بنو قحطان بن عابر
<section end="1" /><section begin="2" />{{ع3|٤– فصل في العرب العدنانية}}
وأما عدنان فأبو سائر العرب وهم يرجعون الى ابني نزار مضر وربيعة، والنسبة بعد عدنان مشكوك فيها وغير مستقيمة، فقد روى ابن عباس رضه أن النبي صلى اللّٰه عليه وسلم انتسب فلما بلغ الى عدنان وقف وقال كذب النسابون، وروي عن عائشة رضه أن النبي صلى اللّٰه عليه وسلم قال: «استقامت نسبة الناس الى عدنان»، فولد عدنان<ref>من كتاب البدء والتاريخ المنسوب لابي زيد بن سهل البلخي بتصرف كبير</ref> عكَّ بن عدنان ومعدَّ بن عدنان، فاما عكّ فأول من
<section end="2" /><noinclude>{{smallrefs|rule=yes}}</noinclude>
9adruyats4d6hgdnd1rgvxrmel6rtlu
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/52
104
217242
617267
616686
2026-08-12T19:41:13Z
Nehaoua
7481
/* تم التّحقّق منها */
617267
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|-٤٨-}}</noinclude><section begin="1" />لو استعملها لم يكن مخطئاً لكلام العرب لكنه يكون مخطئاً لأَجود اللغتين، فأما ان احتاج الى ذلك في شعر أو سجع فانه مقبول منه غير منعِيٌّ عليه
<section end="1" /><section begin="2" />{{ع2|٨- باب في مراتب كلام العرب}}
وكلام العرب من حيث البيان والوضوح على ثلاثة ضروب واضح ومشكل ومشتبه
فاما واضح الكلام{{حا|الصاحبي لاحمد بن فارس}} فالذى يفهمه كل سامع عَرَفَ ظاهر كلام العرب نحو شربت ماءً ولقيت محمداً وكما جاء في القرآن الشريف «حُرِّمت عليكم الميتَةُ والدمُ ولحم الخنزير» وقول النبي محمد صلى اللّٰه عليه وسلم «اذا استيقظ أحدُكم من نومه فلا يَغْمِس يدَه في الاناء حتى يغسلها ثلاثاً» وكقول الشاعر
{{أبيات|ان يحسدوني فاني غير لائمهم\\قبلي من الناس أهل الفضل قد حُسِدُوا}}
وهذا الضرب هو أكثر كلام العرب وأعمه
الضرب الثانى المشكلُ: وهو الذي يأتيه الاشكال من غرابة لفظه أو أن تكون فيه اشارة الى خبر لم يَذْكُرْهُ قائلهُ على جهته، أو أن يكون الكلام في شيء غير محدود، أو يكون وجيزاً في نفسه غير مبسوط، أو تكون ألفاظه
مشتركة. فاما المشكل لغرابة لفظه فقول القائل «يَمْلُخُ في الباطل مَلْخًا يَنْفُضُ مِذْرَوَيْهِ وقوله أيُدَالكَ الرجلُ المرأةَ» قال «نعم» اذا كان مُلْفَجاً: وقوله أعْمَدُ من سَيِّدٍ قتله قَوْمُهُ، وقال بن مَيَّادَة
{{أبيات|وأعمدُ من قوم كفاهم أخوهُم\\صدامَ الأعادي حين فُلَّتْ نُيُوبُها}}
قال الخليل ومعناه هل زِدْنا على أن كُفِينا وقال ذُؤَيْبٌ
{{أبيات|صخبُ الشواربِ لا يزال كأنَّهُ عبدٌ لآل أبي رَبيعةَ مُسْبَعُ}}
فقوله مُسْبَعٌ ما فسر حتى الآن تفسيراً شافياً
وقول الأعشى
{{nop}}
<section end="2" /><noinclude>{{smallrefs|rule=yes}}
{{حواشي}}</noinclude>
0ghbiszbxi2rznmrnh66o2j1g7ef693
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/54
104
217244
617269
616746
2026-08-12T19:44:29Z
Nehaoua
7481
/* تم التّحقّق منها */
617269
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" /></noinclude><section begin="1" />وقول امرئ القيس
{{أبيات|دَعْ عَنْكَ نَهْباً\\صِيحَ فِي حَجَرَاتِهِ}}
وقولهم: ان العصا قُرِعَتْ لذي الحِلْمِ
ومن الغريب المشكل في أمثال العرب: بَاقِعَةٌ، وشرابٌ بأنْقُع، ومخْرنْبِقٌ
لِيَنْبَاع، ومنه رُوَيْداً سَوْقَكَ بالقوارير، وقوله الغَمَرَاتِ ثم يَنْجَلينَا،
وقوله وضعوا اللُّجَّ على قَفَيَّ،
ومن الغريب في كتاب اللّٰه جَلَّ ثَنَاؤُهُ: «فلا تَعْضُلُوهُنَّ» «ومن الناس من يَعْبُدُ اللّٰهَ على حرفٍ» و« سَيِّداً وَحَصُوراً» و«يُبْرِئُ الأَكْمَه» وغيره كثير مما صنف العلماء في كتب غريب القرآن
ومما جاء في الحديث من الغريب «على التِيعَةِ شاةٌ» «والتِيمَةُ لصاحِبها»
وفي السُّيوب الخُمُس {{خطأ|لأخلاط|لا خِلاط}} ولا وِراط ولا شِنَاقَ ولا شِغَارَ «ومن أجْبَى فقد أرْبى»
الضرب الثالث: المشتَبه. وهو ما ليس بغريب اللفظ ولكن الوقوف على کنهه معتاص كقولهم الحين والزمان والدهر والأوان وكقولهم عُبْسور في الناقة و، امرأةٌ ضِنَانيّ، و«فَرَسٌ أَشَقُّ أمَقٌّ خِبَقُّ»
وقد كان لهذا الكلام كله ناسٌ يعرفونه ويعلمون معنى ما نستغربه اليوم ولكن ذهب هذا كله بذهاب أهله ولم يبق عندنا الا الاسم الذي نراه
<section end="1" /><section begin="2" />{{ع2|٩– باب في بلاغة القرآن}}
ذكرنا فيما تقدم اختلاف لغات قبائل العرب وبينا الفصيح منها من
الغُتْميّ وعددنا وجوه الكلام والآن نذكر أفصح الكلام العربي على
الاطلاق وهو القرآن الشريف، فقد جاء نظمه فى الغاية القصوى من الفصاحة
والسلامة من جميع العيوب، وان أوجز وصف له أن العرب عجزت عنه وهو
بلسانها مع تحدي النبي الكريم اياهم وتعريفهم بالعجز عنه «وهم الغاية فى الفصاحة<section end="2" /><noinclude></noinclude>
5z6mbkga0fpcz367lws51uo402dwr4k
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/46
104
217252
617259
616587
2026-08-12T19:28:15Z
Nehaoua
7481
/* تم التّحقّق منها */
617259
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|-٤٢-}}</noinclude><section begin="1" />ومات أبوه عبد اللّٰه بالمدينة والرسول حَمْلٌ في بطن أمه فرثته آمنة بنت وهب أم رسول اللّٰه صلى اللّٰه عليه وسلم فيما يروى
{{أبيات|عفا جانب البطحاء من آل هاشم\\وجاور لحداً مُدْرجا بالغماغم
دعته المنايا دعوة فأجابها\\وما تركت في الناس مثل ابن هاشم}}
ثم توفي عبد المطلب جد رسول اللّٰه صلى اللّٰه عليه وسلم ورسول اللّٰه ابن ثمان سنين أو أقل، ورسول اللّٰه هو النبي الأمي الصدوق الأمين محمد صلى اللّٰه عليه وسلم بن عبد اللّٰه بن اللّٰه بن عبد المطلب بن هاشم بن عبد مناف بن قصي بن كلاب بن مُرَّة بن كعب بن لؤي بن غالب بن فهر بن مالك بن النضر بن كنانة بن خُزَيمة بن مدركة بن الياس بن مضر بن نزار بن معد بن عدنان وما بعد هذا النسب فغير مستقيم. وأنا لنكتفي بما ذكرنا عن ذكر رجالات العرب في الجاهلية والاسلام وكذلك به نكتفي عن ذكر تاريخ النبي الكريم الحافل بجليل الفعال وحميد الخصال والمشتمل على أشرف مبادئ الإنسانية والحق والعدل حتى لا نخرج عما رسمناه لأنفسنا في تصنيفنا هذا من الايجاز
<section end="1" /><section begin="2" />{{ع2|٧– باب في لغة جزيرة العرب واختلافها}}
اللغة العربية في أسلوبها ونطقها وأوضاعها كثيرة الاختلاف باختلاف القبائل، فقد تكون بين لغات قوم وآخرين فروق صغيرة فتسمى لهجات، وقد تكون كبيرة وتسمى لغات
وأفصح لغات العرب لغة العرب المستعربة، وأفصح العرب المستعربة سبع قبائل: قريش وهم أفصح العرب ألسنة وأصفاهم لغة ويليهم في الفصاحة بقية القبائل الست وهم: خمس من عُلْيا هَوازن وسَعْد بن بكر وجُشَم بن بكر ونَضْر بن معاوية وثقيف ثم سفلى تميم، قال أبو عبيد وأفصح هؤلاء بنو سعد بن بكر من هوازن ولذا قال صلى اللّٰه عليه وسلم: «أنا أفصح العرب مَيْد أني من قريش
<section end="2" /><noinclude></noinclude>
6dx2qmyhelubhijf3ac5q6h6vnp2uxj
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/49
104
217253
617261
616661
2026-08-12T19:32:45Z
Nehaoua
7481
/* تم التّحقّق منها */
617261
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|- ٤٥ -}}</noinclude><section begin="1" />جيرة لهم تهاميين، قابل نِهم الشمالى ونَعْمانُ مُرْهِبَة فظاهرُ بني عَلِيَّان وظاهر سفیان وشاكر فصحاء؛ بلدُ وادِعة بنو حَرْبٍ أهلُ إِمَالةٍ في جميع كلامهم، وبنو سَعْد أفصحُ، من ذَمَارٍ الى صنعاء متوسطٌ وهو بلدُ ذي جُرَة، صنعاءُ في أهلها بقايا من العربية المحضة ونُبَدٌ من كلام حمير، ومدينة صنعاء مختلفة اللغات واللهجات لكل بقعة منها لغة، ومن يصاقب شَعُوبَ يخالف الجميع، شِبَامُ أقْيانٍ، والمصانعُ وتُخْلى حميرية محضة، خولانُ صَعْدَةَ نجديُّها فصحاء، وأهلُ فَدِّها وغورها غُتْمٌ، ثم الفصاحةُ من العِرْضِ في وادعةٍ فَجَنَبٍ فَيامٍ فزُبَيْدٍ فبنى الحارث فيما اتصل ببلد شاكر من نجران الى أرض يامٍ فأرض سَخان فأرض نَهْد وبني أسَامَة فَعَنْز فخثعَم فهِلَال فعامر بن ربيعة فسراة الحِجْر فَدَوس فغامِد فيشكُر ففَهْم فثقيف فبَجِيلة فبنو على، غير أن أسافل سَرْوات هذه القبائل ما بين سراة خولان والطائف دون أعاليها في الفصاحة، وأما العَرُوض ففيها الفصاحةُ ما خلا قراها، وكذلك الحجازُ فنجد السفلى فالى الشام والى ديار مُضَر وديار ربيعة فيها الفصاحةُ الا في قراها، فهذه لغات الجزيرة على الجملة دون
التبعيضِ والتفنينِ»
<section end="1" /><section begin="2" />{{ع3|١– فصل في اختلاف لغة العرب}}
واللغة العربية المعهودة أي لغة العرب المستعربة أو لغة قبائل شمال جزيرة العرب كثيرة الاختلاف باختلاف قبائلها بل فيها من اللغات ما هو مذموم
أما الاختلاف فمن الوجوه الآتية كما ذكر أحمد بن فارس
فمنها الاختلاف في الحركات كقولنا نستعين ونِسْتَعين بفتح النون وكسرها قال القراء هي مفتوحة في لغة قريش وأسد، وغيرهم يقولونها بكسر النون
ومنها الاختلاف في ابدال الحروف نحو أولئك وألالِك وكقولهم عَنَّ زيداً بدلا من أنَّ زيداً
ومنها الاختلاف في الهمز والتليين نحو مستهزؤن ومستهزون
ومنها الاختلاف في التقديم والتأخير نحو صاعقة وصاقِعة
{{nop}}
<section end="2" /><noinclude></noinclude>
pcm09gvivj481tosx6q4nvjlkum7mch
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/61
104
217258
617273
616812
2026-08-12T19:50:03Z
Nehaoua
7481
/* تم التّحقّق منها */
617273
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" /></noinclude><section begin="1" />وهذه اللغات الأفريقية يطلق عليها غالباً لفظ السامية الحامية
<section end="1" /><section begin="2" />{{ع2|١١– باب في القول في مهد الساميين}}
وقد اختلفت الآراء في مهد الساميين ومبدأ نشأتهم، والمتفق عليه الآن أن منبتهم ومهد نشأتهم هو جزيرة العرب، وهو رأي كثير من العلماء، ثم انفصلوا أقواماً رحلوا الى الشمال أولا حيث غمروا أرض الجزيرة (بابل وآثور والعراق) وطغوا على أممها المتمدينة قبل الميلاد بنحو ثلاثة آلاف أو أربعة آلاف من السنين، ثم تحضروا وبنوا المدن والقرى وخالطوا أهل البلاد الأصليين الصوميريين والأكاديين، وتعلموا منهم الخط (البابلي) والأدب ورحلوا الى الجنوب كذلك، فهاجروا الى بلاد الحبشة وكوَّنوا أممها السامية وتفرقوا في كل مكان، حيث نمت معهم لغتهم وحفظوا مميزاتهم
وذكر عبد اللّٰه بن المقفع{{حا|البدء والتاريخ ١٥٠ جزء ٢}} أن بادية الحجاز كانت في الزمان الأول كلها ضياعاً وقرى ومساكن وعيوناً جارية وأنهاراً مطّردة ثم صارت بعد ذلك بحراً طافحاً تجري فيه السفن ثم صارت قفراً يابساً ولا يدري كيف اختلفت عليها الأحوال ولا كم يختلف الا اللّٰه تعالى
وقد حاول العالم الايطالى الامير قاطاني داطيانوا (Prince Caetani da Teano) أن يستدل بالبراهين المستنتجة من الحوادث الأرضية (الجاولوجية) على أن بلاد العرب كانت فى العصور المتقدمة على التاريخ بلاداً خصبة ترويها {{خطأ|ثلاثة|ثلائة}} أنهر عظام وتطعم شعباً كثير العدد، فلما انحسرت المثالج الشمالية العظيمة وجفت الأرض اضطر سكانها الى البحث عن مساكن لهم خارج الجزيرة
والعرب الساكنون في الصحراء في قلب الجزيرة لانفصالهم عن مجاوريهم، وتحصنهم في جوف جزيرتهم، وقلة مخالطتهم الأمم المجاورة لهم، حفظوا لذلك
السبب كثيراً من مميزاتهم القديمة وعوائدهم ولغتهم من التغيير والتبديل دون سائر أقوامهم الذين نزحو عن بلادهم أفواجا الى أطراف الجزيرة، حتى جاء<section end="2" /><noinclude>{{smallrefs|rule=yes}}
{{حواشي}}</noinclude>
m17okhdysheb2amamdej343nqrue5x8
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/62
104
217259
617275
616814
2026-08-12T19:54:39Z
Nehaoua
7481
/* تم التّحقّق منها */
617275
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" /></noinclude><section begin="1" />الاسلام في القرن السابع الميلادي؛ فتعززت بذلك قوتهم وقويت شوكتهم واندفعوا بعامل الدين الى فتح البلاد، فتغلبو في مدة قرن من الزمان على أسيا الغربية وشمال افريقية، وامتد سلطانهم من قلب الهند الى جوف فرنسة، ونقلو معهم لغتهم ومدنيتهم التي شادوها على تراث المدنيات التي تقدمتهم.
وقد دلت الابحاث الأثرية والاستكشافات التاريخية على ما كان لبلاد العرب الجنوبية الغربية من المدنية والتقدم والعمران نحو القرن الثالث عشر قبل الميلاد، وهي أخصب بلاد العرب أرضاً وأوفرها محصولا، وكانت أشهر مدنها العامرة معين وسباء، ومن بلاد اليمن اجتاز العرب المجاز المسمى باب المندب الى الساحل المقابل لبلادهم من افريقية وتوطنوا فيه وكونوا مملكة مستقلة تسمى أثيوفية أو بلاد الحبشة! بل أن هذه الأُمة الجديدة كثيراً ما حاربت أمها القديمة وملكت بلادها.
<section end="1" /><section begin="2" />{{ع2|١٢– باب في تقسيم اللغات السامية<ref>معولنا في كتابة هذا الفصل في الاكثر على محاضرات استاذنا الدكتور أنوليتمان التي ألقاها في الجامعة المصرية وعلى كتاب بروكلمان في مقارنة اللغات السامية وعلى دائرة المعارف العبرية Jewisch encyclopedia</ref>}}
اللغات السامية تنقسم الى قسمين عظيمين قسم شرقي، وهو الذي يشمل لغات بابل وآثور، وقسم غربي، وهذا القسم الغربي ينقسم الى قسمين شمالي ويشمل الكنعانيين (وهم الفينيقيون والعبرانيون) والمؤابيين والأراميين، وقسم جنوبي ويشمل العرب والحِمْيرين والحبش
والكنعانيون هم قوم من الساميين دخلو هذه البلاد الشمالية المتمدينة قبل الأراميين وسكنوا الغور الموازي لشاطئ بحر الروم، وأقدم آثارهم الكتابية اللغوية وهي كتابة بحروف ولغة بابلية أي بحروف اسفينية أو مسمارية، كتبها بعض أمراء فلسطين في القرن الخامس عشر قبل الميلاد إلى أمينوفيس الرابع ملك مصر، وهذه الكتابة وجدت فى تل العمارنة في مديرية أسيوط، وفي هذه الكتابة توجد أخص الصفات المميزة للنطق الكنعاني وفيها الالف الممدودة<section end="2" /><noinclude>{{smallrefs|rule=yes}}</noinclude>
5jeb92mhk7170g6jtd6xguqhykm27kk
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/64
104
217261
617278
616820
2026-08-12T19:57:22Z
Nehaoua
7481
/* تم التّحقّق منها */
617278
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" /></noinclude><section begin="1" />الأزمان باستعمال فعل مساعد هو كان أمام التام من الفعل لجعله غير تام
وقد انتشرت اللغة الفينيقية في أكثر بلاد ساحل بحر الروم وخاصة في شمال أفريقية في قرطاجة وما حولها من البلدان.
<section end="1" /><section begin="2" />{{ع3|١– فصل في تقسيم اللهجات الآرامية}}
اللهجات الآرامية على قسمين قسم غربي وقسم شرقي
فالقسم الغربي يشمل: ١ الآرامية الغربية القديمة المختصة بالتوراة والبردي ٢ التَدْمُري – ٣ النَبَطي – ٤ الآرامية اليهودية المقدسة والجليلية أي الفلسطيني ٥ الآرامية الفلسطينية النصرانية – ٦ السامري
والقسم الشرقي يشمل – ١ الآرامية البابلية أو اليهودي البابلي – ٢ المانِيَّة أي لغة أتباع مان وهم الصابئة – ٣ السرياني القديم والجديد
واللهجات الآرامية هذه كانت منتشرة في بلاد بني آرام ما بين كنعان والجزيرة أي بابل وآثور وهي التي يطلق عليها اسم سوريا، والمظنون أن بني آرام هؤلاء أتوا من البادية كالعبريين وبقية بني سام وتغلبوا على البلاد نحو القرن الثامن قبل الميلاد، وانتشرت لهجاتهم فيها قليلا قليلا وحلت محل البابلية والآثورية والعبرية والفينيقية، وصارت اللغة الأرامية لغة عمومية في ذلك الزمان، يكتب بها الاهالي ويتكلمون من حدود مصر الى أرض فارس ومن جزيرة العرب الى بلاد الأناضول أى أهل سوريا وفلسطين والعراق وهم بنو آرام واليهود والفينيقيون، وكانت لغة سياسية مثل اللغة الفرنسية في العصر الحاضر حتى جاء العرب في الفتح الاسلامي فورثت لغتهم هذه اللهجات
ومن اللهجات الآرامية التي ذكرناها التدمرية والنبطية
ومملكة تَدْمُر كانت تحت حكم الرومان فحاربت ملكتها الزَبَّاءُ التي يسميها اليونانيون والرومان زينوبيا الدولة الرومية طالبة استقلال بلادها، فأسرها الرومان وشهروا بها في رومة عاصمة بلادهم، ولهجتهم آرامية وبها قليل من العربية وملكتهم
هذه عربية الأصل
{{nop}}
<section end="2" /><noinclude></noinclude>
oy7k0aswz78gjzn0um7ji5t58ag70c0
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/67
104
217264
617281
616902
2026-08-12T20:23:08Z
Nehaoua
7481
/* تم التّحقّق منها */
617281
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" /></noinclude><section begin="1" />ولهما معجمان في اللغتين هما من أشهر معاجم هاته اللغات عند السريان، ويحيى بن عَدِيّ، ثم بار عبرايا وهو أبو الفرج بن العبري، وكان يهوديا ثم تنصر وصار أسْقُفاً وهو من القرن السادس للهجرة والثالث عشر الميلاد وله مصنفات ونقول بين تاريخية وفلسفية وطبية ورياضية وفلكية، وينتهي تاريخ الادب السرياني
ببار عبرايا
<section end="1" /><section begin="2" />{{ع2|١٣ – باب في السبب الداعي الى نقل فلسفة اليونان وعلومها الى اللغة السريانية قبل النهضة العربية}}
كانت يونان أمة عظيمة القدر في الاُمم، ظاهرة الذكر في الآفاق، فخمة الملوك عند جميع الأقاليم، وكانت الفلسفة زاهية زاهرة في بلاد اليونان القديمة، وفلاسفتهم من أرفع الناس طبقة، وأجل أهل العلم منزلة، لما ظهر منهم الاعتناء الصحيح بفنون الحكمة من العلوم الرياضية والمنطقية والمعارف الطبيعية والالهية والسياسات المنزلية والمدنية<ref>طبقات الامم</ref>، وكان فلاسفة اليونان فرقا كثيرة اشتقت اسماءها اما من اسم الرجل المعلم للفلسفة، أو من اسم البلد الذي كان مبدأ ذلك العلم، أو من اسم الموضع الذي كان يعلم فيه، أو من اسم التدبير الذي كان يدبر فيه، أو من اسم الآراء التي كان يراها أهلها في الغاية التي يقصد اليها في تعلم الفلسفة، أو من الافعال التي كانت تظهر عليه في تعليم الفلسفة، فنبتت من ذلك شيع أو فرق في يونان ومدنها الاثنتي عشرة مدينة (على الساحل الغربي للاناضول
من فوقَي (Phocée) الى ملاطية (Milet) واليها ينسب ثاليس (Thales) وأنكسِيمَانُس (Anaximène) وأنَكْساغورس (Anaxagores) وأرْخيلاوس (Archélaüs) وفرقة فوثاغورس (Pythagore) وفرقة
أرسطِيفوس (Aristippe) من أهل قورانا (Cyréne) وشيعة سُقْراط وفرقة أصحاب المظلة أو أصحاب الرواق Portique، Stoicienne) أو أصحاب<section end="2" /><noinclude>{{smallrefs|rule=yes}}</noinclude>
lk8mabbxrc80fdv9rtci439otoixmcv
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/58
104
217266
617271
616898
2026-08-12T19:47:05Z
Nehaoua
7481
/* تم التّحقّق منها */
617271
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" /></noinclude><section begin="1" />وأسلوبه لا يَصحُّ أن يكون في مقدور البشر، وأنه من باب الخوارق الممتَنِعة عن أقدار الخلق عليها كاحياء الموتى وقلب العصا وتسبيح الحصى، وذهب الشيخ أبو الحسن الى أنه مِمَّا يُمكن أن يدخل مثله تحت مقدور البشر ويُقدِرُهم الله عليه، ولكنَّه لم يكن هذا ولا يكون، فمنعهم الله تعالى وعجَّزهم
عنه، وقال به جماعةٌ من أصحابه وعلى الطريقين، فعجْزُ العرب عنه ثابتٌ واقامة الحجة عليهم بما يصح أن يكون في مقدور البشر وتحدِّيهم بان يأتوا بمثله قاطعٌ، هو أبلغُ في التعجيز وأحرى بالتقريع، والاحتجاجُ بمجيء بشر مثلهم بشيء ليس من قدرة البشر لازمٌ وهو أبهرُ آيةٍ، وأقمعُ دلالة، وعلى كل حال فما أتوا في ذلك بمقالٍ، بل صبر واعلى الجلاء والقتل وتجرعوا كاساتِ الصَّغار والذل، وكانوا من شموخ الأنف وابائةِ الضيْم بحيث لا يؤثرون ذلك اختياراً، ولا يرضونه الا اضطراراً، والا فالمعارضةُ لو كانت من قُدَرهم والشُّغْل بها أهون عليهم، وأسرع
بالنُجْح وقَطْع العُذْر وافحام الخَصْم لديهم، وهم ممن لهم قدرةٌ على الكلام وقدوةٌ في المعرفة به لجميع الأنام، وما منهم الا من جَهَدَ جُهْدَه واستنفَدَ ما عنده في
اخفاء ظُهُوره واطفاء نوره، فما جَلَوْا فى ذلك خبيئَةً من بنات شفاههم، ولا أتوا بنطفة من معين مياههم مع طول الأمَد وكثرة العَدد، وتظاهر الوالد وما وَلَد، بل أُبْلِسوا فما نبسوا ومُنِعُوا فانقطعوا، فهذان نوعان من اعجازه، ونكتفى بذلك خشية التطويل
<section end="1" /><section begin="2" />{{ع2|١٠ – باب في اللغة العربية بين اللغات}}
اللغة العربية هي احدى اللغات السامِيَّة أي اللغات التي تتكلمها الأمم السامية، وهي التي سكنت شمالي بلاد العرب وجنوبيها وفي بابل وآثور، والآراميون على اختلافهم والعبرانيون والفينيقيون والأثيوفيون وأمم شمال افريقية وبعض سواحلها الشرقية،
{{nop}}<section end="2" /><noinclude></noinclude>
rlv8ym7u56ybjmgiivmx4vj5x40eseo
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/77
104
217276
617283
617058
2026-08-12T20:27:09Z
Nehaoua
7481
/* تم التّحقّق منها */
617283
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|- ٧٣ -}}</noinclude><section begin="1" />نذكرها هنا خشية التطويل، وكانت مؤلفات هؤلاء العلماء وغيرهم اما باليونانية أو بالسريانية ثم نقلت الى العربية في صدر الملة الاسلامية وبدء النهضة، وكان اليعقوبيون في مصر قد نقلوا القليل منها الى القبطية لان حاجتهم الى مناظرة خصومهم كانت أقل منها عند النسطورية في سوريا
<section end="1" /><section begin="2" />{{ع3|مدارس التعليم عند السريان}}
يعلم مما تقدم أن مدارس الرها ونصيبين وانطاكية كانت من اكبر عوامل
النهضة عند السريان، ومدرسة نصيبين أقدم مدرسة فارسية وأشهر من جميع
المدارس العلمية في سوريا نشأت من مدرسة الرها وحلت محلها نوعاً ما وامتدت
شهرتها الى أفريقية وايطاليا حتى لقبها أهل سوريا أم العلوم
ففي هاته المدارس تخرج كثير من علماء السريان وفلاسفتهم وفيها ألفت
الكتب وبعضها لا يزال محفوظاً الى الآن، وترجمت منابع العلم اليوناني من
دين وفلسفة الى اللغة السريانية، ونزيد عليها مدرسة سلوقية التي أصلحها مارأبا
بعد وفاة الجائليق بولس سنة ٥٣٦ وكان مارأبا يعلم فيها بنفسه فألف وترجم كتباً
عديدة من اليونانية الى السريانية، منها ترجمة كاملة للعهدين القديم والجديد أتمها
في الرها مع معلمه توما، وشروحٌ لسفر التكوين والمزامير ورسائل الرسول مار بطرس
وميامر وتكريسات كنسية وغيرها، ثم مدرسة جُنْدَيْسابو والسبب في
تأسيسها هو أن سابور بن أردشير التابع لمذهب ذرادَشْت كان قد هادن
اُوَلاريانوس Valerianus قيصر ملك الروم بعد تغلبه على بلد سوريا وافتتاحه
انطاكية، فطلب منه أن يزوجه ابنته على شيء تراضياً به ففعل قيصر ذلك
وقَبْل أن تنقل اليه بنى لها مدينة على شكل قسطنطينية وهى مدينة جُنْدَيْسابور
وقيلت حكايات كثيرة في سبب هذه التسمية. ولما نقل اليها ابنة قيصر انتقل
معها كلُّ صنف من أهل بلدها ممن هي محتاجة اليه، فانتقل معها أطباء أفاضل ولما
أقاموا بها بدأوا يعلمون أحداثاً من أهلها. ولم يزل أمرهم يقوى في العلم ويتزايدون
فيه ويرقبون العلاج على مقتضى أمزجة بلدانهم حتى برَّزوا في الفضائل. وجماعةٌ
<section end="2" /><noinclude></noinclude>
cdb0mxxkoxi5m89shnvx1nkhkuu4z0o
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/78
104
217277
617285
617070
2026-08-12T20:29:54Z
Nehaoua
7481
/* تم التّحقّق منها */
617285
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|-٧٤-}}</noinclude><section begin="1" />يفضلون علاجَهم وطريقهم على اليونانيين والهند. لانهم أخذوا فضائل كل فرقة فزادوا عليها بما استخرجوه من قبل نفوسهم. فرتَّبوا لهم دساتير وقوانين وكتباً جمعوا فيها كل حسنة. ونبغ من مدرسة جنديسابور هذه عدا الحارث بن كَلَده وابنه النضر بن الحارث بن كلده من أطباء العرب أكابر علماء السريان الذين كان لهم القِدْح المعلى في النقل والترجمة والتصنيف الى اللغة السريانية، وكانوا في نفس الوقت واسطة النقل الى العربية. وكذلك حرَّان كانت من مدن العلم الأثيلة المجد لعلماء السريان ومنبعاً غزيراً لفلاسفتهم، كانت على طريق الموصل والشام بينها وبين الرُّها يوم وبين الرَّقة يومان، وكانت قصبة ديار مُضَر واليها ينسب جماعة كبيرة من أعلام السريان الذين كانت لهم اليد الطولى في النقل والتصنيف بالسريانية. ولا يسعنا أن نعيد هنا ذكر أسماء المترجمين الذين خدموا العلم ونقلوه من الغرب الى الشرق من حكماء السريان الذين استمروا في عملهم هذا الى ما بعد ظهور الدول الاسلامية التي التحقوا بخدمتها. وكان آخر العهد بالوضع في السريانية ابو الفرج بن العبري (بَارعِبْرايا) المتوفى سنة ١٢٨٦م وبه انت دولة العلم في السريان الا ما ندر من علمائهم القليلين المتفرقين في العصور بعد ذلك الى الآن
<section end="1" /><section begin="2" />{{ع2|١٤ - باب في اللغات السامية الجنوبية}}
وأما اللغات السامية الجنوبية فتنقسم إلى قسمين عظيمين العربي والحبشي
أما العربي فينقسم الى قسمين شمالي وجنوبي فالشمالي يشمل خمس لهجات وهي –١ اللحيانية -٢ الثمودية -٣ الصَفَوية -٤ العربية النبطية -٥ العربية الفصحى
وأما العربي الجنوبي فيشمل -١ المَعِينيَّة -٢ السبأية -٣ القَتَبانية ٤ الحَضْرَمِيَّة -٥ اللهجات الجديدة وهي المَهْرية لغة مَهْرَة والشِّحْرية لغة الشِّحْرِ والسُّقُطْرية لغةَ جزيرة سُقُطْرى
{{nop}}
<section end="2" /><noinclude></noinclude>
1xrrzg6izld47aydy9zdluplesc9ebe
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/80
104
217279
617287
617068
2026-08-12T20:31:47Z
Nehaoua
7481
/* تم التّحقّق منها */
617287
proofread-page
text/x-wiki
<noinclude><pagequality level="4" user="Nehaoua" />{{وسط|- ٧٦ -}}</noinclude><section begin="1" />واللغة النبطية تأتي بعد اللهجة العربية الفصيحة ويأتي بعدها الآرامية
فلما ظهر الإسلام أخذت اللغة العربية الفصحى وهي لغة أواسط بلاد العرب (الحجاز ونجد) أي قبائل قريش وما جاورها في التفوق والحلول محل باقي اللغات وعمَّ الاقطار لغة العرب وكتابتهم متماشِيَيْن مع الدين أينما سارَ، وصارت العربية لغة نصف المعمور من الدنيا، وهي أي اللغة الفصحى لغة الشعر والقرآن لغة الأحاديث والسنة، لغة الفقه والشرع، لغة التأليف والتصنيف في القرون الاولى للهجرة، يُتكلم ويكتب بها بداهة حتى كثر اختلاط العرب بالأعاجم فابتدأ الفساد في ملكة اللسان والتحريف يفشيان في اللغة، وهال القائمين هذا الأمر خوفا على القرآن والدين فوضعوا علم النحو، وأخذ العلماء يتبارون في وضع أصول هذا الفن وقواعده والاسترشاد بفصحاء الاعراب ووفود البادية الذين لم يخالطوا غيرهم من الأمم في صحة الكلام والنطق به حتى تم لهم ضبط هذه اللغة وبنائها على أساس متين، فلم تخدم لغة أخرى بمثل ما خدمت به اللغة العربية، وسيأتي شرح ذلك في فصل خاص
<section end="1" /><section begin="2" />{{ع2|١٥ - باب في اللغة العامية أو الدارجة}}
لما فسدت ملكة اللغة ووقع التحريف في الكلام، وباد الإِعراب ودخل في اللغة كثير من الألفاظ الأعجمية، نشأ من ذلك ما يسمى باللغة العامية أي الدارجة، وتعددت هذه اللغة بتعدد البلدان والأقاليم وقربت أو بعدت عن اللهجة الفصحى بقربها أو بعدها عن جزيرة العرب أو بقلة أو كثرة اختلاطها بالامم الأخرى، فاليمن مثلا وبعض أقاليم جزيرة العرب لا تزال لهجتهم أقرب إلى الفصحى من لهجة مصر أو الشام اليها، ولهجة بعض عرب السودان قريبة كذلك من الفصحى، حتى أن البلد أو المصر الواحد قد تختلف لهجاته باختلاف القبائل التي نزلت به وعمت فيه لهجتها، كالبلاد المصرية مثلا فلهجة صعيدها غير لهجة سفلى بلادها، ولهجة شرق مصر السفلى غير {{خطأ|لهة|لهجة}} غربها، وهذا الاختلاف هو {{خطأ|آثر|أثر}} من آثار القبائل المختلفة التي حلت بلاد مصر نازحة اليها من بلاد العرب
<section end="2" /><noinclude></noinclude>
44i8092qod0om088yvshz6mnp8dwz1u
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/84
104
217282
617190
617106
2026-08-12T13:33:16Z
HubaishanBot
64056
استبدال الأرقام العربية المشرقية بالأرقام الفارسية
617190
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Мушир" />{{وسط|- ٨٠ - }}</noinclude>الحبشي المُشكَّل، وأحدث من هذه كتابة الملك ألا عميداً وحرفها سبئي، وفي هذه الكتابة تُرى خاصية من خصائص الحبشية وهي الدلالة على حروف العلة المعدومة من الأَبجدية السامية بتغيرات في نفس الحرف الساكن. هذه هي أقدم آثار اللغة الحبشية وأكثرها وَثَني وبعضها وهو القليل نصراني، وترجمت التوراة والانجيل وغيرهما من الكتب الكنائسية الى اللغة الحبشية، وتمتاز لغة هذه المؤلفات عن اللهجات السامية الأخرى بنحو هو أكثر اطلاقا وانشاء أسلس مما يمكن نسبته الى مؤثر أجنبي، ولم يطل عمر لغة جِعِز في أثناء الاضطرابات التي سقطت بسيبها مملكة أكسوم القديمة في القرن الثاني عشر وفقدت أمة جعز خطرها السياسي، ومنذ سنة ١٢٧٠ ميلادية جمعت الدولة السليمانية شمل المملكة واحتفظت بالملك الى سنة ١٨٥٥ وهي من بلاد الشوا من بلاد الحبش الجنوبية ومن الأمة الأمْحَريَّة، ولغة أمْحَرة تناسب لغة جعز وان اختلفت عنها، وفي عهد هذه الدولة أخذت آداب اللغة الأثيوفية في الاضمحلال ولم يظهر لها أثر من نفسها وانما كانت في ذلك تابعة للآداب العربية المسيحية التي ظهرت في مصر، وكان للغة العربية تأثير كبير في تركيب الجمل {{خطأ|ألحبشية|الحبشية}} لم يكن للغة اليونانية قبلها. واشتقت من لغة جعز في قلب بلاد الحبشة وعلى قرب من أكسوم الحاضرة القديمة لهجة جديدة هي لهجة تِكْرِنْيَا نسبة الى اقليم تكرينيا، ولكن تغلبت عليها اللغة الامحرية كثيراً، وكان أكثر الذين يتكلمون بها من المسلمين ولذلك اكتسبت لنفسها شكلا خاصاً لعدم اختلاط أهلها بالمسيحيين الذين يتكلمون الأمحرية، ولما كان هؤلاء المسلمون من الجنس الحامي كان للغات الحامية أثر كبير في لغتهم
وبقيت اللغة القديمة محفوظة ويتكلم بها في الشمال في المستعمرة الايطالية المسماة أروثرة وفي جزائر دَهْلَك ويطلق على هذه اللهجة لغة تِكْرِي وهو اسم البلاد نفسها التي يتكلم بها فيها، وفي بلاد غوراغي في جنوب الشوا ولا سيما في حَرَر تكونت من اللغة الامحرية لهجات ابتعدت عنها كثيراً حتى صار الامحريون لا يفهمونها، وذلك لعدم اختلاطها باللغات الحامية التي امتزجت بها لغة أمحرة ولتأثير اللغة العربية فيها بالنسبة للاسلام الذي هو دين أهلها الذين يتكلمون بها في بلاد حَرَر<noinclude></noinclude>
ffhvar8r7k59zh5kg6dgb7oq6hr2829
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/86
104
217283
617191
617111
2026-08-12T13:33:26Z
HubaishanBot
64056
استبدال الأرقام العربية المشرقية بالأرقام الفارسية
617191
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Мушир" />{{وسط|-٨٢-}}</noinclude>{{ع2|١٧ - باب في القول في تدوين اللغة واستنباط النحو والصرف}}
قال عبد الرحمن بن خلدون: ان اللغة في المتعارف هي عبارة المتكلم عن مقصوده، وتلك العبارة فعل لساني، فلا بد أن تصير ملكة متقررة في العضو الفاعل لها وهو اللسان، وهو في كل أمة بحسب اصطلاحاتها، وكانت الملكة الحاصلة للعرب من ذلك أحسن الملكات وأوضحها ابانة عن المقاصد لدلالة غير الكلمات فيها على كثير من المعاني مثل الحركات التي تُعَين الفاعل من المفعول من المجرور أعني المضاف، ومثل الحروف التي تقضي بالأفعال الى الذوات من غير تكلف الفاظ أخرى، وليس يوجد ذلك الا فى لغة العرب، وأما غيرها من اللغات فكل معنى أو حال لا بدَّ له من ألفاظ تخصه بالدلالة، ولذلك نجد كلام العجم في مخاطباتهم أطول مما نقدره بكلام العرب وهذا هو معنى قوله صلى اللّٰه عليه وسلم: «أوتيت جوامع الكلم واختصر لي في الكلام اختصارا» فصار للحروف في لغتهم والحركات والهيئات أي الأوضاع اعتبار في الدلالة على المقصود غير متكلفين فيه لصناعة يستفيدون ذلك منها، انما هي ملكة في ألسنتهم يأخذها الآخر عن الاول كما تأخذ صبياننا لهذا العهد لغاتنا، فلما جاء الاسلام وفارقوا الحجاز لطلب الملك الذي كان في أيدي الأمم والدول، وخالطوا العجم تغيرت تلك الملكة بما ألقى اليها السمع من المخالفات التي للمتعربين والسمع أبو الملكات اللسانية، ففسدت بما ألقى اليها مما يغايرها لجنوحها اليه باعتياد السمع، وخشي أهل العلوم منها أن تفسد تلك الملكة رأسا ويطول العهد بها فينغلق القرآن والحديث على المفهوم، فاستنبطوا من مجاري كلامهم قوانين لتلك الملكة مطردة شبه الكليات والقواعد يقيسون عليها سائر أنواع الكلام ويلحقون الأشباه بالأشباه مثل أن الفاعل مرفوع والمفعول منصوب والمبتدأ مرفوع، ثم رأوا تغيير الدلالة بتغيير حركات هذه الكلمات فاصطلحوا على تسميته إِعرابا وتسمية الموجب لذلك التغيير عاملا وأمثال ذلك، وصارت كلها اصطلاحات خاصة بهم فقيدوها بالكتاب وجعلوها صناعة لهم مخصوصة واصطلحوا على تسميتها بعلم النحو، قال ابن جني في الخصائص: والنحو هو انتحاء سمت كلام العرب في تصرفه من اعراب وغيره كالتثنية والجمع<noinclude></noinclude>
isx3ekpalssamuudwqywk35tna5f9h1
مستخدم:حبيشان/ملعب
2
234572
617212
598045
2026-08-12T14:47:05Z
حبيشان
52457
استبدل محتوى الصفحة ب'{{رص تبديل برقم موسط|1|اسم الكتاب|اسم الفصل}} {{رص تبديل برقم موسط|2|اسم الكتاب|اسم الفصل}}'
617212
wikitext
text/x-wiki
{{رص تبديل برقم موسط|1|اسم الكتاب|اسم الفصل}}
{{رص تبديل برقم موسط|2|اسم الكتاب|اسم الفصل}}
l3ie6u9i9r574p26nm95pcsotj0ep2z
وحدة:توثيق/styles.css
828
235904
617222
518640
2026-08-12T16:34:35Z
حبيشان
52457
تحديث من النسخة الإنجليزية
617222
sanitized-css
text/css
.documentation,
.documentation-metadata {
border: 1px solid var( --border-color-base, #a2a9b1 );
background-color: #ecfcf4;
color:inherit;
clear: both;
}
.documentation {
margin: 1em 0 0 0;
padding: 1em;
}
.documentation-metadata {
margin: 0.2em 0; /* same margin left-right as .documentation */
font-style: italic;
padding: 0.4em 1em; /* same padding left-right as .documentation */
}
.documentation-startbox {
padding-bottom: 3px;
border-bottom: 1px solid var( --border-color-base, #a2a9b1 );
margin-bottom: 1ex;
}
.documentation-heading {
font-weight: bold;
font-size: 125%;
}
body.skin-minerva .documentation-startbox .mw-editsection-like a,
body.skin-timeless .documentation-startbox .mw-editsection-like a {
display: inline-block;
margin-left: 0.3em;
margin-right: 0.3em;
}
.documentation-clear { /* Don't want things to stick out where they shouldn't. */
clear: both;
}
.documentation-toolbar {
font-style: normal;
font-size: 85%;
}
@media screen {
html.skin-theme-clientpref-night .documentation,
html.skin-theme-clientpref-night .documentation-metadata {
background-color: #0b1e1c;
}
}
@media screen and ( prefers-color-scheme: dark ) {
html.skin-theme-clientpref-os .documentation,
html.skin-theme-clientpref-os .documentation-metadata {
background-color: #0b1e1c;
}
}
q54nrpzmvcyf5wqmstb7ftvb00bryvi
قالب:رأس تصويت
10
249729
617228
519702
2026-08-12T18:04:02Z
Mdktb
40249
+موائمة الوضع الداكن
617228
wikitext
text/x-wiki
<templatestyles src="Module:Message box/ombox.css"/><div class="boilerplate metadata vfd xfd-closed" style="background-color: var(--background-color-progressive-subtle,#e8eeff); color:inherit; padding:8px; border: 1px solid var(--border-color-base,#a2a9b1);">
{| style="border: 1px solid var(--border-color-subtle,#c8ccd1); background-color: var(--background-color-neutral-subtle, #f8f9fa); color:inherit; margin: 4px auto; padding: 0.2em;"
|-
|
|<div style="text-align: center;"> <div style="background:var(--background-color-interactive--hover,#dadde3); color:inherit; padding:0 40px; margin-bottom:9px;">'''هذا التصويت مغلق ومؤرشف؛''' الرجاء '''عدم''' التعديل على الصفحة أو الإضافة إليها.</div> '''نتيجة التصويت =''' {{{1}}}</div>
|}
<noinclude>
[[تصنيف:قوالب تنظيم في ويكي مصدر]]
</noinclude>
76ni9ghorbqefbw9a8ehl8s55kwt43c
قالب:أرشيف آلي أفقي
10
251017
617226
520939
2026-08-12T17:52:03Z
Mdktb
40249
+موائمة الوضع الداكن
617226
wikitext
text/x-wiki
<templatestyles src="Hlist/styles.css" />{{صندوق رسالة أخرى
|الصورة = [[ملف:Replacement filing cabinet.svg|32بك]]
| النص =
<div style="text-align:center";>
{{#لو:{{{1|}}}|<!--
--><div class="mw-collapsible mw-collapsed">
<p style="margin:0 !important">'''تصفّح الأرشيف'''</p>
<div class="mw-collapsible-content hlist" style="padding: 0 1em; text-align: right;">
{{#لومعادلة:{{#invoke:أرشيف النقاش|listPages|{{{1|}}}|{{{2|}}}}}||'''لا يوجد صفحات أرشيف'''|<!--
-->{{#invoke:أرشيف النقاش|listPages|{{{1|}}}|{{{2|}}}}}
*[[خاص:فهرس بادئة/{{{1|{{اسم_الصفحة_الكامل}}}}}/أرشيف|<span style="color:inherit;">الأرشيف كاملًا←</span>]]
}}
</div>
</div>|<!--
-->'''لم تُحدد الصفحة!'''}}</div>}}</div>
<noinclude>
{{توثيق}}</noinclude>
l9sav853over2g3uhy9jmla5eajdx5z
ويكي مصدر:مسابقة التراث المفتوح ٢٠٢٦
4
304867
617199
616830
2026-08-12T14:02:36Z
RASHEEDYE
15342
/* كتاب علم التعمية واستخراج المعمى عند العرب الجزء الثاني */
617199
wikitext
text/x-wiki
{{تنبيه|
* ''' يُمكن لكل مُشارك حجز قسمين معًا.'''<br/>
* '''يرجى حجز القسم قبل بدء العمل عليه وذلك عبر إضافة اسم المُستخدم الخاص بك وإضافة قالب <nowiki>{{ينفذ}}</nowiki> عند حالة المقالة، ومن ثمَّ قالب <nowiki>{{تم}}</nowiki> عند انتهاء العمل عليه.'''<br/>
* '''لا تنسَ تحديد تاريخ الحجز.'''
* '''يمكنكم الرجوع لصفحة الفعالية بالنقر''' <mark>'''[https://w.wiki/Rqdq هنا]'''</mark>
* '''قوالب مهمة <nowiki>{{قرآن|اسم السورة|رقم الآية}} و {{ص}} = صلى الله عليه وسلم وَ {{خطأ | النص الخطأ | الصواب | تعليق (اختياري)}} </nowiki>'''
* ''' يلزم نقل النص كما هو ولو احتوى أخطاء فإن كانت هامة يرجى استخدام قالب خطأ لتصويبها. '''
* '''يلغى حجز القسم بعد يومين من عدم العمل عليه.'''
}}
== كتاب رياض الصالحين ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/10|5]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/20|15]]
|{{مس|مالك العدوان}}
|10/7/2026
|{{تم}}
|-
|2
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/21|16]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/30|25]]
|{{مس|Cestsalam}}
|10/07/2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/31|26]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/40|35]]
|{{مس|RASHEEDYE}}
|10/07/2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/41|36]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/50|45]]
|{{مس|نور إسماعيل}}
|10/7/2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/51|46]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/60|55]]
|{{مس|نور إسماعيل}}
|10/7/2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/61|56]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/70|65]]
|{{مس|origamos}}
|11 يوليو
| {{نفذ}}
|-
|7
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/71|66]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/80|75]]
|{{مس|origamos}}
|11 يوليو
| {{نفذ}}
|-
|8
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/81|76]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/90|85]]
|{{مس|نور إسماعيل}}
|11/07/2026
|{{نفذ}}
|-
|9
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/91|86]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/100|95]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/101|96]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/110|105]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/111|106]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/120|115]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/121|116]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/130|125]]
|{{مس|Cestsalam}}
|11/07/2026
|{{نفذ}}
|-
|13
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/131|126]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/140|135]]
|{{مس|RASHEEDYE}}
|16/7/2026
|{{نفذ}}
|-
|14
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/141|136]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/150|145]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|15
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/151|146]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/160|155]]
|{{مس|Cestsalam}}
|11/07/2026
|{{نفذ}}
|-
|16
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/161|156]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/170|165]]
|{{مس|مالك العدوان}}
|11/7/2026
|{{تم}}
|-
|17
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/171|166]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/180|175]]
|{{مس|RASHEEDYE}}
|11/7/2026
|{{نفذ}}
|-
|18
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/181|176]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/190|185]]
|{{مس|عبدالرحمن مصطفى}}
|20/7/2026
|{{ينفذ}}
|-
|19
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/191|186]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/200|195]]
|{{مس|نور إسماعيل}}
|12/7/2026
|{{نفذ}}
|-
|20
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/201|196]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/210|205]]
|{{مس|نور إسماعيل}}
|12/7/2026
|{{نفذ}}
|-
|21
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/211|206]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/220|215]]
|{{مس|نور إسماعيل}}
|12/72026
|{{نفذ}}
|-
|22
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/221|216]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/230|225]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|23
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/231|226]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/240|235]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|24
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/241|236]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/250|245]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|25
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/251|246]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/260|255]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|26
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/261|256]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/270|265]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|27
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/271|266]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/280|275]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|28
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/281|276]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/290|285]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|29
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/291|286]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/300|295]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|30
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/301|296]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/310|305]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|31
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/311|306]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/320|315]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|32
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/321|316]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/330|325]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|33
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/331|326]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/340|335]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|34
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/341|336]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/350|345]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|35
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/351|346]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/360|355]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|36
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/361|356]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/370|365]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|37
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/371|366]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/380|375]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|38
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/381|376]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/390|385]]
|{{مس|origamos}}
|15 يوليو
| {{نفذ}}
|-
|39
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/391|386]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/400|395]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|40
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/401|396]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/410|405]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|41
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/411|406]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/420|415]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|42
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/421|416]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/430|425]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|43
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/431|426]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/440|435]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|44
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/441|436]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/450|445]]
|{{مس|origamos}}
|16 يوليو
| {{نفذ}}
|-
|45
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/451|446]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/460|455]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|46
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/461|456]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/470|465]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|47
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/471|466]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/480|475]]
|{{مس|ماهر الماهر}}
|16\7\2026
|{{نفذ}}
|-
|48
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/481|476]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/490|485]]
|{{مس|ماهر الماهر}}
|16\7\2026
|{{نفذ}}
|-
|49
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/491|486]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/500|495]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|50
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/501|496]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/510|505]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|51
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/511|506]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/520|515]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|52
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/521|516]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/530|525]]
|{{مس|مصطفي البناا}}
|23/7/20206
|{{ينفذ}}
|-
|53
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/531|526]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/540|528]]
|{{مس|؟؟}}
|
|
|-
|}
== كتاب أثر العرب في الحضارة الأوربية ==
{| class="تم wikitable sortable mw-ثمcollapsible"تم
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/7|3]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/16|12]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|2
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/17|13]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/26|22]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/27|23]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/36|32]]
|{{مس|origamos}}
| 17 يوليو
| {{نفذ}}
|-
|4
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/37|33]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/46|42]]
|{{مس|ماهر الماهر}}٥
|17\07\2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/47|43]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/56|52]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/57|53]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/66|62]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|7
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/67|63]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/76|72]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|8
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/77|73]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/86|82]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|9
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/87|83]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/96|92]]
|{{مس|نور إسماعيل}}
|17/7/2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/97|93]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/106|102]]
|{{مس|نور إسماعيل}}
|17/7/2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/107|103]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/116|112]]
|{{مس|نور إسماعيل}}
|17/7/2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/117|113]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/126|122]]
|{{مس|نور إسماعيل}}
|17/7/2025
|{{نفذ}}
|-
|13
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/127|123]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/136|132]]
|{{مس|RASHEEDYE}}
|17/7/2026
|{{نفذ}}
|-
|14
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/137|133]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/146|142]]
|{{مس|RASHEEDYE}}
|17/7/2026
|{{نفذ}}
|-
|15
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/147|143]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/156|152]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|16
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/157|153]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/166|162]]
|{{مس|ماهر الماهر}}
|18\07\2026
|{{نفذ}}
|-
|17
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/167|163]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/176|172]]
|{{مس|RASHEEDYE}}
|18/7/2026
|{{نفذ}}
|-
|18
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/177|173]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/184|180]]
|{{مس|RASHEEDYE}}
|18/7/2026
|{{نفذ}}
|}
== كتاب التهذيب في أصول التعريب ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/5|5]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/14|14]]
|{{مس|origamos}}
| 18 يوليو
|{{نفذ}}
|-
|2
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/15|15]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/24|24]]
|{{مس|origamos}}
| 18 يوليو
|{{نفذ}}
|-
|3
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/25|25]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/34|34]]
|{{مس|ماهر الماهر}}
|18\07\2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/35|35]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/44|44]]
|{{مس|مصطفي البناا}}
|21/7/2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/45|45]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/54|54]]
|{{مس|نور إسماعيل}}
|22/7/2026
|{{ينفذ}}
|-
|6
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/55|55]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/64|64]]
|{{مس|نور إسماعيل}}
|22/7/2026
|{{ينفذ}}
|-
|7
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/65|65]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/74|74]]
|{{مس|ماهر الماهر}}
|23\07\2026
|{{ينفذ}}
|-
|8
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/75|75]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/84|84]]
|{{مس|Мушир}}
|18\07\2026
|{{نفذ}}
|-
|9
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/85|85]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/94|94]]
|{{مس|origamos}}
| 20 يوليو
|{{نفذ}}
|-
|10
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/95|95]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/104|104]]
|{{مس|origamos}}
| 21 يوليو
|{{نفذ}}
|-
|11
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/105|105]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/114|114]]
|{{مس|ماهر الماهر}}
|22\07\2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/115|115]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/124|124]]
|{{مس|origamos}}
| 22 يوليو
|{{نفذ}}
|-
|13
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/125|125]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/134|134]]
|{{مس|origamos}}
| 22 يوليو
|{{نفذ}}
|-
|14
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/135|135]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/144|144]]
|{{مس|origamos}}
| 22 يوليو
|{{نفذ}}
|-
|15
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/145|145]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/148|148]]
|{{مس|عبدالرحمن مصطفى}}
|20/7/2026
|{{نفذ}}
|}
== كتاب علم التعمية واستخراج المعمى عند العرب الجزء الأول ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/11|3]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/20|12]]
|{{مس|origamos}}
| 19 يوليو
| {{نفذ}}
|-
|2
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/21|13]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/30|22]]
|{{مس|RASHEEDYE}}
|19/7/2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/31|23]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/40|32]]
|{{مس|RASHEEDYE}}
|19/7/2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/41|33]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/50|42]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/51|43]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/60|52]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/61|53]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/70|62]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|7
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/71|63]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/80|72]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|8
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/81|73]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/90|82]]
|{{مس|origamos}}
| 19 يوليو
| {{نفذ}}
|-
|9
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/91|83]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/100|92]]
|{{مس|ماهر الماهر}}
|19\07\2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/101|93]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/110|102]]
|{{مس|ماهر الماهر}}
|19\07\2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/111|103]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى Urban Part 1.pdf/120|112]]
|{{مس|مالك العدوان}}
|21/07/2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/121|113]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/130|122]]
|{{مس|؟؟}}
|
|
|-
|13
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/131|123]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/140|132]]
|{{مس|مالك العدوان}}
|22/7/2026
|{{ينفذ}}
|-
|14
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/141|133]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/150|142]]
|{{مس|ماهر الماهر}}
|20\07\2026
|{{نفذ}}
|-
|15
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/151|143]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/160|152]]
|{{مس|نور إسماعيل}}
|20/7/2026
|{{نفذ}}
|-
|16
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/161|153]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/170|162]]
|{{مس|نور إسماعيل}}
|20/7/2026
|{{نفذ}}
|-
|17
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/171|163]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/180|172]]
|{{مس|نور إسماعيل}}
|20/7/2026
|{{نفذ}}
|-
|18
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/181|173]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/190|182]]
|{{مس|نور إسماعيل}}
|21/7/2026
|{{نفذ}}
|-
|19
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/191|183]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/200|192]]
|{{مس|نور إسماعيل}}
|21/7/2026
|{{نفذ}}
|-
|20
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/201|193]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/210|202]]
|{{مس|ماهر الماهر}}
|21\07\2026
|{{نفذ}}
|-
|21
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/211|203]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/220|212]]
|{{مس|RASHEEDYE}}
|20/7/2026
|{{نفذ}}
|-
|22
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/221|213]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/230|222]]
|{{مس|RASHEEDYE}}
|20/7/2026
|{{نفذ}}
|-
|23
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/231|223]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/240|232]]
|{{مس|نور إسماعيل}}
|21/7/2026
|{{نفذ}}
|-
|24
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/241|233]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/250|242]]
|{{مس|مصطفي البناا}}
|21/7/2026
|{{نفذ}}
|-
|25
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/251|243]]
|align=center|[[صفحة:علم التعمية واستخراج المعmى عند العرب الجزء الأول.pdf/260|252]]
|{{مس|RASHEEDYE}}
|23/7/2026
|{{نفذ}}
|-
|26
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/261|253]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/270|262]]
|{{مس|نور إسماعيل}}
|26/7/2026
|{{نفذ}}
|-
|27
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/271|263]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/280|272]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{نفذ}}
|-
|28
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/281|273]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/290|282]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{ينفذ}}
|-
|29
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/291|283]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/300|292]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{ينفذ}}
|-
|30
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/301|293]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/310|302]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{ينفذ}}
|-
|31
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/311|303]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/320|312]]
|{{مس|RASHEEDYE}}
|24/7/2026
|{{نفذ}}
|-
|32
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/321|313]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/330|322]]
|{{مس|RASHEEDYE}}
|24/7/2026
|{{نفذ}}
|-
|33
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/331|323]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/340|332]]
|{{مس|RASHEEDYE}}
|24/7/2026
|{{نفذ}}
|-
|34
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/341|333]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/350|342]]
|{{مس|ماهر الماهر}}
|20\07\2026
|{{نفذ}}
|-
|35
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/351|343]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/360|352]]
|{{مس|نور إسماعيل}}
|24/7/2026
|{{نفذ}}
|-
|36
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/361|353]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/370|362]]
|{{مس|نور إسماعيل}}
|24/7/2026
|{{نفذ}}
|-
|37
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/371|363]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/380|372]]
|{{مس|RASHEEDYE}}
|25/7/2026
|{{نفذ}}
|-
|38
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/381|373]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/390|382]]
|{{مس|ماهر الماهر}}
|24\07\2026
|{{نفذ}}
|-
|39
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/391|383]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/400|392]]
|{{مس|نور إسماعيل}}
|25/7/2026
|{{نفذ}}
|-
|40
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/401|393]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/410|402]]
|{{مس|origamos}}
| 22 يوليو
| {{نفذ}}
|-
|41
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/411|403]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/420|412]]
|{{مس|؟؟}}
|
|
|-
|42
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/421|413]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/430|422]]
|{{مس|؟؟}}
|
|
|-
|43
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/431|423]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/437|429]]
|{{مس|؟؟}}
|
|
|}
== كتاب علم التعمية واستخراج المعمى عند العرب الجزء الثاني ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/13|9]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/22|18]]
|{{مس|ماهر الماهر}}
|26\07\2026
|{{نفذ}}
|-
|2
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/23|19]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/32|28]]
|{{مس|مصطفي البناا}}
|26\07\2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/33|29]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/42|38]]
|{{مس|مصطفي البناا}}
|26\07\2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/43|39]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/52|48]]
|{{مس|ماهر الماهر}}
|27\07\2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/53|49]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/62|58]]
|{{مس|ماهر الماهر}}
|27\07\2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/63|59]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/72|68]]
|{{مس|مصطفي البناا}}
|28/7/2026
|{{نفذ}}
|-
|7
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/73|69]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/82|78]]
|{{مس|origamos}}
| 28 يوليو
| {{ينفذ}}
|-
|8
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/83|79]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/92|88]]
|{{مس|مصطفي البناا}}
|28/7/2026
|{{ينفذ}}
|-
|9
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/93|89]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/102|98]]
|{{مس|ماهر الماهر}}
|28\07\2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/103|99]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/112|108]]
|{{مس|ماهر الماهر}}
|30\07\2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/113|109]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/122|118]]
|{{مس|ماهر الماهر}}
|30\07\2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/123|119]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/132|128]]
|{{مس|ماهر الماهر}}
|30\07\2026
|{{نفذ}}
|-
|13
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/133|129]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/142|138]]
|{{مس|ماهر الماهر}}
|31\07\2026
|{{ينفذ}}
|-
|14
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/143|139]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/152|148]]
|{{مس|؟؟}}
|
|
|-
|15
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/153|149]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/162|158]]
|{{مس|؟؟}}
|
|
|-
|16
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/163|159]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/172|168]]
|{{مس|؟؟}}
|
|
|-
|17
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/173|169]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/182|178]]
|{{مس|؟؟}}
|
|
|-
|18
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/183|179]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/192|188]]
|{{مس|؟؟}}
|
|
|-
|19
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/193|189]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/202|198]]
|{{مس|؟؟}}
|
|
|-
|20
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/203|199]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/212|208]]
|{{مس|RASHEEDYE}}
|27/7/2026
|{{نفذ}}
|-
|21
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/213|209]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/222|218]]
|{{مس|RASHEEDYE}}
|27/7/2026
|{{نفذ}}
|-
|22
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/223|219]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/232|228]]
|{{مس|RASHEEDYE}}
|28/7/2026
|{{نفذ}}
|-
|23
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/233|229]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/242|238]]
|{{مس|RASHEEDYE}}
|28/7/2026
|{{نفذ}}
|-
|24
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/243|239]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/252|248]]
|{{مس|RASHEEDYE}}
|29/7/2026
|{{نفذ}}
|-
|25
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/253|249]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/262|258]]
|{{مس|origamos}}
| 29 يوليو
| {{نفذ}}
|-
|26
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/263|259]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/272|268]]
|{{مس|RASHEEDYE}}
|29/7/2026
|{{نفذ}}
|-
|27
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/273|269]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/282|278]]
|{{مس|RASHEEDYE}}
|29/7/2026
|{{نفذ}}
|-
|28
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/283|279]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/292|288]]
|{{مس|RASHEEDYE}}
|30/7/2026
|{{نفذ}}
|-
|29
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/293|289]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/302|298]]
|{{مس|RASHEEDYE}}
|30/7/2026
|{{نفذ}}
|-
|30
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/303|299]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/312|308]]
|{{مس|RASHEEDYE}}
|31/7/2026
|{{نفذ}}
|-
|31
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/313|309]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/322|318]]
|{{مس|origamos}}
| 31 يوليو
| {{ينفذ}}
|-
|32
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/323|319]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/332|328]]
|{{مس|RASHEEDYE}}
|31/7/2026
|{{نفذ}}
|-
|33
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/333|329]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/342|338]]
|{{مس|RASHEEDYE}}
|1/8/2026
|{{نفذ}}
|-
|-
|34
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/343|339]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/352|348]]
|{{مس|RASHEEDYE}}
|2/8/2026
|{{نفذ}}
|-
|35
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/353|349]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/362|358]]
|{{مس|RASHEEDYE}}
|7/8/2026
|{{نفذ}}
|-
|36
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/363|359]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/372|368]]
|{{مس|RASHEEDYE}}
|7/8/2026
|{{ينفذ}}
|-
|37
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/373|369]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/382|378]]
|{{مس|RASHEEDYE}}
|8/8/2026
|{{نفذ}}
|-
|38
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/383|379]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/392|388]]
|{{مس|RASHEEDYE}}
|10/8/2026
|{{ينفذ}}
|-
|39
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/393|389]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/402|398]]
|{{مس|RASHEEDYE}}
|
|{{ينفذ}}
|-
|40
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/403|399]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/412|408]]
|{{مس|؟؟}}
|
|
|-
|41
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/413|409]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/422|418]]
|{{مس|؟؟}}
|
|
|-
|42
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/423|419]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/432|428]]
|{{مس|؟؟}}
|
|
|-
|43
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/433|429]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/442|438]]
|{{مس|؟؟}}
|
|
|-
|44
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/443|439]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/452|448]]
|{{مس|؟؟}}
|
|
|-
|45
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/453|449]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/462|458]]
|{{مس|؟؟}}
|
|
|-
|46
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/463|459]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/469|465]]
|{{مس|؟؟}}
|
|
|}
4rw439cla32xuqe361c3phqg1i3o5h5
617310
617199
2026-08-13T07:30:07Z
RASHEEDYE
15342
/* كتاب علم التعمية واستخراج المعمى عند العرب الجزء الثاني */
617310
wikitext
text/x-wiki
{{تنبيه|
* ''' يُمكن لكل مُشارك حجز قسمين معًا.'''<br/>
* '''يرجى حجز القسم قبل بدء العمل عليه وذلك عبر إضافة اسم المُستخدم الخاص بك وإضافة قالب <nowiki>{{ينفذ}}</nowiki> عند حالة المقالة، ومن ثمَّ قالب <nowiki>{{تم}}</nowiki> عند انتهاء العمل عليه.'''<br/>
* '''لا تنسَ تحديد تاريخ الحجز.'''
* '''يمكنكم الرجوع لصفحة الفعالية بالنقر''' <mark>'''[https://w.wiki/Rqdq هنا]'''</mark>
* '''قوالب مهمة <nowiki>{{قرآن|اسم السورة|رقم الآية}} و {{ص}} = صلى الله عليه وسلم وَ {{خطأ | النص الخطأ | الصواب | تعليق (اختياري)}} </nowiki>'''
* ''' يلزم نقل النص كما هو ولو احتوى أخطاء فإن كانت هامة يرجى استخدام قالب خطأ لتصويبها. '''
* '''يلغى حجز القسم بعد يومين من عدم العمل عليه.'''
}}
== كتاب رياض الصالحين ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/10|5]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/20|15]]
|{{مس|مالك العدوان}}
|10/7/2026
|{{تم}}
|-
|2
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/21|16]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/30|25]]
|{{مس|Cestsalam}}
|10/07/2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/31|26]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/40|35]]
|{{مس|RASHEEDYE}}
|10/07/2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/41|36]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/50|45]]
|{{مس|نور إسماعيل}}
|10/7/2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/51|46]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/60|55]]
|{{مس|نور إسماعيل}}
|10/7/2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/61|56]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/70|65]]
|{{مس|origamos}}
|11 يوليو
| {{نفذ}}
|-
|7
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/71|66]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/80|75]]
|{{مس|origamos}}
|11 يوليو
| {{نفذ}}
|-
|8
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/81|76]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/90|85]]
|{{مس|نور إسماعيل}}
|11/07/2026
|{{نفذ}}
|-
|9
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/91|86]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/100|95]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/101|96]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/110|105]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/111|106]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/120|115]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/121|116]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/130|125]]
|{{مس|Cestsalam}}
|11/07/2026
|{{نفذ}}
|-
|13
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/131|126]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/140|135]]
|{{مس|RASHEEDYE}}
|16/7/2026
|{{نفذ}}
|-
|14
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/141|136]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/150|145]]
|{{مس|نور إسماعيل}}
|11/7/2026
|{{نفذ}}
|-
|15
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/151|146]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/160|155]]
|{{مس|Cestsalam}}
|11/07/2026
|{{نفذ}}
|-
|16
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/161|156]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/170|165]]
|{{مس|مالك العدوان}}
|11/7/2026
|{{تم}}
|-
|17
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/171|166]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/180|175]]
|{{مس|RASHEEDYE}}
|11/7/2026
|{{نفذ}}
|-
|18
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/181|176]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/190|185]]
|{{مس|عبدالرحمن مصطفى}}
|20/7/2026
|{{ينفذ}}
|-
|19
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/191|186]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/200|195]]
|{{مس|نور إسماعيل}}
|12/7/2026
|{{نفذ}}
|-
|20
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/201|196]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/210|205]]
|{{مس|نور إسماعيل}}
|12/7/2026
|{{نفذ}}
|-
|21
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/211|206]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/220|215]]
|{{مس|نور إسماعيل}}
|12/72026
|{{نفذ}}
|-
|22
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/221|216]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/230|225]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|23
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/231|226]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/240|235]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|24
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/241|236]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/250|245]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|25
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/251|246]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/260|255]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|26
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/261|256]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/270|265]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|27
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/271|266]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/280|275]]
|{{مس|نور إسماعيل}}
|13/7/2026
|{{نفذ}}
|-
|28
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/281|276]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/290|285]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|29
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/291|286]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/300|295]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|30
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/301|296]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/310|305]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|31
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/311|306]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/320|315]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|32
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/321|316]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/330|325]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|33
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/331|326]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/340|335]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|34
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/341|336]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/350|345]]
|{{مس|نور إسماعيل}}
|14/7/2026
|{{نفذ}}
|-
|35
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/351|346]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/360|355]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|36
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/361|356]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/370|365]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|37
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/371|366]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/380|375]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|38
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/381|376]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/390|385]]
|{{مس|origamos}}
|15 يوليو
| {{نفذ}}
|-
|39
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/391|386]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/400|395]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|40
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/401|396]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/410|405]]
|{{مس|نور إسماعيل}}
|15/7/2026
|{{نفذ}}
|-
|41
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/411|406]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/420|415]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|42
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/421|416]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/430|425]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|43
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/431|426]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/440|435]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|44
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/441|436]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/450|445]]
|{{مس|origamos}}
|16 يوليو
| {{نفذ}}
|-
|45
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/451|446]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/460|455]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|46
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/461|456]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/470|465]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|47
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/471|466]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/480|475]]
|{{مس|ماهر الماهر}}
|16\7\2026
|{{نفذ}}
|-
|48
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/481|476]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/490|485]]
|{{مس|ماهر الماهر}}
|16\7\2026
|{{نفذ}}
|-
|49
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/491|486]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/500|495]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|50
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/501|496]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/510|505]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|51
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/511|506]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/520|515]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|52
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/521|516]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/530|525]]
|{{مس|مصطفي البناا}}
|23/7/20206
|{{ينفذ}}
|-
|53
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/531|526]]
|align=center|[[صفحة:رياض الصالحين (دار الريان).pdf/540|528]]
|{{مس|؟؟}}
|
|
|-
|}
== كتاب أثر العرب في الحضارة الأوربية ==
{| class="تم wikitable sortable mw-ثمcollapsible"تم
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/7|3]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/16|12]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|2
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/17|13]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/26|22]]
|{{مس|نور إسماعيل}}
|16/7/2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/27|23]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/36|32]]
|{{مس|origamos}}
| 17 يوليو
| {{نفذ}}
|-
|4
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/37|33]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/46|42]]
|{{مس|ماهر الماهر}}٥
|17\07\2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/47|43]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/56|52]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/57|53]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/66|62]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|7
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/67|63]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/76|72]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|8
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/77|73]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/86|82]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|9
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/87|83]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/96|92]]
|{{مس|نور إسماعيل}}
|17/7/2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/97|93]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/106|102]]
|{{مس|نور إسماعيل}}
|17/7/2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/107|103]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/116|112]]
|{{مس|نور إسماعيل}}
|17/7/2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/117|113]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/126|122]]
|{{مس|نور إسماعيل}}
|17/7/2025
|{{نفذ}}
|-
|13
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/127|123]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/136|132]]
|{{مس|RASHEEDYE}}
|17/7/2026
|{{نفذ}}
|-
|14
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/137|133]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/146|142]]
|{{مس|RASHEEDYE}}
|17/7/2026
|{{نفذ}}
|-
|15
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/147|143]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/156|152]]
|{{مس|ماهر الماهر}}
|17\07\2026
|{{نفذ}}
|-
|16
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/157|153]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/166|162]]
|{{مس|ماهر الماهر}}
|18\07\2026
|{{نفذ}}
|-
|17
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/167|163]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/176|172]]
|{{مس|RASHEEDYE}}
|18/7/2026
|{{نفذ}}
|-
|18
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/177|173]]
|align=center|[[صفحة:أثر العرب في الحضارة الأوربية (1946) - العقاد.pdf/184|180]]
|{{مس|RASHEEDYE}}
|18/7/2026
|{{نفذ}}
|}
== كتاب التهذيب في أصول التعريب ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/5|5]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/14|14]]
|{{مس|origamos}}
| 18 يوليو
|{{نفذ}}
|-
|2
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/15|15]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/24|24]]
|{{مس|origamos}}
| 18 يوليو
|{{نفذ}}
|-
|3
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/25|25]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/34|34]]
|{{مس|ماهر الماهر}}
|18\07\2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/35|35]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/44|44]]
|{{مس|مصطفي البناا}}
|21/7/2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/45|45]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/54|54]]
|{{مس|نور إسماعيل}}
|22/7/2026
|{{ينفذ}}
|-
|6
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/55|55]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/64|64]]
|{{مس|نور إسماعيل}}
|22/7/2026
|{{ينفذ}}
|-
|7
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/65|65]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/74|74]]
|{{مس|ماهر الماهر}}
|23\07\2026
|{{ينفذ}}
|-
|8
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/75|75]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/84|84]]
|{{مس|Мушир}}
|18\07\2026
|{{نفذ}}
|-
|9
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/85|85]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/94|94]]
|{{مس|origamos}}
| 20 يوليو
|{{نفذ}}
|-
|10
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/95|95]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/104|104]]
|{{مس|origamos}}
| 21 يوليو
|{{نفذ}}
|-
|11
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/105|105]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/114|114]]
|{{مس|ماهر الماهر}}
|22\07\2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/115|115]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/124|124]]
|{{مس|origamos}}
| 22 يوليو
|{{نفذ}}
|-
|13
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/125|125]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/134|134]]
|{{مس|origamos}}
| 22 يوليو
|{{نفذ}}
|-
|14
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/135|135]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/144|144]]
|{{مس|origamos}}
| 22 يوليو
|{{نفذ}}
|-
|15
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/145|145]]
|align=center|[[صفحة:التهذيب في أصول التعريب (1923) - أحمد عيسى.pdf/148|148]]
|{{مس|عبدالرحمن مصطفى}}
|20/7/2026
|{{نفذ}}
|}
== كتاب علم التعمية واستخراج المعمى عند العرب الجزء الأول ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/11|3]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/20|12]]
|{{مس|origamos}}
| 19 يوليو
| {{نفذ}}
|-
|2
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/21|13]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/30|22]]
|{{مس|RASHEEDYE}}
|19/7/2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/31|23]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/40|32]]
|{{مس|RASHEEDYE}}
|19/7/2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/41|33]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/50|42]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/51|43]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/60|52]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/61|53]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/70|62]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|7
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/71|63]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/80|72]]
|{{مس|نور إسماعيل}}
|19/7/2026
|{{نفذ}}
|-
|8
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/81|73]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/90|82]]
|{{مس|origamos}}
| 19 يوليو
| {{نفذ}}
|-
|9
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/91|83]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/100|92]]
|{{مس|ماهر الماهر}}
|19\07\2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/101|93]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/110|102]]
|{{مس|ماهر الماهر}}
|19\07\2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/111|103]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى Urban Part 1.pdf/120|112]]
|{{مس|مالك العدوان}}
|21/07/2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/121|113]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/130|122]]
|{{مس|؟؟}}
|
|
|-
|13
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/131|123]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/140|132]]
|{{مس|مالك العدوان}}
|22/7/2026
|{{ينفذ}}
|-
|14
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/141|133]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/150|142]]
|{{مس|ماهر الماهر}}
|20\07\2026
|{{نفذ}}
|-
|15
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/151|143]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/160|152]]
|{{مس|نور إسماعيل}}
|20/7/2026
|{{نفذ}}
|-
|16
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/161|153]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/170|162]]
|{{مس|نور إسماعيل}}
|20/7/2026
|{{نفذ}}
|-
|17
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/171|163]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/180|172]]
|{{مس|نور إسماعيل}}
|20/7/2026
|{{نفذ}}
|-
|18
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/181|173]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/190|182]]
|{{مس|نور إسماعيل}}
|21/7/2026
|{{نفذ}}
|-
|19
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/191|183]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/200|192]]
|{{مس|نور إسماعيل}}
|21/7/2026
|{{نفذ}}
|-
|20
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/201|193]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/210|202]]
|{{مس|ماهر الماهر}}
|21\07\2026
|{{نفذ}}
|-
|21
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/211|203]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/220|212]]
|{{مس|RASHEEDYE}}
|20/7/2026
|{{نفذ}}
|-
|22
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/221|213]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/230|222]]
|{{مس|RASHEEDYE}}
|20/7/2026
|{{نفذ}}
|-
|23
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/231|223]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/240|232]]
|{{مس|نور إسماعيل}}
|21/7/2026
|{{نفذ}}
|-
|24
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/241|233]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/250|242]]
|{{مس|مصطفي البناا}}
|21/7/2026
|{{نفذ}}
|-
|25
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/251|243]]
|align=center|[[صفحة:علم التعمية واستخراج المعmى عند العرب الجزء الأول.pdf/260|252]]
|{{مس|RASHEEDYE}}
|23/7/2026
|{{نفذ}}
|-
|26
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/261|253]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/270|262]]
|{{مس|نور إسماعيل}}
|26/7/2026
|{{نفذ}}
|-
|27
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/271|263]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/280|272]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{نفذ}}
|-
|28
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/281|273]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/290|282]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{ينفذ}}
|-
|29
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/291|283]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/300|292]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{ينفذ}}
|-
|30
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/301|293]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/310|302]]
|{{مس|Hiba Rasheed}}
| 24/7/2026
| {{ينفذ}}
|-
|31
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/311|303]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/320|312]]
|{{مس|RASHEEDYE}}
|24/7/2026
|{{نفذ}}
|-
|32
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/321|313]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/330|322]]
|{{مس|RASHEEDYE}}
|24/7/2026
|{{نفذ}}
|-
|33
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/331|323]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/340|332]]
|{{مس|RASHEEDYE}}
|24/7/2026
|{{نفذ}}
|-
|34
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/341|333]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/350|342]]
|{{مس|ماهر الماهر}}
|20\07\2026
|{{نفذ}}
|-
|35
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/351|343]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/360|352]]
|{{مس|نور إسماعيل}}
|24/7/2026
|{{نفذ}}
|-
|36
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/361|353]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/370|362]]
|{{مس|نور إسماعيل}}
|24/7/2026
|{{نفذ}}
|-
|37
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/371|363]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/380|372]]
|{{مس|RASHEEDYE}}
|25/7/2026
|{{نفذ}}
|-
|38
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/381|373]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/390|382]]
|{{مس|ماهر الماهر}}
|24\07\2026
|{{نفذ}}
|-
|39
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/391|383]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/400|392]]
|{{مس|نور إسماعيل}}
|25/7/2026
|{{نفذ}}
|-
|40
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/401|393]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/410|402]]
|{{مس|origamos}}
| 22 يوليو
| {{نفذ}}
|-
|41
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/411|403]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/420|412]]
|{{مس|؟؟}}
|
|
|-
|42
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/421|413]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/430|422]]
|{{مس|؟؟}}
|
|
|-
|43
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/431|423]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الأول.pdf/437|429]]
|{{مس|؟؟}}
|
|
|}
== كتاب علم التعمية واستخراج المعمى عند العرب الجزء الثاني ==
{| class="wikitable sortable mw-collapsible"
|-
!ترقيم
!من الصفحة
!إلى الصفحة
!اسم المستخدم
!تاريخ الحجز
!حالة التقدم (<nowiki>{{ينفذ}}</nowiki> ثمَّ <nowiki>{{تم}}</nowiki> )
|-
|1
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/13|9]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/22|18]]
|{{مس|ماهر الماهر}}
|26\07\2026
|{{نفذ}}
|-
|2
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/23|19]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/32|28]]
|{{مس|مصطفي البناا}}
|26\07\2026
|{{نفذ}}
|-
|3
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/33|29]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/42|38]]
|{{مس|مصطفي البناا}}
|26\07\2026
|{{نفذ}}
|-
|4
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/43|39]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/52|48]]
|{{مس|ماهر الماهر}}
|27\07\2026
|{{نفذ}}
|-
|5
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/53|49]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/62|58]]
|{{مس|ماهر الماهر}}
|27\07\2026
|{{نفذ}}
|-
|6
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/63|59]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/72|68]]
|{{مس|مصطفي البناا}}
|28/7/2026
|{{نفذ}}
|-
|7
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/73|69]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/82|78]]
|{{مس|origamos}}
| 28 يوليو
| {{ينفذ}}
|-
|8
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/83|79]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/92|88]]
|{{مس|مصطفي البناا}}
|28/7/2026
|{{ينفذ}}
|-
|9
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/93|89]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/102|98]]
|{{مس|ماهر الماهر}}
|28\07\2026
|{{نفذ}}
|-
|10
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/103|99]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/112|108]]
|{{مس|ماهر الماهر}}
|30\07\2026
|{{نفذ}}
|-
|11
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/113|109]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/122|118]]
|{{مس|ماهر الماهر}}
|30\07\2026
|{{نفذ}}
|-
|12
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/123|119]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/132|128]]
|{{مس|ماهر الماهر}}
|30\07\2026
|{{نفذ}}
|-
|13
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/133|129]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/142|138]]
|{{مس|ماهر الماهر}}
|31\07\2026
|{{ينفذ}}
|-
|14
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/143|139]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/152|148]]
|{{مس|؟؟}}
|
|
|-
|15
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/153|149]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/162|158]]
|{{مس|؟؟}}
|
|
|-
|16
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/163|159]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/172|168]]
|{{مس|؟؟}}
|
|
|-
|17
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/173|169]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/182|178]]
|{{مس|؟؟}}
|
|
|-
|18
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/183|179]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/192|188]]
|{{مس|؟؟}}
|
|
|-
|19
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/193|189]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/202|198]]
|{{مس|؟؟}}
|
|
|-
|20
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/203|199]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/212|208]]
|{{مس|RASHEEDYE}}
|27/7/2026
|{{نفذ}}
|-
|21
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/213|209]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/222|218]]
|{{مس|RASHEEDYE}}
|27/7/2026
|{{نفذ}}
|-
|22
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/223|219]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/232|228]]
|{{مس|RASHEEDYE}}
|28/7/2026
|{{نفذ}}
|-
|23
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/233|229]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/242|238]]
|{{مس|RASHEEDYE}}
|28/7/2026
|{{نفذ}}
|-
|24
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/243|239]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/252|248]]
|{{مس|RASHEEDYE}}
|29/7/2026
|{{نفذ}}
|-
|25
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/253|249]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/262|258]]
|{{مس|origamos}}
| 29 يوليو
| {{نفذ}}
|-
|26
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/263|259]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/272|268]]
|{{مس|RASHEEDYE}}
|29/7/2026
|{{نفذ}}
|-
|27
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/273|269]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/282|278]]
|{{مس|RASHEEDYE}}
|29/7/2026
|{{نفذ}}
|-
|28
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/283|279]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/292|288]]
|{{مس|RASHEEDYE}}
|30/7/2026
|{{نفذ}}
|-
|29
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/293|289]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/302|298]]
|{{مس|RASHEEDYE}}
|30/7/2026
|{{نفذ}}
|-
|30
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/303|299]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/312|308]]
|{{مس|RASHEEDYE}}
|31/7/2026
|{{نفذ}}
|-
|31
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/313|309]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/322|318]]
|{{مس|origamos}}
| 31 يوليو
| {{ينفذ}}
|-
|32
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/323|319]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/332|328]]
|{{مس|RASHEEDYE}}
|31/7/2026
|{{نفذ}}
|-
|33
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/333|329]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/342|338]]
|{{مس|RASHEEDYE}}
|1/8/2026
|{{نفذ}}
|-
|-
|34
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/343|339]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/352|348]]
|{{مس|RASHEEDYE}}
|2/8/2026
|{{نفذ}}
|-
|35
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/353|349]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/362|358]]
|{{مس|RASHEEDYE}}
|7/8/2026
|{{نفذ}}
|-
|36
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/363|359]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/372|368]]
|{{مس|RASHEEDYE}}
|7/8/2026
|{{ينفذ}}
|-
|37
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/373|369]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/382|378]]
|{{مس|RASHEEDYE}}
|8/8/2026
|{{نفذ}}
|-
|38
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/383|379]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/392|388]]
|{{مس|RASHEEDYE}}
|10/8/2026
|{{ينفذ}}
|-
|39
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/393|389]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/402|398]]
|{{مس|RASHEEDYE}}
|
|{{نفذ}}
|-
|40
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/403|399]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/412|408]]
|{{مس|RASHEEDYE}}
|
|{{ينفذ}}
|-
|41
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/413|409]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/422|418]]
|{{مس|؟؟}}
|
|
|-
|42
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/423|419]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/432|428]]
|{{مس|؟؟}}
|
|
|-
|43
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/433|429]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/442|438]]
|{{مس|؟؟}}
|
|
|-
|44
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/443|439]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/452|448]]
|{{مس|؟؟}}
|
|
|-
|45
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/453|449]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/462|458]]
|{{مس|؟؟}}
|
|
|-
|46
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/463|459]]
|align=center|[[صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/469|465]]
|{{مس|؟؟}}
|
|
|}
dgw3hea9o90qasj103kwmfor266ktba
بوابة:الأمم المتحدة
100
306631
617299
615978
2026-08-12T22:30:27Z
Lanhiaze
7710
وفق عنوان الوثيقة
617299
wikitext
text/x-wiki
[[ملف:Flag of the United Nations.svg|thumb|alt=The flag of the United Nations: A white map of the world encircled in a white laurel wreath on a light blue field|علم الأمم المتحدة]]
==الأعمال==
==الاتفاقيات==
*[[اتفاقية القضاء على جميع أشكال التمييز ضد المرأة]] (1979)
*[[بروتوكول اختياري لاتفاقية القضاء على جميع أشكال التمييز ضد المرأة]] (1999)
flgtzn82h3j3bx4fr7vsbpb7lmag5fb
فهرس:United Nations - Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women (1999).pdf
106
306634
617298
616001
2026-08-12T22:30:26Z
Lanhiaze
7710
وفق عنوان الوثيقة
617298
proofread-index
text/x-wiki
{{:MediaWiki:Proofreadpage_index_template
|النوع=book
|العنوان=[[بروتوكول اختياري لاتفاقية القضاء على جميع أشكال التمييز ضد المرأة]]
|Language=ar
|الجزء=
|المؤلف=
|المترجم=
|المحقق=
|المحرر=
|الرسام=
|المدرسة=
|الناشر=[[بوابة:الأمم المتحدة|الأمم المتحدة]]
|المكان=نيويورك
|السنة=1999
|Key=
|ISBN=
|OCLC=
|LCCN=
|BNF_ARK=
|ARC=
|DOI=
|المصدر=pdf
|الصورة=5
|الحالة=C
|Transclusion=yes
|Validation_date=
|الصفحات=<pagelist
1to2="-"
3="Cvr"
4="-"
5="Title"
6="-"
7="Chinese" 8="-" 9=1
15="English" 16="-" 17=1
22="-"
23="French" 24="-" 25=1
33="Russian" 34="-" 35=1
43="Spanish" 44="-" 45=1
52=7 53=6 54=5 55=4 56=3 57=2 58=1
59="-"
60="Arabic"
61="Cert"
62to65="-"
66="Coloph" />
|الأجزاء=
|الملاحظات=
|Width=
|Header=
|Footer={{وسط|-{{{pagenum}}}-}}
|wikidata=
}}
9e2hweo8bmlqvffw54xbw30z6ntk46r
صفحة:United Nations - Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women (1999).pdf/58
104
306694
617296
616043
2026-08-12T22:26:13Z
Lanhiaze
7710
تدقيق إملائي
617296
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="~2026-37686-86" />{{dhr|3}}</noinclude>{{ع|بروتوكول اختياري لاتفاقية القضاء على جميع أشكال التمييز ضد المرأة}}
'''إن الدول الأطراف في هذا البروتوكول.'''
'''إذ تلاحظ''' أن [[ميثاق الأمم المتحدة]] يؤكد من جديد الإيمان بحقوق الإنسان الأساسية، وبكرامة الإنسان وقدره، وبما للرجال والنساء من حقوق متساوية.
'''وإذ تلاحظ أيضا''' أن [[الإعلان العالمي لحقوق الإنسان]] يعلن أن جميع الناس يولدون أحرارا متساوين في الكرامة والحقوق وأن لكل إنسان حق التمتع بكافة الحقوق والحريات الواردة في الإعلان، دون أي تمييز من أي نوع، بما في ذلك التمييز على أساس الجنس.
'''وإذ تشير''' إلى أن العهدين الدوليين الخاصين بحقوق الإنسان والصكوك الدولية الأخرى لحقوق الإنسان تحظر التمييز على أساس الجنس.
'''وإذ تشير أيضا''' إلى [[اتفاقية القضاء على جميع أشكال التمييز ضد المرأة]] "الاتفاقية"، التي تدين فيها الدول الأطراف التمييز ضد المرأة بجميع أشكاله وتوافق على أن تنتهج بكل الطرق الملائمة ودون تأخير سياسة للقضاء على التمييز ضد المرأة.
'''وإذ تعيد''' تأكيد تصميمها على ضمان تمتع المرأة التام، وعلى قدم المساواة بجميع حقوق الإنسان والحريات الأساسية واتخاذ إجراءات فعالة لمنع وقوع انتهاكات لهذه الحقوق والحريات.
'''اتفقت على ما يلي:'''
{{ع3|المادة ١}}
تعترف الدولة الطرف في هذا البروتوكول ("الدولة الطرف") باختصاص لجنة القضاء على التمييز ضد المرأة ("اللجنة") فيما يتعلق بتلقي الرسائل المقدمة وفقا للمادة ٢ والنظر فيها.
{{ع3|المادة ٢}}
يجوز أن تقدم الرسائل من قبيل أو نيابة عن أفراد أو مجموعات أفراد خاضعين لولاية دولة طرف ويدعون أنهم ضحايا انتهاك تلك الدولة الطرف لأي من الحقوق المحددة في الاتفاقية. وحيثما تقدم رسالة نيابة عن أفراد أو مجموعات أفراد يكون ذلك بموافقتهم، إلا إذا استطاع كاتب الرسالة أن يبرر تصرفه نيابة عنهم دون الحصول على تلك الموافقة.
{{أسفل}}<noinclude></noinclude>
gw4cnj7oyv6plcuw4162qmn3h0k7gjo
صفحة:United Nations - Optional Protocol to the Convention on the Elimination of All Forms of Discrimination against Women (1999).pdf/52
104
306698
617266
615993
2026-08-12T19:40:53Z
~2026-44033-07
72767
617266
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="~2026-37686-86" /></noinclude>{{ع3|المادة ٢١}}
١- يودع هذا البروتوكول، الذي تتساوى نصوصه باللغات الاسبانية والانكليزية والروسية والصينية والعربية والفرنسية في الحجية في محفوظات الأمم المتحدة.
٢- يحيل الأمين العام للأمم المتحدة نسخا معتمدة من هذا البروتوكول إلى جميع الدول المشار إليها في المادة ٢٥ من الاتفافية<noinclude>{{وسط|— — — — —}}
{{وسط|-7-}}</noinclude>
dqfwf2dsea6krxyx8cejgn2kduvf3u2
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/368
104
306907
617186
616856
2026-08-12T13:16:58Z
RASHEEDYE
15342
/* صُححّت */
617186
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>'''رابعاً : معرفة المُرْدَوِجَاتِ والثلاثيات :'''
ينص الجرهمي بدايةً على الفائدة التي يجنيها المستخرج من معرفة هذين النوعين حيث يقول: « ومما يعين على استنباط الحروف المعرفة باستخراج المُرْدَوَجاتِ والثلاثيات »{{حا|علم التعمية ٣٨٥/٢.}}.
١ ــ المزدوجات: لا بد للمستخرج من معرفة القانون العام الناظم لعدد المزدوجات الممكنة ضمن كل نوع من أنواع الكلمات، وذلك عندما نطلب استخراج بعض الحروف ضمن الكلمات حتى لا يتكرر الظن في مزدوجة أو تنسى أخرى. والسبيل إلى معرفة هذا النوع ما ذكره الجرهمي «فأما المزدوجات فالطريق إلى معرفتها أن تعلم كم جملتها على التحقيق لتأمن أن تستخرج منها شيئاً تكرره، أو تبقى منها بقية».
ثم يتبع ذلك بإيراد القانون العام، وهو ما يعرف بـ:
قانون تباديل m عنصر وذلك بأخذ 2 في كل مرة:
Pm³=m(m-1)
ونصه « والوجه في ذلك أن تضرب عدد العدَّة التي تريد أن تعلم ازدواجاتها في أقل منها بواحد، فما بلغ فهو جملة الازدواجات »<sup>(١)</sup>. ثم يشرح خوارزمية الحصول على هذه التباديل وفق طريقة الجدول، ويضرب مثالاً على ذلك المزدوجات التي تخرج من الثلاثي (نصر):
P<small>5</small>²= 3 × 2 = 6
والجدول هو:
<center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| rowspan="2" style="font-weight: normal; padding-left: 15px; vertical-align: middle;" | اتجاه<br />القراءة<br />↓ || ر ر || ص ص || ن ن
|-
| ن ص || ن ر || ر ص
|}
</center>
فنضرب عدد العدَّة في أَقلَّ منها بواحد، وذلك بأن نثبت كل واحد من العِدَّةِ بعدد جملتها غير واحد (أي نكتب كل حرف m - 1 مرة حيث m هي عِدَّة الحروف) ثم نثبت بإزائه باقي العدَّة (الحروف) فنحصل على المزدوجات الست التي تخرج بقراءتها عمودياً:<noinclude>{{سطر|45%|align=right}}
{{حواشي}}
{{يمين|٣٦٦}}</noinclude>
a5d7wwvm9tfzgn5q795bky3f4he7f9e
617187
617186
2026-08-12T13:18:27Z
RASHEEDYE
15342
617187
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>'''رابعاً : معرفة المُرْدَوِجَاتِ والثلاثيات :'''
ينص الجرهمي بدايةً على الفائدة التي يجنيها المستخرج من معرفة هذين النوعين حيث يقول: « ومما يعين على استنباط الحروف المعرفة باستخراج المُرْدَوَجاتِ والثلاثيات »{{حا|علم التعمية ٣٨٥/٢.}}.
١ — '''المزدوجات''': لا بد للمستخرج من معرفة القانون العام الناظم لعدد المزدوجات الممكنة ضمن كل نوع من أنواع الكلمات، وذلك عندما نطلب استخراج بعض الحروف ضمن الكلمات حتى لا يتكرر الظن في مزدوجة أو تنسى أخرى. والسبيل إلى معرفة هذا النوع ما ذكره الجرهمي «فأما المزدوجات فالطريق إلى معرفتها أن تعلم كم جملتها على التحقيق لتأمن أن تستخرج منها شيئاً تكرره، أو تبقى منها بقية».
ثم يتبع ذلك بإيراد القانون العام، وهو ما يعرف بـ:
قانون تباديل m عنصر وذلك بأخذ 2 في كل مرة:
Pm³=m(m-1)
ونصه « والوجه في ذلك أن تضرب عدد العدَّة التي تريد أن تعلم ازدواجاتها في أقل منها بواحد، فما بلغ فهو جملة الازدواجات »<sup>(١)</sup>. ثم يشرح خوارزمية الحصول على هذه التباديل وفق طريقة الجدول، ويضرب مثالاً على ذلك المزدوجات التي تخرج من الثلاثي (نصر):
P<small>5</small>²= 3 × 2 = 6
والجدول هو:
<center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| rowspan="2" style="font-weight: normal; padding-left: 15px; vertical-align: middle;" | اتجاه<br />القراءة<br />↓ || ر ر || ص ص || ن ن
|-
| ن ص || ن ر || ر ص
|}
</center>
فنضرب عدد العدَّة في أَقلَّ منها بواحد، وذلك بأن نثبت كل واحد من العِدَّةِ بعدد جملتها غير واحد (أي نكتب كل حرف m - 1 مرة حيث m هي عِدَّة الحروف) ثم نثبت بإزائه باقي العدَّة (الحروف) فنحصل على المزدوجات الست التي تخرج بقراءتها عمودياً:<noinclude>{{سطر|45%|align=right}}
{{حواشي}}
{{يمين|٣٦٦}}</noinclude>
0ftc1vygk3kdmvfvj50dumpqe51yza6
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/387
104
306991
617188
616909
2026-08-12T13:25:28Z
RASHEEDYE
15342
617188
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude><nowiki/>
/وكذلك الواوُ والنُّونُ في هذا الجمعِ، والألِفُ والنُّونُ والياءُ والنُّونُ أيضاً في التثنيةِ،{{حاشية من اليسار|[٨٤/أ]}} وكَذلِكَ الألِفُ والتَّاءُ في مسلماتٍ صالحاتٍ، وكذلِكَ ما سِوى هذا من المضمَراتِ، مثل: هُما وهُنَّ في مثلِ: ضرَبَهُما وضَرَبَهُنَّ، وما يَجري مَجرى ذلكَ، فإن تكرارَ هذهِ الحروفِ متتاليةً في آخِرِ الكلمِ يدلُّ عليها، كما يدلُّ تكرارُ الألِفِ واللامِ متتاليينِ عليها، فهذا النوعُ في أواخِرِ الكلمِ يجري مَجرى الألِفِ واللامِ في أوَّلِها.
وممَّا يعينُ على استنباطِ الحروفِ، المعرفةُ باستخراجِ المُزْدَوجاتِ والثلاثياتِ.
فأمَّا المُزْدَوجاتُ فالطريقُ إلى معرفتِها أن تعلمَ كم جُملتُها على التحقيقِ لتأمنَ أن تستخرجَ منها شيئاً تكرُّرهُ، أو تُبقي منها بقيةً{{حا|حتى لا يتكرر فيها شيء من المزدوجات أو ينقص.}} والوجهُ في ذلك أن تضربَ عددَ العِدَّةِ التي تريدُ أن تعلمَ ازدواجياتِها في أقلَّ منها بواعِدٍ، فما بلغَ فهو جملةُ الازدواجاتِ. فإذا أردتَ شرحَها فأثبِتْ كلَّ واحدٍ من العِدَّةِ بعدَدِ جُملتِها غيرَ واحِدٍ، وأثبِتْ بإزائِهِ باقي العِدَّةِ، فيكونُ ذلك شرحُ الازدواجاتِ. مثالُ ذلك: أرَدْنا أن نعلمَ كم مزدوجٌ يخرجُ من (نصر) وهو ثلاثةُ أحرفٍ، فنضربُ ثلاثةً في اثنينِ فتكونُ ستّةً ، فنقولُ: إنَّ جملةَ مزدوجاتِ هذهِ الثلاثةِ الأحرفِ ستّةٌ، فإذا أردنا شرحَها أثبتنا كلَّ حرفٍ منها مرّتينِ /وأثبتنا بإزائِهِ بقيةَ {{حاشية من اليسار|[٨٤/ب]}}الحروفِ، وجعلناهُ في جدولٍ فيصيرُ هكذا:
<center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| ر ر || ص ص || ن ن
|-
| ن ص || ن ر || ر ص
|}
</center>
وأمَّا الثلاثياتُ فطريقُ معرفةِ جُملةِ عِدَّتِها قبلَ معرفةِ تفصيلِها هو أن تُضَعِّفَ جُملتَها فما بلغَ فهو عددُ الثلاثياتِ بغيرِ تكرارٍ ولا نقصانٍ{{حا|أي بغير تكرار ثلاثية ولا نقصان واحدة كما مضى في المزدوجات (الثنائيات)}}، فإذا أردتَ شرحَها فأثبِتْ كلَّ حرفٍ من حروفِ جُملتِها بعدَدِ الجملةِ، وأثبِتْ بإزاءِ كلِّ صورةٍ منهُ واحِداً من الحروفِ، فيخرُجُ لكَ ستَّ عشرةَ كلمةً{{حا|في الأصل (ستة عشر) وهو خطأ من ناسخه، والكلام هنا يتعلق بالكلمة الرباعية وحدها، إذ يريد استخراج الثلاثيات من كلمة رباعية.}}، كلُّ كلمةٍ من حرفينِ، فنفرضُ لكَ في (جعفر) وهو
{{سطر|45%|align=right}}<noinclude>{{حواشي}}
{{يسار|٣٨٥}}</noinclude>
hsj392cd1712qthimc57l1gh3b4nsly
617189
617188
2026-08-12T13:26:42Z
RASHEEDYE
15342
617189
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude><nowiki/>
/وكذلك الواوُ والنُّونُ في هذا الجمعِ، والألِفُ والنُّونُ والياءُ والنُّونُ أيضاً في التثنيةِ،{{حاشية من اليسار|[٨٤/أ]}} وكَذلِكَ الألِفُ والتَّاءُ في مسلماتٍ صالحاتٍ، وكذلِكَ ما سِوى هذا من المضمَراتِ، مثل: هُما وهُنَّ في مثلِ: ضرَبَهُما وضَرَبَهُنَّ، وما يَجري مَجرى ذلكَ، فإن تكرارَ هذهِ الحروفِ متتاليةً في آخِرِ الكلمِ يدلُّ عليها، كما يدلُّ تكرارُ الألِفِ واللامِ متتاليينِ عليها، فهذا النوعُ في أواخِرِ الكلمِ يجري مَجرى الألِفِ واللامِ في أوَّلِها.
وممَّا يعينُ على استنباطِ الحروفِ، المعرفةُ باستخراجِ المُزْدَوجاتِ والثلاثياتِ.
فأمَّا المُزْدَوجاتُ فالطريقُ إلى معرفتِها أن تعلمَ كم جُملتُها على التحقيقِ لتأمنَ أن تستخرجَ منها شيئاً تكرُّرهُ، أو تُبقي منها بقيةً{{حا|حتى لا يتكرر فيها شيء من المزدوجات أو ينقص.}} والوجهُ في ذلك أن تضربَ عددَ العِدَّةِ التي تريدُ أن تعلمَ ازدواجياتِها في أقلَّ منها بواعِدٍ، فما بلغَ فهو جملةُ الازدواجاتِ. فإذا أردتَ شرحَها فأثبِتْ كلَّ واحدٍ من العِدَّةِ بعدَدِ جُملتِها غيرَ واحِدٍ، وأثبِتْ بإزائِهِ باقي العِدَّةِ، فيكونُ ذلك شرحُ الازدواجاتِ. مثالُ ذلك: أرَدْنا أن نعلمَ كم مزدوجٌ يخرجُ من (نصر) وهو ثلاثةُ أحرفٍ، فنضربُ ثلاثةً في اثنينِ فتكونُ ستّةً ، فنقولُ: إنَّ جملةَ مزدوجاتِ هذهِ الثلاثةِ الأحرفِ ستّةٌ، فإذا أردنا شرحَها أثبتنا كلَّ حرفٍ منها مرّتينِ /وأثبتنا بإزائِهِ بقيةَ {{حاشية من اليسار|[٨٤/ب]}}الحروفِ، وجعلناهُ في جدولٍ فيصيرُ هكذا:
<center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| ر|| ر || ص ||ص || ن|| ن
|-
| ن ||ص || ن|| ر || ر|| ص
|}
</center>
وأمَّا الثلاثياتُ فطريقُ معرفةِ جُملةِ عِدَّتِها قبلَ معرفةِ تفصيلِها هو أن تُضَعِّفَ جُملتَها فما بلغَ فهو عددُ الثلاثياتِ بغيرِ تكرارٍ ولا نقصانٍ{{حا|أي بغير تكرار ثلاثية ولا نقصان واحدة كما مضى في المزدوجات (الثنائيات)}}، فإذا أردتَ شرحَها فأثبِتْ كلَّ حرفٍ من حروفِ جُملتِها بعدَدِ الجملةِ، وأثبِتْ بإزاءِ كلِّ صورةٍ منهُ واحِداً من الحروفِ، فيخرُجُ لكَ ستَّ عشرةَ كلمةً{{حا|في الأصل (ستة عشر) وهو خطأ من ناسخه، والكلام هنا يتعلق بالكلمة الرباعية وحدها، إذ يريد استخراج الثلاثيات من كلمة رباعية.}}، كلُّ كلمةٍ من حرفينِ، فنفرضُ لكَ في (جعفر) وهو
{{سطر|45%|align=right}}<noinclude>{{حواشي}}
{{يسار|٣٨٥}}</noinclude>
5k1sect1ntvpwom02ej3rodkd9v3qqj
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/388
104
306992
617192
616910
2026-08-12T13:37:03Z
RASHEEDYE
15342
617192
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>أربعةُ أحرفٍ، ونضربُ أربعةً في أربعةٍ تكونُ ستّةَ عشرَ، ثمَّ في أربعةٍ تصيرُ أربعةً وستّينَ وهيَ مبلغُ الثلاثياتِ{{حا|يلاحظ أنه أدخل المكرر في حساب الثلاثيات مثل (ررر، ججج، فقـف، ععع) خلافاً لما صنعه في المزدوجات، فقد استبعد المكرر منها.}}، ثمَّ نثبِتُ كلَّ واحدٍ من الجيمِ والعينِ والفاءِ والراءِ أربَعَ دفعاتٍ، ونثبِتُ بإزائِها الحروفَ، تكونُ هكذا :
<center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| جج || جع || جف || جر
|-
| عج || مع || عف || عر
|-
| فج || فع || فف || فر
|-
| رج || رع || رف || رر
|}
</center>
ثمَّ نثبِتُ كلَّ واحدةٍ من هذهِ الكلماتِ السِّتَّ عشرةَ أربَعَ دفعاتٍ ، ونثبِتُ بإزاءِ كلِّ واحدةٍ من الأربعةِ واحداً من حروفِ الكَلِمَةِ فتصيرُ على هذهِ الصورةِ/ {{حاشية من اليسار|[٨٥/أ]}}
<center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| ررج || رفج || رعج || رجج || فرج || فقج{{حا| ترتيب ثلاثيات هذا الحقل مخالف لما في الأصل، فقد سها الناسخ وكتبها في الحقل الخامس بين (رجج) و(فرج). وهذا مخالف لترتيب المزدوجات السابق.}} || فعج || فجع
|-
| ررع || رفع || رعع || رجع || فرع || فقع || فعع || فجع
|-
| ررف || رفف || رعف || رجف || فرف || فقف || فعف || فجعف
|-
| ررر || رفر || رعر || رجر || فرر || فقر || فعر || فجر
|}
</center><noinclude>{{سطر|45%|align=right}}
{{حواشي}}
{{يمين|٣٨٦}}</noinclude>
l81x6oajf2qj9kykq2ow2igwkjv9wkt
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/389
104
306993
617193
616911
2026-08-12T13:41:54Z
RASHEEDYE
15342
617193
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude><center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| عر ج || عف ج || عمج || عجر || جر ج || جف ج || جمج || ججج
|-
| عرع || عفع || عمّع || جرع || جراع || جفع || جمع || ججع
|-
| عرف || عفف || عمف{{حا|كتبت في الأصل « جعف » والصواب ما أثبتناه.}} || عجف || جرف || جفف || جعف || ججف
|-
| عرور || عفر || عمر || عجر || جرر || جفر || جعر || مجبر
|}
</center>
<br/>وإِذْ قد بَانَ لكَ كيفَ تُسْتَخْرَجُ المَزْدُوجاتُ والثلاثياتُ فإنَّا نَقولُ: إن كُنْتَ طالِباً للمَزْدَوجِ أو الثلاثي لأَجلِ كلمةٍ حروفُها اثنانِ أو ثلاثةٌ حسْبُ ، فيجبُ أن تلغيَ المهملَ ممَّا خرجَ، وتنظرَ ما الأَلْيَقُ ممَّا بقِيَ ممَّا يفيدُ الموضوعَ{{حا|فوقها في الأصل « من » وقبلها « بالوضع » ورسم فوقها إشارة غير واضحة ، وهي أقرب إلى إشارة الضرب.}} الذي هو فيهِ ، فتحكمَ بأنَّه هو المطلُوبُ. مثلُ أن يبقى من حروفِ المعجمِ ، بعدَ ما ظهرَ منها ، الخاءُ والذَّالُ والزَّايُ والصَّادُ ، ومعنا كلمةٌ من حرفينِ نريدُ أن نَعْلَمَها ، فنستخرجُ مزدوجاتِ هذهِ الأربعةِ الأحرفِ ، وهيَ اثنا عَشَرَ ، ونلغي المهملَ منها ، يبقى من الكلماتِ المفيداتِ وهيَ: خَذْ ، خَزْ ، خَصَّ ، فنجعلُ في موضعِ هذهِ الكلمةِ الأَشْبَهَ بها من هذهِ الكلماتِ الثلاثِ.
واعلمْ أنَّهُ قد نقِفُ علَى أكثَرِ حروفِ الكلمةِ عدَا{{حا|في الأصل « حتى على » وهو تحريف. والمثبت أشبه بالصواب.}} حرفٍ واحِدٍ ، فإذا كانَ كذلكَ ، فاعزلْ من حروفِ المعجمِ ما عرَفْتَهُ في الكلمةِ وغيرِها ، واعرضْ بقِيَتَها واحِداً واحِداً، فتخرجُ لكَ كلمةٌ أو كلماتٌ /مستعملاتٌ{{حا|هذه الصفحة ٨٥/ب ليست بينة في الأصل لغياب رسم كثير من كلماتها. وقد استدركنا ذلك النقص من صورة اللقطات التي أرسلها إلينا د. عبد الرحمن المذلق بعد كتابتنا إليه في أمرهما، وسعيه المحمود لتحقيق ذلك، ثم تصويرها على يد الدكتور عبد العزيز المانع. بارك الله فيهما ، وأثابهما كفاء ما أسدياه إلينا.}} {{حاشية من اليسار|[٨٥/ب]}}، فالأَلْيَقُ بالموضوعِ منها المطلُوبُ. مثلُ أن يكونَ معَكَ كلمةٌ من أربعةِ أحرُفٍ وهيَ ( مرهف ). وقد علِمْتَ الثلاثَةَ الأُولَى ، وبقِيَ من حروفِ المعجمِ ما لم تعرفه: الفاءُ والجيمُ والباءُ والذَّالُ والظَّاءُ والعَيْنُ<noinclude>
{{سطر|45%|align=right}}
{{حواشي}}
{{يسار|٣٨٧}}</noinclude>
52isintjohu5bhhuncevu8t5fj3q8qh
617194
617193
2026-08-12T13:42:19Z
RASHEEDYE
15342
617194
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude><center>
{| class="wikitable" style="text-align: center; background-color: transparent; border: none; font-weight: ;"
|-
| عر ج || عف ج || عمج || عجر || جر ج || جف ج || جمج || ججج
|-
| عرع || عفع || عمّع || جرع || جراع || جفع || جمع || ججع
|-
| عرف || عفف || عمف{{حا|كتبت في الأصل « جعف » والصواب ما أثبتناه.}} || عجف || جرف || جفف || جعف || ججف
|-
| عرور || عفر || ععر || عجر || جرر || جفر || جعر || مجبر
|}
</center>
<br/>وإِذْ قد بَانَ لكَ كيفَ تُسْتَخْرَجُ المَزْدُوجاتُ والثلاثياتُ فإنَّا نَقولُ: إن كُنْتَ طالِباً للمَزْدَوجِ أو الثلاثي لأَجلِ كلمةٍ حروفُها اثنانِ أو ثلاثةٌ حسْبُ ، فيجبُ أن تلغيَ المهملَ ممَّا خرجَ، وتنظرَ ما الأَلْيَقُ ممَّا بقِيَ ممَّا يفيدُ الموضوعَ{{حا|فوقها في الأصل « من » وقبلها « بالوضع » ورسم فوقها إشارة غير واضحة ، وهي أقرب إلى إشارة الضرب.}} الذي هو فيهِ ، فتحكمَ بأنَّه هو المطلُوبُ. مثلُ أن يبقى من حروفِ المعجمِ ، بعدَ ما ظهرَ منها ، الخاءُ والذَّالُ والزَّايُ والصَّادُ ، ومعنا كلمةٌ من حرفينِ نريدُ أن نَعْلَمَها ، فنستخرجُ مزدوجاتِ هذهِ الأربعةِ الأحرفِ ، وهيَ اثنا عَشَرَ ، ونلغي المهملَ منها ، يبقى من الكلماتِ المفيداتِ وهيَ: خَذْ ، خَزْ ، خَصَّ ، فنجعلُ في موضعِ هذهِ الكلمةِ الأَشْبَهَ بها من هذهِ الكلماتِ الثلاثِ.
واعلمْ أنَّهُ قد نقِفُ علَى أكثَرِ حروفِ الكلمةِ عدَا{{حا|في الأصل « حتى على » وهو تحريف. والمثبت أشبه بالصواب.}} حرفٍ واحِدٍ ، فإذا كانَ كذلكَ ، فاعزلْ من حروفِ المعجمِ ما عرَفْتَهُ في الكلمةِ وغيرِها ، واعرضْ بقِيَتَها واحِداً واحِداً، فتخرجُ لكَ كلمةٌ أو كلماتٌ /مستعملاتٌ{{حا|هذه الصفحة ٨٥/ب ليست بينة في الأصل لغياب رسم كثير من كلماتها. وقد استدركنا ذلك النقص من صورة اللقطات التي أرسلها إلينا د. عبد الرحمن المذلق بعد كتابتنا إليه في أمرهما، وسعيه المحمود لتحقيق ذلك، ثم تصويرها على يد الدكتور عبد العزيز المانع. بارك الله فيهما ، وأثابهما كفاء ما أسدياه إلينا.}} {{حاشية من اليسار|[٨٥/ب]}}، فالأَلْيَقُ بالموضوعِ منها المطلُوبُ. مثلُ أن يكونَ معَكَ كلمةٌ من أربعةِ أحرُفٍ وهيَ ( مرهف ). وقد علِمْتَ الثلاثَةَ الأُولَى ، وبقِيَ من حروفِ المعجمِ ما لم تعرفه: الفاءُ والجيمُ والباءُ والذَّالُ والظَّاءُ والعَيْنُ<noinclude>
{{سطر|45%|align=right}}
{{حواشي}}
{{يسار|٣٨٧}}</noinclude>
k05ltrgfaj8xxknbm3wwo4hbr42au1x
فهرس:The Method of Medicine WDL7478.pdf
106
307102
617214
617160
2026-08-12T14:49:44Z
حبيشان
52457
تنسيق ويكي
617214
proofread-index
text/x-wiki
{{:MediaWiki:Proofreadpage_index_template
|النوع=book
|العنوان=[[التصريف لمن عجز عن التأليف]]
|Language=ar
|الجزء=
|المؤلف=الزهراوي
|المترجم=
|المحقق=
|المحرر=
|الرسام=
|المدرسة=
|الناشر=
|المكان=
|السنة=
|Key=
|ISBN=
|OCLC=
|LCCN=
|BNF_ARK=
|ARC=
|DOI=
|المصدر=pdf
|الصورة=2
|الحالة=X
|Transclusion=no
|Validation_date=
|الصفحات=<pagelist
1="–"
2="غلاف"
3="–"
4="1"
4to251="arab"
13="2"
12="غلاف"
252to253="إعلان" />
|الأجزاء=
|الملاحظات=
|Width=
|Header={{رص|{{{pagenum}}}||زهراوي}}
|Footer=
|wikidata=
}}
rwzcnx8kcp8jsbi5nomgp4p08uhxfri
617215
617214
2026-08-12T14:50:59Z
حبيشان
52457
تنسيق ويكي
617215
proofread-index
text/x-wiki
{{:MediaWiki:Proofreadpage_index_template
|النوع=book
|العنوان=[[التصريف لمن عجز عن التأليف]]
|Language=ar
|الجزء=
|المؤلف=الزهراوي
|المترجم=
|المحقق=
|المحرر=
|الرسام=
|المدرسة=
|الناشر=
|المكان=
|السنة=
|Key=
|ISBN=
|OCLC=
|LCCN=
|BNF_ARK=
|ARC=
|DOI=
|المصدر=pdf
|الصورة=2
|الحالة=X
|Transclusion=no
|Validation_date=
|الصفحات=<pagelist
1="–"
2="غلاف"
3="–"
4="1"
4to251="arab"
13="2"
12="غلاف"
252to253="إعلان" />
|الأجزاء=
|الملاحظات=
|Width=
|Header={{رص تبديل برقم موسط|{{{pagenum}}}||زهراوي}}
|Footer=
|wikidata=
}}
gu0k7vn6a3sr3pqx482vci2mbskseql
617217
617215
2026-08-12T15:22:09Z
~2026-43953-13
72772
617217
proofread-index
text/x-wiki
{{:MediaWiki:Proofreadpage_index_template
|النوع=book
|العنوان=[[التصريف لمن عجز عن التأليف]]
|Language=ar
|الجزء=
|المؤلف=الزهراوي
|المترجم=
|المحقق=
|المحرر=
|الرسام=
|المدرسة=
|الناشر=
|المكان=
|السنة=
|Key=
|ISBN=
|OCLC=
|LCCN=
|BNF_ARK=
|ARC=
|DOI=
|المصدر=pdf
|الصورة=2
|الحالة=X
|Transclusion=no
|Validation_date=
|الصفحات=<pagelist
1="–"
2="غلاف"
3="–"
4="1"
4to251="arab"
13="2"
12="غلاف"
252to253="إعلان" />
|الأجزاء=
|الملاحظات=
|Width=
|Header={{رص|تبصرة|{{{pagenum}}}|زهراوي}}
|Footer=
|wikidata=
}}
k9jvlahpycdwe4ygyrcwgfitfecokbf
صفحة:The Method of Medicine WDL7478.pdf/4
104
307105
617218
617168
2026-08-12T15:23:45Z
~2026-43953-13
72772
617218
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="~2026-44033-07" />{{رص|تبصره|١|زهراوی}}</noinclude>{{ع2|تبصره}}
اشهد ان لا اله الا الله وحده لا شريك له شهادة اترقى بها الى درجات الصلاح
احمده واشکره و اشهد ان محمدا عبده و رسوله الهادى الى الرشد والفلاح
صلى الله عليه وعلى آله واصحابه الذين جاهدوا في الله حق جهاده مجد العزائم
وحد السلام أما بعد فأيها السائل عن ترجمة مصنف هذا الكتاب الذي التزم
اجادة تهذيب طبعه الهام الفاضل ذوالاخلاق المرضية والعقل الكامل الخواجة
الحافظ {{سطر فوقي|قطب الدین احمد}} شكر الله له هذا المسعى الجميل في مطبعه المسماة {{سطر فوقي|بالنامي}} لافادة
تلامذة مد است تكميل الطب التي هي مدرسة وحيدة في العالم للطب اليوناني حيث تعلم
فيها تلك الصناعة بسائر فروعها سيما الجراحة وغيرها من الاعمال بالسيد على الاسد
المختص بتلك الصناعة اليونانية قد بنى تلك المدرسة اوستاذنا العلام المطيب الفهام
سلطان، الأطباء في هذا العصر الشيخ الحكيم المولوى محمد عبد العزيز الكنوى الطبيب
وهوا ان هبت علينا بانفاسه الجميلة رياح هذه الصناعة بعد ان كانت انديتها
مختفية في زوايا الذل والحمول بشيوع الطب الجديد واند راس اركان هذه الصناعة
القديمة الفاضلة ادام الله علينا ظلال نفوسه القدسية واشعة حياته المرضية
قدا جبت سؤلك فاعلم ان مصنف هذا الكتاب الشيخ {{سطر فوقي|ابو القاسم خلف ابن عباس}}
الاندا ولا الزهراوى ولد في الزهراء بجوار قرطبة الابل ولقبه اهل عصره بالزهراوى
لنسبة الى تلك البلدة وهى التى كان قد اختطها الامير عبد الرحمن الثالث لا حبل
الفصل رهراء وعبد الرحمن هذا هو الامير الثامن من بني امية الاندلسيين
الفصل التاسع والعشر ارياء العرب وجراحيهم العظام خبيرا بالأدوية المفردة والمركبة
الفصل الواحد والثلاثون فی کی الطبيب اليوناني بوليس المنسوب إلى جزيرة<noinclude></noinclude>
k6rqmm2q1q1km2ny6ls3zvwgzw2tijm
مستخدم:عرفات عثمان
2
307119
617185
2026-08-12T12:20:25Z
عرفات عثمان
72785
/* */
617185
wikitext
text/x-wiki
Angel
2siwjj7q4810uw7z3p4vv8qia8rjtul
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/393
104
307120
617195
2026-08-12T13:47:27Z
RASHEEDYE
15342
/* صُححّت */
617195
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>{{ع3|الخاتمة}}
<br /><br />
ضمَّ هذا الجزء ثماني رسائل مخطوطة في علم التعمية واستخراج المعمى (التشفير وكسر الشَّفْرة)، وهي تنتمي إلى عصور مختلفة، وتؤلف مع رسائل الجزء الأول مجموعة متكاملة تجلو مفاهيم هذين العلمين، وتثبت أسبقية العرب في وضعهما، وتبين مراحل التأليف فيهما.
ولا شك أن من وراء هذه الرسائل مؤلفاتٍ أخرى تنحو نحوها، وتحاكي ما فيها، وقد تزيد عليها، لن نألو جهداً في البحث عنها والعثور عليها بغية استكمال جملة ما أُلِّفَ في هذا الفن، بيد أن همنا منصرف في الجزء الثالث إلى إخراج نصوص الأقلام القديمة، أو اللغات البائدة التي ستثبت بما لا يدع مجالاً للشك أن علماء العرب سبقوا شامبليون وغيره في الوقوف على اللغات القديمة وفي مقدمتها اللغة الهيروغليفية، وقد تَبَدَّى ذلك في غير ما مؤلَّف من مؤلَّفاتهم، من مثل «شوق المستهام في معرفة رموز الأقلام» لابن وحشية النبطي، وهو يشتمل على واحد وثمانين قلماً، و«حل الرموز وبرء الأسقام في كشف علوم أصول لغات الأقلام» لذي النون المصري، وهو يشتمل على أكثر من مئتي قلم، كان معظمها يستعمل في التعمية، القلم القبطي الفهلوي، والقلم المشجر، وأقلام جابر بن حيان المستعملة في تعمية علم الصنعة (الكيمياء) قديماً.
وكل ما نرجوه في ختام أن نكون قد أسهمنا في الكشف عن جانب مهم من جوانب حضارتنا العربية الإسلامية الأصيلة، سائلين المولى جل وعلا أن يسدد خطانا ويلهمنا رشدنا، والله من وراء القصد، وهو يهدي السبيل.
<br /><br /><br /><br /><noinclude>
{{يسار|٣٩١}}</noinclude>
npx46r58nzvjioqytwujfrihlvgy746
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/395
104
307121
617196
2026-08-12T13:51:59Z
RASHEEDYE
15342
/* صُححّت */
617196
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><br/><br/>
{{ع3|ملحق<br/>أبيات حروف المعجم<br/> وأبيات المعاياة مسجلة من مجموع المخطوطات.}}
<br /><br /><br /><br /><noinclude>{{يسار|٣٩٣}}</noinclude>
6mihporom4yozbidl152zkk4gx1v06d
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/397
104
307122
617197
2026-08-12T13:59:54Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب' {{ع3|ثَبْت بأبيات تجمع حروف المعجم}} <br /><br /> {{أبيات|١ — ثابر على حفظ خضر واستشر فطناً \\ وزِجَ همَّكَ في بغـدادَ واصْطَبِرِ}} {{أبيات|٢ — صَحَّ عندي وقْتَ شغْ——ـلٍ بهمِ \\ أخذُ فظّ كَثَّ زَطّ ضَرَجَسِ}} {{أبيات|٣ — طَرَقَتْ شُموسٌ فَظَ———لَّ ذا جَزَعٍ \\ أبَ——...'
617197
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>
{{ع3|ثَبْت بأبيات تجمع حروف المعجم}}
<br /><br />
{{أبيات|١ — ثابر على حفظ خضر واستشر فطناً \\ وزِجَ همَّكَ في بغـدادَ واصْطَبِرِ}}
{{أبيات|٢ — صَحَّ عندي وقْتَ شغْ——ـلٍ بهمِ \\ أخذُ فظّ كَثَّ زَطّ ضَرَجَسِ}}
{{أبيات|٣ — طَرَقَتْ شُموسٌ فَظَ———لَّ ذا جَزَعٍ \\ أبَ——ـداً حديثُكَ نصُّهُ غَضُّ}}
{{أبيات|٤ — قد ضَجَّ زَحْرٌ وشَك——ـا بَثَّهُ \\ مذْ سَخِطَتْ غُصْنٌ على لإِفِظِ}}
{{أبيات|٥ — هلا سَكَنْتَ بذِي ضِغْثٍ فقد زعموا \\ خرجَتْ تطلُبُ ظَبْياً راحَ مُنْشَاصا}}
{{أبيات|٦ — كم أُوحْـطِ صِلَالُه دَرْسَعٌ \\ في بَرْخَشٍ غَضّ ثَجّ تَدْنُ———قُ}}
{{حاشية من اليسار|[ الجزء الأول ١٦٩ ]}}
{{أبيات|٧ — صيفٌ خَلَقْ خَوْدٍ كمثلِ الشمسِ إذ بزَغَتْ \\ يحظى الضجيعُ بها نجلاءُ معطارُ}}
{{أبيات|٨ — مُزَرَّفنُ الصُّدْغِ يسطو لحْظُهُ عَبَثاً \\ بالخَلْقِ جَذْلَانَ إن يَشْكُ الهوى ضحكا}}
<br /><br /><br /><br />
{{يسار|٣٩٥}}
{{ اليمين|}}<noinclude></noinclude>
5exhhkxo0bfqrmxkxqx6hp98x0ywkju
617198
617197
2026-08-12T14:00:46Z
RASHEEDYE
15342
617198
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>
{{ع3|ثَبْت بأبيات تجمع حروف المعجم}}
<br /><br />
{{أبيات|١ — ثابر على حفظ خضر واستشر فطناً \\ وزِجَ همَّكَ في بغـدادَ واصْطَبِرِ}}
{{أبيات|٢ — صَحَّ عندي وقْتَ شغْ——ـلٍ بهمِ \\ أخذُ فظّ كَثَّ زَطّ ضَرَجَسِ}}
{{أبيات|٣ — طَرَقَتْ شُموسٌ فَظَ———لَّ ذا جَزَعٍ \\ أبَ——ـداً حديثُكَ نصُّهُ غَضُّ}}
{{أبيات|٤ — قد ضَجَّ زَحْرٌ وشَك——ـا بَثَّهُ \\ مذْ سَخِطَتْ غُصْنٌ على لإِفِظِ}}
{{أبيات|٥ — هلا سَكَنْتَ بذِي ضِغْثٍ فقد زعموا \\ خرجَتْ تطلُبُ ظَبْياً راحَ مُنْشَاصا}}
{{أبيات|٦ — كم أُوحْـطِ صِلَالُه دَرْسَعٌ \\ في بَرْخَشٍ غَضّ ثَجّ تَدْنُقُ}}
{{حاشية من اليسار|[ الجزء الأول ١٦٩ ]}}
{{أبيات|٧ — صيفٌ خَلَقْ خَوْدٍ كمثلِ الشمسِ إذ بزَغَتْ \\ يحظى الضجيعُ بها نجلاءُ معطارُ}}
{{أبيات|٨ — مُزَرَّفنُ الصُّدْغِ يسطو لحْظُهُ عَبَثاً \\ بالخَلْقِ جَذْلَانَ إن يَشْكُ الهوى ضحكا}}
<br /><br /><br /><br />
{{يسار|٣٩٥}}<noinclude></noinclude>
d4otom3iyiuhscl8j2wk8by053890c0
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/398
104
307123
617200
2026-08-12T14:03:00Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'Converted by Tiff Combine - (no stamps are applied by registered version) ثبت رأبيات المعاياة ا - دار أسماء عراه دارش عار دارش ٢ - عج تنم قربك دعد أماً إنما دعد كبرق منتجع ٣ - حمل قبل السيف تدرك شرفاً شرفاً بالسيف تدرك صل فصل كأنني فوق أقب مهـــــوق جاب إذا عشر صات الإرف ٤ کیا ه زار داود دار روح و...'
617200
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>Converted by Tiff Combine - (no stamps are applied by registered version)
ثبت رأبيات المعاياة
ا - دار أسماء عراه
دارش
عار دارش
٢ - عج تنم قربك دعد أماً إنما دعد كبرق منتجع
٣ - حمل قبل السيف تدرك شرفاً شرفاً بالسيف تدرك صل فصل
كأنني فوق أقب مهـــــوق جاب إذا عشر صات الإرف
٤
کیا
ه زار داود دار روح وروح زار
٦ - ربيعة الرف من حبك
Y
هام فؤادي فدع وا لومـ
هو اسم من
داود
إذ
أراد
رداه
مات بلا حاء وت
بالعين
واد إني له
ميم وح
ن يمن يُمنُ بِمَنُ؟ ثَمَنُ :
سون وميم وهـ
٣٩٦<noinclude></noinclude>
kv102awm5u0e0766xsk5k4wn065258k
617304
617200
2026-08-13T07:06:07Z
RASHEEDYE
15342
617304
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|ثبت أبيات الماياة}}
<br /><br />
١ — دارُ أسماءَ عَرَاهَا دارِسٌ \\ رَبْعُها الهَامِدُ عارٍ دارِسُ
٢ — عِجْ تَنَمْ قُرْبَك دَعْدٌ آمِناً \\ إِنَّما دَعْدٌ كَبَرْقٍ مُنْتَجِعْ
٣ — صِلْ فَسِلْ السيفَ تَدْرُكْ شَرَفاً *** شَرَفاً بالسيفِ تَدْرُكْ صِلْ فَسِلْ
٤ — كَأنَّني فوقَ أَقَبَّ مَهْوُوقِ \\ جَأْبٍ إذا عشْرُ صَاتَ الإِنْسانِ
٥ — زارَ داودُ دارَ روحٍ ورَوْحٌ \\زارَ داودُ إذ أرادَ رِدَاهُ
٦ — رَبِيعَةُ الرَّقِّيِّ من حُبِّكم \\ ماتَ بلا حاءٍ وتاءٍ وفــــا
: هامَ فؤادي فدَعُـــوا لَوْمَــــه \\ بالعينِ والنُّونِ وميمٍ وهــــا
: هو اسمٌ من أهـــــواهُ إني له \\ميمٌ وحــــاءٌ تَهْتَجَى ويا
٧ ــ بِمَنْ يَمُُنُّ يُمْنُ بِمَنْ؟ *** ثَمَّنَ يُُمْنٍ ثَمَّنَّ ثُمْنِي
<br /><br /><br /><br />
{{يمين|٣٩٦}}<noinclude></noinclude>
fsoa1g4losb06gajfsuv35vc4j1v8k6
617305
617304
2026-08-13T07:08:19Z
RASHEEDYE
15342
617305
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|ثبت أبيات المعاياة}}
<br /><br />
{{أبيات|١ — دارُ أسماءَ عَرَاهَا دارِسٌ \\ رَبْعُها الهَامِدُ عارٍ دارِسُ}}
{{أبيات|٢ — عِجْ تَنَمْ قُرْبَك دَعْدٌ آمِناً \\ إِنَّما دَعْدٌ كَبَرْقٍ مُنْتَجِعْ}}
{{أبيات|٣ — صِلْ فَسِلْ السيفَ تَدْرُكْ شَرَفاً \\ شَرَفاً بالسيفِ تَدْرُكْ صِلْ فَسِلْ}}
{{أبيات|٤ — كَأنَّني فوقَ أَقَبَّ مَهْوُوقِ \\ جَأْبٍ إذا عشْرُ صَاتَ الإِنْسانِ}}
{{أبيات|٥ — زارَ داودُ دارَ روحٍ ورَوْحٌ \\زارَ داودُ إذ أرادَ رِدَاهُ}}
{{أبيات|٦ — رَبِيعَةُ الرَّقِّيِّ من حُبِّكم \\ ماتَ بلا حاءٍ وتاءٍ وفــــا}}
: {{أبيات|هامَ فؤادي فدَعُـــوا لَوْمَــــه \\ بالعينِ والنُّونِ وميمٍ وهــــا}}
: {{أبيات|هو اسمٌ من أهـــــواهُ إني له \\ميمٌ وحــــاءٌ تَهْتَجَى ويا}}
{{أبيات|٧ ــ بِمَنْ يَمُُنُّ يُمْنُ بِمَنْ؟ \\ ثَمَّنَ يُُمْنٍ ثَمَّنَّ ثُمْنِي}}
<br /><br /><br /><br />
{{يمين|٣٩٦}}
{{أبيات|\\}}<noinclude></noinclude>
e9bdmecx28wc4yz9do4bqmn46yi61o6
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/402
104
307124
617201
2026-08-12T14:03:06Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'Converted by Tiff Combine - (no stamps are applied by registered version) ديوان الخنساء، دار صادر، بيروت ١٩٦٠ م . ديوان عنترة ، تح محمد سعيد مولوي ، المكتب الإسلامي ، ١٣٩٠ هـ ـ ۱۹۷۰م. . ديوان كثير عزة ، جمع وتحدد إحسان عباس، بيروت، دار الثقافة ، ۱۹۷۱م. ديوان المعاني ، لأبي هلال العسكري، مكتبة ا...'
617201
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>Converted by Tiff Combine - (no stamps are applied by registered version)
ديوان الخنساء، دار صادر، بيروت ١٩٦٠ م .
ديوان عنترة ، تح محمد سعيد مولوي ، المكتب الإسلامي ، ١٣٩٠ هـ ـ ۱۹۷۰م.
. ديوان كثير عزة ، جمع وتحدد إحسان عباس، بيروت، دار الثقافة ، ۱۹۷۱م.
ديوان المعاني ، لأبي هلال العسكري، مكتبة القدسي ، القاهرة ، ١٣٥٢هـ .
- رسالة الاشتقاق ، لابن السراج ، ــ محمد علي الدرويش ومصطفى الحدري ، مجلة الثقافة
في دمشق ۱۹۷۳م.
الرعاية لتجويد القراءة وتحقيق لفظ التلاوة ، مكي بن أبي طالب القيسي ( ٤٣٧هـ)،
تحد. أحمد حسن فرحات ، دار الكتب العربية، دمشق ، ۱۳۹۳هـ ــ ۱۹۷۳م .
- زخارف عربية ، لنور الدين صمود ، الشركة التونسية للتوزيع ط ١ ، ١٩٧٦م .
سر صناعة الإعراب ، عثمان بن جني ( ۳۹۲هـ)، تحـ مصطفى السقا وزملائه ، الجزء
الأول ، مطبعة مصطفى البابي الحلبي، ط 1 ، ١٣٧٤هـ ـ ١٩٥٤م.
نسخة ثانية دراسة وتح د. حسن هنداوي، دار القلم، دمشق، طا ،
١٤٠٥
هـ
ـ
١٩٨٥م.
مر الفصاحة ، عبد الله بن سنان الخفاجي ( ٤٦٦هـ)، تح علي فوده، مكتبة الخانجي،
القاهرة ، ١٣٥٠هـ - ١٩٣٢م.
سمط اللآلي ، تح عبد العزيز الراجكوتي ، لجنة التأليف والترجمة والنشر مصر ، ١٩٣٥م.
سير أعلام النبلاء شمس الدين الذهبي (٧٤٨هـ)، تح الشيخ شعيب الأرنؤوط
وآخرين، مؤسسة الرسالة، بيروت، ط ١ ، ١٤٠١ - ١٤٠٩هـ، ١٩٨١ -
۱۹۸۸م.
شرح اختيارات المفضل، الخطيب التبريزي ( ٥٠٢ هـ ) ، تحد. فخر الدين قباوة ، دار
الكتب العلمية ، ط ١ ، بيروت ، ١٤٠٧هـ - ١٩٨٧م.
شرح شافية ابن الحاجب ، رضي الدين محمد . بن الحسن الاستراباذي (٦٨٦هـ)، تح
محمد نور الحسن والزفزاف وعبد الحميد دار الكتب العلمية، بيروت ،
١٣٩٥هـ ـ ١٩٧٥م.
شرح شواهد الشافية، عبد القادر البغدادي (۱۰۹۳هـ)، تح محمد نور الحسن
والزفزاف وعبد الحميد، دار الكتب العلمية ، بيروت ، ١٣٩٥هـ .
- شرح القصائد العشر يحيى بن علي التبريزي، تحـ فخر الدين قباوة، دار الأصمعي ،
ط ۱، حلب ۱۳۸۸هـ ــ ١٩٦٩م.
1
١٩٧٥م.
٤٠٠<noinclude></noinclude>
5mb6dm94vk22vzd33fzbevmrqz9gdjc
617205
617201
2026-08-12T14:06:32Z
RASHEEDYE
15342
617205
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>ديوان الخنساء، دار صادر، بيروت ١٩٦٠ م .
ديوان عنترة ، تح محمد سعيد مولوي ، المكتب الإسلامي ، ١٣٩٠ هـ ـ ۱۹۷۰م.
. ديوان كثير عزة ، جمع وتحدد إحسان عباس، بيروت، دار الثقافة ، ۱۹۷۱م.
ديوان المعاني ، لأبي هلال العسكري، مكتبة القدسي ، القاهرة ، ١٣٥٢هـ .
- رسالة الاشتقاق ، لابن السراج ، ــ محمد علي الدرويش ومصطفى الحدري ، مجلة الثقافة
في دمشق ۱۹۷۳م.
الرعاية لتجويد القراءة وتحقيق لفظ التلاوة ، مكي بن أبي طالب القيسي ( ٤٣٧هـ)،
تحد. أحمد حسن فرحات ، دار الكتب العربية، دمشق ، ۱۳۹۳هـ ــ ۱۹۷۳م .
- زخارف عربية ، لنور الدين صمود ، الشركة التونسية للتوزيع ط ١ ، ١٩٧٦م .
سر صناعة الإعراب ، عثمان بن جني ( ۳۹۲هـ)، تحـ مصطفى السقا وزملائه ، الجزء
الأول ، مطبعة مصطفى البابي الحلبي، ط 1 ، ١٣٧٤هـ ـ ١٩٥٤م.
نسخة ثانية دراسة وتح د. حسن هنداوي، دار القلم، دمشق، طا ،
١٤٠٥
هـ
ـ
١٩٨٥م.
مر الفصاحة ، عبد الله بن سنان الخفاجي ( ٤٦٦هـ)، تح علي فوده، مكتبة الخانجي،
القاهرة ، ١٣٥٠هـ - ١٩٣٢م.
سمط اللآلي ، تح عبد العزيز الراجكوتي ، لجنة التأليف والترجمة والنشر مصر ، ١٩٣٥م.
سير أعلام النبلاء شمس الدين الذهبي (٧٤٨هـ)، تح الشيخ شعيب الأرنؤوط
وآخرين، مؤسسة الرسالة، بيروت، ط ١ ، ١٤٠١ - ١٤٠٩هـ، ١٩٨١ -
۱۹۸۸م.
شرح اختيارات المفضل، الخطيب التبريزي ( ٥٠٢ هـ ) ، تحد. فخر الدين قباوة ، دار
الكتب العلمية ، ط ١ ، بيروت ، ١٤٠٧هـ - ١٩٨٧م.
شرح شافية ابن الحاجب ، رضي الدين محمد . بن الحسن الاستراباذي (٦٨٦هـ)، تح
محمد نور الحسن والزفزاف وعبد الحميد دار الكتب العلمية، بيروت ،
١٣٩٥هـ ـ ١٩٧٥م.
شرح شواهد الشافية، عبد القادر البغدادي (۱۰۹۳هـ)، تح محمد نور الحسن
والزفزاف وعبد الحميد، دار الكتب العلمية ، بيروت ، ١٣٩٥هـ .
- شرح القصائد العشر يحيى بن علي التبريزي، تحـ فخر الدين قباوة، دار الأصمعي ،
ط ۱، حلب ۱۳۸۸هـ ــ ١٩٦٩م.
1
١٩٧٥م.
٤٠٠<noinclude></noinclude>
695bd4kljm458r1jct4j27c6w5v88lm
617206
617205
2026-08-12T14:13:13Z
RASHEEDYE
15342
617206
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>— ديوان الخنساء، دار صادر، بيروت ١٩٦٠ م.
<br/>— ديوان عنترة، تح محمد سعيد مولوي، المكتب الإسلامي، ١٣٩٠ هـ — ١٩٧٠ م.
<br/>— ديوان كُثَيِّر عَزَّة، جمع وتح د. إحسان عباس، بيروت، دار الثقافة، ١٩٧١ م.
<br/>— ديوان المعالي، لأبي هلال العسكري، مكتبة القدسي، القاهرة، ١٣٥٢ هـ.
<br/>— رسالة الاشتقاق، لابن السراج، تح محمد علي الدرويش ومصطفى الحادري، مجلة الثقافة في دمشق ١٩٧٣ م.
<br/>— الرعاية لتجويد القراءة وتحقيق لفظ التلاوة، مكي بن أبي طالب القيسي (٤٣٧ هـ)، تح د. أحمد حسن فرحات، دار الكتب العربية، دمشق، ١٣٩٣ هـ — ١٩٧٣ م.
<br/>— زخارف عربية، لأنور الدين صمود، الشركة التونسية للتوزيع ط١، ١٩٧٦ م.
<br/>— سر صناعة الإعراب، عثمان بن جني (٣٩٢ هـ)، تح مصطفى السقا وزملائه، الجزء الأول، مطبعة مصطفى البابي الحلبي، ط١، ١٣٧٤ هـ — ١٩٥٤ م.
<br/>— نسخة ثانية دراسة وتح د. حسن هنداوي، دار القلم، دمشق، ط١، ١٤٠٥ هـ — ١٩٨٥ م.
<br/>— سر الفصاحة، عبد الله بن سنان الخفاجي (٤٦٦ هـ)، تح علي فوده، مكتبة الخانجي، القاهرة، ١٣٥٠ هـ — ١٩٣٢ م.
<br/>— سمط اللآلي، تح عبد العزيز الميمني، لجنة التأليف والترجمة والنشر مصر، ١٩٣٥ م.
<br/>— سير أعلام النبلاء، شمس الدين الذهبي (٧٤٨ هـ)، تح الشيخ شعيب الأرنؤوط وآخرين، مؤسسة الرسالة، بيروت، ط١، ١٤٠١ — ١٤٠٩ هـ، ١٩٨١ — ١٩٨٨ م.
<br/>— شرح اختيارات المفضل، الخطيب التبريزي (٥٠٢ هـ)، تح د. فخر الدين قباوة، دار الكتب العلمية، ط١، بيروت، ١٤٠٧ هـ — ١٩٨٧ م.
<br/>— شرح شافية ابن الحاجب، رضي الدين محمد بن الحسن الاستراباذي (٦٨٦ هـ)، تح محمد نور الحسن والزفزاف وعبد الحميد، دار الكتب العلمية، بيروت، ١٣٩٥ هـ — ١٩٧٥ م.
<br/>— شرح شواهد الشافية، عبد القادر البغدادي (١٠٩٣ هـ)، تح محمد نور الحسن والزفزاف وعبد الحميد، دار الكتب العلمية، بيروت، ١٣٩٥ هـ — ١٩٧٥ م.
<br/>— شرح القصائد العشر، يحيى بن علي التبريزي، تح فخر الدين قباوة، دار الأصمعي، ط١، حلب ١٣٨٨ هـ — ١٩٦٩ م.<noinclude>{{يمين|٤٠٠}}</noinclude>
hjzthqymhpgbrktl1aa91ksxflrsibu
617207
617206
2026-08-12T14:13:45Z
RASHEEDYE
15342
/* صُححّت */
617207
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>— ديوان الخنساء، دار صادر، بيروت ١٩٦٠ م.
<br/>— ديوان عنترة، تح محمد سعيد مولوي، المكتب الإسلامي، ١٣٩٠ هـ — ١٩٧٠ م.
<br/>— ديوان كُثَيِّر عَزَّة، جمع وتح د. إحسان عباس، بيروت، دار الثقافة، ١٩٧١ م.
<br/>— ديوان المعالي، لأبي هلال العسكري، مكتبة القدسي، القاهرة، ١٣٥٢ هـ.
<br/>— رسالة الاشتقاق، لابن السراج، تح محمد علي الدرويش ومصطفى الحادري، مجلة الثقافة في دمشق ١٩٧٣ م.
<br/>— الرعاية لتجويد القراءة وتحقيق لفظ التلاوة، مكي بن أبي طالب القيسي (٤٣٧ هـ)، تح د. أحمد حسن فرحات، دار الكتب العربية، دمشق، ١٣٩٣ هـ — ١٩٧٣ م.
<br/>— زخارف عربية، لأنور الدين صمود، الشركة التونسية للتوزيع ط١، ١٩٧٦ م.
<br/>— سر صناعة الإعراب، عثمان بن جني (٣٩٢ هـ)، تح مصطفى السقا وزملائه، الجزء الأول، مطبعة مصطفى البابي الحلبي، ط١، ١٣٧٤ هـ — ١٩٥٤ م.
<br/>— نسخة ثانية دراسة وتح د. حسن هنداوي، دار القلم، دمشق، ط١، ١٤٠٥ هـ — ١٩٨٥ م.
<br/>— سر الفصاحة، عبد الله بن سنان الخفاجي (٤٦٦ هـ)، تح علي فوده، مكتبة الخانجي، القاهرة، ١٣٥٠ هـ — ١٩٣٢ م.
<br/>— سمط اللآلي، تح عبد العزيز الميمني، لجنة التأليف والترجمة والنشر مصر، ١٩٣٥ م.
<br/>— سير أعلام النبلاء، شمس الدين الذهبي (٧٤٨ هـ)، تح الشيخ شعيب الأرنؤوط وآخرين، مؤسسة الرسالة، بيروت، ط١، ١٤٠١ — ١٤٠٩ هـ، ١٩٨١ — ١٩٨٨ م.
<br/>— شرح اختيارات المفضل، الخطيب التبريزي (٥٠٢ هـ)، تح د. فخر الدين قباوة، دار الكتب العلمية، ط١، بيروت، ١٤٠٧ هـ — ١٩٨٧ م.
<br/>— شرح شافية ابن الحاجب، رضي الدين محمد بن الحسن الاستراباذي (٦٨٦ هـ)، تح محمد نور الحسن والزفزاف وعبد الحميد، دار الكتب العلمية، بيروت، ١٣٩٥ هـ — ١٩٧٥ م.
<br/>— شرح شواهد الشافية، عبد القادر البغدادي (١٠٩٣ هـ)، تح محمد نور الحسن والزفزاف وعبد الحميد، دار الكتب العلمية، بيروت، ١٣٩٥ هـ — ١٩٧٥ م.
<br/>— شرح القصائد العشر، يحيى بن علي التبريزي، تح فخر الدين قباوة، دار الأصمعي، ط١، حلب ١٣٨٨ هـ — ١٩٦٩ م.<noinclude>{{يمين|٤٠٠}}</noinclude>
9d4vhl1704o7setr2zqijdkk4z6jf3b
617309
617207
2026-08-13T07:28:21Z
RASHEEDYE
15342
ضبط وتنسيق
617309
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>— '''ديوان الخنساء'''، دار صادر، بيروت ١٩٦٠م.
<br/>— '''ديوان عنترة'''، تحـ محمد سعيد مولوي، المكتب الإسلامي، ١٣٩٠ هـ — ١٩٧٠م.
<br/>— '''ديوان كثَير عزَّة'''، جمع وتحـ د. إحسان عباس، بيروت، دار الثقافة، ١٩٧١م.
<br/>— '''ديوان المعالي'''، لأبي هلال العسكري، مكتبة القدسي، القاهرة، ١٣٥٢هـ.
<br/>— '''رسالة الاشتقاق'''، لابن السراج، تحـ محمد علي الدرويش ومصطفى الحادري، مجلة الثقافة في دمشق ١٩٧٣ م.
<br/>— '''الرعاية لتجويد القراءة وتحقيق لفظ التلاوة'''، مكي بن أبي طالب القيسي (٤٣٧هـ)، تحـ د. أحمد حسن فرحات، دار الكتب العربية، دمشق، ١٣٩٣هـ — ١٩٧٣م.
<br/>— '''زخارف عربية'''، لأنور الدين صمود، الشركة التونسية للتوزيع ط١، ١٩٧٦م.
<br/>— '''سر صناعة الإعراب'''، عثمان بن جني (٣٩٢هـ)، تح مصطفى السقا وزملائه، الجزء الأول، مطبعة مصطفى البابي الحلبي، ط١، ١٣٧٤هـ — ١٩٥٤م.
<br/>نسخة ثانية دراسة وتحـ د. حسن هنداوي، دار القلم، دمشق، ط١، ١٤٠٥هـ — ١٩٨٥ م.
<br/>— '''سر الفصاحة'''، عبد الله بن سنان الخفاجي (٤٦٦هـ)، تحـ علي فوده، مكتبة الخانجي، القاهرة، ١٣٥٠هـ — ١٩٣٢م.
<br/>— '''سمط اللآلي'''، تحـ عبد العزيز الميمني، لجنة التأليف والترجمة والنشر مصر، ١٩٣٥م.
<br/>— '''سير أعلام النبلاء'''، شمس الدين الذهبي (٧٤٨هـ)، تحـ الشيخ شعيب الأرنؤوط وآخرين، مؤسسة الرسالة، بيروت، ط١، ١٤٠١ — ١٤٠٩ هـ، ١٩٨١ — ١٩٨٨ م.
<br/>— '''شرح اختيارات المفضل'''، الخطيب التبريزي (٥٠٢هـ)، تحـ د. فخر الدين قباوة، دار الكتب العلمية، ط١، بيروت، ١٤٠٧هـ — ١٩٨٧م.
<br/>— '''شرح شافية ابن الحاجب'''، رضي الدين محمد بن الحسن الاستراباذي (٦٨٦هـ)، تحـ محمد نور الحسن والزفزاف وعبد الحميد، دار الكتب العلمية، بيروت، ١٣٩٥هـ — ١٩٧٥م.
<br/>— '''شرح شواهد الشافية'''، عبد القادر البغدادي (١٠٩٣هـ)، تحـ محمد نور الحسن والزفزاف وعبد الحميد، دار الكتب العلمية، بيروت، ١٣٩٥هـ — ١٩٧٥م.
<br/>— '''شرح القصائد العشر'''، يحيى بن علي التبريزي، تحـ فخر الدين قباوة، دار الأصمعي، ط١، حلب ١٣٨٨هـ — ١٩٦٩م.
{{يمين|٤٠٠}}<noinclude></noinclude>
reqg3usijcutm6niggtvf0b2zjsq62m
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/399
104
307125
617202
2026-08-12T14:03:30Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'Converted by Tiff Combine - (no stamps are applied by registered version) مراجع التحقيق والدراسة أ ـ الكتب المطبوعة الإتقان في علوم القرآن، جلال الدين عبد الرحمن السيوطي (۹۱۱هـ)، المكتبة الثقافية ، بيروت ، ۱۹۷۳م. أثر القراءات في الأصوات والنحو العربي، د. عبد الصبور شاهين، مكتبة الخانجي، الق...'
617202
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>Converted by Tiff Combine - (no stamps are applied by registered version)
مراجع التحقيق والدراسة
أ ـ الكتب المطبوعة
الإتقان في علوم القرآن، جلال الدين عبد الرحمن السيوطي (۹۱۱هـ)، المكتبة
الثقافية ، بيروت ، ۱۹۷۳م.
أثر القراءات في الأصوات والنحو العربي، د. عبد الصبور شاهين، مكتبة الخانجي،
القاهرة ، ط ١ ، ١٤٠٨ هـ - ١٩٨٧م.
إحصاء الأفعال العربية في المعجم الحاسوبي، مروان البواب، د. محمد مراياتي ، د .
يحيى میر علم، د. محمد حسان الطيان، مكتبة لبنان ، ط ١ ، ١٩٩٦.
إحصائيات جذور معجم ؟ لسان العرب ، د. علي حلمي موسى ، الكويت، ۱۹۷۲م.
أدب الكتاب ، محمد بن يحيى الصولي ، تصحيح محمد بهجة الأثري، المكتبة العربية في
بغداد والمطبعة السلفية في مصر ، القاهرة ١٣٤١هـ .
أساس البلاغة ، الزمخشري (٥٣٨هـ ) ، تح عبد الرحيم محمود، دار المعرفة ، بيروت ،
١٤٠٢هـ – ١٩٨٢م.
أسباب حدوث الحروف ، الحسين بن عبد ا
بن سينا (٤٢٨هـ)، تح محمد حسان
الطيان ويحيى مير علم، مطبوعات مجمع اللغة العربية، دمشق، طا ،
الله
١٤٠٣هـ - ١٩٨٣م.
أطلس تاريخ الإسلام، د. حسين مؤنس، الزهراء للإعلام العربي، القاهرة، ط1،
"
١٤٠٧هـ ـ ١٩٨٧م.
الأعلام، خير الدين الزركلي (١٣٩٦هـ)، دار العلم للملايين، بيروت ،
طه، ۱۹۸۰م.
أعيان الشيعة ، محسن الأمين الحسيني العاملي، نح حسن الأمين ، بيروت، دار التعارف
للمطبوعات ۱۹۸۳م.
الاقتراح في علم أصول النحو ، عبد الرحمن السيوطي (۹۱۱هـ)، تح أحمد محمد
قاسم، مطبعة دار السعادة ، القاهرة ، ط ١ ، ١٣٩٦ هـ - ١٩٧٦م.
ألف باء، أبو الحجاج يوسف محمد البلوي (٦٠٤هـ)، جمعية المعارف بمصر،
١٢٨٧هـ.
۳۹۷<noinclude></noinclude>
skvj7i71l6f2om6k5g55ovtmykltsmx
617208
617202
2026-08-12T14:18:49Z
RASHEEDYE
15342
/* صُححّت */
617208
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>{{ع3|مراجع التحقيق والدراسة<br/><br/>أ — الكتب المطبوعة}}
<br/>— الإتقان في علوم القرآن، جلال الدين عبد الرحمن السيوطي (٩١١هـ)، المكتبة الثقافية، بيروت، ١٩٧٣م.
<br/>— أثر القراءات في الأصوات والنحو العربي، د. عبد الصبور شاهين، مكتبة الخانجي، القاهرة، ط١، ١٤٠٨هـ <br/>— ١٩٨٧ م.
<br/>— إحصاء الأفعال العربية في المعجم الحاسوبي، مروان البواب، د. محمد مراياتي، د. يحيى مير علم، د. محمد حسان الطيان، مكتبة لبنان، ط١، ١٩٩٦م.
<br/>— إحصائيات جذور معجم لسان العرب، د. علي حلمي موسى، الكويت، ١٩٧٢م.
<br/>— أدب الكتاب، محمد بن يحيى الصولي، تصحيح محمد بهجة الأثري، المكتبة العربية في بغداد والمطبعة السلفية في مصر، القاهرة ١٣٤١هـ.
<br/>— أساس البلاغة، الزمخشري (٥٣٨هـ)، تح عبد الرحيم محمود، دار المعرفة، بيروت، ١٤٠٢ هـ <br/>— ١٩٨٢ م.
<br/>— أسباب حدوث الحروف، الحسين بن عبد الله بن سينا (٤٢٨ هـ)، تح محمد حسان الطيان ويحيى مير علم، مطبوعات مجمع اللغة العربية، دمشق، ط١، ١٤٠٣ هـ <br/>— ١٩٨٣ م.
<br/>— أطلس تاريخ الإسلام، د. حسين مؤنس، الزهراء للإعلام العربي، القاهرة، ط١، ١٤٠٧ هـ <br/>— ١٩٨٧ م.
<br/>— الأعلام، خير الدين الزركلي (١٣٩٦ هـ)، دار العلم للملايين، بيروت، ط٥، ١٩٨٠ م.
<br/>— أعيان الشيعة، محسن الأمين الحسيني العاملي، تح حسن الأمين، بيروت، دار التعارف للمطبوعات ١٩٨٣ م.
<br/>— الاقتراح في علم أصول النحو، عبد الرحمن السيوطي ( ٩١١ هـ)، تح أحمد محمد قاسم، مطبعة دار السعادة، القاهرة، ط١، ١٣٩٦ هـ <br/>— ١٩٧٦ م.
<br/>— ألف باء، أبو الحجاج يوسف محمد البلوي (٦٠٤ هـ)، جمعية المعارف بمصر، ١٢٨٧ هـ.
{{يسار|٣٩٧}}<noinclude></noinclude>
mj80hbx5npzu768zhjp1xrn0jjty6s2
617210
617208
2026-08-12T14:25:56Z
RASHEEDYE
15342
ضبط وتنسيق
617210
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>{{ع3|مراجع التحقيق والدراسة<br/><br/>أ — الكتب المطبوعة}}
<br/>— '''الإتقان في علوم القرآن'''، جلال الدين عبد الرحمن السيوطي (٩١١هـ)، المكتبة الثقافية، بيروت، ١٩٧٣م.
<br/>— '''أثر القراءات في الأصوات والنحو العربي'''، د. عبد الصبور شاهين، مكتبة الخانجي، القاهرة، ط١، ١٤٠٨هـ ١٩٨٧ م.
<br/>— '''إحصاء الأفعال العربية في المعجم الحاسوبي'''، مروان البواب، د. محمد مراياتي، د. يحيى مير علم، د. محمد حسان الطيان، مكتبة لبنان، ط١، ١٩٩٦م.
<br/>— '''إحصائيات جذور معجم لسان العرب'''، د. علي حلمي موسى، الكويت، ١٩٧٢م.
<br/>— '''أدب الكتاب'''، محمد بن يحيى الصولي، تصحيح محمد بهجة الأثري، المكتبة العربية في بغداد والمطبعة السلفية في مصر، القاهرة ١٣٤١هـ.
<br/>— '''أساس البلاغة'''، الزمخشري (٥٣٨هـ)، تح عبد الرحيم محمود، دار المعرفة، بيروت، ١٤٠٢هـ — ١٩٨٢م.
<br/>— '''أسباب حدوث الحروف'''، الحسين بن عبد الله بن سينا (٤٢٨هـ)، تح محمد حسان الطيان ويحيى مير علم، مطبوعات مجمع اللغة العربية، دمشق، ط١، ١٤٠٣هـ — ١٩٨٣م.
<br/>— '''أطلس تاريخ الإسلام'''، د. حسين مؤنس، الزهراء للإعلام العربي، القاهرة، ط١، ١٤٠٧ هـ — ١٩٨٧م.
<br/>— '''الأعلام'''، خير الدين الزركلي (١٣٩٦هـ)، دار العلم للملايين، بيروت، ط٥، ١٩٨٠ م.
<br/>— '''أعيان الشيعة'''، محسن الأمين الحسيني العاملي، تح حسن الأمين، بيروت، دار التعارف للمطبوعات ١٩٨٣م.
<br/>— '''الاقتراح في علم أصول النحو'''، عبد الرحمن السيوطي (٩١١هـ)، تح أحمد محمد قاسم، مطبعة دار السعادة، القاهرة، ط١، ١٣٩٦هـ — ١٩٧٦م.
<br/>— '''ألف باء'''، أبو الحجاج يوسف محمد البلوي (٦٠٤هـ)، جمعية المعارف بمصر، ١٢٨٧هـ.<noinclude></noinclude>
0fngfcjziy9tnnhbgtq5y350954e0yi
617211
617210
2026-08-12T14:26:27Z
RASHEEDYE
15342
617211
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>{{ع3|مراجع التحقيق والدراسة<br/><br/>أ — الكتب المطبوعة}}
<br/>— '''الإتقان في علوم القرآن'''، جلال الدين عبد الرحمن السيوطي (٩١١هـ)، المكتبة الثقافية، بيروت، ١٩٧٣م.
<br/>— '''أثر القراءات في الأصوات والنحو العربي'''، د. عبد الصبور شاهين، مكتبة الخانجي، القاهرة، ط١، ١٤٠٨هـ ١٩٨٧ م.
<br/>— '''إحصاء الأفعال العربية في المعجم الحاسوبي'''، مروان البواب، د. محمد مراياتي، د. يحيى مير علم، د. محمد حسان الطيان، مكتبة لبنان، ط١، ١٩٩٦م.
<br/>— '''إحصائيات جذور معجم لسان العرب'''، د. علي حلمي موسى، الكويت، ١٩٧٢م.
<br/>— '''أدب الكتاب'''، محمد بن يحيى الصولي، تصحيح محمد بهجة الأثري، المكتبة العربية في بغداد والمطبعة السلفية في مصر، القاهرة ١٣٤١هـ.
<br/>— '''أساس البلاغة'''، الزمخشري (٥٣٨هـ)، تح عبد الرحيم محمود، دار المعرفة، بيروت، ١٤٠٢هـ — ١٩٨٢م.
<br/>— '''أسباب حدوث الحروف'''، الحسين بن عبد الله بن سينا (٤٢٨هـ)، تح محمد حسان الطيان ويحيى مير علم، مطبوعات مجمع اللغة العربية، دمشق، ط١، ١٤٠٣هـ — ١٩٨٣م.
<br/>— '''أطلس تاريخ الإسلام'''، د. حسين مؤنس، الزهراء للإعلام العربي، القاهرة، ط١، ١٤٠٧ هـ — ١٩٨٧م.
<br/>— '''الأعلام'''، خير الدين الزركلي (١٣٩٦هـ)، دار العلم للملايين، بيروت، ط٥، ١٩٨٠ م.
<br/>— '''أعيان الشيعة'''، محسن الأمين الحسيني العاملي، تح حسن الأمين، بيروت، دار التعارف للمطبوعات ١٩٨٣م.
<br/>— '''الاقتراح في علم أصول النحو'''، عبد الرحمن السيوطي (٩١١هـ)، تح أحمد محمد قاسم، مطبعة دار السعادة، القاهرة، ط١، ١٣٩٦هـ — ١٩٧٦م.
<br/>— '''ألف باء'''، أبو الحجاج يوسف محمد البلوي (٦٠٤هـ)، جمعية المعارف بمصر، ١٢٨٧هـ.<noinclude>{{يسار|٣٩٧}}</noinclude>
fjbe3xwp53i7upbfu3pqagmbv1x9f55
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/400
104
307126
617203
2026-08-12T14:04:16Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'الأمالي الشجرية ، ابن الشجري ، بيروت، دار المعرفة . الإملاء العربي، أحمد قبش ، دار الرشيد دمشق ، ١٩٨٤ . الإنصاف في مسائل الخلاف عبد الرحمن بن محمد الأنباري، تح محمد محيي ا عبد الحميد، دار الفكر . المدين إيضاح شواهد الإيضاح، لأبي علي الحسن بن عبد الله القيسي، تح...'
617203
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>الأمالي الشجرية ، ابن الشجري ، بيروت، دار المعرفة .
الإملاء العربي، أحمد قبش ، دار الرشيد دمشق ، ١٩٨٤ .
الإنصاف في مسائل الخلاف عبد الرحمن بن محمد الأنباري، تح محمد محيي ا
عبد الحميد، دار الفكر .
المدين
إيضاح شواهد الإيضاح، لأبي علي الحسن بن عبد الله القيسي، تحد. محمد بن حمود .
الدعجاني، دار الغرب الإسلامي ، ١٤ ، ١٤٠٨هـ ـ ١٩٨٧م.
مد الباور الزاهرة في القراءات العشر المتواترة من طريقي الشاطبية والدرة ، عبد الفتاح
القاضي، دار الكتاب العربي ، بيرون ، ط ١ ، ١٤٠١ هـ ـ
۱۹۸۱م.
البرهان في وجوه البيان لإسحاق بن إبراهيم بن وهب الكاتب، تحد. حفني محمد
شرف، مكتبة الشباب ، القاهرة ١٩٤٩م.
-
البرهان في علوم القرآن ، بدر الدين محمد بن عبد الله الزركشي (٧٩٤هـ)، تح محمد
أبو الفضل إبراهيم ، دار المعرفة ، بيروت ، ط ۲ ، ۱۳۹۱هـ ـ ۱۹۷۲۰م.
بغية الوعاة في طبقات اللغويين والنحاة ، جلال الدين عبد الرحمن السيوطي
تح محمد أبو الفضل إبراهيم، المكتبة العصرية ، بيروت ،
(-411)
١٣٨٤ هـ ـ ١٩٦٤م.
البيان والتبيين ، الجاحظ ( ٢٥٥هـ)، تح عبد السلام هارون ، مكتبة الخانجي ، القاهرة ،
طه،
١٤٠٥
هـ
-
١٩٨٥م.
تاج العروس محمد مرتضى الزبيدي ( ١٢٠٥هـ ) ، تحـ عبد الستار فراج وجماعة ، وزارة
الإعلام، الكويت ، ١٩٦٥ – ١٩٨٩م.
تاريخ الأدب العربي، كارل بروكلمان، ترجمة د. عبد الحليم النجار وزملائه، دار
المعارف، القاهرة ، ط ع ، ١٩٧٧م.
تاريخ التراث العربي، د. فؤاد سيزكين، ترجمة د. محمود حجازي و د. فهمي أبو
الفضل، الهيئة المصرية العامة للكتاب ، القاهرة ، ۱۹۷۷م.
التبيين عن مذاهب النحويين البصريين والكوفيين ، أبو البقاء العكبري (٦١٦هـ)، تح
د. عبد الرحمن بن العثيمين، دار الغرب الإسلامي ، بيروت ، طا ،
١٤٠٦ هـ - ١٩٨٦م.
تحقيق النصوص ونشرها عبد السلام ،هارون، مكتبة الخانجي، القاهرة،
١٣٩٧٤هـ ـ ١٩٧٧م.
۳۹۸<noinclude></noinclude>
5w3y6azo2sifm56a9k6yndx52rdjl6w
617306
617203
2026-08-13T07:13:27Z
RASHEEDYE
15342
/* صُححّت */
617306
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>— '''الأمالي الشجرية'''، ابن الشجري، بيروت، دار المعرفة.
— '''الإملاء العربي'''، أحمد قبيش، دار الرشيد دمشق، ١٩٨٤.
— '''الإنصاف في مسائل الخلاف'''، عبد الرحمن بن محمد الأنباري، تح محمد محيي الدين عبد الحميد، دار الفكر.
— '''إيضاح شواهد الإيضاح'''، لأبي علي الحسن بن عبد الله القيسي، تح د. محمد بن حمود الدعجاني، دار الغرب الإسلامي، ط١، ١٤٠٨هـ — ١٩٨٧م.
— '''البدور الزاهرة في القراءات العشر المتواترة من طريقي الشاطبية والدرة'''، عبد الفتاح القاضي، دار الكتاب العربي، بيروت، ط١، ١٤٠١هـ — ١٩٨١م.
— '''البرهان في وجوه البيان'''، لإسحاق بن إبراهيم بن وهب الكاتب، تح د. حفني محمد شرف، مكتبة الشباب، القاهرة ١٩٦٩ م.
— '''البرهان في علوم القرآن'''، بدر الدين محمد بن عبد الله الزركشي (٧٩٤هـ)، تح محمد أبو الفضل إبراهيم، دار المعرفة، بيروت، ط٢، ١٣٩١هـ — ١٩٧٢م.
— '''بغية الوعاة في طبقات اللغويين والنحاة'''، جلال الدين عبد الرحمن السيوطي (٩١١هـ)، تح محمد أبو الفضل إبراهيم، المكتبة العصرية، بيروت، ١٣٨٤هـ — ١٩٦٤م.
— '''البيان والتبيين'''، الجاحظ (٢٥٥هـ)، تح عبد السلام هارون، مكتبة الخانجي، القاهرة، ط٥، ١٤٠٥هـ — ١٩٨٥م.
— '''تاج العروس'''، محمد مرتضى الزبيدي (١٢٠٥هـ)، تح عبد الستار فراج وجماعة، وزارة الإعلام، الكويت، ١٩٦٥ — ١٩٨٩م.
— '''تاريخ الأدب العربي'''، كارل بروكلمان'''، ترجمة د. عبد الحليم النجار وزملائه، دار المعارف، القاهرة، ط٤، ١٩٧٧ م.
— '''تاريخ التراث العربي'''، د. فؤاد سزكين، ترجمة د. محمود حجازي و د. فهمي أبو الفضل، الهيئة المصرية العامة للكتاب، القاهرة، ١٩٧٧ م.
— '''التبيين عن مذاهب النحويين البصريين والكوفيين'''، أبو البقاء العكبري (٦١٦هـ)، تح د. عبد الرحمن بن العثيمين، دار الغرب الإسلامي، بيروت، ط١، ١٤٠٦هـ — ١٩٨٦م.
— '''تحقيق النصوص ونشرها'''، عبد السلام هارون، مكتبة الخانجي، القاهرة، ط٤، ١٣٩٧هـ — ١٩٧٧م.<noinclude>{{يمين|٣٩٨}}</noinclude>
c50x51cxeaebiwnpey4c11hy2y02byb
617307
617306
2026-08-13T07:15:36Z
RASHEEDYE
15342
617307
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><br/>— '''الأمالي الشجرية'''، ابن الشجري، بيروت، دار المعرفة.
<br/>— '''الإملاء العربي'''، أحمد قبيش، دار الرشيد دمشق، ١٩٨٤.
<br/>— '''الإنصاف في مسائل الخلاف'''، عبد الرحمن بن محمد الأنباري، تح محمد محيي الدين عبد الحميد، دار الفكر.
<br/>— '''إيضاح شواهد الإيضاح'''، لأبي علي الحسن بن عبد الله القيسي، تح د. محمد بن حمود الدعجاني، دار الغرب الإسلامي، ط١، ١٤٠٨هـ — ١٩٨٧م.
<br/>— '''البدور الزاهرة في القراءات العشر المتواترة من طريقي الشاطبية والدرة'''، عبد الفتاح القاضي، دار الكتاب العربي، بيروت، ط١، ١٤٠١هـ — ١٩٨١م.
<br/>— '''البرهان في وجوه البيان'''، لإسحاق بن إبراهيم بن وهب الكاتب، تح د. حفني محمد شرف، مكتبة الشباب، القاهرة ١٩٦٩ م.
<br/>— '''البرهان في علوم القرآن'''، بدر الدين محمد بن عبد الله الزركشي (٧٩٤هـ)، تح محمد أبو الفضل إبراهيم، دار المعرفة، بيروت، ط٢، ١٣٩١هـ — ١٩٧٢م.
<br/>— '''بغية الوعاة في طبقات اللغويين والنحاة'''، جلال الدين عبد الرحمن السيوطي (٩١١هـ)، تح محمد أبو الفضل إبراهيم، المكتبة العصرية، بيروت، ١٣٨٤هـ — ١٩٦٤م.
<br/>— '''البيان والتبيين'''، الجاحظ (٢٥٥هـ)، تح عبد السلام هارون، مكتبة الخانجي، القاهرة، ط٥، ١٤٠٥هـ — ١٩٨٥م.
<br/>— '''تاج العروس'''، محمد مرتضى الزبيدي (١٢٠٥هـ)، تح عبد الستار فراج وجماعة، وزارة الإعلام، الكويت، ١٩٦٥ — ١٩٨٩م.
<br/>— '''تاريخ الأدب العربي'''، كارل بروكلمان'''، ترجمة د. عبد الحليم النجار وزملائه، دار المعارف، القاهرة، ط٤، ١٩٧٧ م.
<br/>— '''تاريخ التراث العربي'''، د. فؤاد سزكين، ترجمة د. محمود حجازي و د. فهمي أبو الفضل، الهيئة المصرية العامة للكتاب، القاهرة، ١٩٧٧ م.
<br/>— '''التبيين عن مذاهب النحويين البصريين والكوفيين'''، أبو البقاء العكبري (٦١٦هـ)، تح د. عبد الرحمن بن العثيمين، دار الغرب الإسلامي، بيروت، ط١، ١٤٠٦هـ — ١٩٨٦م.
<br/>— '''تحقيق النصوص ونشرها'''، عبد السلام هارون، مكتبة الخانجي، القاهرة، ط٤، ١٣٩٧هـ — ١٩٧٧م.
{{يمين|٣٩٨}}<noinclude></noinclude>
a6lmdhy5e4zkuashsr3as9wjwousdd5
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/401
104
307127
617204
2026-08-12T14:04:34Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'التفكير الصوتي عند الخليل، د. حلمي خليل، دار المعرفة الجامعية، الإسكندرية، ط ۱ ، ۱۹۸۸م. التنبيه على حدوث التصحيف ، حمزة الأصفهاني ( ٣٦٠هـ)، تح محمد أسعد طلس، مطبوعات مجمع اللغة العربية بدمشق : ١٣٨٨هـ ـ ١٩٦٨م. تهذيب اللغة ، أبو منصور محمد بن أحمد الأزهري ) ۳۷۰هـ)...'
617204
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>التفكير الصوتي عند الخليل، د. حلمي خليل، دار المعرفة الجامعية، الإسكندرية،
ط ۱ ، ۱۹۸۸م.
التنبيه على حدوث التصحيف ، حمزة الأصفهاني ( ٣٦٠هـ)، تح محمد أسعد طلس،
مطبوعات مجمع اللغة العربية بدمشق : ١٣٨٨هـ ـ ١٩٦٨م.
تهذيب اللغة ، أبو منصور محمد بن أحمد الأزهري ) ۳۷۰هـ)، تح عبد السلام هارون
وزملائه ، المؤسسة المصرية العامة للتأليف والأنباء والنشر، ١٣٨٤هـ ـ ١٩٦٤م.
التيسير في القراءات السبع، أبو عمرو عثمان بن سعيد الداني (٤٤٤هـ)، بعناية
أوتوبرتزل ، مصورة دار الكتاب العربي ببيروت ، ٣٠، ١٤٠٦ هـ -
١٩٨٥م.
الجاسوس على القاموس ، أحمد فارس، مطبعة الجوائب قسطنطينية ، ۱۲۹۹هـ .
- جمهرة اللغة ، ابن دريد ( ۳۲۱هـ) ، دار صادر، بیروت، مصورة عن الطبعة الهندية
١٣٥١هـ.
الجني الداني في حروف المعالي الحسن بن قاسم المرادي (٧٤٩هـ)، تحد. فخر
الدين قباوة ، محمد ندیم فاضل ، المكتبة العربية بحلب ، ط ۱۳۹۳۰۱هـ ـ ۱۹۷۳م.
حساب العقود، دار البصائر ، ط 1 ، دمشق، ١٤٠١ هـ ـ ١٩٨١م.
الحيوان، للجاحظ، تح عبد السلام هارون ، مكتبة مصطفى البابي الحلبي، القاهرة .
خزانة الأدب، عبد القادر البغدادي (۱۰۹۳هـ ) ( تح عبد السلام هارون، الهيئة
المصرية العامة للكتاب ، ط ۲ ، ۱۹۷۹م.
الخصائص ، أبو الفتح عثمان بن جني (۳۹۲هـ)، تح محمد علي النجار ، مصورة عن
طبعة دار الكتب المصرية، دار الهدى للطباعة والنشر ، بيروت ط ۲ .
الخليل بن أحمد الفراهيدي أعماله ، ومنهجه د. مهدي المخزومي ، دار الرائد العربي ،
بيروت ، ط ٢ ، ١٤٠٦ هـ - ١٩٨٦م.
- الدرر اللوامع على همع الهوامع شرح جمع الجوامع ، أحمد الشنقيطي، مكتبة الجمالي
والخانجي ، ١٣٢٨هـ .
دلائل الإعجاز في علم المعاني، عبد القاهر الجرجاني، دار المعرفة، بيروت ،
۱۳۹۸هـ ـ ۱۹۷۸م .
ديوان أبي الطيب المتنبي بشرح أبي البقاء التكبري ، تح السقا والأبياري وشلبي،
مطبعة البابي الحلبي عصر ، ١٣٩١هـ - ۱۹۷۱۰م.
ديوان امرئ القيس ، تح محمد أبو الفضل إبراهيم ، دار المعارف بمصر ، ط ١٩٦٤،٢م.
۳۹۹<noinclude></noinclude>
kjcm1c2ialgytr00l6ytml7815v928g
617308
617204
2026-08-13T07:21:20Z
RASHEEDYE
15342
/* صُححّت */
617308
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><br/>— '''التفكير الصوتي عند الخليل'''، د. حلمي خليل، دار المعرفة الجامعية، الإسكندرية، ط١، ١٩٨٨ م.
<br/>— '''التنبيه على حدوث التصحيف'''، حمزة الأصفهاني (٣٦٠هـ)، تحـ محمد أسعد طلس، مطبوعات مجمع اللغة العربية بدمشق، ١٣٨٨ هـ — ١٩٦٨ م.
<br/>— '''تهذيب اللغة'''، أبو منصور محمد بن أحمد الأزهري (٣٧٠هـ)، تحـ عبد السلام هارون وزملائه، المؤسسة المصرية العامة للتأليف والأنباء والنشر، ١٣٨٤ هـ — ١٩٦٤ م.
<br/>— '''التيسير في القراءات السبع'''، أبو عمرو عثمان بن سعيد الداني (٤٤٤هـ)، بعناية أوتوبرتزل، مصورة دار الكتاب العربي بيروت، ط٣، ١٤٠٦هـ — ١٩٨٥م.
<br/>— '''الجاسوس على القاموس'''، أحمد فارس، مطبعة الجوائب قسطنطينية، ١٢٩٩هـ.
<br/>— '''جمهرة اللغة'''، ابن دريد ( ٣٢١هـ)، دار صادر، بيروت، مصورة عن الطبعة الهندية ١٣٥١ هـ.
<br/>— '''الجنى الداني في حروف المعاني'''، الحسن بن قاسم المرادي (٧٤٩هـ)، تحـ د. فخر الدين قباوة، محمد نديم فاضل، المكتبة العربية بحلب، ط١، ١٣٩٣هـ — ١٩٧٣م.
<br/>— '''حساب العقود'''، دار البصائر، ط١، دمشق، ١٤٠١هـ — ١٩٨١م.
<br/>— '''الحيوان'''، للجاحظ، تح عبد السلام هارون، مكتبة مصطفى البابي الحلبي، القاهرة.
<br/>— '''خزانة الأدب'''، عبد القادر البغدادي (١٠٩٣هـ )، تحـ عبد السلام هارون، الهيئة المصرية العامة للكتاب، ط٢، ١٩٧٩ م.
<br/>— '''الخصائص'''، أبو الفتح عثمان بن جني (٣٩٢هـ)، تحـ محمد علي النجار، مصورة عن طبعة دار الكتب المصرية، دار الهدى للطباعة والنشر، بيروت ط٢.
<br/>— '''الخليل بن أحمد الفراهيدي أعماله ومنهجه'''، د. مهدي المخزومي، دار الرائد العربي، بيروت، ط٢، ١٤٠٦ هـ — ١٩٨٦ م.
<br/>— '''الدرر اللوامع على همع الهوامع شرح جمع الجوامع'''، أحمد الشنقيطي، مكتبة الجمالي والخانجي، ١٣٢٨ هـ.
<br/>— '''دلائل الإعجاز في علم المعاني'''، عبد القاهر الجرجاني، دار المعرفة، بيروت، ١٣٩٨هـ — ١٩٧٨م.
<br/>— '''ديوان أبي الطيب المتنبي بشرح أبي البقاء العكبري'''، تح السقا والأبياري وشلبي، مطبعة البابي الحلبي بمصر، ١٣٩١هـ — ١٩٧١م.
<br/>— '''ديوان امرئ القيس'''، تحـ محمد أبو الفضل إبراهيم، دار المعارف بمصر، ط٢، ١٩٦٤م.
{{يسار|٣٩٩}}<noinclude></noinclude>
c1d71pb30vfabjmo4i9wxs685zhiuai
قالب:رص تبديل برقم موسط
10
307128
617213
2026-08-12T14:48:32Z
حبيشان
52457
تنسيق جديد
617213
wikitext
text/x-wiki
<includeonly>{{#invoke:Recto-verso|recto_verso|{{{1}}}
|{{رص|{{{2|}}}
|{{#if:{{{تنسيق الرقم|}}}|{{تحويل رقم|{{{1}}}|{{{تنسيق الرقم|}}}}}|{{{1}}}}}
|{{{3|}}}
}}
|{{رص|{{{3|}}}
|{{#if:{{{تنسيق الرقم|}}}|{{تحويل رقم|{{{1}}}|{{{تنسيق الرقم|}}}}}|{{{1}}}}}
|{{{2|}}}
}}
}}</includeonly><noinclude>
{{توثيق}}
</noinclude>
dazzbifgihbsuicg949jyolk5yg68nt
صفحة:The Method of Medicine WDL7478.pdf/5
104
307129
617219
2026-08-12T15:32:38Z
~2026-43953-13
72772
/* لم تصحح */ أنشأ الصفحة ب'اجينيا التي موقعها على جنوب المدينة اتينا وكان الزهراوى هذا يكثر استعمال الكى بالحديد المحمي بالنار - له مصنف في الطب شهير مسماة ب[[التصريف لمن عجز عن التأليف]] جعله على ثلثين مقالة اكثرها فى الادوية المركبة على طريق الكتابات وهو كتاب تام في معناه كثير الفائد...'
617219
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="~2026-43953-13" />{{رص|تبصرة|٢|زهراوي}}</noinclude>اجينيا التي موقعها على جنوب المدينة اتينا وكان الزهراوى هذا يكثر استعمال
الكى بالحديد المحمي بالنار - له مصنف في الطب شهير مسماة ب[[التصريف لمن عجز
عن التأليف]] جعله على ثلثين مقالة اكثرها فى الادوية المركبة على طريق الكتابات
وهو كتاب تام في معناه كثير الفائدة يشتمل على جميع فروع الطب المعروفة في تلك
الزمان جعله على قسمين الاول نظری والثاني عملى وفي كل من القسمين خمسة عشر
فصلا - ترجم بعد ظهوره بوقت قليل باللغة العبرانية على لغة اهل '''كاتالونيا'''
وهي المقاطعة الشمالية الشرقية من مقاطعات اسبانيا اما القسم المختص
بالجراحة من كتاب التصريف هذا فقد طبع باللغة العبرانية مع ترجمة لاطينية
في مجلدين في '''اكسفورد''' سنة ثمانية وسبعين وسبعة عشر مائة مسيحية
باعتناء العلامة '''تشاننغ''' تحت اسم مقالة ابى القاسم في عمل اليد اى في الجراحة
العملية - وطبع ترجمة كاملة من التصريف كله باللغة اللاطينية في مدينة
'''اوغنبورغ''' سنة تسعة عشر وخمسة عشر مائة مسيحية - هذا ما ذكره صاحب
كتاب القنوع وصاحب كشف الظنون عن اسماء الكتب والفنون وموفق
الدین ابو العباس الطبيب صاحب عيون الانباء في طبقات الاطباء - وقال
ايضا موفق الدين هذا ان من افضل تصانيفه كتابه الكبير المعروف بالزهراوى
وهو ما عد اكتاب التصريف - توفى الزهراوى هذا سنة خمس مائة ودفن
في قرطبة والله اعلم بالصواب
وانا خادم الاطباء '''محمد هدايت الحسن''' الرضوى اللكنوى الموهاني
تجاوز الله من سيأته احد تلامذة مدرسة تكميل الطب الفاء
من تلك المدرسة الغراء حماها الله عن شرور<noinclude></noinclude>
8jrzokf6x8wwx4h8nm0cy0y3b7e8vis
617220
617219
2026-08-12T15:56:08Z
~2026-43953-13
72772
617220
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="~2026-43953-13" />{{رص|تبصرة|٢|زهراوي}}</noinclude>اجينيا التي موقعها على جنوب المدينة اتينا وكان الزهراوى هذا يكثر استعمال الكى بالحديد المحمي بالنار - له مصنف في الطب شهير مسماة ب[[التصريف لمن عجز عن التأليف]] جعله على ثلثين مقالة اكثرها فى الادوية المركبة على طريق الكتابات وهو كتاب تام في معناه كثير الفائدة يشتمل على جميع فروع الطب المعروفة في تلك الزمان جعله على قسمين الاول نظری والثاني عملى وفي كل من القسمين خمسة عشر
فصلا - ترجم بعد ظهوره بوقت قليل باللغة العبرانية على لغة اهل '''كاتالونيا''' وهي المقاطعة الشمالية الشرقية من مقاطعات اسبانيا اما القسم المختص بالجراحة من كتاب التصريف هذا فقد طبع باللغة العبرانية مع ترجمة لاطينية في مجلدين في '''اكسفورد''' سنة ثمانية وسبعين وسبعة عشر مائة مسيحية باعتناء العلامة '''تشاننغ''' تحت اسم مقالة ابى القاسم في عمل اليد اى في الجراحة العملية - وطبع ترجمة كاملة من التصريف كله باللغة اللاطينية في مدينة '''اوغنبورغ''' سنة تسعة عشر وخمسة عشر مائة مسيحية - هذا ما ذكره صاحب كتاب القنوع وصاحب كشف الظنون عن اسماء الكتب والفنون وموفق الدین ابو العباس الطبيب صاحب عيون الانباء في طبقات الاطباء - وقال ايضا موفق الدين هذا ان من افضل تصانيفه كتابه الكبير المعروف بالزهراوى وهو ما عد اكتاب التصريف - توفى الزهراوى هذا سنة خمس مائة ودفن في قرطبة والله اعلم بالصواب
وانا خادم الاطباء '''محمد هدايت الحسن''' الرضوى اللكنوى الموهاني
تجاوز الله من سيأته احد تلامذة مدرسة تكميل الطب الفاء
من تلك المدرسة الغراء حماها الله عن شرور<noinclude></noinclude>
67sdy5llqn7ras4ejjkp5c0dk7x5w4i
617221
617220
2026-08-12T15:56:26Z
~2026-43953-13
72772
617221
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="~2026-43953-13" />{{رص|تبصرة|٢|زهراوي}}</noinclude>اجينيا التي موقعها على جنوب المدينة اتينا وكان الزهراوى هذا يكثر استعمال الكى بالحديد المحمي بالنار - له مصنف في الطب شهير مسماة ب[[التصريف لمن عجز عن التأليف]] جعله على ثلثين مقالة اكثرها فى الادوية المركبة على طريق الكتابات وهو كتاب تام في معناه كثير الفائدة يشتمل على جميع فروع الطب المعروفة في تلك الزمان جعله على قسمين الاول نظری والثاني عملى وفي كل من القسمين خمسة عشر فصلا - ترجم بعد ظهوره بوقت قليل باللغة العبرانية على لغة اهل '''كاتالونيا''' وهي المقاطعة الشمالية الشرقية من مقاطعات اسبانيا اما القسم المختص بالجراحة من كتاب التصريف هذا فقد طبع باللغة العبرانية مع ترجمة لاطينية في مجلدين في '''اكسفورد''' سنة ثمانية وسبعين وسبعة عشر مائة مسيحية باعتناء العلامة '''تشاننغ''' تحت اسم مقالة ابى القاسم في عمل اليد اى في الجراحة العملية - وطبع ترجمة كاملة من التصريف كله باللغة اللاطينية في مدينة '''اوغنبورغ''' سنة تسعة عشر وخمسة عشر مائة مسيحية - هذا ما ذكره صاحب كتاب القنوع وصاحب كشف الظنون عن اسماء الكتب والفنون وموفق الدین ابو العباس الطبيب صاحب عيون الانباء في طبقات الاطباء - وقال ايضا موفق الدين هذا ان من افضل تصانيفه كتابه الكبير المعروف بالزهراوى وهو ما عد اكتاب التصريف - توفى الزهراوى هذا سنة خمس مائة ودفن في قرطبة والله اعلم بالصواب
وانا خادم الاطباء '''محمد هدايت الحسن''' الرضوى اللكنوى الموهاني
تجاوز الله من سيأته احد تلامذة مدرسة تكميل الطب الفاء
من تلك المدرسة الغراء حماها الله عن شرور<noinclude></noinclude>
98vz1a9m2pcupof4adbex6ppeyprm9z
617223
617221
2026-08-12T16:34:58Z
~2026-43953-13
72772
617223
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="~2026-43953-13" />{{رص|تبصره|٢|زهراوي}}</noinclude>اجينيا التي موقعها على جنوب المدينة اتينا وكان الزهراوى هذا يكثر استعمال الكى بالحديد المحمي بالنار - له مصنف في الطب شهير مسماة ب[[التصريف لمن عجز عن التأليف]] جعله على ثلثين مقالة اكثرها فى الادوية المركبة على طريق الكتابات وهو كتاب تام في معناه كثير الفائدة يشتمل على جميع فروع الطب المعروفة في تلك الزمان جعله على قسمين الاول نظری والثاني عملى وفي كل من القسمين خمسة عشر فصلا - ترجم بعد ظهوره بوقت قليل باللغة العبرانية على لغة اهل '''كاتالونيا''' وهي المقاطعة الشمالية الشرقية من مقاطعات اسبانيا اما القسم المختص بالجراحة من كتاب التصريف هذا فقد طبع باللغة العبرانية مع ترجمة لاطينية في مجلدين في '''اكسفورد''' سنة ثمانية وسبعين وسبعة عشر مائة مسيحية باعتناء العلامة '''تشاننغ''' تحت اسم مقالة ابى القاسم في عمل اليد اى في الجراحة العملية - وطبع ترجمة كاملة من التصريف كله باللغة اللاطينية في مدينة '''اوغنبورغ''' سنة تسعة عشر وخمسة عشر مائة مسيحية - هذا ما ذكره صاحب كتاب القنوع وصاحب كشف الظنون عن اسماء الكتب والفنون وموفق الدین ابو العباس الطبيب صاحب عيون الانباء في طبقات الاطباء - وقال ايضا موفق الدين هذا ان من افضل تصانيفه كتابه الكبير المعروف بالزهراوى وهو ما عد اكتاب التصريف - توفى الزهراوى هذا سنة خمس مائة ودفن في قرطبة والله اعلم بالصواب
وانا خادم الاطباء '''محمد هدايت الحسن''' الرضوى اللكنوى الموهاني
تجاوز الله من سيأته احد تلامذة مدرسة تكميل الطب الفاء
من تلك المدرسة الغراء حماها الله عن شرور<noinclude></noinclude>
t0pzu49r3h01lsq3lhal783dzb9m6cp
وحدة:مؤلف/styles.css
828
307130
617227
2026-08-12T18:00:07Z
حبيشان
52457
إنشاء للوحدة
617227
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color:#F1F1DE;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;font-size:115%;text-indent:1em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em
}
.author-dates {
text-align:center;font-size:95%;line-height:95%;padding:1em
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
913xhgbs4yfxrrcn3crw3zwtozf5ahy
617239
617227
2026-08-12T18:46:19Z
حبيشان
52457
تحسين
617239
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;font-size:115%;text-indent:1em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em
}
.author-dates {
text-align:center;font-size:95%;line-height:95%;padding:1em
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
0pkzkg3kb50a42n0i26uj4n900l9lzi
617240
617239
2026-08-12T19:09:16Z
حبيشان
52457
617240
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;font-size:115%;text-indent:1em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-dates {
text-align:center;font-size:95%;line-height:95%;padding:1em
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
5zxjc239i2z21j3wmkehqximbiv5o3g
617322
617240
2026-08-13T08:22:54Z
حبيشان
52457
إخفاء وصلات انترويكي في مقاس عرض ضيق
617322
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-dates {
text-align:center;font-size:95%;line-height:95%;padding:1em
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
9dh3qayzs3nraekfgnfk3ks87ylkn9d
617324
617322
2026-08-13T08:43:18Z
حبيشان
52457
تحسين تنسيق
617324
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-dates {
text-align:center;font-size:95%;line-height:95%;padding:1em
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
4kti72wpwhzsidqv9pyqowocwucgao3
617326
617324
2026-08-13T09:03:18Z
حبيشان
52457
تحسين التنسيق
617326
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
c4ee72mpa0g1t98jpneclshvv43e8ji
617327
617326
2026-08-13T09:08:06Z
حبيشان
52457
ضبط الخط
617327
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;font-family: Amiri,serif;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
1jxrgecskw6zxi0nqlbscbbq2o9cilf
617328
617327
2026-08-13T09:10:20Z
حبيشان
52457
تحسين
617328
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:150%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;font-family: Amiri,serif;padding: 0.2em;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
d7t9o2s1yq86dkt2sttgi6ejfcd210m
617329
617328
2026-08-13T09:12:26Z
حبيشان
52457
617329
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:100%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;font-family: Amiri,serif;padding: 0.2em;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
ptlmqnw7ai45j6fhc4sai3j6897sobo
617338
617329
2026-08-13T11:21:30Z
حبيشان
52457
تحسين عرض
617338
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:100%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;font-family: Amiri,serif;padding: 0.2em;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:1em;padding-bottom: 0.5em;
}
.author-interwikis li {
list-style: none;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
i09iecdybo2lbz1e35ycz2bq6kdiqkg
617343
617338
2026-08-13T11:39:28Z
حبيشان
52457
تحسين عرض
617343
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:100%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:0.5em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;font-family: Amiri,serif;padding: 0.2em;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:1em;padding-bottom: 0.5em;
}
.author-interwikis li {
list-style: none;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
6103l6amcmtsd3srpike6uif9ptppsf
وحدة:مؤلف/ملعب
828
307131
617229
2026-08-12T18:09:04Z
حبيشان
52457
ملعب
617229
Scribunto
text/plain
-- من [[fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('div')
html:tag('span')
:class('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|12px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:class('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:class('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Categorie Auteur-X
firstRow:tag('div')
:class('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br');
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:class('author-interwikis')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
secondRow:tag('div')
:class('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Description
local fullDescription = secondRow:tag('div')
:class('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'Module:مؤلف/styles.css' }) .. tostring(html)
end
return {
author = author
}
p01h8418aob60hz9hii6qh3ond6ufmf
617233
617229
2026-08-12T18:17:51Z
حبيشان
52457
617233
Scribunto
text/plain
-- من [[fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('div')
html:tag('span')
:addClass('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|12px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Categorie Auteur-X
firstRow:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br');
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
secondRow:tag('div')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'Module:مؤلف/styles.css' }) .. tostring(html)
end
return {
author = author
}
ltjgawdxm2zjyt0qf5n0y5gnirvf4cy
617331
617233
2026-08-13T10:00:53Z
حبيشان
52457
617331
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
return mw.html.create('li'):addClass('author-linkrow-' .. site)
:wikitext(link);
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Categorie Auteur-X
main:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br'):done()
:tag('span')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Dates
-- firstRow:tag('div')
-- :addClass('author-dates')
-- :wikitext(formatDates(birth, death, hbirth, hdeath, class))
-- :newline()
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:tag('ul')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
-- secondRow
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'Module:مؤلف/ملعب/styles.css' }) .. tostring(html)
end
return {
author = author
}
q0d32lum7i0gegxxrxhr2ppdc41xl2i
617333
617331
2026-08-13T10:57:20Z
حبيشان
52457
617333
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('li')
html:addClass('author-linkrow')
:tag('img')
:attr('src', '[[ملف:' .. site .. '-logo.svg]]')
:attr('width', '12px')
:attr('link', '');
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Categorie Auteur-X
main:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br'):done()
:tag('span')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Dates
-- firstRow:tag('div')
-- :addClass('author-dates')
-- :wikitext(formatDates(birth, death, hbirth, hdeath, class))
-- :newline()
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:tag('ul')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
-- secondRow
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'Module:مؤلف/styles.css' }) .. tostring(html)
end
return {
author = author
}
a9tl1b25bavp72u0nez2vkn3ngq0zyd
617336
617333
2026-08-13T11:19:51Z
حبيشان
52457
617336
Scribunto
text/plain
-- من [[:fr:]]
local hijricore = require("Module:Hijri/core")
local function errorMessage(text)
-- Return a html formated version of text stylized as an error.
local html = mw.html.create('div')
html:addClass('error')
:wikitext(text)
:wikitext('[[تصنيف:صفحات تستدعي قالب مؤلف بطريقة غير صحيحة]]')
return tostring(html)
end
local function createLinkRow(link, site)
-- Return some html stylised formated text of link
local html = mw.html.create('li')
html:tag('span')
:addClass('author-linkrow')
:wikitext('[[ملف:' .. site .. '-logo.svg|20px|link=]] ')
html:wikitext(link)
return html
end
local function categorization(baseName, parameter)
-- Return the categorisation wikitext for each element of parameter prefixed with baseName
if parameter == nil or mw.title.getCurrentTitle().namespace ~= 102 then
return ''
end
local wikitext = ''
for _, param in pairs(mw.text.split(parameter, '/', true)) do
wikitext = wikitext .. '[[تصنيف:' .. baseName .. ' ' .. param .. ']]'
end
return wikitext
end
local function computeCenturyFromYear(year)
-- Return the correpsonding century for the given year
if year >= 0 then
return math.ceil(year / 100)
else
return -math.ceil(-year / 100)
end
end
local function getTextForCentury(century, withHtml, hijri)
-- Return a roman ordinal of century appended with a trailing text precising
-- if the date is before of after the calendar reference point.
local romanNumbers1 = { '', 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', 'السابع', 'الثامن', 'التاسع',
'العاشر', 'الحادي عشر', 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', 'السادس عشر', 'السابع عشر',
'الثامن عشر', 'التاسع عشر', 'العشرين', 'الحادي والعشرين' }
-- local romanNumbers2 = {'', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'}
local text = romanNumbers1[math.abs(century) + 1]
if century > 0 then
return text .. (hijri and ' الهجري' or ' الميلادي')
else
return text .. (hijri and ' قبل الهجرة' or ' قبل الميلاد')
end
end
local function getTextForYear(year, hijri)
local text = math.abs(year)
if year < 0 then
text = text .. (hijri and ' ق هـ' or ' ق م')
else
text = text .. (hijri and ' هـ' or ' م')
end
return text
end
local function getDateFromArgs(args, field, fieldUpper, hijri)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0,
}
local thijri = hijri and ' الهجرية' or ''
local thijri2 = hijri and ' الهجري' or ''
--extract year or century
local date = args['سنة ' .. fieldUpper .. thijri]
if date == nil or (not hijri and mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
if args[field] then
if (hijri and mw.ustring.match(args[field], "^(%d+)%s?(ق? ?هـ?)$")) or not hijri then
date = args[field]
end
end
if date == nil and hijri then
date = args[field .. thijri]
end
end
local numdate = tonumber(date)
if hijri and date and numdate == nil then
local thy, thyt = mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")
if thy then
numdate = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
numdate = numdate * -1
end
end
end
if numdate ~= nil then
struct.year = numdate
if struct.year == 0 then
struct.text = errorMessage("التقويم لا يحتوي على سنة 0!")
return struct
end
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['قرن ' .. fieldUpper .. thijri2] ~= nil then
struct.century = tonumber(args['قرن ' .. fieldUpper .. thijri2])
struct.precision = 7
end
--build text
if struct.year ~= nil then
struct.text = getTextForYear(struct.year, hijri)
elseif struct.century ~= nil then
struct.text = getTextForCentury(struct.century, true, hijri)
elseif date ~= nil and (hijri or not mw.ustring.match(date, "^(%d+)%s?(ق? ?هـ?)$")) then
struct.text = date
end
mw.logObject(struct)
return struct
end
local function parseWbTime(value, refinedate)
local gyear, gmonth, gday, hy
for y, m, d in string.gmatch(value.time, '(%-?%d%d%d+)%-(%d+)%-(%d+)T') do
gyear = tonumber(y)
gmonth = tonumber(m)
gday = tonumber(d)
end
if refinedate then
for _, ry in pairs(refinedate) do
if ry.snaktype == "value" then
local rylabel = mw.wikibase.getLabelByLang(ry.datavalue.value.id, 'ar')
if rylabel and mw.ustring.match(rylabel, "^(%d+)%s?(ق? ?هـ?)$") then
for thy, thyt in mw.ustring.gmatch(rylabel, "^(%d+)%s?(ق? ?هـ?)$") do
hy = tonumber(thy)
if thyt.sub(1, 2) == 'ق' then
hy = hy * -1
end
end
end
end
end
end
if not hy then
if gmonth == 0 then
gmonth = 7
gday = 1
end
local julianday
if value.calendarmodel == "http://www.wikidata.org/entity/Q1985727" then
julianday = hijricore.gregorian2jd(gyear, gmonth, gday)
else
julianday = hijricore.julian2jd(gyear, gmonth, gday)
end
hy, _, _, _ = hijricore.jd2hijri(julianday)
end
return {
year = gyear,
century = computeCenturyFromYear(gyear),
text = nil,
precision = value.precision
}, {
precision = value.precision,
year = hy,
century = computeCenturyFromYear(hy),
text = nil
}
end
local function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local hstruct = {
year = nil,
century = nil,
text = nil,
precision = 0
}
local snak = statement.mainsnak
if snak.snaktype == 'novalue' then
return struct, hstruct
end
if snak.snaktype == 'somevalue' then
struct.text = '??'
return struct, hstruct
end
struct, hstruct = parseWbTime(snak.datavalue.value, statement.qualifiers and statement.qualifiers.P4241)
local prefix = ''
if struct.precision == 8 then
prefix = 'تقريبًا '
end
--Extract circa
if statement.qualifiers ~= nil and statement.qualifiers.P1480 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue.value.id == 'Q5727902' then
prefix = 'تقريبًا '
struct.precision = 8 --TODO: hacky
end
if qualifier.datavalue.value.id == 'Q79030196' then
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
end
end
--Use before and after if precision <= century
if statement.qualifiers ~= nil and struct.precision <= 7 then
if statement.qualifiers.P1319 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1319) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'بعد '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1326 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1326) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'قبل '
struct.precision = 8 --TODO: hacky
end
elseif statement.qualifiers.P1317 ~= nil then
for _, qualifier in pairs(statement.qualifiers.P1317) do
struct = parseWbTime(qualifier.datavalue.value)
prefix = 'عُرف في '
struct.precision = 8 --TODO: hacky
end
end
end
--Create text
if struct.precision >= 8 then
struct.text = prefix .. getTextForYear(struct.year)
hstruct.text = prefix .. getTextForYear(hstruct.year, true)
elseif struct.precision == 7 then
struct.text = prefix .. getTextForCentury(struct.century, true)
hstruct.text = prefix .. getTextForCentury(hstruct.century, true, true)
else
struct.text = errorMessage('تاريخ ' .. field .. ' لديه دقة منخفضة جدا على ويكي بيانات')
end
return struct, hstruct
end
local function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return { precision = 0 }, { precision = 0 }
end
local time, htime = nil, nil
for _, statement in pairs(statements) do
local newTime, hnewTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
if htime == nil then
htime = hnewTime
elseif htime.year ~= hnewTime.year then --années contradictoires
mw.addWarning('عدة سنوات من ' ..
field ..
' ممكن على ويكي بيانات. طريقة بسيطة لحل هذه المشكلة هي تعيين التاريخ المراد عرضه في الترتيب "المفضل".')
end
end
if time == nil then
return { precision = 0 }, { precision = 0 }
end
return time, htime
end
local function formatDates(birth, death, hbirth, hdeath, class)
if birth.text == nil and death.text == nil then
return ''
end
local htext = '('
local text = ''
if hbirth.text ~= nil then
htext = htext .. hbirth.text .. ' '
else
htext = htext .. "000" .. ' '
end
if birth.precision >= 9 then
local annotation = 'class="bday" itemprop="birthDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="foundingDate'
end
text = text .. '<time datetime="' .. birth.year .. '" ' .. annotation .. '>' .. birth.text .. '</time> '
elseif birth.text ~= nil then
text = text .. birth.text .. ' '
else
text = text .. "000" .. ' '
end
text = text .. '—'
htext = htext .. '—'
if hdeath.text ~= nil then
htext = htext .. hdeath.text .. ' '
else
htext = htext .. "000" .. ' '
end
if death.precision >= 9 then
local annotation = 'class="dday" itemprop="deathDate"'
if class ~= "Q5" and class ~= nil then
annotation = 'itemprop="dissolutionDate'
end
text = text .. ' <time datetime="' .. death.year .. '" ' .. annotation .. '>' .. death.text .. '</time>'
elseif death.text ~= nil then
text = text .. ' ' .. death.text
end
return htext .. ' = ' .. text .. ')'
end
local function qidForProperty(item, property)
local statements = item:getBestStatements(property)
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
return statements[1].mainsnak.datavalue.value.id
end
return nil
end
local function searchKey(key)
-- normally the key does not contain any diacritic but it's a common misuse
-- of the clef = so handle at least the most usual diacritics, note than
-- prenom can be empty
local nom, prenom = mw.ustring.match(key, '^([ء-ي]*)[,]?[ ]*(.*)$')
return prenom .. ' ' .. 'intitle:' .. nom
end
local function add_category(html, category)
if mw.title.getCurrentTitle().namespace == 102 then
html:wikitext('[[تصنيف:' .. category .. ']]')
end
end
local function author(frame)
--create a clean table of parameters with blank parameters removed
local args = {}
for k, v in pairs(frame:getParent().args) do
if v ~= '' then
args[k] = v
end
end
local birth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد')
local hbirth = getDateFromArgs(args, 'سنة الميلاد', 'الميلاد', true)
local death = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة')
local hdeath = getDateFromArgs(args, 'سنة الوفاة', 'الوفاة', true)
local sex = nil
local class = nil
local html = mw.html.create()
html:wikitext('\n__لافهرس__')
:wikitext('\n');
if args['الاسم'] == nil and (args['الاسم الأخير'] or args['الاسم الأول']) then
args['الاسم'] = (args['الاسم الأول'] or '') .. " " .. (args['الاسم الأخير'] or '')
end
--Utilise Wikidata si paramètres non renseignés
local item = mw.wikibase.getEntity()
if item == nil then
add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات')
else
if args['الاسم'] == nil then
args['الاسم'] = item:getLabel()
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي')
end
if args['وصف'] ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي')
elseif item.descriptions ~= nil and item.descriptions.ar ~= nil then
args['وصف'] = mw.text.trim(string.gsub(item.descriptions.ar.value, "%s+%(.*%)%s*", " "))
if item.descriptions.ar.language ~= 'ar' then
args.descriptionLanguageCode = item.descriptions.ar.language
end
end
if args['صورة'] == nil then
local statements = item:getBestStatements('P154') -- logo
if next(statements) == nil then
statements = item:getBestStatements('P18') --image
end
if next(statements) == nil then
statements = item:getBestStatements('P6802') -- image en rapport
end
if statements[1] ~= nil and statements[1].mainsnak.datavalue ~= nil then
args['صورة'] = statements[1].mainsnak.datavalue.value
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع وسيط صورة')
end
local birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P569'), 'birth')
if birthWikidata.precision == 0 then
birthWikidata, hbirthWikidata = getDateFromTimeStatements(item:getBestStatements('P571'), 'creation')
end
if birth.text == nil then
birth = birthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if birthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hbirth.text == nil then
hbirth = hbirthWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hbirthWikidata.text == nil then -- on utilise la date de création
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
local deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P570'), 'death')
if deathWikidata.precision == 0 then -- on utilise la date de dissolution
deathWikidata, hdeathWikidata = getDateFromTimeStatements(item:getBestStatements('P576'), 'dissolution')
end
if death.text == nil then
death = deathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if deathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if hdeath.text == nil then
hdeath = hdeathWikidata
else
add_category(html, 'صفحات تستخدم قالب مؤلف بتاريخ محلي')
if hdeathWikidata.text == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
end
if args.pseudo == nil then
args.pseudo = item:formatPropertyValues('P742').value
if args.pseudo == '' then
args.pseudo = nil
end
elseif args.pseudo ~= '-' then
add_category(html, 'Pages utilisant le modèle Auteur avec un pseudo local')
end
--sex
sex = qidForProperty(item, 'P21')
--class
class = qidForProperty(item, 'P31')
end
if args['الاسم'] == nil then
args['الاسم'] = mw.title.getCurrentTitle().text
-- return errorMessage('وسيط "الاسم" إلزامي ويجب أن تحتوي على اسم المؤلف')
end
--sort key and initiale
local firstName = args['الاسم الأول'] or ''
local familyName = args['الاسم الأخير'] or ''
if item ~= nil then
--first name
local firstNameStatements = item:getBestStatements('P735')
if firstNameStatements[1] ~= nil then
if firstNameStatements[1].mainsnak.type == 'value' then
local firstNameId = firstNameStatements[1].mainsnak.datavalue.value.id
firstName = mw.wikibase.label(firstNameId) or ''
--TODO check if the first name is not an initial
elseif firstNameStatements[1].mainsnak.type == 'somevalue' then
add_category(html, 'Auteurs de prénom inconnu')
end
end
--family name
local familyNameId = qidForProperty(item, 'P734')
if familyName == '' and familyNameId ~= nil then
familyName = mw.wikibase.label(familyNameId) or ''
end
end
if familyName == '' then
--We are in a simple case with first name and last name. TODO: bad hack, should be improved
local nameParts = mw.text.split(args['الاسم'], ' ', true)
if #nameParts == 1 then
familyName = nameParts[1]
elseif #nameParts > 1 then
firstName = nameParts[1]
familyName = nameParts[#nameParts]
end
end
if args['مفتاح'] == nil then
if familyName ~= '' then
local moduleClassement = require 'Module:Classement'
args['مفتاح'] = moduleClassement.getSortKeyForName({ args = { firstName, familyName } })
else
return errorMessage('المعلمة "مفتاح" إلزامية ويجب أن تحتوي على مفتاح فرز للمؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع مفتاح محلي')
end
if args['فهرس'] == nil then
if args['مفتاح'] ~= nil then
args['فهرس'] = mw.ustring.sub(args['مفتاح'], 1, 1)
else
return errorMessage('وسيط "الفهرس" مطلوب ويجب أن يحتوي على الحرف الأول من اسم المؤلف')
end
else
add_category(html, 'صفحات تستخدم قالب مؤلف مع بيانات للترحيل')
end
local main = html:tag('div')
:attr('itemscope', '')
:addClass('author-box')
if class == "Q5" or class == nil then
main = main:attr('itemtype', 'http://schema.org/Person'):addClass('vcard')
else
main = main:attr('itemtype', 'http://schema.org/Organization')
end
if item ~= nil and item.id ~= nil then
main:attr('itemid', 'http://www.wikidata.org/entity/' .. item.id)
end
--Categorie Auteur-X
main:tag('div')
:addClass('author-index')
:tag('span')
:wikitext('►')
:done()
:wikitext(' [[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون ' .. args['فهرس'] .. ']]')
--Image
local image = args['صورة']
if image ~= nil then
main:tag('div')
:addClass('author-photo')
:wikitext('[[ملف:' .. image .. '|140px|alt=' .. args['الاسم'] .. '|class=photo]]')
end
--First row
local firstRow = main:tag('div')
--Title
firstRow:tag('h1')
:addClass('fn')
:attr('itemprop', 'name')
:wikitext(args['الاسم'])
:tag('br'):done()
:tag('span')
:addClass('author-dates')
:wikitext(formatDates(birth, death, hbirth, hdeath, class))
:newline()
--Dates
-- firstRow:tag('div')
-- :addClass('author-dates')
-- :wikitext(formatDates(birth, death, hbirth, hdeath, class))
-- :newline()
--Second row
local secondRow = main:tag('div')
--Interwikis
local interwikis = secondRow:tag('div')
:addClass('author-interwikis')
:tag('ul')
:node(createLinkRow(
'<span class="plainlinks">[//ar.wikisource.org/wiki/Special:IndexPages?key=' ..
mw.uri.encode(searchKey(args['مفتاح'])) .. ' الفهارس]</span>', 'Wikisource'))
if item ~= nil and item:getSitelink('arwiki') ~= nil then
interwikis:node(createLinkRow('[[w:' .. item:getSitelink('arwiki') .. '|السيرة]]', 'Wikipedia'))
else
interwikis:node(createLinkRow('[[w:' .. args['الاسم'] .. '|<span style="color:#BA0000;">السيرة </span>]]',
'Wikipedia'))
end
if item ~= nil and item:getSitelink('arwikiquote') ~= nil then
interwikis:node(createLinkRow('[[q:' .. item:getSitelink('arwikiquote') .. '|اقتباسات]]', 'Wikiquote'))
else
interwikis:node(createLinkRow('[[q:' .. args['الاسم'] .. '|<span style="color:#BA0000;">اقتباسات</span>]]',
'Wikiquote'))
end
if item ~= nil then
local commonsCat = item:formatPropertyValues('P373').value
if commonsCat ~= '' then
interwikis:node(createLinkRow('[[commons:Category:' .. commonsCat .. '|الوسائط]]', 'Commons'))
elseif item:getSitelink('commonswiki') ~= nil then
interwikis:node(createLinkRow('[[commons:' .. item:getSitelink('commonswiki') .. '|الوسائط]]', 'Commons'))
else
interwikis:node(createLinkRow(
'[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]', 'Commons'))
end
else
interwikis:node(createLinkRow('[[commons:' .. args['الاسم'] .. '|<span style="color:#BA0000;">الوسائط</span>]]',
'Commons'))
end
if item ~= nil and item.id ~= nil then
interwikis:node(createLinkRow('[[d:' .. item.id .. '|ويكي بيانات]]', 'Wikidata'))
else
interwikis:node(createLinkRow(
'<span class="plainlinks">[//www.wikidata.org/w/index.php?title=Special:NewItem&site=arwikisource&page=' ..
mw.uri.encode(mw.title.getCurrentTitle().fullText) ..
'&label=' .. mw.uri.encode(args['الاسم']) .. ' Données structurées</span>]</span>', 'Wikidata'))
end
-- secondRow
--Description
local fullDescription = secondRow:tag('div')
:addClass('author-description')
local description = fullDescription:tag('span')
:addClass('label')
:attr('itemprop', 'description')
:wikitext(args['وصف'] or '')
if args.descriptionLanguageCode ~= nil then
description:attr('lang', item.descriptions.ar.language)
:css('font-style', 'italic')
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
elseif args['وصف'] == nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بلا وصف عربي')
end
-- fullDescription
-- :newline()
-- :wikitext(formatDates(birth, death,hbirth, hdeath, class))
if args.pseudo ~= nil and args.pseudo ~= '-' then
fullDescription:tag('br')
fullDescription:wikitext('Pseudonyme : ')
:tag('span')
:attr('itemprop', 'alternateName')
:css('font-style', 'italic')
:wikitext(args.pseudo)
end
--categories
add_category(html, 'مؤلفون')
add_category(html, 'مؤلفون-' .. args['فهرس'])
--genre
-- if args.genre ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec un genre local')
-- html:wikitext(categorization('', args.genre))
-- end
-- html:wikitext(categorization('', args.genre))
--langue
if item ~= nil then
for _, statement in pairs(item:getBestStatements('P6886')) do
if statement.mainsnak.datavalue ~= nil then
local languageLabel = mw.wikibase.label(statement.mainsnak.datavalue.value.id)
if languageLabel ~= nil then
categoryName = 'تصنيف:مؤلفون يكتبون ب' .. mw.wikibase.label(statement.mainsnak.datavalue.value.id)
html:wikitext('[[' .. categoryName .. ']]')
if not mw.title.new(categoryName).exists then
html:wikitext('[[تصنيف:صفحات تستخدم قالب مؤلف مع فئة لغة غير موجودة]]')
end
end
end
end
end
if args.langue ~= nil then
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط لغة محلي')
end
--الجنسيات
-- local categoryForCountry = mw.loadData('Module:Auteur2/nationalités')
-- local withNationality = false
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P27')) do
-- if statement.mainsnak.datavalue ~= nil then
-- countryId = statement.mainsnak.datavalue.value.id
-- if categoryForCountry[countryId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité sans catégorie')
-- withNationality = true
-- elseif categoryForCountry[countryId] then
-- add_category(html, categoryForCountry[countryId])
-- withNationality = true
-- end
-- end
-- end
-- end
-- if args.pays ~= nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une nationalité locale')
-- withNationality = true
-- end
-- if not withNationality then
-- add_category(html, 'Pages « Auteur » sans nationalité')
-- end
--الوظائف
-- categoryForOccupation = mw.loadData('Module:Auteur2/occupations')
-- if item ~= nil then
-- for _, statement in pairs(item:getBestStatements('P106')) do
-- if statement.mainsnak.datavalue ~= nil then
-- occupationId = statement.mainsnak.datavalue.value.id
-- if categoryForOccupation[occupationId] == nil then
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation sans catégorie')
-- elseif categoryForOccupation[occupationId] then
-- add_category(html, categoryForOccupation[occupationId])
-- end
-- end
-- end
-- end
-- if args.metier ~= nil or args["métier"] ~= nil then
-- html:wikitext(categorization('', args.metier or args["métier"]))
-- add_category(html, 'Pages utilisant le modèle Auteur avec une occupation locale')
-- end
--prix
if args['جائزة'] ~= nil then
html:wikitext(categorization('حائزون على', args['جائزة']))
add_category(html, 'صفحات تستخدم قالب مؤلف بوسيط جائزة محلي')
end
if item ~= nil then
for _, awardStatement in pairs(item:getBestStatements('P166')) do
if awardStatement.mainsnak.datavalue ~= nil then
distinctionItem = mw.wikibase.getEntity(awardStatement.mainsnak.datavalue.value.id)
for _, awardeeCatStatement in pairs(distinctionItem:getBestStatements('P2517')) do
if awardeeCatStatement.mainsnak.datavalue ~= nil then
wikisourceCategory = mw.wikibase.sitelink(awardeeCatStatement.mainsnak.datavalue.value.id)
if wikisourceCategory then
html:wikitext('[[' .. wikisourceCategory .. ']]')
end
end
end
end
end
end
--categorie dates
if birth.precision >= 9 and birth.year > 1500 then
add_category(html, 'مواليد ' .. birth.year)
end
if death.precision >= 9 and death.year > 1500 then
add_category(html, 'وفيات ' .. death.year)
end
if hbirth.precision >= 9 and hbirth.year > -13 then
add_category(html, 'مواليد ' .. hbirth.year .. ' هـ')
end
if hdeath.precision >= 9 and hdeath.year > -13 then
add_category(html, 'وفيات ' .. hdeath.year .. ' هـ')
end
local withoutEpoque = true
if birth.century ~= nil and (birth.precision < 9 or birth.year <= birth.century * 100 - 20) then
if 15 <= birth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(birth.century, false))
elseif 6 <= birth.century and birth.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if death.century ~= nil and (death.precision < 9 or (death.century - 1) * 100 + 5 <= death.year) then
if 15 <= death.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(death.century, false))
elseif 6 <= death.century and death.century <= 14 then
add_category(html, 'مؤلفو القرون الوسطى الميلادية')
else
add_category(html, 'كتاب قدماء')
end
withoutEpoque = false
end
if hbirth.century ~= nil and (hbirth.precision < 9 or hbirth.year <= hbirth.century * 100 - 20) then
if 0 <= hbirth.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hbirth.century, false, true))
end
withoutEpoque = false
end
if hdeath.century ~= nil and (hdeath.precision < 9 or (hdeath.century - 1) * 100 + 5 <= hdeath.year) then
if 0 <= hdeath.century then
add_category(html, 'مؤلفو القرن ' .. getTextForCentury(hdeath.century, false, true))
elseif 0 >= hdeath.century then
add_category(html, 'مؤلفو عصر ما قبل الإسلام')
end
withoutEpoque = false
end
if withoutEpoque then
add_category(html, 'عصر مجهول')
end
if sex == 'Q6581072' then
add_category(html, 'مؤلفات')
end
--droits
-- if args.droits == nil then
-- args.droits = '70'
-- end
-- droitsNumber = tonumber(args.droits)
-- if args.droits == 'mpf' then
-- if death.precision >= 9 and tonumber(os.date("%Y")) <= death.year + 95 then --TODO: guess 'mpf' from P166:Q3324507 in Wikidata?
-- html:wikitext(frame:expandTemplate({title = 'Auteur Mort pour la France'}))
-- end
-- add_category(html, 'Auteurs morts pour la France')
-- elseif args.droits == 'non' then
-- --rien à faire
-- elseif droitsNumber ~= nil then
-- if death.year ~= nil and tonumber(os.date("%Y")) <= death.year + droitsNumber then --XX ans on vérifie le DP-EU
-- if birth.year == nil or 1923 - birth.year > 20 then
-- html:wikitext(frame:expandTemplate({title = 'DP-EU-Auteur'}))
-- end
-- end
-- if args.droits ~= '70' then
-- add_category(html, 'Droits d’auteur ' .. args.droits .. ' ans')
-- end
-- else
-- return errorMessage('Le paramètre droit contient une valeur non supportés. Valeurs possibles : 70/60/50 (durée du droit d\'auteur), "mpf" (mort pour la france). Par défaut: 70')
-- end
--maintenance
if args['مفتاح'] ~= nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. args['مفتاح'] .. '}}'))
end
-- contenu
-- html:wikitext('\n__لافهرس__')
-- :wikitext('\n');
if args['محتوى'] then
html:wikitext(args['محتوى'])
:wikitext('\n')
:wikitext((require 'Module:ضبط استنادي').authorityControl(frame))
end
return mw.getCurrentFrame():extensionTag('templatestyles', '', { src = 'وحدة:مؤلف/ملعب/styles.css' }) .. tostring(html)
end
return {
author = author
}
hab9s52f7wix2tx7wrcoosnlwvh9hrw
التهذيب في أصول التعريب/باب في النسب في العرب
0
307132
617242
2026-08-12T19:11:20Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=29 fromsection=2 to=32 tosection=1 header=1 /> ---- {{حواشي}}'
617242
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=29
fromsection=2
to=32
tosection=1
header=1
/>
----
{{حواشي}}
bkvp2d295dnuqkcbzflza90537zmqx0
التهذيب في أصول التعريب/فصل في طبقات الأنساب
0
307133
617244
2026-08-12T19:13:44Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=32 fromsection=2 to=36 tosection=1 header=1 /> ---- {{حواشي}}'
617244
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=32
fromsection=2
to=36
tosection=1
header=1
/>
----
{{حواشي}}
cbarpx45qbht830p56v091do4p2zwa4
617245
617244
2026-08-12T19:14:17Z
Nehaoua
7481
تصحيح خطأ من تعديل سابق
617245
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=32
fromsection=2
to=35
tosection=1
header=1
/>
----
{{حواشي}}
7j02eb343bknyimjpfbtn7kbjyupqve
617248
617245
2026-08-12T19:16:57Z
Nehaoua
7481
تنسيق وضبط
617248
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=32
fromsection=2
to=35
header=1
/>
----
{{حواشي}}
hckg4fjqwgoq2u8cpq1x5t74hy8gs3i
التهذيب في أصول التعريب/ فصل في تسلسل النسب
0
307134
617246
2026-08-12T19:14:42Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=35 fromsection=5 to=35 tosection=1 header=1 /> ---- {{حواشي}}'
617246
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=35
fromsection=5
to=35
tosection=1
header=1
/>
----
{{حواشي}}
tu1lgpakorkswb7vi483c1p648bufmt
617247
617246
2026-08-12T19:16:09Z
Nehaoua
7481
617247
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=36
fromsection=5
to=36
tosection=1
header=1
/>
----
{{حواشي}}
l9q2sk4vusrljkqdtw6e0y8kkxw3ul2
617250
617247
2026-08-12T19:19:09Z
Nehaoua
7481
617250
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=36
fromsection=1
to=36
tosection=1
header=1
/>
----
{{حواشي}}
j164wgw4bwmeg0pxl8cc4z2yms29k5n
التهذيب في أصول التعريب/ فصل في العرب القحطانية
0
307135
617251
2026-08-12T19:19:55Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=36 fromsection=2 to=46 tosection=1 header=1 /> ---- {{حواشي}}'
617251
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=36
fromsection=2
to=46
tosection=1
header=1
/>
----
{{حواشي}}
7twkfrarv7tju3rwjiiodfkelssi6te
617252
617251
2026-08-12T19:20:27Z
Nehaoua
7481
617252
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=36
fromsection=2
to=45
tosection=1
header=1
/>
----
{{حواشي}}
go9euaz09kb8uo1w6v04opzuflhcy4y
617253
617252
2026-08-12T19:20:52Z
Nehaoua
7481
617253
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=36
fromsection=2
to=40
tosection=1
header=1
/>
----
{{حواشي}}
c2r8tkp4vq7bp1ywda27wjctn0lilhb
التهذيب في أصول التعريب/فصل في العرب العدنانية
0
307136
617255
2026-08-12T19:24:05Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=40 fromsection=2 to=46 tosection=1 header=1 /> ---- {{حواشي}}'
617255
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=40
fromsection=2
to=46
tosection=1
header=1
/>
----
{{حواشي}}
527r22qt69nadxjl2q9kdwt52yef38y
التهذيب في أصول التعريب/باب في لغة جزيرة العرب واختلافها
0
307137
617260
2026-08-12T19:29:36Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=46 fromsection=2 to=49 tosection=1 header=1 /> ---- {{حواشي}}'
617260
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=46
fromsection=2
to=49
tosection=1
header=1
/>
----
{{حواشي}}
3zt6hn13juhc99fgvb0zbhsm55ibekk
التهذيب في أصول التعريب/فصل في اختلاف لغة العرب
0
307138
617262
2026-08-12T19:34:28Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=49 fromsection=2 to=51 tosection=1 header=1 /> ---- {{حواشي}}'
617262
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=49
fromsection=2
to=51
tosection=1
header=1
/>
----
{{حواشي}}
j2lwcb8klbqjc4rc73tjgo4jaarv16v
617263
617262
2026-08-12T19:34:49Z
Nehaoua
7481
617263
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=49
fromsection=2
to=50
tosection=1
header=1
/>
----
{{حواشي}}
m904hcghqc7urnetqphnnxqi647p3kz
التهذيب في أصول التعريب/فصل في المذموم من اللغات
0
307139
617264
2026-08-12T19:36:51Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=51 to=52 tosection=1 header=1 /> ---- {{حواشي}}'
617264
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=51
to=52
tosection=1
header=1
/>
----
{{حواشي}}
b25erb20k6f5an1kgnvxgm4255elltz
التهذيب في أصول التعريب/باب في مراتب كلام العرب
0
307140
617268
2026-08-12T19:43:48Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=52 fromsection=2 to=54 tosection=1 header=1 /> ---- {{حواشي}}'
617268
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=52
fromsection=2
to=54
tosection=1
header=1
/>
----
{{حواشي}}
modi2oru6adcqzc6aczrqtwvm995kw9
التهذيب في أصول التعريب/باب في بلاغة القرآن
0
307141
617270
2026-08-12T19:46:27Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=54 fromsection=2 to=58 tosection=1 header=1 /> ---- {{حواشي}}'
617270
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=54
fromsection=2
to=58
tosection=1
header=1
/>
----
{{حواشي}}
2elt3lbn8r55f7ilha9ytoyd8hu0u0g
التهذيب في أصول التعريب/باب في اللغة العربية بين اللغات
0
307142
617272
2026-08-12T19:48:31Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=58 fromsection=2 to=61 tosection=1 header=1 /> ---- {{حواشي}}'
617272
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=58
fromsection=2
to=61
tosection=1
header=1
/>
----
{{حواشي}}
0oy8w0q6h8xe3imv9oafyvjglnkugll
التهذيب في أصول التعريب/باب في القول في مهد الساميين
0
307143
617274
2026-08-12T19:54:04Z
Nehaoua
7481
تنسيق ويكي
617274
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=61
fromsection=2
to=63
tosection=1
header=1
/>
----
{{حواشي}}
qr4qmga42vjtg1mj11fx8c2ol527h8k
617276
617274
2026-08-12T19:55:09Z
Nehaoua
7481
617276
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=61
fromsection=2
to=62
tosection=1
header=1
/>
----
{{حواشي}}
dt42um0ufqcw9crpm4sfidlslobyib4
التهذيب في أصول التعريب/باب في تقسيم اللغات السامية
0
307144
617277
2026-08-12T19:56:25Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=62 fromsection=2 to=64 tosection=1 header=1 /> ---- {{حواشي}}'
617277
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=62
fromsection=2
to=64
tosection=1
header=1
/>
----
{{حواشي}}
c4ujpmkggro3wwenhslecwc125k9lil
التهذيب في أصول التعريب/فصل في تقسيم اللهجات الآرامية
0
307145
617280
2026-08-12T20:02:14Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=64 fromsection=2 to=67 tosection=1 header=1 /> ---- {{حواشي}}'
617280
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=64
fromsection=2
to=67
tosection=1
header=1
/>
----
{{حواشي}}
aqwi32czk31y7g30isk65euoixk1vuq
التهذيب في أصول التعريب/باب في السبب الداعي إلى نقل فلسفة اليونان وعلومها إلى اللغة السريانية قبل النهضة العربية
0
307146
617282
2026-08-12T20:26:05Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=67 fromsection=2 to=77 tosection=1 header=1 /> ---- {{حواشي}}'
617282
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=67
fromsection=2
to=77
tosection=1
header=1
/>
----
{{حواشي}}
stz8gxd0cchfzvxq9i8f0zos31o30x9
التهذيب في أصول التعريب/مدارس التعليم عند السريان
0
307147
617284
2026-08-12T20:28:36Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=77 fromsection=2 to=78 tosection=1 header=1 /> ---- {{حواشي}}'
617284
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=77
fromsection=2
to=78
tosection=1
header=1
/>
----
{{حواشي}}
dlksv5hbzzdztcsj9dvstfpqwqw714m
التهذيب في أصول التعريب/باب في اللغات السامية الجنوبية
0
307148
617286
2026-08-12T20:30:59Z
Nehaoua
7481
أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=78 fromsection=2 to=80 tosection=1 header=1 /> ---- {{حواشي}}'
617286
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=78
fromsection=2
to=80
tosection=1
header=1
/>
----
{{حواشي}}
qslp2x4z74pu1ni7qjjcnczb8cg9c6j
617302
617286
2026-08-13T03:11:41Z
JazarF
71952
617302
wikitext
text/x-wiki
<pages index="التهذيب في أصول التعريب (auc aco001146).pdf"
from=78
fromsection=2
to=80
tosection=1
header=1
/>
{{smallrefs|rule=yes}}
1tl6c4vi2q764q4c6pumln71mdxfu9a
صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/5
104
307149
617288
2026-08-12T20:40:52Z
Nehaoua
7481
/* صُححّت */
617288
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" /></noinclude>{{وسط|
كتاب
{{وسط|{{أكبر–3|'''التهذيب'''}}}}
{{وسط|{{أكبر–3|'''في'''}}}}
{{وسط|{{أكبر–3|'''أصول التعريب'''}}}}
{{سج|}}
{{وسط|تصنيف}}
{{سج|}}
{{وسط|الدكتور}}
{{وسط|أحمد بك عيسى}}
{{سج|}}
{{سطر|10%}}
{{سج|}}
{{وسط|الطبعة الأولى}}
{{سج|}}
{{سطر|10%}}
{{سج|}}
{{وسط|القاهرة}}
{{سج|}}
{{وسط|'''سنة ١٣٤٢ هـ ١٩٢٣ م'''}}
{{سج|2}}
{{سطر|20%}}
{{وسط|مطبعة مصر – شركة مساهمة مصرية}}<noinclude></noinclude>
n8vznkpw3ntsa71p7x89i0zgsdc32y7
617289
617288
2026-08-12T20:41:17Z
Nehaoua
7481
تصحيح خطأ من تعديل سابق
617289
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" /></noinclude>{{وسط|
كتاب
{{وسط|{{أكبر-3|'''التهذيب'''}}}}
{{وسط|{{أكبر-3|'''في'''}}}}
{{وسط|{{أكبر-3|'''أصول التعريب'''}}}}
{{سج|}}
{{وسط|تصنيف}}
{{سج|}}
{{وسط|الدكتور}}
{{وسط|أحمد بك عيسى}}
{{سج|}}
{{سطر|10%}}
{{سج|}}
{{وسط|الطبعة الأولى}}
{{سج|}}
{{سطر|10%}}
{{سج|}}
{{وسط|القاهرة}}
{{سج|}}
{{وسط|'''سنة ١٣٤٢ هـ ١٩٢٣ م'''}}
{{سج|2}}
{{سطر|20%}}
{{وسط|مطبعة مصر – شركة مساهمة مصرية}}<noinclude></noinclude>
re8yb7jsm93hn75h68gq2f99o3y7hct
617290
617289
2026-08-12T20:42:16Z
Nehaoua
7481
تنسيق ويكي
617290
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Nehaoua" /></noinclude>{{وسط|كتاب}}
{{وسط|{{أكبر-3|'''التهذيب'''}}}}
{{وسط|{{أكبر-3|'''في'''}}}}
{{وسط|{{أكبر-3|'''أصول التعريب'''}}}}
{{سج|}}
{{وسط|تصنيف}}
{{سج|}}
{{وسط|الدكتور}}
{{وسط|أحمد بك عيسى}}
{{سج|}}
{{سطر|10%}}
{{سج|}}
{{وسط|الطبعة الأولى}}
{{سج|}}
{{سطر|10%}}
{{سج|}}
{{وسط|القاهرة}}
{{سج|}}
{{وسط|'''سنة ١٣٤٢ هـ ١٩٢٣ م'''}}
{{سج|2}}
{{سطر|20%}}
{{وسط|مطبعة مصر – شركة مساهمة مصرية}}<noinclude></noinclude>
t16qu6x0tvrdu24yhm6z7zee1cslhfr
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/403
104
307150
617311
2026-08-13T07:30:22Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'- - شرح قطر الندى وبل الصدى ، لابن هشام الأنصاري (٧٦١هـ)، تح محمد محيي الدين عبد الحميد ، مطبعة السعادة ، مصر ، طـ ٩، ١٣٧٧هـ ــ ١٩٥٧م. شرح المعلقات السبع ، الحسين بن أحمد بن الحسين الزوزني ( ٤٨٦ هـ ) ، إدارة الطباعة المنيرية ، القاهرة، ط ١، ١٣٥٢هـ . شرح المفصل، ابن...'
617311
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>-
-
شرح قطر الندى وبل الصدى ، لابن هشام الأنصاري (٧٦١هـ)، تح محمد محيي
الدين عبد الحميد ، مطبعة السعادة ، مصر ، طـ ٩، ١٣٧٧هـ ــ ١٩٥٧م.
شرح المعلقات السبع ، الحسين بن أحمد بن الحسين الزوزني ( ٤٨٦ هـ ) ، إدارة الطباعة
المنيرية ، القاهرة، ط ١، ١٣٥٢هـ .
شرح المفصل، ابن يعيش النحوي ( ٦٤٣هـ) ، عالم الكتب، بيروت ، مكتبة المتنبي ،
القاهرة .
الأعشى في صناعة الإنشاء أحمد بن علي القلقشندي (۸۲۱هـ)، المؤسسة
صبح
المصرية العامة للتأليف والترجمة والطباعة والنشر ، ١٣٨٣هـ ـ ١٩٦٣م.
الصوتيات ، تأليف برتيل مالمبرج، ترجمة : د. محمد حلمي هليل، معهد الخرطوم الدولي
للغة العربية ، الخرطوم ، ١٩٨٥م.
ضرائر الشعر، ابن عصفور الإشبيلي (٦٦٩هـ)، تحـ السيد إبراهيم محمد، دار
الأندلس، طا ، ۱۹۸۰م.
ضرورة الشعر ، أبو سعيد السيرافي (٣٦٨هـ ) ، تحـ د. رمضان عبد التواب، دار
النهضة العربية للطباعة والنشر، بيروت، ط ١ ، ١٤٠٥ هـ ـ ١٩٨٥م.
،
العقد الفريد لابن عبد ربه ، تح خلیل شرف الدین منشورات دار الهلال، بیروت
١٩٨٦م.
علم الأصوات اللغوية - الفونيتيكا ،
بيروت، ط ۱ ، ۱۹۹۲م.
.2 ،
عصام نور الدين، دار الفكر اللبناني،
علم التعمية واستخراج المعمى عند العرب ، الجزء الأول، . د. محمد مراياتي ، محمد
حسان الطيان، يحيى مير علم، مطبوعات مجمع اللغة العربية بدمشق،
١٤٠٧ هـ - ١٩٨٧م.
العمدة في محاسن الشعر وآدابه ونقده، لابن رشيق
المطبعة التجارية الكبرى بمصر ، ط ١ ، ١٣٥٣هـ ـ ١٩٣٤م.
محيي
الدين عبد الحميد ،
الفهرست، ابن النديم ( ٣٨٥ هــــ) ( تح رضا - تجدد، طهران،
۱۳۹۱هـ ـ ۱۹۷۱ .
القاموس المحيط مجد الدين محمد بن يعقوب الفيروزآبادي (٨١٦هـ)، مؤسسة
الرسالة ، بيروت، ط ١، ١٣٠٦ هـ - ١٩٨٦م.
٤٠١<noinclude></noinclude>
n6t503wqxjd42xy690p0738hmzly4hp
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/404
104
307151
617312
2026-08-13T07:30:42Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'القراءات العشر المتواترة من طريقي الشاطبية والدرة ، الشيخ محمد كريم راجح ، مكتبة دار المهاجر ، المدينة المنورة ، ١٤١٢هـ ـ ۱۹۹۲م. " - القسطاس في علم العروض جار الله الزمخشري ، تحـ د. فخر الدين قباوة ، المكتبة العربية بحلب ، ط ۱ ، ۱۳۹۷هـ ـ ۱۹۷۷م. القواني، للأخفش،...'
617312
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>القراءات العشر المتواترة من طريقي الشاطبية والدرة ، الشيخ محمد كريم راجح ، مكتبة
دار المهاجر ، المدينة المنورة ، ١٤١٢هـ ـ ۱۹۹۲م.
"
- القسطاس في علم العروض جار الله الزمخشري ، تحـ د. فخر الدين قباوة ، المكتبة
العربية بحلب ، ط ۱ ، ۱۳۹۷هـ ـ ۱۹۷۷م.
القواني، للأخفش، تحـ أحمد راتب النفاخ دار الأمانة، بيروت، ط1،
١٣٩٤هـ ـ ١٩٧٤م.
كتاب سيبويه ، أبو بشر عمرو بن عثمان بن قنبر (١٨٠هـ)، تح عبد السلام هارون ،
عالم الكتب، بيروت ، ١٣٨٥هـ - ١٩٦٦م.
الكتابة الخطية العربية فوزي سالم عفيفي، وكالة المطبوعات، الكويت، طا،
١٤٠٠هـ ـ ١٩٨٠م.
كتاب العين ، الخليل بن أحمد الفراهيدي (١٧٥هـ ) ) .
اتحاد . مهدي المخزومي - د.
إبراهيم السامرائي ، دار الهجرة ، إيران ـ قم ، ط ١ ، ١٤٠٥هـ .
لسان العرب، ابن منظور (۷۱۱هـ ) ، دار صادر، بیروت .
. ما يجوز للشاعر في الضرورة ، للقزاز القيرواني ، تحمد رمضان عبد التواب و د.
الدين الهادي، دار العروبة بالكويت، بإشراف دار الفصحى بالقاهرة .
متن اللغة ، أحمد رضا ، دار مكتبة الحياة ، بيروت .
مجمل اللغة ، أحمد بن فارس ، مطبعة السعادة ، ۱۹۱۳م.
صلاح
المحمدون من الشعراء، للقفطي، حيدر آباد ،الدكن مجلس دائرة المعارف العثمانية،
١٩٦٦م.
مختارات من الشعر الجاهلي، اختارها وعلق عليها أحمد راتب النفاخ، مكتبة دار الفتح
بدمشق ، ١٣٨٦هـ ـ ١٩٦٦م.
المخصص ، ابن سيده (٤٥٨هـ) ، المكتب التجاري للطباعة والتوزيع والنشر ، بيروت .
مدخل إلى الألسنية ، د. يوسف غازي، منشورات العالم العربي الجامعية، دمشق،
طا ، ١٩٨٥م.
المدخل إلى علم اللغة ومناهج البحث اللغوي. د. رمضان عبد التواب، مكتبة
، القاهرة ، ط ٢ ، ١٤٠٥هـ ـ ١٩٨٥م.
الخانجي،
. المصباح في علم المفتاح، عز الدين إيدمر الجلدكي، الجابري بومبي ، ١٣٠٢هـ.
المطالع النصرية ، لأبي الوفاء نصر الموريني .
٤٠٢<noinclude></noinclude>
mqk9mkk8iasx59c9i3uoyf37i4vw8ob
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/412
104
307152
617313
2026-08-13T07:31:03Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'۲۳۹ ۳۱۳ ٣١٤ ٢٤٩ 97 ۲۱۲ ۳۳۹ ،۲۷۵ ٣٠١ ۳۰۲ ٤٨ ٣٣٦ ۱۳۷ ۲۱۹ ۹۳ 199 ۲۶۷ ٣٠٠ ۷۹ ۱۳۹ أكثر حرف في الكلام العربي أكثر ما يتكرر في الكلام ۱۳۸، ۱۷۲، ۱۰۳ | اكثر ما يكون من الحروف 9، 10، ۱۰۸ - الغاء الأشكال ٥٦، ١٦٥، ٢٤٩ ، ٢٩٨ إلغاء النقط أو الإعجام استنباط المركب الاستيثاق من التار...'
617313
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>۲۳۹
۳۱۳
٣١٤
٢٤٩
97
۲۱۲
۳۳۹ ،۲۷۵
٣٠١
۳۰۲
٤٨
٣٣٦
۱۳۷
۲۱۹
۹۳
199
۲۶۷
٣٠٠
۷۹
۱۳۹ أكثر حرف في الكلام العربي
أكثر ما يتكرر في الكلام
۱۳۸، ۱۷۲، ۱۰۳ | اكثر ما يكون من الحروف
9، 10، ۱۰۸ - الغاء الأشكال
٥٦، ١٦٥، ٢٤٩ ، ٢٩٨ إلغاء النقط أو الإعجام
استنباط المركب
الاستيثاق من التاريخ
أسماء الأجناس
الإشارة
أشكال اغفال
الأشكال الأكثر دوراناً
٢٢٣ الألف الفارقة
الأشكال للجرعة
الألفات التي تسقط في الخط
الأشكال للمعلومة
٧٦ | انغلاق الحرف
الأشكال المعماة من كل جهة
۸۲ اتغلق
أشكال النص المعمي
أطوال الكلمات
أطول الأبيات
الإعلانية
الإعاضة البسيطة
۲۹۸ انفصال الكلمة
۱۰۰۹ ، ۱۵۷ انفصال الكلمة من الكلمة
٢٨۰ أنواع للتعمية العظام
۲۲۸ | إعمال الحروف المعجمة
١٥٧، ١٦٢، ١٦٤ إهمال النقط
۱۷۸۱٦٦، ۱۸۱، ۱۸۰، ۲۱۰ - الأوتاد
الإعاضة البسيطة الأحادية الألفبائية
١٤ | الأوتاد من الحروف
أعداد الجمل
١٧٦، ٢٦٠ | الأوزان الطويلة
الأعمدة
٧٩ | إيهام المستخرج
الإعنات
الأغتال
الاقتران
أقسام النعمية وضروبها
أقسام المركب
الأقلام القديمة
أكثر الحروف تردداً
أقوى الأسباب في استخراج المعمى
أكثر الحروف العربية دورات واقترانا والتلاقاً ۲۰۸
أكثر الحروف في كل لسان
أكثر الحروف وقوعاً
YAA VA
١٦٤ ،۱۱۲ ،۱٠٤
97
۱۳۷،۱۳۰
179
۳۹۱
٢١٧
(ب)
البحث عن الحروف الكثيرة الدورات
يشكل الرموز
البصر بالكتابة
السير بالكتابة
بنية الكلمة
ثبيت الطويل
۲۱۱
٢٣٥
٢٤٠،
٣٨٤
لبيت القصر
البيت للعمى
۰۳
۱۰۱
٢٠٨،
٢٦٧
۳۳۸ ،۳۳۷ ،۲۷۱
۲۱۷
٣٣١
۳۳۱
۲۷۹
21.<noinclude></noinclude>
hlnrioq2ctv4u6ou08u6g8mqfcb7hla
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/405
104
307153
617314
2026-08-13T07:31:09Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'معاهد التنصيص على شواهد التلخيص، عبد الرحيم بن أحمد العباسي، السعادة، مصر ، ١٣٦٧ هـ ـ ١٩٤٧م. معجم الأدباء ، ياقوت الحموي ( ٦٢٦هـ ) . دار إحياء التراث العربي ، بيروت . معجم الشعراء ، محمد بن عمران المرزباني ( ۳۷۸هـ)، تح عبد الستار فراج، منشورات مكتبة النوري، دمشق....'
617314
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>معاهد التنصيص على شواهد التلخيص، عبد الرحيم بن أحمد العباسي، السعادة،
مصر ، ١٣٦٧ هـ ـ ١٩٤٧م.
معجم
الأدباء ، ياقوت الحموي ( ٦٢٦هـ ) . دار إحياء التراث العربي ، بيروت .
معجم الشعراء ، محمد بن عمران المرزباني ( ۳۷۸هـ)، تح عبد الستار فراج، منشورات
مكتبة النوري، دمشق.
معجم القواعد العربية عبد الغني الدقر ، دار القلم، دمشق، طا،
١٤٠٦ هـ - ١٩٨٦م.
معجم المؤلفين ، عمر رضا كحالة ، مكتبة المثنى ودار إحياء التراث العربي، بيروت ،
١٣٧٦هـ ـ ١٩٥٧م.
مغني اللبيب عن كتب الأعاريب ابن هشام الأنصاري (٧٦١هـ)، تح د. مازن
المبارك ومحمد علي حمد الله ، دار الفكر ، بيروت ، طه ، ۱۹۷۹م.
مفاتيح العلوم، محمد بن أ أحمد الخوارزمي (۳۸۷هـ)، تح إبراهيم الأبياري، دار الكتاب
العربي ، بيروت، ط ١ ، ١٤٠٤هـ ـ ١٩٨٤م.
مفتاح السعادة ومصباح السيادة، طاش كبري زاده (٩٦٨هـ ) ، دار الكتب العلمية ،
بيروت، ط ١ ، ١٤٠٥هـ ـ ١٩٨٥م.
مفتاح العلوم، يوسف بن محمد السكاكي (٦٢٦هـ)، ضبطه وشرحه
الأستاذ
نعيم
زرزور ، دار الكتب العلمية، بيروت، ط 1 ، ١٤٠٣هـ ـ ١٩٨٣م.
المفصل في علم العربية ، الزمخشري ( ٥٣٨ هـ ) ، دار الجيل ، بيروت، ط ۲ .
المقتبس في أخبار الأندلس، ابن حيان القرطبي، تحـ محمود علي مكي، لجنة إحياء
التراث الإسلامي، القاهرة ، ۱۹۷۱م.
ميزان الذهب ، السيد أحمد الهاشمي :
، دار الكتاب العربي ، سوريا .
- E
**11:11
املان ، رد المقدارمانات العربية ، الكويت ، ١٤٠٧٠١٠٠هـ - ١٩٨٧م.
. هدية العارفين في اسماء المؤلفين وآثار المصنفين ، إسماعيل باشا البغدادي ( ۱۳۳۹هـ ) ،
دار الفكر ، بيروت ، ١٤٠٢هـ ــ ١٩٨٢م.
ب همع الهوامع شرح جمع الجوامع ، عبد الرحمن السيوطي (۹۱۱هـ ) ، بعناية السيد محمد
بدر الدين النعساني ، دار المعرفة ، بيروت.
٤٠٣<noinclude></noinclude>
ov6176bqip28wtfwfvy8e9i4kf7sh4t
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/406
104
307154
617315
2026-08-13T07:31:23Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'. الوافي بالوفيات ، صلاح الدين خليل بن أيبك الصفدي ( ٧٦٤هـ ) ، باعتناء طائفة من أهل العلم، دار فرانز شتاينر بقيسباده، ألمانية ، ١٩٤٩م - ١٩٨٠م. الواني في العروض والقواني، الخطيب التبريزي ( ٥٠٢هـ ) ، تحد عمر يحيى ـ د. فخر الدين قباوة ، المكتبة العربية بحلب ، ط۱ ، ۱۳۹...'
617315
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>. الوافي بالوفيات ، صلاح الدين خليل بن أيبك الصفدي ( ٧٦٤هـ ) ، باعتناء طائفة من
أهل العلم، دار فرانز شتاينر بقيسباده، ألمانية ، ١٩٤٩م - ١٩٨٠م.
الواني في العروض والقواني، الخطيب التبريزي ( ٥٠٢هـ ) ، تحد عمر يحيى ـ د. فخر
الدين قباوة ، المكتبة العربية بحلب ، ط۱ ، ۱۳۹۰هـ ـ ١٩۷۰م، ط٤ ، ١٤٠٧هـ ـ
١٩٨٦م.
الوجيز في أصول استنباط الأحكام في الشريعة الإسلامية، د. عبد اللطيف فرفور ، دار
الإمام الأوزاعي، دمشق ١٤٠٥هـ ـ ١٩٨٥م.
وفيات الأعيان ، ابن خلكان (٦٨١هـ)، تحد.
د. إحسان عباس ، دار صادر، بیروت ،
۱۳۹۸هـ ـ ۱۹۷۸م.
يتيمة الدهر في محاسن أهل العصر للثعالبي (٤٣٠هـ)، محمد محيي
الحميد ، مطبعة السعادة مصر ، ، ۱۳۷۲هـ .
الدين عبد
ب
الكتب المخطوطة
جهود المالقي الصوتية في كتابه الدر النثير - دراسة وتحقيق محمد حسان الطيان ،
إشراف د. شاكر الفحام ( رسالة جامعية أعدت لنيل درجة الدكتوراه في الآداب
جامعة دمشق ١٤١٤هـ ـ ١٩٩٤م.
دراسة إحصائية لدوران الحروف العربية المشكولة، مروان البواب، مركز الدراسات
والبحوث العلمية ، دمشق ١٩٨٥م.
شوق المستهام في معرفة رموز الأقلام لابن وحشية مصورة عن نسخة مكتبة باريس
الوطنية ، رقم
.71.0
المعجم العربي دراسة إحصائية صوتية مخبرية ، محمد حسان الطيان ، رسالة ماجستير،
جامعة دمشق - ١٩٨٤م.
المعجم العربي دراسة إحصائية لدوران الحروف في الجذور العربية، يحيى مير علم،
رسالة ماجستير ، جامعة دمشق ، ۱۹۸۳م.
٤٠٤<noinclude></noinclude>
7t10es55sooglorjb5bag50ipeimouo
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/407
104
307155
617316
2026-08-13T07:31:44Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'{{ع3|ج - المقالات والبحوث}} - رسالة في استخراج المعمى، لأبي الحسن محمد بن طباطبا ، تحد. محمد بن عبد الرحمن الهدلق، مجلة معهد المخطوطات ، حج ٣٢ ، ١٤٠٨ هـ - ١٩٨٨م. - رسالة يعقوب الكندي في اللثغة تح محمد حسان الطيان ، مجلة مجمع اللغة العربية بدمشق، مج ٦٠ / ج ٣ - ١٤٠٥ هـ ـ...'
617316
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|ج - المقالات والبحوث}}
- رسالة في استخراج المعمى، لأبي الحسن محمد بن طباطبا ، تحد. محمد بن عبد الرحمن
الهدلق، مجلة معهد المخطوطات ، حج ٣٢ ، ١٤٠٨ هـ - ١٩٨٨م.
- رسالة يعقوب الكندي في اللثغة تح محمد حسان الطيان ، مجلة مجمع اللغة العربية
بدمشق، مج ٦٠ / ج ٣ - ١٤٠٥ هـ ــ ١٩٨٥م.
قاعدة معطيات للجذور العربية، محمد حسان الطيان ويحيى مير علم، بحث قدم في
المؤتمر الثاني حول اللغويات الحسابية - الكويت ، ۱۹۸۹م.
المالقي الأندلسي وجهوده في علم الأصوات ، محمد حسان الطيان ود. محمد مراياتي ،
بحث قدم في الندوة العالمية الخامسة لتاريخ العلوم عند العرب - غرناطة ۱۹۹۲م.
- معالجة الكلام - تطبيق على اللغة العربية، د. محمد مراياتي، بحث قدم في ندوة
استخدام اللغة العربية في الحاسب الآلي ، الكويت ، ١٩٨٥م.
المعجم الحاسوبي في نظام خبير ! للغة العربية ، د. محمد مراياتي، مروان البواب ، يحيى مير
علم، محمد حسان الطيان، بحث قدم في المؤتمر الأول حول الكتابة العلمية باللغة
العربية ، بنغازي - ليبية ، ۱۹۹۰م .
النظام الصرفي النحوي للعربية بالحاسب ، مروان البواب ويحيى مير علم ومحمد حسان
الطيان بإشراف . د. محمد مراياتي ، بحث قدم في المؤتمر الثاني حول اللغويات الحسابية.
الكويت ، ٢٦ - ٢٩ تشرين الثاني ۱۹۸۹م.
٤٠٥<noinclude></noinclude>
2mzliigg0plvnzjclm2rldagomwggh9
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/409
104
307156
617317
2026-08-13T07:32:38Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'الفهارس الفنية " - فهرس مصطلحات علم التعمية واستخراج العمى عند العرب ۲ فهرس مصطلحات التعمية الأجنبية - فهرس النصوص المعماة ٤- فهرس اللغات والأقلام واللهجات ه- فهرس الجداول والأشكال والمصورات ٦- فهرس مصطلحات علم اللغة والنحو والصوتيات فهرس العروض والقافية - فه...'
617317
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>الفهارس الفنية "
- فهرس مصطلحات علم التعمية واستخراج العمى عند العرب
۲ فهرس مصطلحات التعمية الأجنبية
- فهرس النصوص المعماة
٤- فهرس اللغات والأقلام واللهجات
ه- فهرس الجداول والأشكال والمصورات
٦- فهرس مصطلحات علم اللغة والنحو والصوتيات
فهرس العروض والقافية
- فهرس المفردات اللغوية
- فهرس العبارات والأقوال
۱۰ - فهرس الآيات
۱۱ - فهرس الأشعار
١٢ - فهرس الأعلام
١٣ - فهرس الكتب والرسائل والمجلات
١٤ - فهرس المواضع والبلدان
١٥ - فهرس أسماء المكتبات
١٦ - فهرس الأقوام
۱۷ - فهرس الموضوعات
٤٠٨-٤٢٢
٤٢٣-٤٢٤
٤٢٥
٤٢٦
٤٢٧-٤٢٩
٤٣٤٤٣٠
٤٣٥-٤٣٩
٤٤٠-٤٤٣
٤٤٣
ttt
٤٤٥-٤٤٩
٤٥٣٠٠٤٥٠
٤٥٤-٤٥٥
٤٥٥
٤٥٦
*
٤٥٧-٤٦٢
شارك في إعداد هذه الفهارس على الحاسوب الأستاذ مروان البواب والسيد أسامة رجب.
٤٠٧<noinclude></noinclude>
1uon14x0wes2f4kt61tcjrhdugobsoe
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/410
104
307157
617318
2026-08-13T07:32:53Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'الائتلاف فهرس مصطلحات علم التسمية واستخراج المغمى عند العرب (1) إحصاء الحروف إحصاء الكلام المستعمل ٩٦ | إحصاء حروف الشعر ١٤٢ إحصاء دورات الحروف ١٨٤٠١٤٤ ١٤٤ ٣١٤ ١٢٦ ١٤١ 01 ٣٠٣ ائتلاف الحروف التلاق الحروف واختلافها ۱۳۰، ۱۳۳ - إحصاء ورود الأشكالي التلاف الحروف وت...'
617318
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>الائتلاف
فهرس مصطلحات علم التسمية واستخراج المغمى عند العرب
(1)
إحصاء الحروف
إحصاء الكلام المستعمل
٩٦ | إحصاء حروف الشعر
١٤٢ إحصاء دورات الحروف
١٨٤٠١٤٤
١٤٤
٣١٤
١٢٦
١٤١
01
٣٠٣
ائتلاف الحروف
التلاق الحروف واختلافها ۱۳۰، ۱۳۳ - إحصاء ورود الأشكالي
التلاف الحروف وتنافرها ١٤٥٠١٤٤١٤٠ إحصائيات الكندي لتردد الحروف
الإبدال
إبدال الحروف
107، ۱۹٤ ، ۱۹۹ اختراع أشكال ورموز تستبدل بالحروف
١٠٤،١٠١، ١١٧ | اختراع الصور
۱۱۱، ۱۱۷، ٢٣٦ الاختلاف في مراتب الحروف والثنائيات
إبدال بعض الحروف وفق مفتاح معين
٤٦ إخراج العمى من الشعر
الإبدال دو رباط وشرح
أبيات حروف العجم
أبيات سهلة الإخراج
أبيات عويصة
٢٣٦ الإخفاء
٣٥٢،٣٣٢ الإخفاء باستعمال الحروف
٣٤٩ الإنتفاء بتغيير بعض الحروف
۲۸۲ الإخفاء ضمن كلمات
أبيات المعاياة ۳۳۲۲۸۷، ٣٤٧ ٣٥٤،٣٥٢ إدارة الترجمة
اتساق الكلام وترتيبه
٧٢٤٥ إدارة الترجمة في الشعر
إجازة الأشكال
۲۰۱۸ أدوات الاستخراج
الأحاديات
الأحجية
الإحصاء
إحصاء الأشكال
٣٦٤ أرباب المترجمة
٣٢٥
أرتج
۱۹۲ ازدواج الكلام
٧٥ استبدال أسماء أجناس معينة بالحروف
۳۱۴ استبدال الأرقام بالحروف
إحصاء الترجمة
إحصاء الجذور
٤٠٨
١٤٤
استحالة استخراج المنص
١١١
7.
۳۱۳ ،۲۹۹
٤٣
٤٤
٤٤١٤٣
۳۲۰
۳۰۵ ،۲۹۷
٣٢٦
Al LOV
٣٠٢
۳۱۸
٣٠٣
۱۷۰
۳۷۲<noinclude></noinclude>
t2i845u1khex5t7vjupj63i0ygcaj7k
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/408
104
307158
617319
2026-08-13T07:36:10Z
RASHEEDYE
15342
/* صُححّت */
617319
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>{{ع3|د . المراجع الأجنبية}}
<br />
{{يسار|<br/>- Louis Kruh, "Arab Origins of Cryptology", CRYPTOLOGIA, Vol. 17, No.2, April 1993.
}}<br/>- Ibrahim A. Al-Kadi, "Origins of Cryptology: The Arab contributions", CRYPTOLOGIA, Vol.16, No.2, April 1992.
<br/>- M. Mrayati , Y. Meer Alam, M. Tayan, "Cryptology: An Arabic Science" 4th Inter. Symposium on the History of Arabic Sciences", Aleppo, April 1987.
<br/>- David Kahn, "The Code Breakers" Macmillan Publishing Company New York, 1976.
<br/>- J.H. Finch and E.G. Dougall , "Computer Security, A Global Challenge" North Holland, 1984.
<br/>- F.W. Winter Botham "The Ultra Secret" Dell publishing Co. New York, 1988.
<br/>- Jean Leclant "Le Déchiffrement des Écritures et des Langues". Colloque du 29 Congrès de Orientalistes, Paris, Juillet 1973.
<br/>- David Kahn , ."Kahn On Codes" Macmillan Publishing Company New York, 1983.
<br/>- Ernest Doblhofer, "le Déchiffrement des écritures", Arthaud, France, 1959.
<br/>- A. Lange, E.A. Soudart, "Treatise on Cryptography" Aegean Park Press, USA , 1981.
- A.Langie, "Cryptography : A study on Secret Writings" Aegean Park Press, USA, 1982.
{{يمين|٤٠٦}}<noinclude></noinclude>
ro46w9ty4k2f69ugxjmfmjig6g8srmd
617321
617319
2026-08-13T07:38:06Z
RASHEEDYE
15342
/* لم تصحّح */
617321
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|د . المراجع الأجنبية}}
<br />
{{يسار|<br/>- Louis Kruh, "Arab Origins of Cryptology", CRYPTOLOGIA, Vol. 17, No.2, April 1993.
}}<br/>- Ibrahim A. Al-Kadi, "Origins of Cryptology: The Arab contributions", CRYPTOLOGIA, Vol.16, No.2, April 1992.
<br/>- M. Mrayati , Y. Meer Alam, M. Tayan, "Cryptology: An Arabic Science" 4th Inter. Symposium on the History of Arabic Sciences", Aleppo, April 1987.
<br/>- David Kahn, "The Code Breakers" Macmillan Publishing Company New York, 1976.
<br/>- J.H. Finch and E.G. Dougall , "Computer Security, A Global Challenge" North Holland, 1984.
<br/>- F.W. Winter Botham "The Ultra Secret" Dell publishing Co. New York, 1988.
<br/>- Jean Leclant "Le Déchiffrement des Écritures et des Langues". Colloque du 29 Congrès de Orientalistes, Paris, Juillet 1973.
<br/>- David Kahn , ."Kahn On Codes" Macmillan Publishing Company New York, 1983.
<br/>- Ernest Doblhofer, "le Déchiffrement des écritures", Arthaud, France, 1959.
<br/>- A. Lange, E.A. Soudart, "Treatise on Cryptography" Aegean Park Press, USA , 1981.
- A.Langie, "Cryptography : A study on Secret Writings" Aegean Park Press, USA, 1982.
{{يمين|٤٠٦}}<noinclude></noinclude>
gl0lf85jij4zi0rhlxk9tfa0f7b0o51
صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/411
104
307159
617320
2026-08-13T07:36:18Z
RASHEEDYE
15342
/* لم تصحح */ أنشأ الصفحة ب'الاستخراج استيراد الأدوية استماع القادم قادمة استخراج الواحم المعتمد على التحليل ٦٢، ١٢٥ | استخراج للصنوعات Y1 العام الى الفم 14147140142 الإجمالي استخراج الوجة التي لاكتحل ٦٠ استخراج العمى من الشعر للمنظوم ۲ استخراج العمى من الشر والشعر استخراج الترجمة بالإعاش...'
617320
proofread-page
text/x-wiki
<noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>الاستخراج
استيراد الأدوية
استماع القادم قادمة
استخراج الواحم المعتمد على التحليل
٦٢، ١٢٥ | استخراج للصنوعات
Y1
العام الى الفم
14147140142
الإجمالي
استخراج الوجة التي لاكتحل
٦٠ استخراج العمى من الشعر للمنظوم
۲ استخراج العمى من الشر والشعر
استخراج الترجمة بالإعاشة البسيطة ١٤١ | استخراج الوزن
استخراج الترجمة بالتبديل البسيط
or الاستخراج بطريقة التحليل الإحصائي
استخراج الترجمة بالتبديلي البسيط
استخراج تعدية الكلام للشور
وللألف شكلات
استخراج تعمية مركية
المتخراج الترجمة ذات الأشكال
قريبة التواتر
استخراج حروف القافية
١٥٤ ٨٠ استخراج ماترحم بالإعاضة البسيطة
استخراج التعمية التي تجعل بينها أشكال أقفال ۱۳۱ استتملك الموضوعات
المتخراج التعمية التي تكون تغير
أشكال الحروف بأشكال مبتدعة
استعصاء الاستخراج
۱۲۱ - استعمال الأحاديات
استخراج التعمية التي تكون بتغيير حلية الشكل ١٣٠ | استعمال الأرقام في التعمية بالإحاضة
۲۹۷
۲۹۷
۳۰۷
٦٢
۱۹۱
١٦٤
٣٧٦
١٤٠
٣٦٢
استخراج الحمية التي تكون تغير
نصب الحروف
أو الإبدال
۱۳۱ استعمال الترجمة في حليل الأمور
استخراج التعمية التي ينقص منها حروف ۱۳۱ استعمال الثلاثيات
استخراج التعمية المتقدمة
٥٢ استعمال لازدويجات
۲۲۸
۶۲
٣٦٩
٣٦٩
استخراج التسمية الركبة ۱۳۱، ۱۶۸، ۱۷۲ استعمال عدة أرقام تتعمية حرف بالإعاضة ۲۲۸
استخراج التعمية ذات الرباط
استخراج الثلاثيات
استخراج الحروف
استخراج القلب
۱۳۱ استعمال عدة رموز لكل حرف
٣٦٢ ٣٧٢ ٣٨٥ | استعمال كسور الربع والنصف
۳۸۸،۳۸۷ استنباط البسيط
۲۰۷ استنباط المزاحم
١٦٢ استنباط التراجم العويصة
استخراج المزدوجات ٣٦٧ ، ۱۳۸۰ ۱۳۸۷ ۳۸۸ استنباط التراجم العويصة المسددة
DY
١٧٤
٢٣٩
۱۳
۵۲
۷۹
الاستخراج المستحيل
٢٦٢ استنباط الحروف
٤٢
٤٠٩<noinclude></noinclude>
0yki3x55bm1hk2j1hnu2toucpisqsj6
وحدة:مؤلف/ملعب/styles.css
828
307160
617334
2026-08-13T11:14:14Z
حبيشان
52457
أنشأ الصفحة ب'.author-linkrow { color:#232388;font-size:140%;line-height:100% } .author-box { background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7 } .author-photo { float:left;margin:1em } .author-index { float:right;text-indent:1em;padding-left: 2em } .author-box .author-index span { color:#aaaa66 } .author-box h1.fn { text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;f...'
617334
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:100%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;font-family: Amiri,serif;padding: 0.2em;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-interwikis li {
list-style-image: none;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
9m3hwvxvvz3zf19l1jtmxbwuclov81r
617335
617334
2026-08-13T11:17:43Z
حبيشان
52457
617335
sanitized-css
text/css
.author-linkrow {
color:#232388;font-size:140%;line-height:100%
}
.author-box {
background-color: #f1f1de;overflow:auto;border-radius:0.7em;box-shadow:0.2em 0.3em 0.2em #B7B7B7
}
.author-photo {
float:left;margin:1em
}
.author-index {
float:right;text-indent:1em;padding-left: 2em
}
.author-box .author-index span {
color:#aaaa66
}
.author-box h1.fn {
text-align:center;font-size:160%;font-weight:bold;border-bottom:none;margin-top: 1.2em;font-family: Amiri,serif;padding: 0.2em;
}
.author-interwikis {
float:right;height:50%;font-size:75%;text-indent:2em;padding-bottom: 0.5em;
}
.author-interwikis li {
list-style: none;
}
.author-dates {
font-size:60%;line-height:60%;
}
.author-description {
text-align:center;font-size:110%;line-height:110%;padding:1em
}
@media screen {
html.skin-theme-clientpref-night .author-box {
background-color: #25251F;
}
}
@media screen and ( prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .author-box {
background-color: #25251F;
}
}
@media (max-width: 640px) {
.author-interwikis {
display: none;
}
}
oyxql8jp256x0178d9z5h4hv53bphgo