ويكي مصدر 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 39793 617408 106018 2026-08-13T21:21:10Z Shohdi Alsofi 49228 تصنيف 617408 wikitext text/x-wiki {{تصفحية |العقود اللؤلؤية في تاريخ الدولة الرسولية |[[مؤلف:علي بن الحسن الخزرجي|علي بن الحسن الخزرجي]] | | [[ويكي مصدر:كتب مصورة]] | | }} {{مطبوعة|:تصنيف:العقود اللؤلؤية في تاريخ الدولة الرسولية:مطبوع}} {{مصورفقط}} [[تصنيف:العقود اللؤلؤية في تاريخ الدولة الرسولية|*]] [[تصنيف:الدولة الرسولية]] i2fpcaspu5xqqcn7nrssqyk9rgrk8m2 مؤلف:عبيد بن الأبرص 102 46111 617373 404555 2026-08-13T17:44:17Z حبيشان 52457 617373 wikitext text/x-wiki {{مؤلف |الاسم الأول = عبيد |الاسم الأخير = بن الأبرص |فهرس = ع |سنة الميلاد = |سنة الوفاة = |وصف = أحد فرسان العرب و شعرائها المشهورين بالفخر والحماس، شاعر من دهاة الجاهلية وحكمائها، وهو أحد أصحاب المجمهرات المعدودة طبقة ثانية عن المعلقات. عاصر امرؤ القيس وله معه مناظرات ومناقضات، وعمّر طويلاً حتى قتله النعمان بن المنذر وقد وفد عليه في يوم بؤسه |وصلة ويكيبيديا = عبيد بن الأبرص | defaultsort = ع }} ==نسبه== هو عبيد بن الأبرص بن حنتم بن عامر بن مالك بن زهير بن مالك بن الحارث بن سعد بن ثعلبة بن دودان بن أسد بن خزيمة بن مدركة بن إلياس بن مضر. == قصائده == [[معلقة عبيد بن الأبرص|معلقته]] == وصلات خارجية == * [http://www.poetsgate.com/Poet.aspx?id=37 '''بوابة الشعراء :''' ديوان عبيد بن الأبرص] {{ملكية عامة مؤلف قديم}} [[تصنيف:شعر]] [[تصنيف:شعراء]] [[تصنيف:مؤلفون-ع]] [[تصنيف:شعراء جاهليون]] {{ضبط استنادي}} hwhln666yob24w3c4fce933nklgfora 617374 617373 2026-08-13T17:45:31Z حبيشان 52457 نقل حبيشان صفحة [[عبيد بن الأبرص]] إلى [[مؤلف:عبيد بن الأبرص]] دون ترك تحويلة: النطاق الصحيح 617373 wikitext text/x-wiki {{مؤلف |الاسم الأول = عبيد |الاسم الأخير = بن الأبرص |فهرس = ع |سنة الميلاد = |سنة الوفاة = |وصف = أحد فرسان العرب و شعرائها المشهورين بالفخر والحماس، شاعر من دهاة الجاهلية وحكمائها، وهو أحد أصحاب المجمهرات المعدودة طبقة ثانية عن المعلقات. عاصر امرؤ القيس وله معه مناظرات ومناقضات، وعمّر طويلاً حتى قتله النعمان بن المنذر وقد وفد عليه في يوم بؤسه |وصلة ويكيبيديا = عبيد بن الأبرص | defaultsort = ع }} ==نسبه== هو عبيد بن الأبرص بن حنتم بن عامر بن مالك بن زهير بن مالك بن الحارث بن سعد بن ثعلبة بن دودان بن أسد بن خزيمة بن مدركة بن إلياس بن مضر. == قصائده == [[معلقة عبيد بن الأبرص|معلقته]] == وصلات خارجية == * [http://www.poetsgate.com/Poet.aspx?id=37 '''بوابة الشعراء :''' ديوان عبيد بن الأبرص] {{ملكية عامة مؤلف قديم}} [[تصنيف:شعر]] [[تصنيف:شعراء]] [[تصنيف:مؤلفون-ع]] [[تصنيف:شعراء جاهليون]] {{ضبط استنادي}} hwhln666yob24w3c4fce933nklgfora نقاش المستخدم:Nehaoua 3 50961 617363 616916 2026-08-13T15:55:40Z MediaWiki message delivery 15468 /* Wikifunctions & Abstract Wikipedia Newsletter #260: Shoutout to User:99of9 */ قسم جديد 617363 wikitext text/x-wiki {{أرشفة آلية|قسم|15|نقاش المستخدم:Nehaoua/أرشيف 1}} {{صندوق أرشيف |* [[نقاش المستخدم:Nehaoua/أرشيف 1|2021]] * [[نقاش المستخدم:Nehaoua/أرشيف 2|2022]] * [[نقاش المستخدم:Nehaoua/أرشيف 3|2023]] * [[نقاش المستخدم:Nehaoua/أرشيف 4|2024]] * [[نقاش المستخدم:Nehaoua/أرشيف 5|2025]] * [[نقاش المستخدم:Nehaoua/أرشيف 6|2026]] (تفاؤلًا) }} == Wikifunctions & Abstract Wikipedia Newsletter #218 is out: Wikifunctions available on 123 Wiktionary languages == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-09-19|a new update]] for Wikifunctions and Abstract Wikipedia. Please, come and read it! In this issue, we update you on the recent Wikifunctions deployment on Wiktionaries, we introduce our new page for requesting cleanups, we update you on what's new on Types, we remind you of the upcoming meetings, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also we remind you that the next '''Natural Language Generation Special Interest Group meeting''' will be held on '''[https://zonestamp.toolforge.org/1758643200 September 23, at 16:00 UTC]''' ([https://meet.google.com/xzn-kqer-mah link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:26، 20 سبتمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29289969 --> == Sub-referencing: News and request for feedback == <div lang="en" dir="ltr"> [[File:Sub-referencing reuse visual.png|400px|right]] Greetings from [[:m:Special:MyLanguage/Wikimedia Deutschland|WMDE]]'s [[:m:Special:MyLanguage/WMDE Technical Wishes|Technical Wishes team]]. Today we've deployed [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sub-referencing]] to German Wikipedia, our first pilot wiki. A great milestone after so many years of work! We'll continue to improve the feature based on community feedback and want to deploy to other pilot wikis in the upcoming months, once we've solved a couple of issues affecting many non-dewiki projects. You are invited to try sub-referencing [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing on betawiki] in the meantime. We are currently thinking about how we could improve VisualEditor support for templates in sub-references if that's desired by the community. Read more about it [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Templates used in sub-references|on our talk page]] and share your feedback! As always thank you very much for your support! <small>PS: You are receiving this message, because you signed-up to [[:m:WMDE Technical Wishes/Sub-referencing/Sign-up|our sub-referencing newsletter]]. If you don't want to receive further updates, just remove your name from the list.</small></div> <bdi lang="en" dir="ltr">[[User:Johannes Richter (WMDE)|Johannes Richter (WMDE)]] ([[User talk:Johannes Richter (WMDE)|talk]])</bdi> 16:46، 22 سبتمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Johannes Richter (WMDE)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Sub-referencing/Sign-up&oldid=29317590 --> == Wikifunctions & Abstract Wikipedia Newsletter #219 is out: Accessing qualifiers in Wikidata statements == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-09-26|a new update]] for Wikifunctions and Abstract Wikipedia. Please, come and read it! In this issue, we introduce the possibility of calling also qualifiers from Wikidata, we update you on the recent deployments of Wikifunctions and on the Wikifunctions presentations at Wikimedia events, we give you the recent updates on Types, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 17:46، 26 سبتمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29319712 --> == Wikifunctions & Abstract Wikipedia Newsletter #220 is out: Rich text now available in embedded function calls on 148 Wiktionaries and Incubator == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-10-03|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we update you on the latest functions and types you can create, we announce that functions are now available to call on 152 projects, we talk about our presentations at Wikimedia meetings, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1759771800 October 6, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 08:55، 4 أكتوبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29367070 --> == Wikifunctions & Abstract Wikipedia Newsletter #221 is out: Decision on location for abstract content and Quarterly Planning for October–December == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-10-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we introduce our [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we discuss our plans and work for the upcoming quarter (October-December 2025), we report on the next events we'll be part of, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 17:47، 9 أكتوبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29367070 --> == Wikifunctions & Abstract Wikipedia Newsletter #222 is out: Kicking Off the Naming Contest for Abstract Wikipedia; Visualizing functions == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-10-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we kickstart our [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we present a beautiful representation of functions by a community member, we report on the next events we'll be part of, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 17:04، 15 أكتوبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29444338 --> == Wikifunctions & Abstract Wikipedia Newsletter #223 is out: Welcome Zaree and Laura! Naming contest round 1 kicked off == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-10-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we welcome two new additions to the team, we update you on our [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we report on the next events we'll be part of, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 21:10، 23 أكتوبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29491948 --> == طلب رفع كتاب == السلام عليكم ورحمة الله وبركاته، أرجو من حضراتكم التكرم بالمساعدة في رفع مخطوطات كتاب ([[w:عجائب المخلوقات وغرائب الموجودات|عجائب المخلوقات وغرائب الموجودات]]) للمؤلف أبو يحيى زكريا القزويني على موقع ويكي، وذلك بهدف المساهمة في عمليات النسخ والتحقيق وإتاحة محتواه للجمهور بما يتوافق مع سياسات حقوق النشر للمشروع. المخطوطات التي نرغب في رفعها بصيغة PDF تجدونها في الأسفل، لذا ونأمل أن يتم ربطها بصفحة الكتاب على ويكي مصدر ليتسنّى للمتطوعين استخراج النصوص منها وتنسيقها. شاكرين لكم جهودكم المتواصلة في تعزيز المحتوى المعرفي المفتوح وإتاحة التراث الإنساني للجميع. وتفضلوا بقبول فائق الاحترام والتقدير. * https://www.loc.gov/resource/gdcwdl.wdl_08961/?st=gallery&c=160 * https://www.loc.gov/resource/gdcwdl.wdl_08962/?st=gallery&c=160 [[خاص:مساهمات/&#126;2025-68940-4|&#126;2025-68940-4]] ([[نقاش المستخدم:&#126;2025-68940-4|نقاش]]) 08:24، 26 أكتوبر 2025 (ت ع م) :مرحبًا {{ينفذ}} [[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 10:42، 26 أكتوبر 2025 (ت ع م) ::مرحبًا {{تم}} ::* [[:File:Kitāb'Ajā'ib al-makhlūqāt wa-gharā'ib al-mawjūdāt (1750).pdf|نسخة 1750]] ::* [[:File:Kitāb'Ajā'ib al-makhlūqāt wa-gharā'ib al-mawjūdāt (1280).pdf|نسخة 1280]] ::[[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 10:14، 29 أكتوبر 2025 (ت ع م) == [[الروض العاطر في نزهة الخاطر]] == تم الانتهاء من رفع الكتاب، وخلال عملية الرفع تبيّن أن مصدر الكتاب غير معروف، لذا يُفضّل الرجوع إلى المخطوطة الأصلية لاحتمالية وجود حقوق ملكية للمؤلِّف؛ وذلك حرصًا واحتياطًا. وعليه، نأمل التكرم برفع المخطوطة أدناه ليُتاح لنا إعادة تحرير النص مرة أخرى بالشكل المناسب. https://archive.org/details/MS.ARA.1953/page/n1/mode/2up https://archive.org/details/MS.ARA.600/page/n1/mode/2up [[خاص:مساهمات/&#126;2025-68940-4|&#126;2025-68940-4]] ([[نقاش المستخدم:&#126;2025-68940-4|نقاش]]) 03:36، 29 أكتوبر 2025 (ت ع م) :مرحبًا {{تم}} :* [[فهرس:Al-Rawḍ al-ʿāṭir fī nuzhaẗ al-ẖāṭir (1883).djvu]] :* [[فهرس:Al-Rawḍ al-ʿāṭir fī nuzhaẗ al-ẖāṭir (1878).djvu]] :[[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 14:02، 29 أكتوبر 2025 (ت ع م) == Wikifunctions & Abstract Wikipedia Newsletter #224 is out: Round 1 of “abstract content wiki” naming vote ending Monday; An example of short descriptions == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-10-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we update you on our [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we announce our first experimentation with short descriptions on Wikidata, we talk about our presentations at the upcoming WikidataCon 2025, and we take a look at the latest Type and software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1762194600 November 3, at 18:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:48، 30 أكتوبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29511879 --> == Wikifunctions & Abstract Wikipedia Newsletter #225 is out: First round of voting for naming the wiki for abstract content closed; Calling for Wiktionary functions; Embedded Wikifunctions on Bengali Wikipedia and seven more Wiktionaries == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-11-05|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we update you on the closing of the first phase of the [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we introduce a possible implementation of Wikifunctions for Wiktionaries, we talk about our latest outreach events, and we take a look at the latest Type and software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:06، 6 نوفمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29511879 --> == Wikifunctions & Abstract Wikipedia Newsletter #226 is out: Getting ready for second round of voting for naming the wiki with abstract content; Rewriting the backend: Why Rust? == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-11-13|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we summarise current discussion regarding the [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we discuss how we are rewriting the backend, we ask for help in substituting a function, we suggest you the recordings of Wikifunctions-related sessions at the WikidataCon 2025, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also we remind you that the next '''Natural Language Generation Special Interest Group meeting''' will be held on '''[https://zonestamp.toolforge.org/1763481600 November 18, at 16:00 UTC]''' ([https://meet.google.com/xzn-kqer-mah link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:42، 13 نوفمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29511879 --> == Wikifunctions & Abstract Wikipedia Newsletter #227 is out: Second round of voting for naming the wiki with language-independent content; Sharing function calls == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-11-20|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce the start of the second phase of the [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we share the results of the MacArthur Foundation's 100&Change contest, we share the recording of the last NLG SIG meeting, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:11، 21 نوفمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29511879 --> == Wikifunctions & Abstract Wikipedia Newsletter #228 is out: Vote on the new wiki name! Finishing each other’s sentences == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-11-27|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we update you on our [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we discuss our progress on sentence creation with functions, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1762194600 December 1, at 18:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:38، 27 نوفمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29511879 --> == Wikifunctions & Abstract Wikipedia Newsletter #229 is out: And the name is Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-12-04|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we share the final results of the [[:m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|naming contest for Abstract Wikipedia]], we share two demos about new Wikifunctions features, we talk about Wikidata components in Wikifunctions, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:02، 4 ديسمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29735279 --> == Wikifunctions & Abstract Wikipedia Newsletter #230 is out: How to write better error messages == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-12-11|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we share an essay on how to write better error messages, on improving which we focused in the last months. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:01، 12 ديسمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29735279 --> == Wikifunctions & Abstract Wikipedia Newsletter #231 is out: We wish you a happy new Gregorian year! == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-12-18|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we showcase some templates using Wikifunctions functions on several projects, and we wrap up work for this Gregorian year, wishing you happy holidays. The updates will resume in the week of January 14, so if you feel like you want more, you can always read the previous updates in [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 16:01، 18 ديسمبر 2025 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29814552 --> == Wikifunctions & Abstract Wikipedia Newsletter #232 is out: 25 years of Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-01-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In the first issue of 2026, we celebrate our incredible milestone of 25 years of Wikipedia and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:04، 16 يناير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29902635 --> == Wikifunctions & Abstract Wikipedia Newsletter #233 is out: Quarterly plan for January–March 2026 == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-01-22|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we share our work plans for the quarter that goes from January to March 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:00، 22 يناير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29963119 --> == Wikifunctions & Abstract Wikipedia Newsletter #234 is out: Integrating Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-01-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we share our ideas about the integration of Abstract Wikipedia with the existing Wikimedia projects, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:51، 30 يناير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29963119 --> == Next Wikifunctions & Abstract Wikipedia Volunteers' Corner will be on February 9 == Hi, we remind you that, if you have questions or ideas to discuss about Wikifunctions & Abstract Wikipedia, you can participate to the next '''Volunteers' Corner''', that will be held on '''[https://zonestamp.toolforge.org/1770661800 February 9, at 18:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). We hope to see you there! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 06:23، 6 فبراير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29963119 --> == Sub-referencing: Update == [[File:Sub-referencing re-use + RefPreview.png|350px|thumb|right|Sub-referencing example]] <div lang="en" dir="ltr"> Greetings from [[:m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]]! In September 2025 we deployed [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sub-referencing]] to German Wikipedia to make re-using references with different details easier. Thanks for piloting and helping to improve the feature! We recently published our insights and next steps in [[:m:WMDE Technical Wishes/Sub-referencing/Learnings|our report]]. '''Some highlights''': * Over 6,000 Wikipedia articles use the new feature, with a total of over 15,000 sub-references created to date. * There are both experienced editors in featured articles (e.g. [[:de:Explosion des Oppauer Stickstoffwerkes]]) and relatively inexperienced VisualEditor users (e.g. in [[:de:Schmerzhafte Muttergottes (Guido Cagnacci)]]) using the feature. The majority of all sub-references (approx. 90%) are created in wikitext, yet over 300 editors have used the function in VisualEditor alone. * Workarounds like <syntaxhighlight lang=wikitext inline><ref name="Miller" /><sup>p. 44</sup></syntaxhighlight> (in the reader view <sup>[1] p. 44</sup>) have been replaced entirely by sub-referencing, which means that the complete reference information – including the page number – is now visible in both the reference list and in [[:mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]]. * Sub-referencing is used with [[:m:WMDE Technical Wishes/Sub-referencing/Learnings#What types of details are contributors adding via sub-references?|lots of different citation details]] – predominantly page numbers, but also details such as chapters, paragraphs, quotes or video / audio timestamps. '''What has happened since September?''' * We ensured that re-used sub-references actually appear as re-used in the reader view and in VisualEditor. * We've made some cosmetic changes to the reference list: Initially, multi-line sub-references (e.g. quotations) were not displayed ideally, and two-digit sub-reference numbers were not indented correctly. * In VisualEditor, we have provided a feature to choose whether changes to re-used sub-references should affect all uses of the same sub-reference or only the one currently edited. '''What's next?''' * We will deploy sub-referencing to additional pilot wikis next week: Polish Wikipedia, Swedish Wikipdia and seven smaller wikis ([[:phab:T414094]]). All of these projects have been notified in advance. * We are working on technical adjustments to make sub-referencing usable in all wikis that use variants of the [[:en:Template:Reflist|<nowiki>{{Reflist}}</nowiki>]] template. * We are continuing to address community feedback: Among other things, we are currently exploring various ideas for visually improving reference lists with lots sub-references (e.g. [[:de:Liste der Straßen in Bad Honnef#Einzelnachweise und Anmerkungen]]). * In addition to sub-referencing, we are looking at other reference-related improvements: We are considering general improvements to [[:mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] or solving issues with [[:en:WP:VisualEditor/Named references|automatically created reference names in VisualEditor]] – there will be announcements and community consultations on this in the near future. More information about sub-referencing [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|on our project page]], more about our learnings and next steps [[:m:WMDE Technical Wishes/Sub-referencing/Learnings|in our report]]. All the best from WMDE Technical Wishes! <small>PS: You've recieved this message because you [[:m:WMDE Technical Wishes/Sub-referencing/Sign-up|subscribed to our newsletter]]. Remove your name from the [[:m:WMDE Technical Wishes/Sub-referencing/Sign-up|sign-up list]] if you don't want to receive further updates.</small></div> --[[User:Johannes Richter (WMDE)|Johannes Richter (WMDE)]] ([[User talk:Johannes Richter (WMDE)|talk]]) 15:35، 9 فبراير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Johannes Richter (WMDE)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Sub-referencing/Sign-up&oldid=29343935 --> == Wikifunctions & Abstract Wikipedia Newsletter #235 is out: Finishing each other sentences: Starting things; Offsite in Istanbul == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-02-13|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we share the results of our recent team offsite (meeting in person) in Istanbul, Türkiye, especially on creating sentence fragments in several languages. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 16:31، 13 فبراير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29963119 --> == Wikifunctions & Abstract Wikipedia Newsletter #236 is out: A sneak preview of Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-02-20|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we share a sneak preview of how Abstract Wikipedia will look like and work, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:14، 20 فبراير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=29963119 --> == Wikifunctions & Abstract Wikipedia Newsletter #237 is out: Graceful overrides and fallbacks == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-02-26|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss different patterns in articles about years on different Wikipedias, we present the video of the Wikifunctions presentation by Nicolas Vigneron at the last Celtic Knot, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1772476200 March 2, at 18:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:18، 27 فبراير 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30119120 --> == Wikifunctions & Abstract Wikipedia Newsletter #238 is out: Citations and Copy and Paste == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we introduce the possibility of creating a function that deals with references and a Wikifunctions internal clipboard, where you can temporarily store any piece of code in order to paste it somewhere else, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 17:28، 6 مارس 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30119120 --> == طلب رفع كتاب في الشطرنج ومنصوباته وملحه == مرحبًا عادل، لو تكرمت برفع المخطوطة، حتى أتمكن من نسخ النص منها بدقة ليسهل قراءته. وكما أود الإشارة إلى أنه لا يوجد كتاب عن الشطرنج ضمن المواد المتاحة. علمًا بأنني سبق أن عملت على تحقيق [[الكتاب المختصر في حساب الجبر والمقابلة]] باللغتين العربية والإنجليزية، وقد كان في البداية تحديًا صعبًا، لكنه اكتمل بحمد الله كما ترى. شاكرًا لك تعاونك مقدمًا. https://www.qdl.qa/%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9/archive/81055/vdc_100030345542.0x000001 [[خاص:مساهمات/&#126;2026-12522-85|&#126;2026-12522-85]] ([[نقاش المستخدم:&#126;2026-12522-85|نقاش]]) 16:15، 9 مارس 2026 (ت ع م) :{{ping|~2026-12522-85}} [[:ملف:كتاب في الشطرنج ومنصوباته وملحه (Add MS 7515).pdf]] [[مستخدم:FruitJ|FruitJ]] ([[نقاش المستخدم:FruitJ|نقاش]]) 09:05، 10 مارس 2026 (ت ع م) == Wikifunctions & Abstract Wikipedia Newsletter #239 is out: A new composition language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we talk about the revamp of the composition language on Wikifunctions, with its potential for further improvements. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 16:18، 12 مارس 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30229736 --> == Wikifunctions & Abstract Wikipedia Newsletter #240 is out: Abstract Wikipedia is now in Beta == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-19|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we celebrate the launch of the [https://abstract.wikipedia.org/ preliminary Beta version of Abstract Wikipedia], and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 18:23، 19 مارس 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30229736 --> == Wikifunctions & Abstract Wikipedia Newsletter #241 is out: First few days of Abstract Wikipedia Beta; Status of Composition Language v2 == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss the first early edits on [https://abstract.wikipedia.org/ Abstract Wikipedia], we share the status of Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 16:48، 26 مارس 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30289284 --> == Wikifunctions & Abstract Wikipedia Newsletter #242 is out: Request for Discussion: Syntactic tables == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we introduce a proposal for Natural Language Generation, we introduce a page for function suggestions from Abstract Wikipedia, we inform you that there will be a presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1776101400 April 13, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:37، 3 أبريل 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Wikifunctions & Abstract Wikipedia Newsletter #243 is out: Community proposals for capturing meaning == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-10|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we report on three community proposals on syntactic approaches, we introduce a new Type (Complex numbers), we report on current hiccups on Abstract Wikipedia, we share more information about a presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1776101400 April 13, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:35، 10 أبريل 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Wikifunctions & Abstract Wikipedia Newsletter #244 is out: Milestones; Some major issues hopefully resolved == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-16|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we celebrate 4000 functions on Wikifunctions and 1000 abstract articles on Abstract Wikipedia, we announce that we should have fixed some major issues with the websites, we inform you on our latest outreach activities, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:22، 17 أبريل 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54، 25 أبريل 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21، 2 مايو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16، 8 مايو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Wikifunctions & Abstract Wikipedia Newsletter #248 is out: A higher meaning == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss functions creating language fragments, we present our latest news in Types, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:36، 15 مايو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30536976 --> == Wikifunctions & Abstract Wikipedia Newsletter #249 is out: Annual plan 2026-2027 == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present you the current draft of objectives for Wikifunctions and Abstract Wikipedia in the WMF Annual Plan 2026-2027, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:48، 25 مايو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30536976 --> == Wikifunctions & Abstract Wikipedia Newsletter #250 is out: Looking back and forward == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-30|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present you a recollection of our work so far, now that we celebrate our 250th newsletter, we share with you a summary of our latest outreach activities, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:04، 1 يونيو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30606821 --> == Wikifunctions & Abstract Wikipedia Newsletter #251 is out: The illustrated encyclopaedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-06-05|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we introduce our first function to import images on Abstract Wikipedia, we present our Functions of the Week, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1780939800 June 8, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:14، 5 يونيو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30606821 --> == Wikifunctions & Abstract Wikipedia Newsletter #252 is out: Improved loading and display of Test results == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-06-12|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present you an improvement in loading and display of Test results, we talk about our next events, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that Denny will lead a discussion on the [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-15#News in Types: way forward for natural language generation types|new NLG types]] in the next '''Natural Language Generation Special Interest Group meeting''', that will be held on '''[https://zonestamp.toolforge.org/1781625600 June 16, at 16:00 UTC]''' ([https://meet.google.com/xzn-kqer-mah link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:29، 12 يونيو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30606821 --> == Wikifunctions & Abstract Wikipedia Newsletter #253 is out: The or not the, this is (the?) question == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-06-19|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present you a delicate question regarding grammatical framework, we talk about our next events and about the results of our latest online meetings, we discuss news about Types, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:34، 19 يونيو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30701693 --> == Wikifunctions & Abstract Wikipedia Newsletter #254: Working on Functions, together == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-06-26|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we report on new collaborative patterns emerging in our community, we discuss news in Types, we share some events that relate to Wikifunctions and Abstract Wikipedia at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1783359000 July 6, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:58، 27 يونيو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30724999 --> == Wikifunctions & Abstract Wikipedia Newsletter #255: Integration on test wiki and annual plan == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-01|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss integration of Abstract Wikipedia in Test Wiki and our objectives for the new Wikimedia Foundation Fiscal Year, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1783359000 July 6, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 08:22، 2 يوليو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> == Wikifunctions & Abstract Wikipedia Newsletter #256: Moving toward our first Abstract Wikipedia integration milestone == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss further our objectives for the new Wikimedia Foundation Fiscal Year, we show the latest community tool, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:43، 9 يوليو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> == Wikifunctions & Abstract Wikipedia Newsletter #257: Beyond syntactic tables == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-16|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss syntactic tables and news in Types, we show some community blogposts and tools, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:55، 17 يوليو 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> == Wikifunctions & Abstract Wikipedia Newsletter #258: Abstract Wikipedia at Wikimania == <div lang="en" dir="ltr" class="mw-content-ltr">There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss the presentations and workshops at Wikimania, including a features feedback request based on what we heard there, and highlight new features shipped this week including diffs for Wikifunctions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! [[m:user:Quiddity (WMF)|Quiddity (WMF)]] 19:05، 30 يوليو 2026 (ت ع م) </div> <!-- الرسالة التي أرسلها User:Quiddity (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> == Wikifunctions & Abstract Wikipedia Newsletter #259: Congratulations Jules*. An apple is a fruit == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-05|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate Wikimedian of the Year and we discuss his favourite article in relation to Abstract Wikipedia, we introduce a new Type of function on Wikifunctions, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:19، 10 أغسطس 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> == طلب رفع مخطوطة التصريف لمن عجز عن التأليف == مرحبًا عادل، لو تكرمت برفع المخطوطة، حتى أتمكن من نسخ النص منها بدقة ليسهل قراءته، شاكرًا لك تعاونك مقدمًا. https://archive.org/details/altasrif-liman-eajiz-ean-altaalif/page/n11/mode/thumb [[خاص:مساهمات/&#126;2026-43953-13|&#126;2026-43953-13]] ([[نقاش المستخدم:&#126;2026-43953-13|نقاش]]) 15:30، 10 أغسطس 2026 (ت ع م) :مرحبًا نفس ا[[:File:The Method of Medicine WDL7478.pdf|لنسخة موجودة سابقًا ]] تحياتي [[مستخدم:Nehaoua|Nehaoua]] ([[نقاش المستخدم:Nehaoua|نقاش]]) 18:48، 10 أغسطس 2026 (ت ع م) == Wikifunctions & Abstract Wikipedia Newsletter #260: Shoutout to User:99of9 == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-13|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate our own User:99of9 for his extensive work with the Wikifunctions & Abstract Wikipedia communities, we discuss what happened at Wikimania, we introduce a document for interested communities to join Abstract Wikipedia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:55، 13 أغسطس 2026 (ت ع م) <!-- الرسالة التي أرسلها User:Sannita (WMF)@metawiki باستخدام القائمة في https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> iwqwpk339bwuhxb08sano5f6hkfjpzg نقاش المستخدم:AlaaMroue 3 170672 617416 293103 2026-08-14T05:12:55Z Robertsky 63825 نقل Robertsky صفحة [[نقاش المستخدم:Alaamroweh]] إلى [[نقاش المستخدم:AlaaMroue]]: نُقِلت الصفحة آليا عند إعادة تسمية المستخدم «[[Special:CentralAuth/Alaamroweh|Alaamroweh]]» إلى «[[Special:CentralAuth/AlaaMroue|AlaaMroue]]». 293103 wikitext text/x-wiki {| style="margin: 0 2em 0 2em; background-color:#f7f8ff; padding:5px; border:1px solid #8888aa; clear: both;" | <center><big>'''مرحبا بك في [[ويكي مصدر:ويكي مصدر|ويكي مصدر]]، {{BASEPAGENAME}} !'''</big></center> |-align="center" | <div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي مصدر:سفارة|Welcome!]] [[ويكي مصدر:سفارة|Bienvenue!]] [[ويكي مصدر:سفارة|Willkommen!]] [[ويكي مصدر:سفارة|Benvenuti]] [[ويكي مصدر:سفارة|¡Bienvenido!]] [[ويكي مصدر:سفارة|ようこそ]] [[ويكي مصدر:سفارة|Dobrodosli]] [[ويكي مصدر:سفارة|환영합니다]] [[ويكي مصدر:سفارة|Добро пожаловать]] [[ويكي مصدر:سفارة|Bem-vindo!]] [[ويكي مصدر:سفارة|欢迎]] [[ويكي مصدر:سفارة|Bonvenon]] [[ويكي مصدر:سفارة|Welkom]]</small></center></div> [[صورة:Wikisource-logo.svg|يمين|50بك]]أهلا بك في [[ويكي مصدر:حول|ويكي مصدر]]، المكتبة الحرة! من السهل جدًا [[مساعدة:إضافة نص|إضافة النصوص]] الحرة هنا. بإمكانك تصفح الموقع عن طريق [[ويكي مصدر:فهرس|الفهرس]] أو الاطلاع على [[ويكي مصدر:سياسات وتعليمات|التعليمات]] وتعلم [[ويكي مصدر:دليل التنسيق|التنسيق]]. نتمنى لك وقتا سعيدًا هنا. إن احتجت مساعدة يرجى الاطلاع على [[مساعدة:مقدمة|صفحات المساعدة]] أو [[ويكي مصدر:طلب مساعدة|السؤال هنا]] أو في صفحة نقاشي. شكرا لك. |} --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 12:57، 17 أبريل 2020 (ت ع م) j98w3jsv519nhn6qhcb3zxo2i0lm4hi صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/152 104 216145 617391 617294 2026-08-13T19:48:33Z Nehaoua 7481 تنسيق ويكي 617391 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> t21qv9dujd0r9xags64hohhqd7tq9g3 617396 617391 2026-08-13T19:58:55Z Nehaoua 7481 تنسيق ويكي 617396 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> 1e8ggo17nh56n1i0w0cpudo1smyds51 صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/81 104 217280 617385 617101 2026-08-13T19:29:27Z Nehaoua 7481 /* تم التّحقّق منها */ 617385 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Nehaoua" />{{وسط|- ٧٧ -}}</noinclude><section begin="1" />وبالجملة فانهم يقسمون اللهجات العربية العصرية الى -١ لهجة جزيرة العرب -٢ لهجة العراق والجزيرة -٣ لهجة بلاد الشام -٤ لهجة مصر -٥ لهجة بلاد المغرب -٦ لهجة جزيرة مالطة وقد دخلها كثير من لغات أوروفة لا سيما الطليانية واللغة العربية والخط العربي معروفان عند جميع الأمم التي تدين بالاسلام وليست اللغة العربية هي لغتها الأصلية، وفيها العلماء والفقهاء العارفين بها تمام المعرفة، وكذلك تكتب بالخط العربي لغات تلك الأمم التي دانت للاسلام وهي أمم الفرس والترك والأفغان وبعض الهند والملايو والصين (التركستان الصيني) وروسيا الشرقية، واللغة العربية عامة الآن في آسيا الغربية، وفى شمال افريقيا ووسطها من الشرق الى الغرب <section end="1" /><section begin="2" />{{ع2|١٦ - باب في القول في العربي الجنوبي}} اما العربي الجنوبي وهو لغة اليمن فمن لهجاته -١ المعينية -٢ السبأيّة ٣ الَقتْبَانِيَّة -٤ الحَضْرَمِيَّة -، ثم اللهجات الجديدة وهي لغة مَهْرَة والشّحْر وهذه اللهجات هي لغة حِمْيَر وسبأ لسان القحطانيين وقبائلهم عادٍ وثمودَ وطَسْم وجديس والعمالقة؛ واليمن سميت كذلك لوقوعها الى جنوب الكعبة، كما سميت الشأم شأما لوقوعها شماليها، اما اشتقاق اسم اليَمَن من اليُمْن وهو السعادة فمشكوك فيه وهو ما ظنه أهل أوروفة الأقدمين فسموها بلاد العرب السعيدة (Arabia felixia) وهي كثيرة الزرع والأَشجار والثمار والعُطُور والأفاويه، وكانت غاية في العمران، عامرة بالمدن والحواضر، ومن ممالكها المعروفة مملكة مَعِين وقصبتها معِين، وسبأ وقصبتها مأرب، وممالك قَتْبان وحضرموت، وأقدمها مملكة معين وبدؤها في القرن الحادي عشر قبل الميلاد، ويليها مملكة سبأ، ثم انتقل الملك منهما الى حمير وقصبتها ظَفَار، وكتابات أهل اليمن يطلق عليها لفظ حِمْيَرِيَّة وان اختلفت المعينية والسبأية عنها قليلا، وفي قرائتها صعوبات كبرى، والحميري يسمى المُسَنَّد وهو أحدث الخطوط اليمنية،<section end="2" /><noinclude><references/></noinclude> tjzt6zolvoe9eugadn96iw57ftcy26h صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/88 104 217285 617360 616367 2026-08-13T15:29:47Z JazarF 71952 617360 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Мушир" /></noinclude>وقال محمد بن سلَّام الجُمَحِي أول من أسس العربية وفتح بابها وأنهج سبيلها ووضع قياسها أبو الأسود وانما فعل ذلك حين اضطرب كلام العرب. وقال ابن الأنباري كتب معاوية الى زياد يطلب عبد الله ابنه. فلما قدم عليه كلمه فوجده يلحن فَرَدَّه الى زياد وكتب اليه كتابا يلومه فيه ويقول أمِثْل عبيد اللّٰه يضيع. فبعث زيادٌ الى أبي الأسود، فقال له يا أبا الأسود إِن هذه الحمراء يعني الأعاجم قد كثرت وأفسدت من ألْسن العرب فلو وضَعْتَ شيئاً يُصْلح به الناسُ كلامهم ويعرفون به كتاب اللّٰه، فأبى ذلك أبو الاسود. فوجه زيادٌ رجلاً وقال له أقعد في طريق أبي الاسود فاذا مرَّ بك فاقرأ شيئاً من القرآن وتعمد اللحن فيه ففعل ذلك فلما مرَّ به أبو الأسود رفع الرجل صوتَه يقرأُ «اِنَّ الله بريءٌ من المشركين ورسولِه» بكسر اللام، فاستعظم ذلك أبو الأسود وقال عزَّ وجهُ اللّٰه تعالى أن يبرأ من رسوله. ثم رجع من فوره الى زياد فقال قد أجبتك الى ما سألت ورأيت أن أبدأ باعراب القرآن فابعث الي ثلاثين رجلا، فأحضرهم زيادٌ فاختار منهم أبو الأَسود عشرة ثم لم يزل يختارهم حتى اختار منهم رجلا من عبد القيس. فقال خذ المصحف وصِبغاً يخالف لون المداد. فاذا فتحت شَفَتي فانقط واحدة فوق الحرف، واذا ضممتها فاجعل النقطة الى جانب الحرف، فاذا كسرتها فاجعل النقطة من أسفل الحرف. فان أَتْبَعْتُ شيئاً من هذه الحركات غُنَّةً فانقط نقطتين، فابتدأ بالمصحف حتى أتى على آخره، ثم وضع المختصر المنسوب اليه بعد ذلك. واما الذين ينسبون وضع العربية الى علي بن أبي طالب فيقولون ان الروايات كلها تسند الى أبي الأسود، وأبو الأسود يسند الى علي. فقد روي عن أبي الأسود أنه سئل من أين لك هذا العلم يُعْنُون النحو، فقال أخذت حدوده عن علي بن أبي طالب، وقال أبو عبيدة مَعْمَر بن المثنى أخذ أبو الأسود الدؤلي النحو عن علي بن أبي طالب. وروى أبو الأسود قال دخلت على أمير المؤمنين علي بن أبي طالب عليه السلام فوجدت في يده رقعةً. فقلت ما هذه يا أمير المؤمنين، فقال اني تأملت كلام العرب فوجدته قد فسد بمخالطة هذه الحمراء يعنى الأعاجم فأردت أن أضع شيئا يرجعون اليه ويعتمدون عليه. ثم ألقى اليَّ الرقعة وفيها<noinclude></noinclude> ct9wf7vcyvvmlwy2vxqfpech2omyce6 صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/89 104 217286 617361 616369 2026-08-13T15:41:55Z JazarF 71952 617361 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|- ٨٥ -}}</noinclude>مكتوب «الكلام كله اسم وفعل وحرف، فالاسم ما أنبأ عن المسمَّى. والفعل ما أنبئ به، والحرف ما أفادَ معنى، وقال أُنْحُ هذا النحو وأضف اليه ما وقع اليك، واعلم يا أبا الاسود أن الاسماء ثلاثة ظاهر ومضمر واسم لا ظاهر ولا مضمر وانما يتفاضل الناس يا أبا الأسود فيها ليس بظاهر ولا مضمر، وأراد بذلك الاسم المبهم. قال ثم وضعت بابَيِ العطف والنعت ثم بابي التعجب والاستفهام الى أن وصلت الى باب إِنَّ وأخواتها ما خلا لكن فلما عرضتها علَى عَلِىِّ عليه السلام أمرني بضم لكن اليها. وكنت كلما وضعت باباً من أبواب النحو عرضته عليه الى أن حصلت ما فيه الكفاية، قال ما أحسن هذا النحو الذي نحوت فلذلك سمي النحو وكان أبو الأسود ممن صحب أمير المؤمنين علي بن أبي طالب وكان من المشهورين بصحبته ومحبته ومحبة أهل بيته وأخذ عن أبي الاسود جماعةٌ<ref>طبقات الشعراء للجمحي</ref> منهم يحيى بن يَعْمَر (المتوفى عام ١٢٩هـ)، وهو رجل من عَدْوان كان في عداد بني ليث وكان مأموناً عالما بما يأتي يُرْوَى عنه الفقه عن أبي عَمْرو وابن عباس، ورَوى عنه قَتَادة واسحاق بن سُوَيْد وغيرهما من العلماء، وأخذ ذلك عنه أيضاً ميمون الأقْرَن، وعَنْبَسَة الفيل، ونصر بن عاصم الليثي (المتوفى عام ٨٩ هـ)، وغيرهم، ثم كان من بعدهم عبد اللّٰه بن أبي اسحاق الحضرمي (المتوفى سنة ۱۱۳هـ) فكان أول من بعج النحو ومدَّ القياس والعِلل. وكان معه أبو عمرو بن العلاء وبقي معه بقاء طويلا، وكان ابن أبي اسحاق أشدَّ تجريداً للقياس. وكان أبو عمرو أوسع علما بكلام العرب ولغاتها. وكان بلال بن أبي بُرْدَة جمع بينهما بالبصرة وهو يومئذ والٍ عليها وَلَّاه خالد بن عبد&nbsp;اللّٰه القسري زمن هشام بن عبد الملك، قال يونس بن حبيب قال أبو عمرو فغلبني ابن أبي اسحاق بالهَمْزِ، فنظرت فيه بعد ذلك وبالغت فيه. وكان عيسى بن عمر الثقفي (المتوفى عام ١٤٩هـ) أخذ عن ابن أبي اسحاق، وأخذ يونس بن حبيب (المتوفى عام ۱۸۳هـ) عن أبى عمر بن العلاء. وكان معهما مَسْلَمة بن عبد&nbsp;اللّٰه بن محارب الفِهْري. وكان ابن أبي اسحاق بن خاله . وكان حمَّاد بن<noinclude><references/></noinclude> f7biw5orljwqyaoy8thgv3blln8fu9n 617362 617361 2026-08-13T15:42:19Z JazarF 71952 617362 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|- ٨٥ -}}</noinclude>مكتوب «الكلام كله اسم وفعل وحرف، فالاسم ما أنبأ عن المسمَّى. والفعل ما أنبئ به، والحرف ما أفادَ معنى، وقال أُنْحُ هذا النحو وأضف اليه ما وقع اليك، واعلم يا أبا الاسود أن الاسماء ثلاثة ظاهر ومضمر واسم لا ظاهر ولا مضمر وانما يتفاضل الناس يا أبا الأسود فيها ليس بظاهر ولا مضمر، وأراد بذلك الاسم المبهم. قال ثم وضعت بابَيِ العطف والنعت ثم بابي التعجب والاستفهام الى أن وصلت الى باب إِنَّ وأخواتها ما خلا لكن فلما عرضتها علَى عَلِىِّ عليه السلام أمرني بضم لكن اليها. وكنت كلما وضعت باباً من أبواب النحو عرضته عليه الى أن حصلت ما فيه الكفاية، قال ما أحسن هذا النحو الذي نحوت فلذلك سمي النحو وكان أبو الأسود ممن صحب أمير المؤمنين علي بن أبي طالب وكان من المشهورين بصحبته ومحبته ومحبة أهل بيته وأخذ عن أبي الاسود جماعةٌ<ref>طبقات الشعراء للجمحي</ref> منهم يحيى بن يَعْمَر (المتوفى عام ١٢٩هـ)، وهو رجل من عَدْوان كان في عداد بني ليث وكان مأموناً عالما بما يأتي يُرْوَى عنه الفقه عن أبي عَمْرو وابن عباس، ورَوى عنه قَتَادة واسحاق بن سُوَيْد وغيرهما من العلماء، وأخذ ذلك عنه أيضاً ميمون الأقْرَن، وعَنْبَسَة الفيل، ونصر بن عاصم الليثي (المتوفى عام ٨٩ هـ)، وغيرهم، ثم كان من بعدهم عبد اللّٰه بن أبي اسحاق الحضرمي (المتوفى سنة ۱۱۳هـ) فكان أول من بعج النحو ومدَّ القياس والعِلل. وكان معه أبو عمرو بن العلاء وبقي معه بقاء طويلا، وكان ابن أبي اسحاق أشدَّ تجريداً للقياس. وكان أبو عمرو أوسع علما بكلام العرب ولغاتها. وكان بلال بن أبي بُرْدَة جمع بينهما بالبصرة وهو يومئذ والٍ عليها وَلَّاه خالد بن عبد&nbsp;اللّٰه القسري زمن هشام بن عبد الملك، قال يونس بن حبيب قال أبو عمرو فغلبني ابن أبي اسحاق بالهَمْزِ، فنظرت فيه بعد ذلك وبالغت فيه. وكان عيسى بن عمر الثقفي (المتوفى عام ١٤٩هـ) أخذ عن ابن أبي اسحاق، وأخذ يونس بن حبيب (المتوفى عام ۱۸۳هـ) عن أبى عمر بن العلاء. وكان معهما مَسْلَمة بن عبد&nbsp;اللّٰه بن محارب الفِهْري. وكان ابن أبي اسحاق بن خاله . وكان حمَّاد بن<noinclude>{{smallrefs|rule=yes}}</noinclude> sv1d9iwwmzrmun5cmz24mz9p4d87312 صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/90 104 217287 617364 616371 2026-08-13T15:56:15Z JazarF 71952 617364 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|- ٨٦ -}}</noinclude>الزّبْرِقان ويونس يفضلانه. قال محمد بن سلّام الجُمَحي سمعت رجلا يسأل يونس عن بن أبي اسحاق وعلمه، قال هو والبحر سواء أي هو الغاية. وأخذ عن أبي عمرو الأخفشُ الكبير عبد الحميد بن عبد المجيد أبو الخطاب، وأبو جعفر محمد بن أبي سارة الرؤاسي، وهو أول من وضع من الكوفيين كتابا في النحو وهو أستاذ الكسائي والفَرَّاء، الى أن انتهت<ref>ابن خلدون بتصرف</ref> الى الخليل بن أحمد الفراهيدي (المتوفى عام ۱۷۰هـ) في أيام الرشيد، أخذ عن عيسى بن عمر الثقفي. وعن أبي عمرو بن العلاء. فهذب الصناعة وكمَّل أبوابها. وأخذها عنه سيبويه وهو عمرو بن عثمان بن قَنْبَر أبو بشر (المتوفى سنة ١٦١هـ)، فكمل تفاريعها واستكثر من أداتها وشواهدها ووضع فيها كتابه المشهور الذي صار اماماً لكل ما كتب فيها من بعده، وأخذ عن سيبويه الأخفش المجاشعي (الاوسط) (المتوفى سنه ٢١٥)، وقُطْرُب (وهو أبو علي محمد بن المستنير المتوفى سنة ۲۰۲)، وهما من علماء البصرة، وأتى بعدهم أبو عُبَيْدة مَعْمَر بن المُثَنَّى (المتوفى سنة ٢٠٩) وأبو زيد سعيد بن أوس الأنصاري (المتوفى سنة ۲۱٥)، والأَصْمَعِيّ (المتوفى سنة ۱۸۰) وأبو الحسن علي بن المُغِيرة الأَثْرم (المتوفى سنة ٢٣٢) ، وبكر بن محمد المازني (المتوفى سنة ٢٤٨)، وأبو عبد اللّٰه محمد بن هرون التَوَّّزي (المتوفى سنة ٢٣٣) وابو اسحاق ابراهيم بن سُفْيان الزيادي (المتوفى سنة ٢٤٩) ، وأبو الفضل العباس بن الفرج الرياشي (المتوفى سنة ٢٥٧)، وغيرهم من مشهوري علماء النحو، ثم وضع أبو علي الفارسي (المتوفى ۳۷۷) وأبو القاسم عبد الرحمن بن اسحاق الزجَّاج (المتوفى سنة ٣٣٩) كتباً مختصرة للمتعلمين حَذَوا فيها حذو الامام في كتابه، ثم طال الكلام في هذه الصناعة وحدث الخلاف بين أهلها في الكوفة والبصرة المِصْرَين القديمين للعرب، وأهلهما من بين أمصار العرب هم الذين نقلوا اللغة واللسان العربي وأثبتوها فى كتب فصيروها علما وصناعة، فكثرت الأدلة والحجاج بينهم. وتباينت الطرق في التعليم وكثر الاختلاف في إِعراب كثير من آي القرآن باختلافهم في تلك القواعد وطال ذلك على المتعلمين، وجاء<noinclude>{{smallrefs|rule=yes}}</noinclude> j9fctb56mhof9snwbtdf5kordng45mt صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/91 104 217288 617365 616373 2026-08-13T16:05:28Z JazarF 71952 617365 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|- ٨٧ -}}</noinclude>المتأخرون بمذاهبهم في الاختصار، فاختصروا كثيراً من ذلك مع استيعابهم لجميع ما نقل، كما فعله مالك (محمد بن عبد&nbsp;اللّٰه عاش من ٦٠١ الى ٦٧٢) في كتاب التسهيل وأمثاله، واقتصارهم على المبادئ للمتعلمين كما فعله الزمخشري (المتوفى سنة ٥٣٨) في المفَصَّل. وابن الحاجب (جمال الدين أبو عمر المتوفى سنة ٦٤٦) في المقدمة له، وربما نظموا ذلك نظماً مثل ابن مالك في الأرجوزتين الكبرى والصغرى. وابن مُعْطي في الارجوزة الألفية. وبالجملة فالتآليف في هذا الفن أكثر من أن تحصى أو يحاط بها ولم يكونوا<ref>الفهرست لابن النديم</ref> فيا ألَّفوا ورتَّبوا يكتفون بما يسمعونه من أهل العلم، بل كانت عنايتهم متجهة الى التحقيق والتمحيص والاستماع من فصحاء الأعراب ووفود البادية لسلامة سليقتهم وعدم اختلاطهم بغيرهم من الأعاجم. ومن مشاهير فصحائهم أبو البيداء الرياحي وأبو مالك عمر بن كَرْكرة ، وأبو عِرار العِجْلي، وأبو زياد الكلابي وأبو سوار الغَنَوي، وشُبيْل بن عَرْعَرَة الضَبُعي، وأبو عدنان ورد بن حكيم، ونَهْشَل بن زيد، وأبو شبل العقيلي، وأبو محلِّم الشيباني، وأبو مِسْحَل، وأبو ضمضم الكلابي، والبهْدَلي، وجَهْم بن خلف المازني، ومُؤَرِّج السَدُوسي، واللحياني، وخلف الأحمر وغيرهم من فصحاء العرب {{ع3|فن التصريف أو علم الصرف}} واما علم الصرف فالمظنون أن أول من وضمه هو معاذ الهرَّاء ويستدلون<ref>بغية الوعاة للسيوطى، وغيره</ref> على ذلك بما يأتي: وذلك أن مسلم مؤدب ولد عبد الملك بن مروان كان نظر في النحو ثم لما حدث التصريف جلس الى معاذ الهراء فسمعه يقول لرجل كيف تُثْنى من تَؤُزُّهم أَزًّاً مثل يا فاعِل افْعَل، فانكر ذلك أبو مسلم وقال: {{أبيات|قد كان أخْذُهُم في النحو يُعْجِبني\\حتى تعاطوا كلام الزنج والروم لما سمعتُ كلاما لستُ أفهمه\\كأنه رجل الغربان والبوم ترکتُ نحوَهم واللّٰهُ يَعْصِمُني\\من التعَجُّم في تلك الجراثيم}}<noinclude>{{smallrefs|rule=yes}}</noinclude> nqawrxqsyrq3zz5sunwp7cvikhsh7e7 صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/104 104 217296 617400 616399 2026-08-13T20:08:36Z Nehaoua 7481 تنسيق ويكي 617400 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|– ١٠٠ –}}</noinclude><section begin="1" />لكتابة الافرنج كأنها مختزلة يكتبها العربى فى أقل من نصف الزمن الذي يشغله الافرنجي في كتابة ترجمتها على فرض الكاتبين فى درجة واحدة من السرعة، وقد جربنا ذلك مراراً فلم تخطئ التجربة، فالافرنج سهلوا القراءة ولكنهم صعبوا الكتابة والعرب سيلوا الكتابة والقراءة معا أما اذا تركوا الكتابة غُفْلاً فقد سهلوا الكتابة وصعبوا القراءة، وقد أجمع الأدباء على أنهم لا يتركون الكتابة غُفْلاً الا اذا كانوا ايكتبون لأنفسهم أو لنظراتهم أو كان المكتوب قصة ونحوها مما لا يعظم الخطر في اللحن فيه، والمتفق عليه عندهم أن يشكلوا ما يشكل كما قال ابن مجاهد، ينبغي ألا يُشكَّل الا ما يُشكِل فالقاعدة العامة عندهم تنحصر في قولك «أشْكل ما يُشْكل»، وقد بين حفنى بك القواعد لما ينبغى أن يشكل من الحروف في بنية الكلمة تفاديا من اللبس وما ينبغي أن يترك غفلا اما لأنه الأصل في الكلمة أو لأنه معلوم، ومتى يكون الشكل تاماً في جميع الكلمة، وتحوى القاعدة الأخيرة المصاحف والكتب المقدسة فانها تشكل شكلا تاماً زيادة في الاحتياط، وكذلك كتب تعليم الاطفال ثم قال رحمه الله انه ليس في تطبيق هذه القواعد صعوبة على من عنده مسكة من الذوق، وذكر مناظرة جرت بينه وبين متشيع هجر العربية المُصّرية والاقتصار على المخاطبة والمكاتبة بالعامية، واستبدال الحروف اللاطينية بالحروف العربية، وهي محاورة لطيفة أعجز بها مناظره عن الجواب وختمها بقوله: «فقد علمت من هذه المناظرة أن الكتابة العربية اذا شكل من حروفها ما يشكل كانت غاية الغايات في الاختصار والبيان وليس في الامكان أبدع مما كان» <section end="1" /><section begin="2" />{{ع2|٢١ – باب في حاجة العرب الى التعريب}} بلاد العرب وتعرف بجزيرة العرب تجاور أمما كثيرة من جميع جهاتها، وهذه الأمم المجاورة لأمة العرب كالهند وفارس والعراق والشام والروم ومصر والحبشة كانت على جانب عظيم من المدنية والحضارة، وعلاقاتها التجارية <section end="2" /><noinclude><references/></noinclude> 4bwzbwhu3eu2udw2qotl3lq8s6oznfw صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/103 104 217297 617398 616397 2026-08-13T20:03:50Z Nehaoua 7481 617398 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|– ٩٩ –}}</noinclude><section begin="1" />وقد جمع بعضهم من أوزان جموع التكبير نحو اثنين ومئة وزن، وبهذه الخصائص والميزات كانت اللغة العربية ميزانا يقاس عليه الاسماء في اللغات السامية الأخرى، وهى واسعة المعانى جزلة الأوزان لا تحصى مفرداتها ويعجز العالم عن استيعابها بالحفظ ولا بد له من الاستعانة بمعاجم اللغة على الدوام. <section end="1" /><section begin="2" />{{ع2|٢٠– باب في الكتابة العربية}} ومن مميزات لغة العرب حروفها التى تكتب بيا وتلفظ بناء عليها، وقد عقدها المرحوم حفنى ناصف بك باباً خاصاً في كتابه «تاريخ الأدب» أتى فيه على قسمة الحروف إلى أصلية وإلى متفرعة وبين حركاتها ومخارجها وصفاتها وترتيبها وخواصها إلى أن قال فى آخر كلامه «وليس غرضنا من تحديد هذه المزايا لحروف اللغة العربيةالحط من شأن غيرها من اللغات أو تثبيط همم المشتغلين بها معاذ الله، وانما غرضنا الرد على المفتونين ببعض اللغات الأجنبية –الجاهلين بالعربية في زعمهم أن العربية أصعب مراساً وأبعد مثلا، وهم لو أعطوها العناية ربع ما أعطوه لغيرها لمرفوا أنها في غاية الاحكام وعلى طرف التمام» فمن شاء استيعاب جميع ما جاء في هذا الباب فليرجع اليه وقد ذكر حفني ناصف بك قواعد الشكل فى الكتابة العربية فقال «كانت الكتابة قديماً في الشرق والغرب عارية عن الشكل، ثم أدخل اليونان ومن حذا حذوهم من أهل أوروفا علامات في صلب كتابهم، يعنى أنهم جعلوا بعد كل حرف متحرك حرفاً آخر أو حرفين للدلالة على حركة ذلك الحرف، فصارت الكتابة عندهم ضعف ما كانت عليه قديماً بل أكثر من الضعف. أما العرب وسائر الساميين فلم يدخلوا الشكل في صلب الكتابة بل جعلوا له علامات توضع فوق الحرف أو تحته أو بجانبه، ولم يشكلو اكل حرف وأنما شكلوا من الحروف ما تلتيس حركته وتركوا أكثر الحروف غفلا ضنا بالوقت أن يضيع فيالا فائدة له تذكر واقتصاداً في الأوراق، فصارت الكتابة العربية بالنسبة <section end="2" /><noinclude><references/></noinclude> d1coct0w5lchqnmzwqj9jsb7qmf4hyo صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/99 104 217301 617395 616389 2026-08-13T19:57:51Z Nehaoua 7481 617395 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|– ٩٥ –}}</noinclude><section begin="1" />{{ع3|الأمثال}} ومن مفاخر العربية الأمثال وهى حكمة العرب في الجاهلية والإسلام وبها كانت تعارض كلامها فتبلغ به ما حاولت من حاجاتها في المنطلق بكناية غير تصريح، قال ابراهيم النظام يجتمع في المثل أربعة لا تجتمع في غيره من الكلام ايجاز اللفظ واصابة المعنى وحسن التشبيه وجودة الكناية، فهو نهاية البلاغة، وقال ابن المقفع اذا جعل الكلام مثلاً كان أوضح للمنطق وائق للسمع وأوسع لشعوب الحديث. <section end="1" /><section begin="2" />{{ع2|١٩– باب في القول في اتساع اللغة العربية}} أما القول في اتساع اللغة العربية فهو شائع مشهور محقق بالميان، فلسان العرب أوسع الأنسنة مذهباً، وأكثرها ألفاظا، قال أحمد بن فارس: قال بعض الفقهاء كلام العرب لا يحيط به الا نبيٌ، وهذا كلام حرى أن يكون صحيحاً وما بلغنا أن أحداً ممن مضى أوعى حفظ اللغة كلها، والمراد من هذا القول بيان عظمها وأن وَعْيَها معجزة لاثانى الا من نبي، وقال ذهب علماؤنا أو أكثرهم إلى أن الذي انتهى الينا من كلام العرب هو الأقل، وأن كثيرا من الكلام ذهب بذهاب أهله، ولو جاءنا جميع ما قالوه لجاءنا شعر كثير وكلام كثير <br/>وللعرب أقاويل كثيرة وتعابير جمة بعضها ليس بغريب اللفظ ولكن الوقوف على كنهه معتاص وقد بينا ذلك فى مراتب لغة العرب، وليس أدل على اتساع اللغة العربية استقصاء أبنية الكلام وحصر تراكيب اللغة وهو ما توصل اليه الخليل بن أحمد، فقد ذكر فى {{خطأ | كتات المين | كتاب العين}}{{حا|المزهر للسيوطي}} أن عدة أبنية كلام العرب المستعمل منه والمهمل على مراتبها الأربع من الثنائى والثلاثى والرباعي والحماسى من غير تكرار اثنا عشر ألف ألف وثلاثمئة ألف وألفان وتسعمئة واثنا عشر (١٢٣٠٢٩١٢) وقال بهاء الدين العاملى صاحب الكشكول: <br/>اذا قيل كم يتحصل من تركيب حروف المعجم كلمة ثنائية سواء كانت مبدلة أو مستعملة فاضرب ––––––––––––––––––––– {{حا|المزهر للسيوطي}} <section end="2" /><noinclude>{{سطر|}}{{حواشي}}</noinclude> ardp3phq14w64gxgnxm6evzkonkpy1h 617409 617395 2026-08-13T22:18:01Z JazarF 71952 617409 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|– ٩٥ –}}</noinclude><section begin="1" />{{ع3|الأمثال}} ومن مفاخر العربية الأمثال وهى حكمة العرب في الجاهلية والإسلام وبها كانت تعارض كلامها فتبلغ به ما حاولت من حاجاتها في المنطلق بكناية غير تصريح، قال ابراهيم النظام يجتمع في المثل أربعة لا تجتمع في غيره من الكلام ايجاز اللفظ واصابة المعنى وحسن التشبيه وجودة الكناية، فهو نهاية البلاغة، وقال ابن المقفع اذا جعل الكلام مثلاً كان أوضح للمنطق وائق للسمع وأوسع لشعوب الحديث. <section end="1" /><section begin="2" />{{ع2|١٩– باب في القول في اتساع اللغة العربية}} أما القول في اتساع اللغة العربية فهو شائع مشهور محقق بالميان، فلسان العرب أوسع الأنسنة مذهباً، وأكثرها ألفاظا، قال أحمد بن فارس: قال بعض الفقهاء كلام العرب لا يحيط به الا نبيٌ، وهذا كلام حرى أن يكون صحيحاً وما بلغنا أن أحداً ممن مضى أوعى حفظ اللغة كلها، والمراد من هذا القول بيان عظمها وأن وَعْيَها معجزة لاثانى الا من نبي، وقال ذهب علماؤنا أو أكثرهم إلى أن الذي انتهى الينا من كلام العرب هو الأقل، وأن كثيرا من الكلام ذهب بذهاب أهله، ولو جاءنا جميع ما قالوه لجاءنا شعر كثير وكلام كثير <br/>وللعرب أقاويل كثيرة وتعابير جمة بعضها ليس بغريب اللفظ ولكن الوقوف على كنهه معتاص وقد بينا ذلك فى مراتب لغة العرب، وليس أدل على اتساع اللغة العربية استقصاء أبنية الكلام وحصر تراكيب اللغة وهو ما توصل اليه الخليل بن أحمد، فقد ذكر فى {{خطأ | كتات | كتاب}} العين{{حا|المزهر للسيوطي}} أن عدة أبنية كلام العرب المستعمل منه والمهمل على مراتبها الأربع من الثنائى والثلاثى والرباعي والحماسى من غير تكرار اثنا عشر ألف ألف وثلاثمئة ألف وألفان وتسعمئة واثنا عشر (١٢٣٠٢٩١٢) وقال بهاء الدين العاملى صاحب الكشكول: <br/>اذا قيل كم يتحصل من تركيب حروف المعجم كلمة ثنائية سواء كانت مبدلة أو مستعملة فاضرب ––––––––––––––––––––– {{حا|المزهر للسيوطي}} <section end="2" /><noinclude>{{سطر|}}{{حواشي}}</noinclude> t9onjlindmnrja91cc1w554zmfkqm0b 617410 617409 2026-08-13T22:18:19Z JazarF 71952 617410 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|– ٩٥ –}}</noinclude><section begin="1" />{{ع3|الأمثال}} ومن مفاخر العربية الأمثال وهى حكمة العرب في الجاهلية والإسلام وبها كانت تعارض كلامها فتبلغ به ما حاولت من حاجاتها في المنطلق بكناية غير تصريح، قال ابراهيم النظام يجتمع في المثل أربعة لا تجتمع في غيره من الكلام ايجاز اللفظ واصابة المعنى وحسن التشبيه وجودة الكناية، فهو نهاية البلاغة، وقال ابن المقفع اذا جعل الكلام مثلاً كان أوضح للمنطق وائق للسمع وأوسع لشعوب الحديث. <section end="1" /><section begin="2" />{{ع2|١٩– باب في القول في اتساع اللغة العربية}} أما القول في اتساع اللغة العربية فهو شائع مشهور محقق بالميان، فلسان العرب أوسع الأنسنة مذهباً، وأكثرها ألفاظا، قال أحمد بن فارس: قال بعض الفقهاء كلام العرب لا يحيط به الا نبيٌ، وهذا كلام حرى أن يكون صحيحاً وما بلغنا أن أحداً ممن مضى أوعى حفظ اللغة كلها، والمراد من هذا القول بيان عظمها وأن وَعْيَها معجزة لاثانى الا من نبي، وقال ذهب علماؤنا أو أكثرهم إلى أن الذي انتهى الينا من كلام العرب هو الأقل، وأن كثيرا من الكلام ذهب بذهاب أهله، ولو جاءنا جميع ما قالوه لجاءنا شعر كثير وكلام كثير <br/>وللعرب أقاويل كثيرة وتعابير جمة بعضها ليس بغريب اللفظ ولكن الوقوف على كنهه معتاص وقد بينا ذلك فى مراتب لغة العرب، وليس أدل على اتساع اللغة العربية استقصاء أبنية الكلام وحصر تراكيب اللغة وهو ما توصل اليه الخليل بن أحمد، فقد ذكر فى {{خطأ | كتات| كتاب}} العين{{حا|المزهر للسيوطي}} أن عدة أبنية كلام العرب المستعمل منه والمهمل على مراتبها الأربع من الثنائى والثلاثى والرباعي والحماسى من غير تكرار اثنا عشر ألف ألف وثلاثمئة ألف وألفان وتسعمئة واثنا عشر (١٢٣٠٢٩١٢) وقال بهاء الدين العاملى صاحب الكشكول: <br/>اذا قيل كم يتحصل من تركيب حروف المعجم كلمة ثنائية سواء كانت مبدلة أو مستعملة فاضرب ––––––––––––––––––––– {{حا|المزهر للسيوطي}} <section end="2" /><noinclude>{{سطر|}}{{حواشي}}</noinclude> czi0iwfgnhq35hcrjw4bmrncpv3zwjc 617411 617410 2026-08-13T22:18:45Z JazarF 71952 617411 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Origamos" />{{وسط|– ٩٥ –}}</noinclude><section begin="1" />{{ع3|الأمثال}} ومن مفاخر العربية الأمثال وهى حكمة العرب في الجاهلية والإسلام وبها كانت تعارض كلامها فتبلغ به ما حاولت من حاجاتها في المنطلق بكناية غير تصريح، قال ابراهيم النظام يجتمع في المثل أربعة لا تجتمع في غيره من الكلام ايجاز اللفظ واصابة المعنى وحسن التشبيه وجودة الكناية، فهو نهاية البلاغة، وقال ابن المقفع اذا جعل الكلام مثلاً كان أوضح للمنطق وائق للسمع وأوسع لشعوب الحديث. <section end="1" /><section begin="2" />{{ع2|١٩– باب في القول في اتساع اللغة العربية}} أما القول في اتساع اللغة العربية فهو شائع مشهور محقق بالميان، فلسان العرب أوسع الأنسنة مذهباً، وأكثرها ألفاظا، قال أحمد بن فارس: قال بعض الفقهاء كلام العرب لا يحيط به الا نبيٌ، وهذا كلام حرى أن يكون صحيحاً وما بلغنا أن أحداً ممن مضى أوعى حفظ اللغة كلها، والمراد من هذا القول بيان عظمها وأن وَعْيَها معجزة لاثانى الا من نبي، وقال ذهب علماؤنا أو أكثرهم إلى أن الذي انتهى الينا من كلام العرب هو الأقل، وأن كثيرا من الكلام ذهب بذهاب أهله، ولو جاءنا جميع ما قالوه لجاءنا شعر كثير وكلام كثير <br/>وللعرب أقاويل كثيرة وتعابير جمة بعضها ليس بغريب اللفظ ولكن الوقوف على كنهه معتاص وقد بينا ذلك فى مراتب لغة العرب، وليس أدل على اتساع اللغة العربية استقصاء أبنية الكلام وحصر تراكيب اللغة وهو ما توصل اليه الخليل بن أحمد، فقد ذكر فى {{خطأ | كتات| كتاب}} العين{{حا|المزهر للسيوطي}} أن عدة أبنية كلام العرب المستعمل منه والمهمل على مراتبها الأربع من الثنائى والثلاثى والرباعي والحماسى من غير تكرار اثنا عشر ألف ألف وثلاثمئة ألف وألفان وتسعمئة واثنا عشر (١٢٣٠٢٩١٢) وقال بهاء الدين العاملى صاحب الكشكول: <br/>اذا قيل كم يتحصل من تركيب حروف المعجم كلمة ثنائية سواء كانت مبدلة أو مستعملة فاضرب<section end="2" /><noinclude>{{سطر|}}{{حواشي}}</noinclude> inxw0s4bjtf3da4jxvhbl3pwldsr0f6 صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/95 104 217305 617389 616381 2026-08-13T19:46:46Z Nehaoua 7481 /* تم التّحقّق منها */ 617389 proofread-page text/x-wiki <noinclude><pagequality level="4" user="Nehaoua" />{{وسط|– ٩١ –}}</noinclude><section begin="1" />و١٨٧٠م وهو آخر ما وضع من كتب اللغة التى يعول عليها ويركن الى تحقيقها. {{ع2|١٨– باب في القول في فضل اللغة العربية واتساعها}} لغة العرب من أفضل اللغات وأعظمها اتساعاً، أما فضلها فلما اختصت به من الاستمارة والتمثيل والقلب والابدال والتقديم والتأخير، والبسط بالزيادة في عدد حروف الاسم والفعل والقبض محاذاة للبسط وهو النقصان في عدد الحروف واتساعها في المجاز والادغام والتأليف (تأليف الحروف) واختلاس الحركات في الكلام وتخفيف الكلمة بالحذف، والاعراب{{حا|الاعراب مصدر أعربت عن الشيء اذا أوضحت عنه وفلان عرب عما في نفسه أي مبين له وموضح عنه ومنه عربت الفرس تعريباً اذا برغته، واصل هذا كله قولهم العرب وذلك ما يعزى إليه من الفصاحة والاعراب والبيان، ومنه قولهم في الحديث «الثيب تعرب عن نفسها» والمعرب صاحب الخيل العراب، ومنه عندى عروبة، والعروبة الجمعة، وذلك ان يوم الجمعة أظهر أمراً من بقية أيام الاسبوع وقولهم عريت معدته أى فسدت كانها استحالت من حال إلى حال كاستحالة الاعراب من صورة الى صورة وبالاعراب يعرف الخبر الذي هو أصل الكلام واولاء ما ميز فاعل من مفعول ولا مضاف من منموت ولا تعجب من استفهاء ولا نعت من تأكيد}} الذي هو الفارق بين المعاني المتكافئة في اللفظ والمميز لها، واختصاصها بحروف يصعب النطق بها على غير العرب من الامم، وتصريف الكلام، وستها في مخالفة ظاهر اللفظ معناه، والحذف والاختصار والزيادة فى الأسماء أو الأفعال أو الحروف لأغراض شتى، والتكرير والاعادة لارادة الابلاغ فى التنبيه والتحذير والتوهم والايام، والمخاطبة بلفظ الجمع أو بالمفرد والمراد غير ذلك والفرق بين الضدين بحرف أو حركة، والاضمار للأسماء أو الأفعال، والتعويض في الكلمات وقلبهم الحروف عن جهاتها نيكون الثانى أخف من الأول، نحو ميعاد فلم يقولوا مو عاد، والاعتراض والاشارة والابناء دون التصريح، والكف عن ذكر الخبر اكتفاء بما يدل عليه الكلام، والمحاذاة والاقتصار في الكلام على ذكر بعض الشيء، والمراد كله، والأمثلة والموازين أختير منها ما فيه طيب اللفظ وأهمل منها ما يجفوا اللسان عن النطق به فجاء الكلام بهذه المحسنات في هذه اللغة غاية في الرونق والعذوبة، فصيحاً <section end="1" /><noinclude>{{سطر|}}{{حواشي}}</noinclude> il2m8mec0lny1tpjhtql1tm6noa87d7 617393 617389 2026-08-13T19:52:01Z Nehaoua 7481 تنسيق ويكي 617393 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> 3vc7bxx3o79xqyk12ssufgsdjv9wl59 617412 617393 2026-08-13T22:26:02Z JazarF 71952 617412 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> ri0jg53psgy2wamgt0ou9b8q3iqnv8t صفحة:التهذيب في أصول التعريب (auc aco001146).pdf/85 104 217351 617388 617108 2026-08-13T19:41:24Z Nehaoua 7481 /* صُححّت */ 617388 proofread-page text/x-wiki <noinclude><pagequality level="3" user="Nehaoua" />{{وسط|-٨١ -}}</noinclude>القسم الغربي من اللغات السامية # جنوبي ## عربي ### شمالي ###* لحياني ###* ثمودي ###* صفوي ###* عربي نبطي ###* عربي فصيح ### جنوبي #### قديم ####* مهري ####* شحري ####* سقطري #### جديد ####* معيني ####* سبئي ####* قتباني ####* حضرمي ## حبشي ### قديم ### جديد #### جنوبي ####* أمحري #### شمالي ####* تكري ####* تكرينيا # شمالي ## كنعاني ### فينيقي ### عبري ### مؤابي ## آرامي ### غربي ###* مختص بالتوراة ###* تدمري ###* نبطي ###* فلسطيني يهودي ###* نصراني سامري ### شرقي #### يهودي بابلي #### ماني #### سرياني ####* يعقوبي ####* نسطوري<noinclude></noinclude> mblyvynelvlnkragw67sgbla64aq53i نقاش المستخدم:Renamed user 884fe7926b62f9d3ae6cf3bcc87670a6 3 260484 617404 524970 2026-08-13T20:37:49Z Deepfriedokra 51287 نقل Deepfriedokra صفحة [[نقاش المستخدم:Trong Dang]] إلى [[نقاش المستخدم:Renamed user 884fe7926b62f9d3ae6cf3bcc87670a6]] دون ترك تحويلة: نُقِلت الصفحة آليا عند إعادة تسمية المستخدم «[[Special:CentralAuth/Trong Dang|Trong Dang]]» إلى «[[Special:CentralAuth/Renamed user 884fe7926b62f9d3ae6cf3bcc87670a6|Renamed user 884fe7926b62f9d3ae6cf3bcc87670a6]]». 524970 wikitext text/x-wiki {| style="margin: 0 2em 0 2em; background-color:#f7f8ff; padding:5px; border:1px solid #8888aa; clear: both;" | <center><big>'''مرحبا بك في [[ويكي مصدر:رئيسي|ويكي مصدر]]، {{BASEPAGENAME}} !'''</big></center> |-align="center" | <div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي مصدر:سفارة|Welcome!]] [[ويكي مصدر:سفارة|Bienvenue!]] [[ويكي مصدر:سفارة|Willkommen!]] [[ويكي مصدر:سفارة|Benvenuti]] [[ويكي مصدر:سفارة|¡Bienvenido!]] [[ويكي مصدر:سفارة|ようこそ]] [[ويكي مصدر:سفارة|Dobrodosli]] [[ويكي مصدر:سفارة|환영합니다]] [[ويكي مصدر:سفارة|Добро пожаловать]] [[ويكي مصدر:سفارة|Bem-vindo!]] [[ويكي مصدر:سفارة|欢迎]] [[ويكي مصدر:سفارة|Bonvenon]] [[ويكي مصدر:سفارة|Welkom]]</small></center></div> [[ملف:Wikisource-logo.svg|يمين|50بك]]أهلا بك في [[ويكي مصدر:عن|ويكي مصدر]]، المكتبة الحرة! من السهل جدًا [[مساعدة:إضافة نص|إضافة النصوص]] الحرة هنا. بإمكانك تصفح الموقع عن طريق [[ويكي مصدر:فهرس|الفهرس]] أو الاطلاع على [[ويكي مصدر:سياسات وإرشادات|التعليمات]] وتعلم [[ويكي مصدر:دليل التنسيق|التنسيق]]. نتمنى لك وقتا سعيدًا هنا. إن احتجت مساعدة يرجى الاطلاع على [[مساعدة:مقدمة|صفحات المساعدة]] أو [[ويكي مصدر:طلب مساعدة|السؤال هنا]] أو في صفحة نقاشي. شكرا لك. |} --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 07:33، 22 مارس 2025 (ت ع م) bwfeiepqnq51mn2udofup7lb3x6fijr ويكي مصدر:صفحات رئيسية غير مصنفة 4 261799 617394 617071 2026-08-13T19:55:31Z ParBot 69590 بوت: تحديث قائمة الصفحات الرئيسية غير المصنفة 617394 wikitext text/x-wiki <noinclude> {{صندوق|رمادي| قام {{مس|ParBot}} بتحديث هذه القائمة في 2026-08-13، 19:55 (UTC)}} {{Div col|colwidth=20em}} </noinclude> # [[أجزاء روح المعاني]] # [[أجزاء مجلة المنار]] # [[ألف ليلة وليلة - السندباد البحري]] # [[أنوار البدرين ومطلع النيرين في تراجم علماء القطيف والأحساء والبحرين]] # [[إتفاقية قطاع غزة ومنطقة أريحا - ملحق 1 (بروتوكول بشأن إنسحاب القوات العسكرية الإسرائيلية والترتيبات الأمنية)]] # [[اتفاق المباني وافتراق المعاني للدقيقي]] # [[الأرملة المرضعة - معروف الرصافي]] # [[البيان الختامي للمؤتمر الدولي السادس لدعم الانتفاضة الفلسطينية بطهران]] # [[البيان الشيوعي]] # [[الحاوي في الطب - الجزء الأول]] # [[الرسالة الثانية إلى تيموثاوس]] # [[الصوارم المهرقة في جواب الصواعق المحرقة]] # [[العقد الاجتماعي للفيدرالية الديمقراطية لروج آفا – شمال سوريا]] # [[القاموس المحيط - المطبعة الحسينية (أجزاء)]] # [[القرار الملكي لمنح طلعت حرب رتبة الباشوية]] # [[الكافية الشافية (ابن مالك)]] # [[المدخل إلى علم العدد]] # [[المقتبس من أنباء الأندلس]] # [[المنتخب في جمع المراثي والخطب]] # [[الميثاق القومي الفلسطيني]] # [[النور الأسنى فى شرح أسماء الله الحسنى]] # [[بحر بلا ساحل : ابن عربي والكتاب والشرع]] # [[بروتفانجليون يعقوب]] # [[بشارة المصطفى لشيعة المرتضى]] # [[تاج العروس - المطبعة الخيرية]] # [[تحفة الحكام في نكت العقود والأحكام]] # [[تنبئة الغبي بتبرئة ابن عربي للإمام الحافظ جلال الدين السيوط]] # [[تيسير الكريم الرحمن في تفسير كلام المنان تفسير السعدي]] # [[حاشية ابن القيم]] # [[دستور ليبيا بعد تعديلات 1963]] # [[رد أهل الشام على رسالة هولاكو]] # [[رسالة إلى أهل روما]] # [[سلك الدرر في أعيان القرن الثاني عشر]] # [[شرائع الإسلام]] # [[شعراء عين افقه]] # [[طفولة ديناصور]] # [[عدة الصابرين]] # [[عمرو بن العاص]] # [[قالت ظلوم سمية الظلم:]] # [[قانون الأسلحة والذخائر (eg)]] # [[قانون التصالح]] # [[قانون الدفاع الاردني رقم 13 لعام 1992]] # [[قانون الشركات S4]] # [[قانون الغش والتدليس (eg)]] # [[قانون رقم 121 لسنة 1983 بإصدار قانون في شأن المرشدين السياحيين ونقابتهم]] # [[قرار بقانون رقم (10) لسنة 2018م بشأن الجرائم الإلكترونية (السلطة الفلسطينية)]] # [[قصائد المرداسي بالملك عبدالعزيز وبالملك سعود وبالأمير عبدالعزيز بن مساعد]] # [[قصيده في مدح الرسول صلى الله عليه وسلم للشاعر النابغه الجعدي رضي الله عنه]] # [[كتاب إيضاح الدليل]] # [[كتاب اعتقاد أهل السنة]] # [[كتاب اعتقاد الإمام ابن حنبل]] # [[كتاب افتراق الأمة]] # [[كتاب الأربعين في دلائل التوحيد]] # [[كتاب الإيمان لابن منده]] # [[كتاب التحفة المدنية]] # [[كتاب الجديد الدين الصف السادس]] # [[كتاب الحوض والكوثر]] # [[كتاب الذيل على الحوض والكوثر]] # [[كتاب الوابل الصيب]] # [[كتاب تبيين كذب المفتري]] # [[كتاب تحفة الصديق]] # [[كتاب تحفة المودود]] # [[كتاب جلاء الأفهام]] # [[كتاب روضة المحبين]] # [[كتاب شرح قصيدة ابن القيم]] # [[كتاب شرح قصيدة ابن القيم 2]] # [[كتاب صيغ الحمد]] # [[كتاب فتاوى إمام المفتين]] # [[كتاب منتقي الفوائد في العلم الشرعي]] # [[كتاب نقد المنقول]] # [[لائحة الحج (عام 1944)]] # [[لسان العرب - المطبعة الميرية]] # [[محاضرة معمر القذافي في طلبة جامعة أوكسفورد البريطانية حول إفريقيا في القرن الحادي والعشرين]] # [[محاضرة معمر القذافي في طلبة وأساتذة جامعة كامبريدج]] # [[محمد]] # [[مداس أبي القاسم الطنبوري]] # [[مشروع معاهدة الوفد المصري 17 يوليو]] # [[مصرع كليوباترا]] # [[مع حمار الحكيم - لأحمد رضا حوحو]] # [[معاني وغريب القرآن]] # [[معجم العين]] # [[مقدمة وصايا الملوك]] # [[نزهة الأسماع في مسألة السماع]] # [[نصوص قانون العقوبات (eg)]] # [[وب:تام]] # [[يا ابن الشريد وخير قيس كلها]] # [[يا عين جودي بالدموع-ب-]] # [[يا عين جودي بدمع منك مسكوب]] # [[يا عين ما لك لا تبكين تسكابا؟]] # [[يا عَينِ جودي بدَمْعٍ منكِ مِدرارِ]] [[تصنيف:صيانة ويكي مصدر]] ff7a7eedt901na2ufytch6rk9244fls صفحة:الأدب الصغير لابن المقفع.pdf/32 104 303488 617413 607817 2026-08-13T22:34:37Z JazarF 71952 617413 proofread-page text/x-wiki <noinclude><pagequality level="3" user="JazarF" />{{وسط|—١٠—}} {{rule}}</noinclude>وأَمَّا ٱعْتِقَادُ الشَّيْءِ بَعْدَ ٱسْتِبَانَتِهِ، فَهُوَ مَا يُطْلَبُ مِنْ إِحرَازِ الْفَضْلِ بَعْدَ مَعْرِفَتِهِ. وأَمَّا الْحِفْظُ والتَّعَهُّدُ، فَهُوَ تَمَامُ الدَّرْكِ. لِأَنَّ الإِنْسانَ مُوَكَّلٌ بِهِ النِّسْيانُ وَالْغَفْلةُ. فَلَا بُدَّ لَهُ، إِذَا ٱجْتَبَى صَوَابَ قَوْلٍ أَوْ فِعْلٍ، مِنْ أَنْ يَحْفَظَهُ عَلَيْهِ ذِهْنُهُ لأَوَانِ حَاجَتِهِ. وأَمَّا الْبَصَرُ بِالْمَوْضِعِ، فإِنما تَصِيرُ الْمنَافِعُ كلُّها إِلى وَضْعِ الْأَشْيَاءِ مَوَاضِعَهَا. وَبِنَا إِلَى هَذا كُلِّهِ حَاجَة شَدِيدَةٌ. فإِنَّا لَمْ نوضَعْ في الدُّنْيَا مَوْضِعَ غِنًى وَخَفْضٍ، وَلَكِنْ بِمَوْضِعِ فَاقَةٍ وَكَدٍّ. وَلَسْنَا إِلى مَا يُمْسِكُ أَرْمَاقَنَا مِنَ الْمَأْكَلِ وَالْمَشْرَبِ بِاحْوَجَ مِنَّا إِلى مَا يُثبِّتُ عُقُولَنَا مِنَ الأَدَبِ الَّذِي بِهِ تَفَاوُتُ الْعُقُولِ. وَلَيْسَ غِذَاءُ الطعَامِ بِأَسْرَعَ<noinclude></noinclude> 1uh69aaetp1ldwht6aogwv15reupte4 617414 617413 2026-08-13T22:35:07Z JazarF 71952 617414 proofread-page text/x-wiki <noinclude><pagequality level="3" user="JazarF" />{{وسط|—١٠—}} {{rule}}</noinclude>وأَمَّا ٱعْتِقَادُ الشَّيْءِ بَعْدَ ٱسْتِبَانَتِهِ، فَهُوَ مَا يُطْلَبُ مِنْ إِحرَازِ الْفَضْلِ بَعْدَ مَعْرِفَتِهِ. وأَمَّا الْحِفْظُ والتَّعَهُّدُ، فَهُوَ تَمَامُ الدَّرْكِ. لِأَنَّ الإِنْسانَ مُوَكَّلٌ بِهِ النِّسْيانُ وَالْغَفْلةُ. فَلَا بُدَّ لَهُ، إِذَا ٱجْتَبَى صَوَابَ قَوْلٍ أَوْ فِعْلٍ، مِنْ أَنْ يَحْفَظَهُ عَلَيْهِ ذِهْنُهُ لأَوَانِ حَاجَتِهِ. وأَمَّا الْبَصَرُ بِالْمَوْضِعِ، فإِنما تَصِيرُ الْمنَافِعُ كلُّها إِلى وَضْعِ الْأَشْيَاءِ مَوَاضِعَهَا. وَبِنَا إِلَى هَذا كُلِّهِ حَاجَة شَدِيدَةٌ. فإِنَّا لَمْ نوضَعْ في الدُّنْيَا مَوْضِعَ غِنًى وَخَفْضٍ، وَلَكِنْ بِمَوْضِعِ فَاقَةٍ وَكَدٍّ. وَلَسْنَا إِلى مَا يُمْسِكُ أَرْمَاقَنَا مِنَ الْمَأْكَلِ وَالْمَشْرَبِ بِاحْوَجَ مِنَّا إِلى مَا يُثبِّتُ عُقُولَنَا مِنَ الأَدَبِ الَّذِي بِهِ تَفَاوُتُ الْعُقُولِ. وَلَيْسَ غِذَاءُ الطعَامِ بِأَسْرَعَ<noinclude></noinclude> 6f86mkppbiizwxpb7f41zsepbr2scoa صفحة:الأدب الصغير لابن المقفع.pdf/100 104 303601 617415 608056 2026-08-13T22:38:07Z JazarF 71952 617415 proofread-page text/x-wiki <noinclude><pagequality level="3" user="JazarF" />{{وسط|—٧٨—}} {{rule}}</noinclude>وإِنْ مَشَى فى جَدَدٍ. لأَنَّ هذا الإِنْسَان موَكَّلٌ بهِ الْبَلاءُ، فَلَا يزَالُ في تَصَرُّفٍ وفي تَقَلبٍ لَا يَدُومُ لَهُ شَيْءٌ ولا يَثْبُتُ مَعَهُ، كَمَا لاَ يَدُومُ لِطَالِعِ النُّجومِ طُلُوعُهُ ولَا لآفِلِها افُولُهُ. ولَكِنَّهَا في تَقَلُّب وتَعَاقُب: فَلا يَزَالُ الطالِعُ يَكُونُ آفِلًا، والآفِلُ طَالِعًا. {{rule|5em}} {{وسط|تمَّ والحمد للّٰه وحده وصلى الله على سيدنا}} {{وسط|محمد النبي وآله وصحبه وسلم}} {{وسط|تسليما. حسبنا اللّٰه}} {{وسط|ونعم الوكيل}} {{وسط|م&nbsp;م}} {{وسط|م}}<noinclude></noinclude> 2e7h3t4xg2j3kcwww6acizblkez6tfn صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/303 104 306393 617376 615314 2026-08-13T18:18:39Z RASHEEDYE 15342 ضبط وتنسيق 617376 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><nowiki/> ولعل هذا المعيار هو ما يصنعه العروضيون من مقابلة أجزاء البيت وتفعيلاته بالحركات والسواكن مثل: (||o|o مقابل فعولن ). <br/>١١ — الإفادة من المعيار السابق في معرفة ما أُشْكِلَ من الحروف{{حا|علم التعمية ٣١٦/٢.}} وذلك بعرضه على حروف التهجي: ا، ب، ت، ث ... حتى يمر الوزن الموافق للمراد فترسم تلك الكلمة به. وينبه ابن طباطبا هنا على أمر مهم وهو عدم صرف العناية والتدبير لبعض الحروف دون بعض؛ لأن ذلك يطيل العناء وينقض التدبير، فمعرفة حرف ما تؤدي إلى فتح غيره مما انغلق، وهو يستخدم مصطلحات طريفة مثل: ( فتح الحرف: استخراجه. وانغلق: استعصت معرفته أو استخراجه ). <br/>١٢ — الإفادة من النظام النحوي للعربية{{حا|علم التعمية ٣١٦/٢.}}، إذ هو يقتضي تتابعات معينة لا يحيد عنها مثل: <p>— ورود اسم موصول كـ (الذي) يقتضي صلة. <p>— الحروف المختصة بالأفعال لا تليها الأسماء. <p>— الحروف المختصة بالأسماء لا تليها الأفعال. <p>— ظروف الأزمنة والأمكنة تقتضي الأسماء المضافة إليها. <p>— معرفة مواضع كلٍّ من الاسم والفعل والحرف. <p>وهنا ينبه ابن طباطبا على أن اضطراب المعنى واللفظ، ومخالفة الكلام السهل المعتاد يؤدي إلى عسر الاستخراج{{حا|علم التعمية ٣١٧/٢.}}. <br/>١٣ — الإفادة مما « يُضْطَرُّ إليه الوزن من ترتيب الحروف مراتبها التي رسم بها »{{حا|علم التعمية ٣١٧/٢.}} وهو ما يسميه أئمة العربية للضرورات الشعرية. ويعرفون الضرورة بأنها اللجوء إلى الأخذ بوجه يمكن قبوله، ويعدُّون منها صرف ما لا ينصرف كقول الشاعر: {{أبيات|أَعددتُ للحرب التي أَعْنَى بها \\ قوافياً لم أَعي باجتلابها}} {{سطر|45%|align=right}}<noinclude>{{حواشي}} {{يسار|٣٠١}}</noinclude> ihhjm3c07dymu4t21sh6bkhiczctnxo صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/305 104 306397 617377 615319 2026-08-13T18:19:53Z RASHEEDYE 15342 ضبط وتنسيق 617377 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>{{ع3|٣ — من طرق التعمية بالتبديل البسيط}} <nowiki/> يشير ابن طباطبا إلى بعض طرق التعمية بعد أن أثبت أسماء طيور بعدد حروف اللغة، والحق أن كل ما أشار إليه من طرق لا يخرج عن نوع واحد، هو التبديل البسيط ، حيث تستبدل أسماء أو رموز معينة بالحروف ، بيد أننا يمكن أن نصنّف ما ذكره في زمر ثلاث{{حا|علم التعمية ٣١٨/٢ ــ ٣١٩.}}: <p>آ — استبدال أسماء أجناس معينة بالحروف: وقد ذكر من هذه الأجناس الطيور، والسباع، والوحوش، والناس، والطيب، والفاكهة، والرياحين، والآلات، والجواهر ... <p>ب — نظم الخرز: وهي التي ذكرها ابن دنينير فيما بعد ، وقد أشرنا إلى ذلك لدى تحليلنا كتابه{{حا|علم التعمية ١٨٦/٢ ــ ١٨٧.}}، لكن ذكر ابن طباطبا لها هنا يدلُّ على أنها كانت شائعة في المئة الرابعة للهجرة، أي قبل ابن دنينير بقرنين من الزمن . <p>ج — تصوير علامات مختلفة: أي اختراع أشكال ورموز تستبدل بالحروف، كتلك التي رأيناها في مثالي ابن الدريهم المعمَّيَيْن{{حا|علم التعمية ٣٥٣/١، ٣٦٠.}}. ويلاحظ أن ابن طباطبا لم يتطرق إلى أيٍّ من الطرق الكثيرة التي ذكرها الكندي — على تأخره عنه — وإنما اقتصر على هذا التبديل البسيط بأسهل أشكاله، مع وجود الفاصل. {{ع3|٤ — مثال على تعمية الشعر}} المثال الذي يذكره ابن طباطبا يتناول تعمية بيت امرئ القيس المشهور: {{أبيات|قفا نبكِ من ذكـرى حبيبٍ ومنزلِ \\ بسِقْطِ اللِّوى بين الدَّخُولِ فحَوْمَلِ}} {{سطر|45%|align=right}}<noinclude>{{حواشي}} {{يسار|٣٠٣}}</noinclude> gcygh5qd6zst5x2v8k4kwl3u3h97ajb صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/306 104 306399 617378 615323 2026-08-13T18:25:34Z RASHEEDYE 15342 617378 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>باستخدام طريقة التبديل البسيط، المشار إليها في الصفحة السابقة (الزمرة آ) وقد تمّ تبديل حروف البيت وفق الجدول التالي: <center> {| class="wikitable" style="text-align:center;" |- ! الحرف !! رمزه !! الحرف !! رمزه |- | ق || طاووس || ي || رخمة |- | ف || تدرج || ح || غراب |- | ا || باز || و || غداف |- | ن || شاهين || ز || دراج |- | ب || يؤيؤ || ل || طيهوج |- | ك || باشق || س || قُبَّجة |- | م || عقاب || ط || ورشان |- | ذ || صقر || د || حمامة |- | ر || نسر || خ || بطة |} </center> وتجدر الإشارة إلى أن ترتيب الطيور قد اضطرب في الأصل المخطوط للنص المعمى، وحقه أن يكون على النحو التالي: <center> {| style="text-align:center; line-height:2.5;" | طاووس || تدرج || باز || شاهين || باشق || يؤيؤ || عقاب || شاهين |- | صقر || يؤيؤ || نسر || رخمة || غراب || باشق || رخمة || باشق |- | غداف || عقاب || شاهين || دراج || طيهوج || باشق || قُبَّجة || طاووس |- | ورشان || باز || طيهوج || طيهوج || غداف || رخمة || باشق || رخمة |- | شاهين || باز || طيهوج || حمامة || بطة || غُداف || طيهوج || تدرج |- | غراب || غداف || عقاب || طيهوج . || || || || |} </center> ويلاحظ أن عدد هذه الأسماء يطابق عدد حروف البيت وهو أربعة وأربعون (٤٤).<noinclude>{{يمين|٣٠٤}}</noinclude> onxum2u7xmdy75y9iz318dbbjlgmgkn صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/330 104 306414 617379 615419 2026-08-13T18:29:49Z RASHEEDYE 15342 ضبط وتنسيق 617379 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude> ٤ — التنبيه على الحروف التي تقرأ ولا تكتب ( الألف في نحو إبراهيم وإسحق ). <br/>٥ — معرفة الأسماء الستة وما يطرأ على أواخرها من تغير تبعاً لإعرابها. <br/> ٦ — مراقبة الواو والياء في كل أحوالهما ( ساكنين، ومتحركين، ومشددين، وأطراف كلمات، وحروف روي ). <br/> ٧ — مراقبة الهمزات. <br/> ٨ — مراقبة سوابق الكلمات ( من حروف عطف وجر ). <br/> ٩ — مراقبة التاء والهاء ( في أواخر الكلمات نحو : قامت ورحمة وفعلته ). <br/> ١٠ — إنعام النظر في الحروف المكررة والمشددة ( من نحو: قلل وسَيِّد . <br/> ١١ — حدس الكلمات المحتملة واعتتمادها في كشف غيرها. <br/> ١٢ — العناية بأبنية الأسماء المعرفة بأل وأوزانها المختلفة. <br/> ١٣ — حالات خاصة ( في الكلمات ). <nowiki/> ولا حاجة بنا إلى الوقوف عند كُلّ من هذه الأمور فقد تقدم ذكر معظمها في كتاب ابن دنينير، وهي بينة واضحة في الرسالة المحققة بما أدخل عليها من تعليقات وتوضيحات. بيد أننا سنقف عند الأمر الثاني عشر لأهميته من ناحية، ولما فيه من زيادات على ما جاء به ابن دنينير من ناحية أخرى. <br /> * '''العناية بأبنية الأسماء المعرفة بأل وأوزانها المختلفة:''' ذكر المؤلف هنا طائفة من الكلمات المعرفة بـ«أل» تكرر فيها الألف أو اللام لمعمى منها {{خطأ| السطر الثاني ممسوح وغير واضح | الصواب | تعليق (اختياري)}} أجل ذلك أدرجنا فيما يلي مفهومها برؤوسها على نحو ما فعلنا في تحليلنا لكتاب ابن دنينير ، حيث رمزنا للحروف غير المستخرجة بالرموز W Z Y X{{حا|انظر ما تقدم في تحليل كتاب ابن دنينير ص ٢١٦ — ٢١٧.}}: <center> {| style="line-height:1.8;" | ال ل X || مثل الله، اللب، اللج، اللف، اللذ .. |- | ال ل X ل' || مثل الليل، .. |- | ال X ا || مثل الما(ء)، الدا(ء)، الها(ء)، .. |- | ال Y I X || مثل الدار، النار، الساق، العار، الباه، .. |- | ال X I X || مثل الباب، الواو، الشاش، إلمام، إلحاح، إلهاء، ألباب، .. |} </center> {{سطر|45%|align=right}}<noinclude>{{حواشي}} {{يمين|٣٢٨}}</noinclude> nql4emu6bncm18z9rezv914ri5nb4at قالب:رسالة استدعاء من لوا فقط 10 306426 617370 615228 2026-08-13T16:27:08Z حبيشان 52457 تصنيف 617370 wikitext text/x-wiki {{صندوق رسالة أخرى|النص=هذه الوحدة تستدعى من لوا فقط وغير قابلة للاستدعاء في القوالب والصفحات|النوع=محتوى|الصورة= [[ملف:Lua-Logo-small.svg]]}}<includeonly>{{ملعب آخر|| [[تصنيف:وحدات لا تقبل الاستدعاء من القوالب]] }}</includeonly><noinclude> {{توثيق}} [[تصنيف:قوالب نطاق وحدة]] </noinclude> tkj33dzqd0t82jylqdxeboa39cu91wr صفحة:United Nations - Convention on the Elimination of All Forms of Discrimination against Women (1979).pdf/125 104 306519 617381 615865 2026-08-13T19:08:52Z ~2026-43953-13 72772 617381 proofread-page text/x-wiki <noinclude><pagequality level="1" user="~2026-31726-57" /></noinclude>أو تغيير جنسية الزوج أثناء الزواج، أن تتغير تلقائيا جنسية الزوجة، أو أن تصبح بلا جنسية أو أن تعرض عليها جنسية الزوج. ٢- تمنح الدول الأطراف المرأة حقا مساويا لحق الرجل فيما يتعلق بجنسية أطفالها. {{ع2|<u>الجزء الثالث</u>}} {{ع3|<u>المادة ١٠</u>}} تتخذ الدول الأطراف جميع التدابير المناسبة للقضاء على التمييز ضد المرأة لكي تكفل للمرأة حقوقا مساوية لحقوق الرجل في ميدان التعليم، وبوجه خاص لكي تكفل، على أساس تساوى الرجل والمرأة: (أ) نفس الظروف للتوجيه الوظيفي والمهني، والاستفادة من فرص الدراسة والحصول على الدرجات العلمية في المؤسسات التعليمية بجميع فئاتها في المناطق الريفية والحضرية على السواء؛ وتكون هذه المساواة مكفولة في المرحلة السابقة للالتحاق بالمدرسة وفي التعليم العام والتقني والمهني والتعليم التقني العالي، وكذلك في جميع أنواع التدريب المهني؛ (ب) توفّر نفس المناهج الدراسية، ونفس الامتحانات وهيئات تدريسية تتمتع بمؤهلات من نفس المستوى ومبان ومعدات مدرسية من نفس النوعية؛ (ج) القضاء على أى مفهوم نمطي عن دور الرجل ودور المرأة على جميع مستويات التعليم وفي جميع أشكاله عن طريق تشجيع التعليم المختلط وغيره من أنواع التعليم التي تساعد في تحقيق هذا الهدف، ولا سيما عن طريق تنقيح كتب الدراسة والبرامج المدرسية وتكييف أساليب التعليم؛ (د) نفس الفرص للاستفادة من المنح التعليمية وغيرها من المنح الدراسية؛ (هـ) نفس الفرص للالتحاق ببرامج التعليم المتواصل، بما في ذلك برامج تعليم الكبار ومحو الأمية الوظيفية، ولا سيما التي تهدف الى أن تضيق، في أقرب وقت ممكن، أى فجوة في التعليم قائمة بين الرجل والمرأة؛ {{أسفل}}<noinclude>{{وسط|-٦-}}</noinclude> fwq79hlu8hqxgb3snb07s59grgmlaqd صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/344 104 306553 617380 615900 2026-08-13T18:36:11Z RASHEEDYE 15342 ضبط وتنسيق 617380 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><nowiki/> / وإذا رأيتَ ألفاً بعدها لامانِ وحرفٌ ولامٌ أخرى فهي : الليلُ، فاحْدِسْ عليها، ثم {{حاشية من اليسار|'''[ ١٢٤/ب ]'''}} اقطعْ متحقِّقاً ، فَقَلَّما كانت غيرَ ذلك بل لا أَعْلَمُهُ، فتخرُجُ لكَ ، إذا خرجَ الليلُ، الياءُ مع الألفِ واللامِ ، فإن رأيتَ بعد هذا حرفينِ{{حا|المقصود بهذا الكلمات الثنائية ، لأنها أول ما يستخرج عادة، وقد ورد النص على هذا في غير ما موضع، انظر المقالة الأولى ١١١/أ.}} — وقد عرفتَ الياءَ— فاعْرِضْ على نفسِك حروفَ المعجمِ، وأَلْصِقْ بها منها حرفاً حرفاً إلى آخِرِها ، فإنها تخرُجُ، وإذا خرجَ بعضُ البيتِ سَهُلَ باقيِهِ. ومما يجبُ مراقبتُهُ والعنايةُ به في استخراجِ المُعَمَّى ، إذا عرفتَ اللامَ والألفَ وصحَّتا في نفسِكَ ، أن ترقبَ الأشياءَ التي أنا ذاكِرُها ، وهي : أنَّك ربَّما وجدتَّ ألفاً فاحْدُسْ أنَّها : المساءُ ، أو الداكُ ، أو الشاءُ ، أو الماءُ{{حا|كذا وردت هذه الكلمات في الأصل على طريقة المتقدمين الذين لا يرسمون الهمزة ، لأنها تسهل فتحذف تخفيفاً ، وهذا يوافق منهج أهل التعمية الذين يعنون بالرسم ، وقد تقدمت الإشارة إلى هذا غير مرة ، وانظر أحكام تسهيل الهمزة في المطالع النصرية ص ١١٢ — ١١٣ .}}. وما أشبه ذلك . وربما وقعَ بعدَ اللامِ حرفٌ ثم ألفٌ ثم حرفٌ واحدٌ ، وهذا في زِنَةِ الدَّارِ ، والنَّارِ ، والسَّاقِ ، والعَارِ ، والبَابِ . وما أشبه ذلك ، هذا مع اختلافٍ. / فأمَّا إذا اتَّفقَ الحرفان اللذان في منتصفِ الكلمةِ وفي آخِرِها ، فهي<sup>'''(⭑)'''</sup> مثلُ : البابِ ، {{حاشية من اليسار|'''[ ١٢٥/أ]'''}} والواوِ ، والشاشِ ، وإلمامٍ ، وإلحاحٍ ، والحاحٍ ، وألَبابٍ — جمع لُبّ — وما جرى هذا المجرى . فإن وجدتَّ بعد الألفِ واللامِ حرفينِ وألفاً وحرفاً بعد الألفِ فهو مثلُ : المَقَامِ ، والغَمَامِ ، والضِّرَابِ ، والصَّوَابِ ، والثَّوَابِ ، والعِقَابِ وما أشبه ذلك. وإنْ وَجَدْتَ بعْدَ الألفِ واللامِ حرفينِ وألفاً{{حا|في الأصل « ألفاً و بلا واو ».}} وبعدَها حرفينِ فهي مثلُ : المَقَانِبِ ، والمَنَاقِبِ ، والضَّرَاغِمِ ، والصَّوَارِمِ، والوَسَاوِسِ، والوَسَائِلِ وما أشبه ذلك. فإن كان بعد الألفِ واللامِ حرفٌ واحدٌ ثم ألفٌ وبعد الألفِ حرفانِ فهي مثلُ: الغَائِبِ، والغَارِبِ، والقَادِمِ، والرَّامِي ، والزَّاهِي ، والكَافِي ، والحَادِثِ ، والتَّائِبِ وما جرى / هذا المجرى. {{حاشية من اليسار|'''[ ١٢٥/ب]'''}} {{حا|يتبع=فَاصْطَيـدا|« تُرَبَّى زُبْيَةٌ » . والزُّبْيَةُ : حفرة يتربى فيها الرجل للصيد ، وتُحفر للذئب فيصطاد فيها » . انظر اللسان ( زبي ).}} {{سطر|45%|align=right}} {{سطر|45%|align=right}}<noinclude>{{حواشي}} '''(⭑)''' في الأصل: «وهي». {{يمين|٣٤٢}}</noinclude> cmmvx27mspqodahz6lax12n8wzl3t01 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/372 104 306722 617359 616850 2026-08-13T13:54:14Z RASHEEDYE 15342 /* صُححّت */ 617359 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><nowiki/> ١ — الطريقة: وتكون بـ: <br/>آ — حسابِ عددِ المزدوجاتِ أو الثلاثياتِ. <br/>ب — إلغاءِ المهملِ ممَّا خرجَ من تلكَ المزدوجاتِ أو الثلاثياتِ، وذلكَ لعدمِ استعماله في كلامِ العرب. <br/>ج — النظرِ في الأَلْيَقِ بما بقِيَ ممَّا يفيدُ الموضوعَ الذي هو فيه، والمُرَادِ بِهِ ما يناسب موضوع نصِّ التعميةِ المُسْتَخْرَجِ. ٢ — الأمثلة: وقد ذكر الجرهمي في شرح ذلكَ أربعة أمثلة، هي: — المثال الأول: « مثل أن يبقى من حروفِ المعجمِ بعدَ ما ظهرَ منها: الخاءُ، والذالُ، والزايُ، والصادُ »{{حا|رسالة الجرهمي، علم التعمية ٣٨٧/٢ .}}. ومعناه أنك استخرجتَ جميعَ الحروفِ ما خلا هذهِ الأربعةَ ، وعندَك كلمةٌ ثنائيةٌ تريدُ أن تعرفَ ما يمكنُ أن تكونَ ، فتحسبُ عددَ هذه المزدوجاتِ الممكنة، وهي: P<small>4</small>²=4 × 3=12 وبتفصيلِها كما تقدم تخرج المزدوجات التالية: خذ، خز، خص، ذخ، ذز، ذص، زخ، زذ، زص، ص خ، ص ذ، ص ز. ثم تدغِي المهملَ منها ، فتبقى لديكَ الكلماتُ المفيدة نحو: خذ، خز، خص ... ثم تنظرُ ما الأَلْيَقُ ممَّا بَقِيَ من هذه المزدوجاتِ ممَّا يناسب الموضوعَ أو المقام. — المثال الثاني: « واعلمْ أنه قد نقِفُ على أكثرِ حروفِ الكلمةِ عدا حرفٍ واحدٍ ، فإذا كانَ كذلكَ ، فاعْزِلْ من حروفِ المعجمِ ما عرفتَه في الكلمةِ وغيرها ، واعْرِضْ بقيتَها واحداً واحداً ، فتخرُج لكَ كلمةٌ أو كلماتٌ مستعملاتٌ ، فالأَلْيَقُ بالموضوعِ منها المطلوبُ »{{حا|{{خطأ| الحاشية ممسوحة| الصواب | تعليق (اختياري)}}}} وذكرَ الجرهمي مثالاً على هذهِ الحالةِ ، وهو كلمة ( مَرْهَف ) التي عرفتَ حروفَها الثلاثةَ الأولى ، وبقيَ رابعُها ( مـ ر هـ x ) ، وكان ما لم تعرفه من حروفِ المعجمِ : ف ، ج ، ب ، ذ ، ظ ، ع ، ض . « فأنتَ متى عرضتَ على موضعِ الفاءِ هذهِ الحروفَ الباقيةَ لم تَخْرُجِ الكلمةُ عن أن تكون إما ( مرهف ) وإما ( مرهج ) فاعتبرْ أَلْيَقَ الاثنينِ بالموضعِ من طريقِ المعنى ، واقطعْ عليهِ »{{حا|{{خطأ| الحاشية ممسوحة| الصواب | تعليق (اختياري)}}}}<noinclude>{{سطر|45%|align=right}} {{حواشي}} {{يمين|٣٧٠}}</noinclude> 1ja8pvxiw5gcic3nknepshcu8czub3n صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/367 104 306906 617357 616598 2026-08-13T13:50:02Z RASHEEDYE 15342 /* صُححّت */ 617357 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><center> {| class="wikitable" style="text-align: right; background-color: transparent; border: none;" |- style="font-weight: bold; text-align: center;" | الثنائية || الحال/الصيغة || المثال |- | هم || — ضمير الجمع الغائب المتصل بالأفعال<br />— ضمير الجمع الغائب المتصل بالأسماء<br />— ضمير الجمع الغائب المتصل بالحروف || حَفِظَهُم ، يَحْفَظُهُم ، احْفَظْهُم<br />دارهم ، سيوفهم .<br />بهم ، عليهم ، إليهم ، إنَّ—هم |- | وا || — الماضي المسند إلى ضمير الجمع المذكر<br />— المضارع المسند إلى ضمير الجمع المذكر : منصوباً ومجزوماً<br />— الأمر المسند إلى ضمير الجمع المذكر || كتبوا ، وعَدوا ، غزوا ، مشوا<br />لن يستخرجوا ، لم يتـرجموا<br />استخرجوا ، عُدّوا ، عُمّوا |- | ين || — جمع المذكر السالم منصوباً ومجروراً<br />— المثنى منصوباً ومجروراً<br />— المضارع المسند إلى المفردة المخاطبة<br />— الملحق بجمع المذكر السالم منصوباً ومجروراً || شكرت الفائزين / الناجحين<br />احتوى الفصلين ، على الفصلين<br />تدرسين.<br />بنين، عشرين — تسعين |- | ون || — جمع المذكر السالم مرفوعاً<br />— المضارع المرفوع مسنداً إلى الجمع الغائب والمخاطب<br />— الملحق بجمع المذكر السالم مرفوعاً || كاتبون .<br />يترجمون، تستخرجون<br />بـنون ، عشرون — تسـعون |- | ان || — المثنى مرفوعاً || قلمان. |- | ات || — جمع المؤنث السالم || هندات، مسلمات، أدوات، رحمات .. |- | هما || — ضمير التثنية الغائب مع الأفعال<br />— ضمير التثنية الغائب مع الأسماء<br />— ضمير التثنية الغائب مع الحروف || ضربهما ، يعطيهما ، انصحهما ..<br />بيتهما ، أقلامهما ، فوقهما ..<br />بهما ، لهما ، عليهما ، إنهما ، ليتهما . |- | هنَّ || — ضمير الغيبة لجمع النسوة مع الأفعال<br />— ضمير الغيبة لجمع النسوة مع الأسماء<br />— ضمير الغيبة لجمع النسوة مع الحروف || عرَفَهُنَّ ، يعلمهنَّ ، احفظهنَّ .<br />كتابهنَّ ، دروسهنَّ ، فتياتهنَّ ..<br />عليهنَّ ، كأنهنَّ ، منهنَّ .. |} </center> ومثلما قال الجرهمي: « فإن تكرار هذه الحروف متتاليةً في آخر الكلم يدل عليها، كما يدل تكرار الألف واللام متتاليين عليها ، فهذا النوع في أواخر الكلم يجري مجرى الألف واللام في أولها »{{حا|رسالة الجرهمي، علم التعمية ٣٨٥/٢.}}.<noinclude>{{سطر|45%|align=right}} {{حواشي}} {{يسار|٣٦٥}}</noinclude> 9bweuutyhhf9omlbe2afow4bxneoxz4 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/371 104 306910 617358 616851 2026-08-13T13:52:01Z RASHEEDYE 15342 /* صُححّت */ 617358 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude>«ثم نثبت كل واحدة من هذه الكلمات الست عشرة أربع دفعات ، ونثبت بإزاء كل واحدة من الأربعة واحداً من حروف الكلمة، فتصير على هذه الصورة ..»{{حا|المصدر السابق ٣٨٦/٢.}} وستعرض فيما يأتي الثلاثيات الناتجة موَزَّعَةً على الدفعات الأربعة والحرف الذي يكون بإزاء كل منها: <center> {| class="wikitable" style="text-align: center; background-color: transparent; border: none;" |- | style="font-weight: ;" | الدفعة الأولى<br />بإزاء حرف الجيم || ج ج ج<br />ج ع ج<br />ج ف ج<br />ج ر ج || ج ج ع<br />ج ع ع<br />ج ف ع<br />ج ر ع || ج ج ف<br />ج ع ف<br />ج ف ف<br />ج ر ف || ج ج ر<br />ج ع ر<br />ج ف ر<br />ج ر ر |- | style="font-weight: ;" | الدفعة الثانية<br />بإزاء حرف العين || ع ج ج<br />ع ع ج<br />ع ف ج<br />ع ر ج || ع ج ع<br />ع ع ع<br />ع ف ع<br />ع ر ع || ع ج ف<br />ع ع ف<br />ع ف ف<br />ع ر ف || ع ج ر<br />ع ع ر<br />ع ف ر<br />ع ر ر |- | style="font-weight: ;" | الدفعة الثالثة<br />بإزاء حرف الفاء || ف ج ج<br />ف ع ج<br />ف ف ج<br />ف ر ج || ف ج ع<br />ف ع ع<br />ف ف ع<br />ف ر ع || ف ج ف<br />ف ع ف<br />ف ف ف<br />ف ر ف || ف ج ر<br />ف ع ر<br />ف ف ر<br />ف ر ر |- | style="font-weight: ;" | الدفعة الرابعة<br />بإزاء حرف الراء || ر ج ج<br />ر ع ج<br />ر ف ج<br />ر ر ج || ر ج ع<br />ر ع ع<br />ر ف ع<br />ر ر ع || ر ج ف<br />ر ع ف<br />ر ف ف<br />ر ر ف || ر ج ر<br />ر ع ر<br />ر ف ر<br />ر ر ر |} </center> <br /> '''خامساً: حالات استعمال المزدوجات والثلاثيات:''' بعد أن انتهى الجرهمي من الكلام على حساب المزدوجات والثلاثيات وتفصيلهما ، وبعد أن صَدَّر حديثه عنهما ببيان وجه الفائدة من المعرفة باستخراجهما وهو الإعانة على استنباط الحروف ، شرع بعد كل ذلك بإعطاء الأمثلة والحالات التي توضح كيفية الاستفادة منها في استخراج المعمى . قال : « وإذ قد بان لك كيف تستخرج المزدوجات والثلاثيات فإنا نقول: ... » وسنذكر فيما يأتي الحالات المشار إليها كما أوردها الجرهمي : <br /><br /><noinclude> {{سطر|45%|align=right}} {{حواشي}} {{يسار|٣٦٩}}</noinclude> kprsxid8dt8qbqomjdi6vp8rdx68ueg مؤلف:محمود بورقيبة 102 307086 617418 617180 2026-08-14T06:43:10Z TOUMOU 16960 /* أعمال */ 617418 wikitext text/x-wiki {{مؤلف}} ==أعمال== * [[بعد الموت]] * [[لا هذا... ولا ذاك]] * [[من الجاني]] * [[الضاحك الباكي]] * [[ذكراك]] * [[الوقت]] * [[الأصدقاء]] * [[على الحالين]] * [[شكوك وأوهام]] * [[رداء الحسن]] * [[نار تحت الرماد]] * [[شر الأعـداء]] * [[اضحك إلى الدنيا]] * [[العطف المغـذي]] * [[مراثي الأعوام]] * [[الدنيا الخادعة]] * [[من غربل الناس نخلوه]] * [[الدموع الحائرة]] * [[الذكريات]] * [[الأماني الخادعة]] * [[الذكرى (محمود بورقيبة)|الذكرى]] * [[القلب المضرج]] * [[البشرية المخدوعة]] * [[في سباق الحب]] * [[عندما يتجهم وجه الدهر]] * [[الدنيا الخادعة (محمود بورقيبة)|الدنيا الخادعة]] * [[الأخلاق]] *[[المرأة]] {{ملكية عامة - تونس}} {{ضبط استنادي}} [[تصنيف:شعر حديث]] [[تصنيف:شعراء تونسيون]] i7xzfugh8n6fvro5f5n5sijj5w7w6i9 617421 617418 2026-08-14T07:02:08Z TOUMOU 16960 617421 wikitext text/x-wiki {{مؤلف}} ==أعمال== * [[بعد الموت]] * [[لا هذا... ولا ذاك]] * [[من الجاني]] * [[الضاحك الباكي]] * [[ذكراك]] * [[الوقت]] * [[الأصدقاء]] * [[على الحالين]] * [[شكوك وأوهام]] * [[رداء الحسن]] * [[نار تحت الرماد]] * [[شر الأعـداء]] * [[اضحك إلى الدنيا]] * [[العطف المغـذي]] * [[مراثي الأعوام]] * [[الدنيا الخادعة]] * [[من غربل الناس نخلوه]] * [[الدموع الحائرة]] * [[الذكريات]] * [[الأماني الخادعة]] * [[الذكرى (محمود بورقيبة)|الذكرى]] * [[القلب المضرج]] * [[البشرية المخدوعة]] * [[في سباق الحب]] * [[عندما يتجهم وجه الدهر]] * [[الدنيا الخادعة (محمود بورقيبة)|الدنيا الخادعة]] * [[الأخلاق]] * [[المرأة]] * [[فلسطين (محمود بورقيبة)|فلسطين]] * [[دموع الشاعر]] {{ملكية عامة - تونس}} {{ضبط استنادي}} [[تصنيف:شعر حديث]] [[تصنيف:شعراء تونسيون]] m84ymc25ba5nzphcom5pcdbz8vjtx0e وحدة:مؤلف/ملعب 828 307131 617387 617336 2026-08-13T19:39:42Z حبيشان 52457 تحسين 617387 Scribunto text/plain -- من [[:fr:]] local hijricore = require("Module:Hijri/core") local match = mw.ustring.match 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=]]&nbsp;&nbsp;') 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 match(date, "^(%d+)%s?(ق? ?هـ?)$")) then if args[field] then if (hijri and 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 = 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 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 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 = 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; if mw.wikibase.getEntityIdForCurrentPage() == nil then add_category(html, 'صفحات مؤلفين دون عنصر ويكي بيانات') else item = require('Module:WdItem').newItem(mw.wikibase.getEntityIdForCurrentPage(), {langs = {'ar'}}) if args['الاسم'] == nil then args['الاسم'] = item:getLabel() else add_category(html, 'صفحات تستخدم قالب مؤلف مع اسم محلي') end if args['وصف'] ~= nil then add_category(html, 'صفحات تستخدم قالب مؤلف مع وصف محلي') else args['وصف'] = item:getDescription() end if args['صورة'] == nil then args['صورة'] = item:getRawValue({'P154','P18', 'P6802'})[1] -- logo 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('&nbsp;[[ويكي مصدر:مؤلفون-' .. args['فهرس'] .. '|مؤلفون&nbsp;' .. 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['الاسم']) .. ' ويكي بيانات</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 } 8al7iq40slb64js3rx4nu81jw4o8che التهذيب في أصول التعريب/باب في اللغات السامية الجنوبية 0 307148 617382 617302 2026-08-13T19:27:05Z Nehaoua 7481 استرجع تعديلات [[Special:Contributions/JazarF|JazarF]] ([[User talk:JazarF|نقاش]]) حتى آخر مراجعة ل[[User:Nehaoua|Nehaoua]] 617286 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=78 fromsection=2 to=80 tosection=1 header=1 /> ---- {{حواشي}} qslp2x4z74pu1ni7qjjcnczb8cg9c6j صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/403 104 307150 617344 617311 2026-08-13T12:55:01Z RASHEEDYE 15342 /* صُححّت */ 617344 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/>— '''القاموس المحيط'''، مجد الدين محمد بن يعقوب الفيروزآبادي (٨١٦هـ)، مؤسسة الرسالة، بيروت، ط١، ١٣٠٦هـ — ١٩٨٦م.<noinclude>{{يسار|٤٠١}}</noinclude> m4p7ossvj5dwgjiolb7x6uuwzuu6hvc 617345 617344 2026-08-13T12:55:25Z RASHEEDYE 15342 617345 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/>— '''القاموس المحيط'''، مجد الدين محمد بن يعقوب الفيروزآبادي (٨١٦هـ)، مؤسسة الرسالة، بيروت، ط١، ١٣٠٦هـ — ١٩٨٦م. {{يسار|٤٠١}}<noinclude></noinclude> gix7ljqzosxcvcvymbhkf9bxyqezk6i صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/404 104 307151 617346 617312 2026-08-13T13:06:42Z RASHEEDYE 15342 /* صُححّت */ 617346 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/>— '''المصباح في علم المفتاح'''، عز الدين إيدمر الجلدكي، الجابري بومبي، ١٣٠٢هـ. <br/>— '''المطالع النصرية'''، لأبي الوفاء نصر الهوريني. {{يمين|٤٠٢}}<noinclude></noinclude> 1jmkpw4mn0t6epesstjs02e1aq50qp1 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/412 104 307152 617352 617313 2026-08-13T13:32:12Z RASHEEDYE 15342 617352 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} <br/>استنباط المركب {{ربط بصفحة|239|16|٢٣٩}}{{سج}} الاستيثاق من التاريخ {{ربط بصفحة|52|16|٥٢}}{{سج}} أسماء الأجناس {{ربط بصفحة|138|16|١٣٨}}، {{ربط بصفحة|172|16|١٧٢}}، {{ربط بصفحة|173|16|١٧٣}}{{سج}} الإشارة {{ربط بصفحة|89|16|٨٩}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|108|16|١٠٨}}{{سج}} أشكال أغفال {{ربط بصفحة|56|16|٥٦}}، {{ربط بصفحة|165|16|١٦٥}}، {{ربط بصفحة|249|16|٢٤٩}}، {{ربط بصفحة|268|16|٢٦٨}}{{سج}} الأشكال الأكثر دوراناً {{ربط بصفحة|223|16|٢٢٣}}{{سج}} الأشكال المخترعة {{ربط بصفحة|93|16|٩٣}}{{سج}} الأشكال المعلومة {{ربط بصفحة|76|16|٧٦}}{{سج}} الأشكال المعماة من كل جهة {{ربط بصفحة|82|16|٨٢}}{{سج}} أشكال النص المعمى {{ربط بصفحة|298|16|٢٩٨}}{{سج}} أطوال الكلمات {{ربط بصفحة|94|16|٩٤}}، {{ربط بصفحة|100|16|١٠٠}}، {{ربط بصفحة|157|16|١٥٧}}{{سج}} أطول الأبيات {{ربط بصفحة|280|16|٢٨٠}}{{سج}} الإعاضة {{ربط بصفحة|228|16|٢٢٨}}{{سج}} الإعاضة البسيطة {{ربط بصفحة|157|16|١٥٧}}، {{ربط بصفحة|162|16|١٦٢}}، {{ربط بصفحة|164|16|١٦٤}}، {{ربط بصفحة|166|16|١٦٦}}، {{ربط بصفحة|178|16|١٧٨}}، {{ربط بصفحة|181|16|١٨١}}، {{ربط بصفحة|185|16|١٨٥}}، {{ربط بصفحة|210|16|٢١٠}}{{سج}} الإعاضة البسيطة الأحادية الألفبائية {{ربط بصفحة|141|16|١٤١}}{{سج}} أعداد الجمل {{ربط بصفحة|176|16|١٧٦}}، {{ربط بصفحة|260|16|٢٦٠}}{{سج}} الأعمدة {{ربط بصفحة|79|16|٧٩}}{{سج}} الإعنات {{ربط بصفحة|78|16|٧٨}}، {{ربط بصفحة|288|16|٢٨٨}}{{سج}} الأغفال {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|112|16|١١٢}}، {{ربط بصفحة|164|16|١٦٤}}{{سج}} الاقتران {{ربط بصفحة|96|16|٩٦}}{{سج}} أقسام التعمية وضروبها {{ربط بصفحة|130|16|١٣٠}}، {{ربط بصفحة|137|16|١٣٧}}{{سج}} أقسام المركب {{ربط بصفحة|169|16|١٦٩}}{{سج}} الأقلام القديمة {{ربط بصفحة|391|16|٣٩١}}{{سج}} أقوى الأسباب في استخراج المعمى {{ربط بصفحة|317|16|٣١٧}}{{سج}} أكثر الحروف العربية دوراناً واقتراناً وائتلافاً {{ربط بصفحة|208|16|٢٠٨}}{{سج}} أكثر الحروف تردداً {{ربط بصفحة|211|16|٢١١}}{{سج}} أكثر الحروف في كل لسان {{ربط بصفحة|235|16|٢٣٥}}{{سج}} أكثر الحروف وقوعاً {{ربط بصفحة|240|16|٢٤٠}}، {{ربط بصفحة|384|16|٣٨٤}} {{فاصل أعمدة متعددة|خط1=1px solid black}} <br/>أكثر حرف في الكلام العربي {{ربط بصفحة|239|16|٢٣٩}}{{سج}} أكثر ما يتكرر في الكلام {{ربط بصفحة|313|16|٣١٣}}{{سج}} أكثر ما يكون من الحروف {{ربط بصفحة|314|16|٣١٤}}{{سج}} إلغاء الأشكال {{ربط بصفحة|249|16|٢٤٩}}{{سج}} إلغاء النقط أو الإعجام {{ربط بصفحة|96|16|٩٦}}{{سج}} الألف الفارقة {{ربط بصفحة|212|16|٢١٢}}{{سج}} الألفات التي تسقط في الخط {{ربط بصفحة|275|16|٢٧٥}}، {{ربط بصفحة|339|16|٣٣٩}}{{سج}} انغلاق الحرف {{ربط بصفحة|301|16|٣٠١}}{{سج}} انغلاق {{ربط بصفحة|302|16|٣٠٢}}{{سج}} انفصال الكلمة {{ربط بصفحة|48|16|٤٨}}{{سج}} انفصال الكلمة من الكلمة {{ربط بصفحة|336|16|٣٣٦}}{{سج}} أنواع التعمية العظام {{ربط بصفحة|137|16|١٣٧}}{{سج}} إعمال الحروف المعجمة {{ربط بصفحة|219|16|٢١٩}}{{سج}} إهمال النقط {{ربط بصفحة|93|16|٩٣}}{{سج}} الأرتاد {{ربط بصفحة|199|16|١٩٩}}{{سج}} الأوتاد من الحروف {{ربط بصفحة|267|16|٢٦٧}}{{سج}} الأوزان الطويلة {{ربط بصفحة|300|16|٣٠٠}}{{سج}} إيهام المستخرج {{ربط بصفحة|79|16|٧٩}} <br /> {{وسط|( ب )}} <br />البحث عن الحروف الكثيرة الدوران {{ربط بصفحة|53|16|٥٣}}{{سج}} بدائل الرموز {{ربط بصفحة|101|16|١٠١}}{{سج}} البصر بالكتابة {{ربط بصفحة|208|16|٢٠٨}}، {{ربط بصفحة|267|16|٢٦٧}}{{سج}} البصير بالكتابة {{ربط بصفحة|271|16|٢٧١}}، {{ربط بصفحة|337|16|٣٣٧}}، {{ربط بصفحة|338|16|٣٣٨}}{{سج}} بنية الكلمة {{ربط بصفحة|217|16|٢١٧}}{{سج}} البيت الطويل {{ربط بصفحة|331|16|٣٣١}}{{سج}} البيت القصير {{ربط بصفحة|331|16|٣٣١}}{{سج}} البيت المعمى {{ربط بصفحة|279|16|٢٧٩}} {{نهاية أعمدة متعددة}}<noinclude>{{يمين|٤١٠}}</noinclude> fk761z0yimqm6rer54zxwupviaxeaj9 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/405 104 307153 617349 617314 2026-08-13T13:11:10Z RASHEEDYE 15342 /* صُححّت */ 617349 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> n5c9ggcodcm2r0f3rye87skqi01vumb صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/406 104 307154 617348 617315 2026-08-13T13:09:21Z RASHEEDYE 15342 /* صُححّت */ 617348 proofread-page text/x-wiki <noinclude><pagequality level="3" user="RASHEEDYE" /></noinclude><br/>— '''الوافي بالوفيات'''، صلاح الدين خليل بن أيبك الصفدي ( ٧٦٤ هـ )، باعتناء طائفة من أهل العلم، دار فرانز شتاينر بفيسبادن، ألمانية، ١٩٤٩ م — ١٩٨٠ م. <br/>— '''الوافي في العروض والقوافي'''، الخطيب التبريزي ( ٥٠٢ هـ )، تحـ عمر يحيى — د. فخر الدين قباوة، المكتبة العربية بحلب، ط١، ١٣٩٠ هـ — ١٩٧٠ م، ط٤، ١٤٠٧ هـ — ١٩٨٦ م. <br/>— '''الوجيز في أصول استنباط الأحكام في الشريعة الإسلامية'''، د. عبد اللطيف فرفور، دار الإمام الأوزاعي، دمشق، ١٤٠٥ هـ — ١٩٨٥ م. <br/>— '''وفيات الأعيان'''، ابن خلكان ( ٦٨١ هـ )، تحـ د. إحسان عباس، دار صادر، بيروت، ١٣٩٨ هـ — ١٩٧٨ م. <br/>— '''يتيمة الدهر في محاسن أهل العصر'''، للثعالبي ( ٤٣٠ هـ )، محمد محيي الدين عبد الحميد، مطبعة السعادة مصر، ١٣٧٢ هـ. <br /> {{ع3|ب — الكتب المخطوطة}} <br /> <br/>— '''جهود المالقي الصوتية في كتابه الدر النثير''' — دراسة وتحقيق محمد حسان الطيان، إشراف د. شاكر الفحام، « رسالة جامعية أعدت لنيل درجة الدكتوراه في الآداب » جامعة دمشق ١٤١٤ هـ — ١٩٩٤ م. <br/>— '''دراسة إحصائية لدوران الحروف العربية المشكولة'''، مروان البواب، مركز الدراسات والبحوث العلمية، دمشق ١٩٨٥ م. <br/>— '''شوق المستهام في معرفة رموز الأقلام'''، لابن وحشية، مصورة عن نسخة مكتبة باريس الوطنية، رقم ٦٨٠٥. <br/>— '''المعجم العربي دراسة إحصائية صوتية مخبرية'''، محمد حسان الطيان، رسالة ماجستير، جامعة دمشق — ١٩٨٤ م. <br/>— '''المعجم العربي دراسة إحصائية لدوران الحروف في الجذور العربية'''، يحيى مير علم، رسالة ماجستير، جامعة دمشق، ١٩٨٣ م. <br /><br /><br /><br /> {{يمين|٤٠٤}}<noinclude></noinclude> jme8wpl4pell8vsd7c8t5tcm0o4vq51 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/407 104 307155 617347 617316 2026-08-13T13:09:12Z RASHEEDYE 15342 617347 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|ج ــ المقالات والبحوث}} <br /> <br/>— '''رسالة في استخراج المعمى'''، لأبي الحسن محمد بن طباطبا ، تح د . محمد بن عبد الرحمن المذلق ، مجلة معهد المخطوطات ، مج٣٢ ، ١٤٠٨ هـ ــ ١٩٨٨ م . <br/>— '''رسالة يعقوب الكندي في اللغة'''، تح محمد حسان الطيان ، مجلة مجمع اللغة العربية بدمشق ، مج٦٠/ ج٣ ــ د ، ١٤٠٥ هـ ــ ١٩٨٥ م . <br/>— '''قاعدة معطيات للجذور العربية'''، محمد حسان الطيان ويحيى مير علم ، بحث قدم في المؤتمر الثاني حول اللغويات الحسابية ــ الكويت ، ١٩٨٩ م . <br/>— '''المالقي الأندلسي وجهوده في علم الأصوات'''، محمد حسان الطيان ود . محمد مراياتي ، بحث قدم في الندوة العالمية الخامسة لتاريخ العلوم عند العرب ــ غرناطة ١٩٩٢ م . <br/>— '''معالجة الكلام ــ تطبيق على اللغة العربية'''، د . محمد مراياتي ، بحث قدم في ندوة استخدام اللغة العربية في الحاسب الآلي ، الكويت ، ١٩٨٥ م . <br/>— '''المعجم الحاسوبي في نظام خبير للغة العربية'''، د . محمد مراياتي ، مروان البواب ، يحيى مير علم ، محمد حسان الطيان ، بحث قدم في المؤتمر الأول حول الكتابة العلمية باللغة العربية ، بنغازي ــ ليبية ، ١٩٩٠ م . <br/>— '''النظام الصرفي النحوي للعربية بالحاسب'''، مروان البواب ويحيى مير علم ومحمد حسان الطيان بإشراف د . محمد مراياتي ، بحث قدم في المؤتمر الثاني حول اللغويات الحسابية ، الكويت ، ٢٦ ــ ٢٩ تشرين الثاني ١٩٨٩ م . {{يسار|٤٠٥}}<noinclude></noinclude> roqkhbltfe5ghtshiown9p739ctf066 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/409 104 307156 617353 617317 2026-08-13T13:33:16Z HubaishanBot 64056 استبدال الأرقام العربية المشرقية بالأرقام الفارسية 617353 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>الفهارس الفنية " - فهرس مصطلحات علم التعمية واستخراج العمى عند العرب ٢ فهرس مصطلحات التعمية الأجنبية - فهرس النصوص المعماة ٤- فهرس اللغات والأقلام واللهجات ه- فهرس الجداول والأشكال والمصورات ٦- فهرس مصطلحات علم اللغة والنحو والصوتيات فهرس العروض والقافية - فهرس المفردات اللغوية - فهرس العبارات والأقوال ١٠ - فهرس الآيات ١١ - فهرس الأشعار ١٢ - فهرس الأعلام ١٣ - فهرس الكتب والرسائل والمجلات ١٤ - فهرس المواضع والبلدان ١٥ - فهرس أسماء المكتبات ١٦ - فهرس الأقوام ١٧ - فهرس الموضوعات ٤٠٨-٤٢٢ ٤٢٣-٤٢٤ ٤٢٥ ٤٢٦ ٤٢٧-٤٢٩ ٤٣٤٤٣٠ ٤٣٥-٤٣٩ ٤٤٠-٤٤٣ ٤٤٣ ttt ٤٤٥-٤٤٩ ٤٥٣٠٠٤٥٠ ٤٥٤-٤٥٥ ٤٥٥ ٤٥٦ * ٤٥٧-٤٦٢ شارك في إعداد هذه الفهارس على الحاسوب الأستاذ مروان البواب والسيد أسامة رجب. ٤٠٧<noinclude></noinclude> g1teayaq1sna2iqj4gjf83p6ngdxxt1 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/410 104 307157 617350 617318 2026-08-13T13:24:08Z RASHEEDYE 15342 617350 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|فهرس مصطلحات علم التعمية واستخراج المُعَمَّى عند العرب}} <br/><br/> {{أعمدة متعددة}} {{وسط|( أ )}} <br/>ائتلاف {{ربط بصفحة|96|16|٩٦}}{{سج}} ائتلاف الحروف {{ربط بصفحة|142|16|١٤٢}}{{سج}} ائتلاف الحروف واختلافها {{ربط بصفحة|130|16|١٣٠}}، {{ربط بصفحة|133|16|١٣٣}}{{سج}} ائتلاف الحروف وتنافرها {{ربط بصفحة|140|16|١٤٠}}، {{ربط بصفحة|144|16|١٤٤}}، {{ربط بصفحة|145|16|١٤٥}}{{سج}} <br /> الإبدال {{ربط بصفحة|157|16|١٥٧}}، {{ربط بصفحة|194|16|١٩٤}}، {{ربط بصفحة|199|16|١٩٩}}{{سج}} إبدال الحروف {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|117|16|١١٧}}{{سج}} إبدال بعض الحروف وفق مفتاح معين {{ربط بصفحة|111|16|١١١}}، {{ربط بصفحة|117|16|١١٧}}، {{ربط بصفحة|236|16|٢٣٦}}{{سج}} الإبدال ذو رباط وشرح {{ربط بصفحة|46|16|٤٦}}{{سج}} أبيات حروف المعجم {{ربط بصفحة|236|16|٢٣٦}}{{سج}} أبيات سهلة الإخراج {{ربط بصفحة|332|16|٣٣٢}}، {{ربط بصفحة|352|16|٣٥٢}}{{سج}} أبيات عويصة {{ربط بصفحة|349|16|٣٤٩}}{{سج}} أبيات المعاياة {{ربط بصفحة|287|16|٢٨٧}}، {{ربط بصفحة|332|16|٣٣٢}}، {{ربط بصفحة|347|16|٣٤٧}}، {{ربط بصفحة|352|16|٣٥٢}}، {{ربط بصفحة|354|16|٣٥٤}}{{سج}} اتساق الكلام وترتيبه {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|73|16|٧٣}}{{سج}} إجازة الأشكال {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|72|16|٧٢}}{{سج}} الأحاديات {{ربط بصفحة|364|16|٣٦٤}}{{سج}} الأُحْجِيَّة {{ربط بصفحة|325|16|٣٢٥}}{{سج}} الإحصاء {{ربط بصفحة|192|16|١٩٢}}{{سج}} إحصاء الأشكال {{ربط بصفحة|75|16|٧٥}}{{سج}} إحصاء الترجمة {{ربط بصفحة|314|16|٣١٤}}{{سج}} إحصاء الجذور {{ربط بصفحة|144|16|١٤٤}} {{فاصل أعمدة متعددة|خط1=1px solid black}} <br/>إحصاء الحروف {{ربط بصفحة|144|16|١٤٤}}، {{ربط بصفحة|184|16|١٨٤}}{{سج}} إحصاء الكلام المستعمل {{ربط بصفحة|144|16|١٤٤}}{{سج}} إحصاء حروف الشعر {{ربط بصفحة|314|16|٣١٤}}{{سج}} إحصاء دوران الحروف {{ربط بصفحة|126|16|١٢٦}}{{سج}} إحصاء ورود الأشكال {{ربط بصفحة|141|16|١٤١}}{{سج}} إحصائيات الكندي لتردد الحروف {{ربط بصفحة|58|16|٥٨}}{{سج}} اختراع أشكال ورُموز تستبدل بالحروف {{ربط بصفحة|303|16|٣٠٣}}{{سج}} اختراع الصور {{ربط بصفحة|111|16|١١١}}{{سج}} الاشتقاق في مراتب الحروف والثنائيات {{ربط بصفحة|60|16|٦٠}}{{سج}} إخراج المعمى من الشعر {{ربط بصفحة|299|16|٢٩٩}}، {{ربط بصفحة|313|16|٣١٣}}{{سج}} الإخفاء {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|188|16|١٨٨}}{{سج}} الإخفاء باستعمال الحروف {{ربط بصفحة|43|16|٤٣}}{{سج}} الإخفاء بتغيير بعض الحروف {{ربط بصفحة|44|16|٤٤}}{{سج}} الإخفاء ضمن كلمات {{ربط بصفحة|43|16|٤٣}}، {{ربط بصفحة|44|16|٤٤}}{{سج}} إدارة الترجمة {{ربط بصفحة|320|16|٣٢٠}}{{سج}} إدارة الترجمة في الشعر {{ربط بصفحة|297|16|٢٩٧}}، {{ربط بصفحة|305|16|٣٠٥}}{{سج}} أدوات الاستخراج {{ربط بصفحة|326|16|٣٢٦}}{{سج}} أرباب الترجمة {{ربط بصفحة|57|16|٥٧}}، {{ربط بصفحة|81|16|٨١}}{{سج}} أرْجَحَ {{ربط بصفحة|302|16|٣٠٢}}{{سج}} ازدواج الكلام {{ربط بصفحة|318|16|٣١٨}}{{سج}} استبدال أسماء أجناس معينة بالحروف {{ربط بصفحة|303|16|٣٠٣}}{{سج}} استبدال الأرقام بالحروف {{ربط بصفحة|170|16|١٧٠}}{{سج}} استحالة استخراج النص {{ربط بصفحة|372|16|٣٧٢}} {{نهاية أعمدة متعددة}} {{يسار|٤٠٨}}<noinclude></noinclude> 8jqxinhmlyuk644o91oyikwl5mqgqw5 617351 617350 2026-08-13T13:26:06Z RASHEEDYE 15342 617351 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|فهرس مصطلحات علم التعمية واستخراج المُعَمَّى عند العرب}} <br/><br/> {{أعمدة متعددة}} {{وسط|( أ )}} <br/>ائتلاف {{ربط بصفحة|96|16|٩٦}}{{سج}} ائتلاف الحروف {{ربط بصفحة|142|16|١٤٢}}{{سج}} ائتلاف الحروف واختلافها {{ربط بصفحة|130|16|١٣٠}}، {{ربط بصفحة|133|16|١٣٣}}{{سج}} ائتلاف الحروف وتنافرها {{ربط بصفحة|140|16|١٤٠}}، {{ربط بصفحة|144|16|١٤٤}}، {{ربط بصفحة|145|16|١٤٥}}{{سج}} <br /> الإبدال {{ربط بصفحة|157|16|١٥٧}}، {{ربط بصفحة|194|16|١٩٤}}، {{ربط بصفحة|199|16|١٩٩}}{{سج}} إبدال الحروف {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|117|16|١١٧}}{{سج}} إبدال بعض الحروف وفق مفتاح معين {{ربط بصفحة|111|16|١١١}}، {{ربط بصفحة|117|16|١١٧}}، {{ربط بصفحة|236|16|٢٣٦}}{{سج}} الإبدال ذو رباط وشرح {{ربط بصفحة|46|16|٤٦}}{{سج}} أبيات حروف المعجم {{ربط بصفحة|236|16|٢٣٦}}{{سج}} أبيات سهلة الإخراج {{ربط بصفحة|332|16|٣٣٢}}، {{ربط بصفحة|352|16|٣٥٢}}{{سج}} أبيات عويصة {{ربط بصفحة|349|16|٣٤٩}}{{سج}} أبيات المعاياة {{ربط بصفحة|287|16|٢٨٧}}، {{ربط بصفحة|332|16|٣٣٢}}، {{ربط بصفحة|347|16|٣٤٧}}، {{ربط بصفحة|352|16|٣٥٢}}، {{ربط بصفحة|354|16|٣٥٤}}{{سج}} اتساق الكلام وترتيبه {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|73|16|٧٣}}{{سج}} إجازة الأشكال {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|72|16|٧٢}}{{سج}} الأحاديات {{ربط بصفحة|364|16|٣٦٤}}{{سج}} الأُحْجِيَّة {{ربط بصفحة|325|16|٣٢٥}}{{سج}} الإحصاء {{ربط بصفحة|192|16|١٩٢}}{{سج}} إحصاء الأشكال {{ربط بصفحة|75|16|٧٥}}{{سج}} إحصاء الترجمة {{ربط بصفحة|314|16|٣١٤}}{{سج}} إحصاء الجذور {{ربط بصفحة|144|16|١٤٤}} {{فاصل أعمدة متعددة|خط1=1px solid black}} <br/>إحصاء الحروف {{ربط بصفحة|144|16|١٤٤}}، {{ربط بصفحة|184|16|١٨٤}}{{سج}} إحصاء الكلام المستعمل {{ربط بصفحة|144|16|١٤٤}}{{سج}} إحصاء حروف الشعر {{ربط بصفحة|314|16|٣١٤}}{{سج}} إحصاء دوران الحروف {{ربط بصفحة|126|16|١٢٦}}{{سج}} إحصاء ورود الأشكال {{ربط بصفحة|141|16|١٤١}}{{سج}} إحصائيات الكندي لتردد الحروف {{ربط بصفحة|58|16|٥٨}}{{سج}} اختراع أشكال ورُموز تستبدل بالحروف {{ربط بصفحة|303|16|٣٠٣}}{{سج}} اختراع الصور {{ربط بصفحة|111|16|١١١}}{{سج}} الاشتقاق في مراتب الحروف والثنائيات {{ربط بصفحة|60|16|٦٠}}{{سج}} إخراج المعمى من الشعر {{ربط بصفحة|299|16|٢٩٩}}، {{ربط بصفحة|313|16|٣١٣}}{{سج}} الإخفاء {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|188|16|١٨٨}}{{سج}} الإخفاء باستعمال الحروف {{ربط بصفحة|43|16|٤٣}}{{سج}} الإخفاء بتغيير بعض الحروف {{ربط بصفحة|44|16|٤٤}}{{سج}} الإخفاء ضمن كلمات {{ربط بصفحة|43|16|٤٣}}، {{ربط بصفحة|44|16|٤٤}}{{سج}} إدارة الترجمة {{ربط بصفحة|320|16|٣٢٠}}{{سج}} إدارة الترجمة في الشعر {{ربط بصفحة|297|16|٢٩٧}}، {{ربط بصفحة|305|16|٣٠٥}}{{سج}} أدوات الاستخراج {{ربط بصفحة|326|16|٣٢٦}}{{سج}} أرباب الترجمة {{ربط بصفحة|57|16|٥٧}}، {{ربط بصفحة|81|16|٨١}}{{سج}} أرْجَحَ {{ربط بصفحة|302|16|٣٠٢}}{{سج}} ازدواج الكلام {{ربط بصفحة|318|16|٣١٨}}{{سج}} استبدال أسماء أجناس معينة بالحروف {{ربط بصفحة|303|16|٣٠٣}}{{سج}} استبدال الأرقام بالحروف {{ربط بصفحة|170|16|١٧٠}}{{سج}} استحالة استخراج النص {{ربط بصفحة|372|16|٣٧٢}} {{نهاية أعمدة متعددة}} {{يمين|٤٠٨}}<noinclude></noinclude> qnh498txwwycy610amnfzfiyt0g7vqr 617375 617351 2026-08-13T18:13:53Z RASHEEDYE 15342 617375 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{ع3|فهرس مصطلحات علم التعمية واستخراج المُعَمَّى عند العرب}} <br/><br/> {{أعمدة متعددة}} {{وسط|( أ )}} <br/>ائتلاف {{ربط بصفحة|96|16|٩٦}}{{سج}} ائتلاف الحروف {{ربط بصفحة|142|16|١٤٢}}{{سج}} ائتلاف الحروف واختلافها {{ربط بصفحة|130|16|١٣٠}}، {{ربط بصفحة|133|16|١٣٣}}{{سج}} ائتلاف الحروف وتنافرها {{ربط بصفحة|140|16|١٤٠}}، {{ربط بصفحة|144|16|١٤٤}}، {{ربط بصفحة|145|16|١٤٥}}{{سج}} الإبدال {{ربط بصفحة|157|16|١٥٧}}، {{ربط بصفحة|194|16|١٩٤}}، {{ربط بصفحة|199|16|١٩٩}}{{سج}} إبدال الحروف {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|117|16|١١٧}}{{سج}} إبدال بعض الحروف وفق مفتاح معين {{ربط بصفحة|111|16|١١١}}، {{ربط بصفحة|117|16|١١٧}}، {{ربط بصفحة|236|16|٢٣٦}}{{سج}} الإبدال ذو رباط وشرح {{ربط بصفحة|46|16|٤٦}}{{سج}} أبيات حروف المعجم {{ربط بصفحة|236|16|٢٣٦}}{{سج}} أبيات سهلة الإخراج {{ربط بصفحة|332|16|٣٣٢}}، {{ربط بصفحة|352|16|٣٥٢}}{{سج}} أبيات عويصة {{ربط بصفحة|349|16|٣٤٩}}{{سج}} أبيات المعاياة {{ربط بصفحة|287|16|٢٨٧}}، {{ربط بصفحة|332|16|٣٣٢}}، {{ربط بصفحة|347|16|٣٤٧}}، {{ربط بصفحة|352|16|٣٥٢}}، {{ربط بصفحة|354|16|٣٥٤}}{{سج}} اتساق الكلام وترتيبه {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|73|16|٧٣}}{{سج}} إجازة الأشكال {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|72|16|٧٢}}{{سج}} الأحاديات {{ربط بصفحة|364|16|٣٦٤}}{{سج}} الأُحْجِيَّة {{ربط بصفحة|325|16|٣٢٥}}{{سج}} الإحصاء {{ربط بصفحة|192|16|١٩٢}}{{سج}} إحصاء الأشكال {{ربط بصفحة|75|16|٧٥}}{{سج}} إحصاء الترجمة {{ربط بصفحة|314|16|٣١٤}}{{سج}} إحصاء الجذور {{ربط بصفحة|144|16|١٤٤}} {{فاصل أعمدة متعددة|خط1=1px solid black}} <br/>إحصاء الحروف {{ربط بصفحة|144|16|١٤٤}}، {{ربط بصفحة|184|16|١٨٤}}{{سج}} إحصاء الكلام المستعمل {{ربط بصفحة|144|16|١٤٤}}{{سج}} إحصاء حروف الشعر {{ربط بصفحة|314|16|٣١٤}}{{سج}} إحصاء دوران الحروف {{ربط بصفحة|126|16|١٢٦}}{{سج}} إحصاء ورود الأشكال {{ربط بصفحة|141|16|١٤١}}{{سج}} إحصائيات الكندي لتردد الحروف {{ربط بصفحة|58|16|٥٨}}{{سج}} اختراع أشكال ورُموز تستبدل بالحروف {{ربط بصفحة|303|16|٣٠٣}}{{سج}} اختراع الصور {{ربط بصفحة|111|16|١١١}}{{سج}} الاشتقاق في مراتب الحروف والثنائيات {{ربط بصفحة|60|16|٦٠}}{{سج}} إخراج المعمى من الشعر {{ربط بصفحة|299|16|٢٩٩}}، {{ربط بصفحة|313|16|٣١٣}}{{سج}} الإخفاء {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|188|16|١٨٨}}{{سج}} الإخفاء باستعمال الحروف {{ربط بصفحة|43|16|٤٣}}{{سج}} الإخفاء بتغيير بعض الحروف {{ربط بصفحة|44|16|٤٤}}{{سج}} الإخفاء ضمن كلمات {{ربط بصفحة|43|16|٤٣}}، {{ربط بصفحة|44|16|٤٤}}{{سج}} إدارة الترجمة {{ربط بصفحة|320|16|٣٢٠}}{{سج}} إدارة الترجمة في الشعر {{ربط بصفحة|297|16|٢٩٧}}، {{ربط بصفحة|305|16|٣٠٥}}{{سج}} أدوات الاستخراج {{ربط بصفحة|326|16|٣٢٦}}{{سج}} أرباب الترجمة {{ربط بصفحة|57|16|٥٧}}، {{ربط بصفحة|81|16|٨١}}{{سج}} أرتج{{ربط بصفحة|302|16|٣٠٢}}{{سج}} ازدواج الكلام {{ربط بصفحة|318|16|٣١٨}}{{سج}} استبدال أسماء أجناس معينة بالحروف {{ربط بصفحة|303|16|٣٠٣}}{{سج}} استبدال الأرقام بالحروف {{ربط بصفحة|170|16|١٧٠}}{{سج}} استحالة استخراج النص {{ربط بصفحة|372|16|٣٧٢}} {{نهاية أعمدة متعددة}} {{يمين|٤٠٨}}<noinclude></noinclude> mfviopcfl0cjnzewqlbiwbyacoo2c3c صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/411 104 307159 617354 617320 2026-08-13T13:33:26Z HubaishanBot 64056 استبدال الأرقام العربية المشرقية بالأرقام الفارسية 617354 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>الاستخراج استيراد الأدوية استماع القادم قادمة استخراج الواحم المعتمد على التحليل ٦٢، ١٢٥ | استخراج للصنوعات Y1 العام الى الفم 14147140142 الإجمالي استخراج الوجة التي لاكتحل ٦٠ استخراج العمى من الشعر للمنظوم ٢ استخراج العمى من الشر والشعر استخراج الترجمة بالإعاشة البسيطة ١٤١ | استخراج الوزن استخراج الترجمة بالتبديل البسيط or الاستخراج بطريقة التحليل الإحصائي استخراج الترجمة بالتبديلي البسيط استخراج تعدية الكلام للشور وللألف شكلات استخراج تعمية مركية المتخراج الترجمة ذات الأشكال قريبة التواتر استخراج حروف القافية ١٥٤ ٨٠ استخراج ماترحم بالإعاضة البسيطة استخراج التعمية التي تجعل بينها أشكال أقفال ١٣١ استتملك الموضوعات المتخراج التعمية التي تكون تغير أشكال الحروف بأشكال مبتدعة استعصاء الاستخراج ١٢١ - استعمال الأحاديات استخراج التعمية التي تكون بتغيير حلية الشكل ١٣٠ | استعمال الأرقام في التعمية بالإحاضة ٢٩٧ ٢٩٧ ٣٠٧ ٦٢ ١٩١ ١٦٤ ٣٧٦ ١٤٠ ٣٦٢ استخراج الحمية التي تكون تغير نصب الحروف أو الإبدال ١٣١ استعمال الترجمة في حليل الأمور استخراج التعمية التي ينقص منها حروف ١٣١ استعمال الثلاثيات استخراج التعمية المتقدمة ٥٢ استعمال لازدويجات ٢٢٨ ٦٢ ٣٦٩ ٣٦٩ استخراج التسمية الركبة ١٣١، ١٦٨، ١٧٢ استعمال عدة أرقام تتعمية حرف بالإعاضة ٢٢٨ استخراج التعمية ذات الرباط استخراج الثلاثيات استخراج الحروف استخراج القلب ١٣١ استعمال عدة رموز لكل حرف ٣٦٢ ٣٧٢ ٣٨٥ | استعمال كسور الربع والنصف ٣٨٨،٣٨٧ استنباط البسيط ٢٠٧ استنباط المزاحم ١٦٢ استنباط التراجم العويصة استخراج المزدوجات ٣٦٧ ، ١٣٨٠ ١٣٨٧ ٣٨٨ استنباط التراجم العويصة المسددة DY ١٧٤ ٢٣٩ ١٣ ٥٢ ٧٩ الاستخراج المستحيل ٢٦٢ استنباط الحروف ٤٢ ٤٠٩<noinclude></noinclude> 2806dile891pw9x4w0tox82nuclzh6p 617355 617354 2026-08-13T13:34:19Z RASHEEDYE 15342 617355 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} <br/>الاستخراج {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|125|16|١٢٥}}{{سج}} <br/>{{خطأ|ممسوح وغير واضح | الصواب | تعليق (اختياري)}} <br/>{{خطأ|ممسوح وغير واضح | الصواب | تعليق (اختياري)}} <br/>{{خطأ|ممسوح وغير واضح | الصواب | تعليق (اختياري)}} استخراج التراجم المعتمد على التحليل الإحصائي {{ربط بصفحة|60|16|٦٠}}{{سج}} استخراج الترجمة التي لا تنحل {{ربط بصفحة|42|16|٤٢}}{{سج}} استخراج الترجمة بالإعاضة البسيطة {{ربط بصفحة|141|16|١٤١}}{{سج}} استخراج الترجمة بالتبديل البسيط {{ربط بصفحة|53|16|٥٣}}{{سج}} استخراج الترجمة بالتبديل البسيط وللألف شكلان {{ربط بصفحة|80|16|٨٠}}{{سج}} استخراج الترجمة ذات الأشكال قريبة التواتر {{ربط بصفحة|54|16|٥٤}}، {{ربط بصفحة|80|16|٨٠}}{{سج}} استخراج التعمية التي تجعل بينها أشكال أطفال {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية التي تكون بتغيير أشكال الحروف بأشكال مبتدعة {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية التي تكون بتغيير حلية الشكل {{ربط بصفحة|130|16|١٣٠}}{{سج}} استخراج التعمية التي تكون بتغيير نسب الحروف {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية التي ينقص منها حروف {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية المتقدمة {{ربط بصفحة|52|16|٥٢}}{{سج}} استخراج التعمية المركبة {{ربط بصفحة|131|16|١٣١}}، {{ربط بصفحة|168|16|١٦٨}}، {{ربط بصفحة|172|16|١٧٢}}{{سج}} استخراج التعمية ذات الرباط {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج الثلاثيات {{ربط بصفحة|362|16|٣٦٢}}، {{ربط بصفحة|372|16|٣٧٢}}، {{ربط بصفحة|385|16|٣٨٥}}، {{ربط بصفحة|387|16|٣٨٧}}، {{ربط بصفحة|388|16|٣٨٨}}{{سج}} استخراج الحروف {{ربط بصفحة|307|16|٣٠٧}}{{سج}} استخراج القلب {{ربط بصفحة|162|16|١٦٢}}{{سج}} استخراج المزدوجات {{ربط بصفحة|362|16|٣٦٢}}، {{ربط بصفحة|385|16|٣٨٥}}، {{ربط بصفحة|387|16|٣٨٧}}، {{ربط بصفحة|388|16|٣٨٨}}{{سج}} الاستخراج المستحيل {{ربط بصفحة|372|16|٣٧٢}} {{فاصل أعمدة متعددة|خط1=1px solid black}} <br/>استخراج المصنوعات {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|78|16|٧٨}}{{سج}} استخراج المعمى من الشعر {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|106|16|١٠٦}}، {{ربط بصفحة|112|16|١١٢}}، {{ربط بصفحة|194|16|١٩٤}}، {{ربط بصفحة|195|16|١٩٥}}، {{ربط بصفحة|197|16|١٩٧}}، {{ربط بصفحة|267|16|٢٦٧}}، {{ربط بصفحة|298|16|٢٩٨}}، {{ربط بصفحة|336|16|٣٣٦}}، {{ربط بصفحة|357|16|٣٥٧}}{{سج}} استخراج المعمى من الشعر المنظوم{{ربط بصفحة|297|16|٢٩٧}}{{سج}} استخراج المعمى من النثر والشعر {{ربط بصفحة|297|16|٢٩٧}}{{سج}} استخراج الوزن {{ربط بصفحة|307|16|٣٠٧}}{{سج}} الاستخراج بطريقة التحليل الإحصائي {{ربط بصفحة|62|16|٦٢}}{{سج}} استخراج تعمية الكلام للنثر {{ربط بصفحة|191|16|١٩١}}{{سج}} استخراج تعمية مركبة {{ربط بصفحة|164|16|١٦٤}}{{سج}} استخراج حروف القافية {{ربط بصفحة|326|16|٣٢٦}}{{سج}} استخراج ما ترجم بالإعاضة البسيطة {{ربط بصفحة|140|16|١٤٠}}{{سج}} استدراك الموضوعات {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|78|16|٧٨}}{{سج}} استقصاء الاستخراج {{ربط بصفحة|302|16|٣٠٢}}{{سج}} استعمال الأحاديات {{ربط بصفحة|262|16|٢٦٢}}{{سج}} استعمال الأرقام في التعمية بالإعاضة أو الإبدال {{ربط بصفحة|228|16|٢٢٨}}{{سج}} استعمال الترجمة في جليل الأمور {{ربط بصفحة|62|16|٦٢}}{{سج}} استعمال الثلاثيات {{ربط بصفحة|269|16|٢٦٩}}{{سج}} استعمال للمزدوجات {{ربط بصفحة|269|16|٢٦٩}}{{سج}} استعمال عدة أرقام لتعمية حرف بالإعاضة {{ربط بصفحة|228|16|٢٢٨}}{{سج}} استعمال عدة رموز لكل حرف {{ربط بصفحة|57|16|٥٧}}{{سج}} استعمال كسور الربع والنصف {{ربط بصفحة|174|16|١٧٤}}{{سج}} استنباط البسيط {{ربط بصفحة|239|16|٢٣٩}}{{سج}} استنباط الواجم {{ربط بصفحة|63|16|٦٣}}{{سج}} استنباط التراجم العويصة {{ربط بصفحة|52|16|٥٢}}{{سج}} استنباط التراجم العويصة المسددة {{ربط بصفحة|79|16|٧٩}}{{سج}} استنباط الحروف {{ربط بصفحة|42|16|٤٢}} {{نهاية أعمدة متعددة}}<noinclude>{{يسار|٤٠٩}}</noinclude> h13vd4z1y0hd6pqoshnvg2iu8rrvj76 617356 617355 2026-08-13T13:35:54Z RASHEEDYE 15342 ضبط وتنسيق 617356 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} <br/>الاستخراج {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|125|16|١٢٥}}{{سج}} <br/>{{خطأ|ممسوح وغير واضح | الصواب | تعليق (اختياري)}} <br/>{{خطأ|ممسوح وغير واضح | الصواب | تعليق (اختياري)}} <br/>{{خطأ|ممسوح وغير واضح | الصواب | تعليق (اختياري)}} <br/>استخراج التراجم المعتمد على التحليل الإحصائي {{ربط بصفحة|60|16|٦٠}}{{سج}} استخراج الترجمة التي لا تنحل {{ربط بصفحة|42|16|٤٢}}{{سج}} استخراج الترجمة بالإعاضة البسيطة {{ربط بصفحة|141|16|١٤١}}{{سج}} استخراج الترجمة بالتبديل البسيط {{ربط بصفحة|53|16|٥٣}}{{سج}} استخراج الترجمة بالتبديل البسيط وللألف شكلان {{ربط بصفحة|80|16|٨٠}}{{سج}} استخراج الترجمة ذات الأشكال قريبة التواتر {{ربط بصفحة|54|16|٥٤}}، {{ربط بصفحة|80|16|٨٠}}{{سج}} استخراج التعمية التي تجعل بينها أشكال أطفال {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية التي تكون بتغيير أشكال الحروف بأشكال مبتدعة {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية التي تكون بتغيير حلية الشكل {{ربط بصفحة|130|16|١٣٠}}{{سج}} استخراج التعمية التي تكون بتغيير نصب الحروف {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية التي ينقص منها حروف {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج التعمية المتقدمة {{ربط بصفحة|52|16|٥٢}}{{سج}} استخراج التعمية المركبة {{ربط بصفحة|131|16|١٣١}}، {{ربط بصفحة|168|16|١٦٨}}، {{ربط بصفحة|172|16|١٧٢}}{{سج}} استخراج التعمية ذات الرباط {{ربط بصفحة|131|16|١٣١}}{{سج}} استخراج الثلاثيات {{ربط بصفحة|362|16|٣٦٢}}، {{ربط بصفحة|372|16|٣٧٢}}، {{ربط بصفحة|385|16|٣٨٥}}، {{ربط بصفحة|387|16|٣٨٧}}، {{ربط بصفحة|388|16|٣٨٨}}{{سج}} استخراج الحروف {{ربط بصفحة|307|16|٣٠٧}}{{سج}} استخراج القلب {{ربط بصفحة|162|16|١٦٢}}{{سج}} استخراج المزدوجات {{ربط بصفحة|362|16|٣٦٢}}، {{ربط بصفحة|385|16|٣٨٥}}، {{ربط بصفحة|387|16|٣٨٧}}، {{ربط بصفحة|388|16|٣٨٨}}{{سج}} الاستخراج المستحيل {{ربط بصفحة|372|16|٣٧٢}} {{فاصل أعمدة متعددة|خط1=1px solid black}} <br/>استخراج المصنوعات {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|78|16|٧٨}}{{سج}} استخراج المعمى من الشعر {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|106|16|١٠٦}}، {{ربط بصفحة|112|16|١١٢}}، {{ربط بصفحة|194|16|١٩٤}}، {{ربط بصفحة|195|16|١٩٥}}، {{ربط بصفحة|197|16|١٩٧}}، {{ربط بصفحة|267|16|٢٦٧}}، {{ربط بصفحة|298|16|٢٩٨}}، {{ربط بصفحة|336|16|٣٣٦}}، {{ربط بصفحة|357|16|٣٥٧}}{{سج}} استخراج المعمى من الشعر المنظوم{{ربط بصفحة|297|16|٢٩٧}}{{سج}} استخراج المعمى من النثر والشعر {{ربط بصفحة|297|16|٢٩٧}}{{سج}} استخراج الوزن {{ربط بصفحة|307|16|٣٠٧}}{{سج}} الاستخراج بطريقة التحليل الإحصائي {{ربط بصفحة|62|16|٦٢}}{{سج}} استخراج تعمية الكلام للنثر {{ربط بصفحة|191|16|١٩١}}{{سج}} استخراج تعمية مركبة {{ربط بصفحة|164|16|١٦٤}}{{سج}} استخراج حروف القافية {{ربط بصفحة|326|16|٣٢٦}}{{سج}} استخراج ما ترجم بالإعاضة البسيطة {{ربط بصفحة|140|16|١٤٠}}{{سج}} استدراك الموضوعات {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|78|16|٧٨}}{{سج}} استقصاء الاستخراج {{ربط بصفحة|302|16|٣٠٢}}{{سج}} استعمال الأحاديات {{ربط بصفحة|262|16|٢٦٢}}{{سج}} استعمال الأرقام في التعمية بالإعاضة أو الإبدال {{ربط بصفحة|228|16|٢٢٨}}{{سج}} استعمال الترجمة في جليل الأمور {{ربط بصفحة|62|16|٦٢}}{{سج}} استعمال الثلاثيات {{ربط بصفحة|269|16|٢٦٩}}{{سج}} استعمال للمزدوجات {{ربط بصفحة|269|16|٢٦٩}}{{سج}} استعمال عدة أرقام لتعمية حرف بالإعاضة {{ربط بصفحة|228|16|٢٢٨}}{{سج}} استعمال عدة رموز لكل حرف {{ربط بصفحة|57|16|٥٧}}{{سج}} استعمال كسور الربع والنصف {{ربط بصفحة|174|16|١٧٤}}{{سج}} استنباط البسيط {{ربط بصفحة|239|16|٢٣٩}}{{سج}} استنباط الواجم {{ربط بصفحة|63|16|٦٣}}{{سج}} استنباط التراجم العويصة {{ربط بصفحة|52|16|٥٢}}{{سج}} استنباط التراجم العويصة المسددة {{ربط بصفحة|79|16|٧٩}}{{سج}} استنباط الحروف {{ربط بصفحة|42|16|٤٢}} {{نهاية أعمدة متعددة}}<noinclude>{{يسار|٤٠٩}}</noinclude> 56ccuer0wnj2r74j97vt2siliit7xva وحدة:مؤلف/شرح 828 307161 617366 2026-08-13T16:13:34Z حبيشان 52457 أنشأ الصفحة ب'هذه الوحدة المستخدمة في {{قا|مؤلف}} المستعمل في نطاق مؤلف.' 617366 wikitext text/x-wiki هذه الوحدة المستخدمة في {{قا|مؤلف}} المستعمل في نطاق مؤلف. 8ty27w8ear5ycipvoh83p5rppwd5d76 وحدة:WdItem 828 307162 617367 2026-08-13T16:24:11Z حبيشان 52457 استيراد من ar.wiktionary.org 617367 Scribunto text/plain -- Module: WdItem -- Object-oriented Wikidata access module for Lua -- Refactored from WikidataIB for direct Lua usage require("strict") local p = {} local cdate -- initialise as nil and only load _complex_date function if needed -- Module:Complex date is loaded lazily and has the following dependencies: -- Module:Calendar -- Module:ISOdate -- Module:DateI18n -- Module:I18n/complex date -- Module:Ordinal -- Module:I18n/ordinal -- Module:Yesno -- Module:Formatnum -- Module:Linguistic -- i18n configuration local i18n = { ["errors"] = { ["property-not-found"] = "الخاصية غير موجودة.", ["entity-not-found"] = "الكيان على ويكي بيانات غير موجود.", ["unknown-claim-type"] = "نوع الادعاء غير معروف.", ["local-article-not-found"] = "المعرف متاح على ويكي بيانات، ولكن المقال غير متاح على ويكيبيديا", }, ["months"] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }, ["Unknown"] = "Unknown", ["NaN"] = "Not a number", ["missinginfocat"] = "[[تصنيف:Articles with missing Wikidata information]]", ["list separator"] = ", ", ["list separator-ar"] = "، ", } -- Date precision constants local dp = { [6] = "millennium", [7] = "century", [8] = "decade", [9] = "year", [10] = "month", [11] = "day", } -- local options_aliases = { -- ["osd"] = "onlysourced", -- ["wdl"] = "wdlinks", -- ["uabbr"] = "unitabbr", -- ["qo"] = "qualsonly", -- ["lp"] = "linkprefix", -- ["lprefix"] = "linkprefix", -- ["qlp"] = "qlinkprefix", -- ["sn"] = "shortname", -- ["uselbl"] = "uselabel", -- ["pd"] = "plaindate", -- ["qdf"] = "qualifierdateformat", -- ["df"] = "qualifierdateformat", -- ["qsn"] = "qshortname" -- } -- setmetatable(options_aliases, { __index = function(t, k) return k end }) ------------------------------------------------------------------------------- -- Internal helper functions ------------------------------------------------------------------------------- local function in_array( needle, haystack ) if needle == nil then return false end for n, v in ipairs( haystack ) do if v == needle then return n end end return false end local function findLang(langcode) local langobj langcode = mw.text.trim(langcode or "") if langcode ~= "" then if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new(langcode) end else langobj = mw.language.getContentLanguage() end return langobj and langobj.code end local function parseParam(param, default) if param == nil then return default end return param end local function setRanks(rank) rank = (rank or ""):lower() local ranks = {} for w in string.gmatch(rank, "%a+") do if w == "best" or w == "preferred" or w == "normal" or w == "deprecated" then ranks[w] = true end end if ranks.best or not next(ranks) then ranks.preferred = true ranks.normal = true ranks.deprecated = false end return ranks end local function labelOrId(id, lang_t) local langs = lang_t or {} local label for _,lang in ipairs(langs) do label = mw.wikibase.getLabelByLang(id, lang) if label ~= "" then break; end end label = label or mw.wikibase.getLabel(id) if label then return mw.text.nowiki(label), true else return id, false end end local function roundto(x, sf) if x == 0 then return 0 end local s = 1 if x < 0 then x = -x s = -1 end if sf < 1 then sf = 1 end local p = 10 ^ (math.floor(math.log10(x)) - sf + 1) x = math.floor(x / p + 0.5) * p * s if x == math.floor(x) then x = math.floor(x) end return x end local function decimalPrecision(x, p) local s = 1 if x < 0 then x = -x s = -1 end if not tonumber(p) then p = 1e-4 elseif p > 1 then p = 1 elseif p < 1e-6 then p = 1e-6 else p = 10 ^ math.floor(math.log10(p)) end x = math.floor(x / p + 0.5) * p * s if x == math.floor(x) then x = math.floor(x) end if math.abs(x) < 1e-4 then x = string.format("%f", x) end return x end local function decimalToDMS(x, p) if not tonumber(p) then p = 1e-4 end local d = math.floor(x) local ms = (x - d) * 60 if p > 0.5 then if ms > 30 then d = d + 1 end ms = 0 end local m = math.floor(ms) local s = (ms - m) * 60 if p > 0.008 then if s > 30 then m = m +1 end s = 0 elseif p > 0.00014 then s = math.floor(s + 0.5) elseif p > 0.000014 then s = math.floor(10 * s + 0.5) / 10 elseif p > 0.0000014 then s = math.floor(100 * s + 0.5) / 100 else s = math.floor(1000 * s + 0.5) / 1000 end return d, m, s end local function rawValue(dataValue) if dataValue.type == "string" then return dataValue.value elseif dataValue.type == "wikibase-entityid" then return dataValue.value and dataValue.value.id elseif dataValue.type == "monolingualtext" then return dataValue.value.text elseif dataValue.type == "quantity" then return tonumber(dataValue.value.amount) elseif dataValue.type == 'time' then return dataValue.value.time elseif dataValue.type == "globecoordinate" then return dataValue.value.latitude .. '/' .. dataValue.value.longitude end end local function compareValue(dataValue, strValue) return rawValue(dataValue) == strValue end local function dateFormat(timestamp, dprec, df, bcf, plaindate, qualifiers, lang, adj, model) df = (df or ""):lower() if df == "ymd" then if timestamp:sub(1,1) == "+" then return timestamp:sub(2,11) else local yr = tonumber(timestamp:sub(2,5)) - 1 yr = ("000" .. yr):sub(-4) if yr ~= "0000" then yr = "-" .. yr end return yr .. timestamp:sub(6,11) end end timestamp = timestamp:gsub("%-00%-00T", "-01-01T") dprec = dprec or 11 if df == "y" and dprec > 9 then dprec = 9 end dprec = dprec>11 and 11 or dprec dprec = dprec<6 and 6 or dprec bcf = (bcf or ""):upper() plaindate = (plaindate or ""):sub(1,1):lower() if plaindate == "" or plaindate == "n" or plaindate == "f" or plaindate == "0" then plaindate = false end do local llang = findLang() lang = in_array(lang, {llang, 'en'}) and lang or llang end adj = adj or "" local bc = timestamp:sub(1, 1)=="-" and "BC" or "" local year, month, day = timestamp:match("[+-](%d*)-(%d*)-(%d*)T") local iso = tonumber(year) if df == 'tt' then return { year = tonumber(timestamp:match("^([+-]%d*)-")) or 0, month = tonumber(month) or 0, day = tonumber(day) or 0 } end if dprec == 6 then iso = math.floor( (iso - 1) / 1000 ) + 1 end if dprec == 7 then iso = math.floor( (iso - 1) / 100 ) + 1 end if dprec == 8 then iso = math.floor( iso / 10 ) .. "0" end if dprec == 10 then iso = year .. "-" .. month end if dprec == 11 then iso = year .. "-" .. month .. "-" .. day end local sc = not plaindate and qualifiers and qualifiers.P1480 if sc then for k1, v1 in pairs(sc) do if v1.datavalue and v1.datavalue.value.id == "Q5727902" then adj = "circa" break end end end local calendarmodel = "" if tonumber(year) > 1582 and dprec > 8 and not plaindate and model == "http://www.wikidata.org/entity/Q1985786" then calendarmodel = "julian" end if not cdate then cdate = require("Module:Complex date")._complex_date end local fdate = cdate(calendarmodel, adj, tostring(iso), dp[dprec], bc, "", "", "", "", lang, 1) -- this may have QuickStatements info appended to it in a div, so remove that fdate = fdate:gsub(' <div style="display: none;">[^<]*</div>', '') -- it may also be returned wrapped in a microformat, so remove that fdate = fdate:gsub("<[^>]*>", "") -- there may be leading zeros that we should remove fdate = fdate:gsub("^0*", "") -- if a plain date is required, then remove any links (like BC linked) if plaindate then fdate = fdate:gsub("%[%[.*|", ""):gsub("]]", "") end -- if 'circa', use the abbreviated form *** internationalise later *** fdate = fdate:gsub('circa ', '<abbr title="circa">c.</abbr>&nbsp;') -- deal with BC/BCE if bcf == "BCE" then fdate = fdate:gsub('BC', 'BCE') end -- deal with mdy format if df == "mdy" then fdate = fdate:gsub("(%d+) (%w+) (%d+)", "%2 %1, %3") end -- deal with adjectival form *** internationalise later *** if plaindate == "a" then fdate = fdate:gsub(' century', '-century') end return fdate end local function hijriFormat(qualifiers, dateformat, lang) if not (qualifiers and qualifiers.P4241) then return; end local year, month, monthno, day local val local qhmonths = {["Q1952053"]=1,["Q489557"]=2, ["Q474167"] = 3, ["Q273815"] = 4, ["Q852002"] = 5, ["Q822218"] = 6, ["Q194210"] = 7, ["Q220914"] = 8, ["Q8867089"]=9, ["Q685440"]=10,["Q150853"]=11,["Q186022"]=12 } local hmonths = {"محرم","صفر","ربيع الأول","ربيع الآخر","جمادى الأولى","جمادى الآخرة","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة"} local hmonths_inv = {["محرم"] = 1, ["صفر"]=2, ["ربيع الأول"]=3, ["ربيع الآخر"]=4, ["جمادى الأولى"]=5, ["جمادى الآخرة"]=6, ["رجب"]=7, ["شعبان"]=8, ["رمضان"]=9, ["شوال"]=10, ["ذو القعدة"]=11, ["ذو الحجة"]=12} for _, item in ipairs(qualifiers.P4241) do local timeQ = item.datavalue and item.datavalue.value and item.datavalue.value.id local hastime = false if timeQ then local timeQt = mw.wikibase.getBestStatements(timeQ, "P361") for _,timeQsnak in pairs(timeQt) do local timeType = timeQsnak.mainsnak and timeQsnak.mainsnak.datavalue and timeQsnak.mainsnak.datavalue.value and timeQsnak.mainsnak.datavalue.value.id if timeType == "Q28892" then local timeLableAr = mw.wikibase.getLabelByLang(timeQ, "ar") if timeLableAr then year = mw.ustring.match(timeLableAr, "^(%d+) *هـ$") end if not year then local timeLableEn = mw.wikibase.getLabelByLang(timeQ, "en") if timeLableEn then year = mw.ustring.match(timeLableAr, "^(%d+) *AH$") end end hastime=true elseif qhmonths[timeType] then monthno = qhmonths[timeType] if monthno>0 and monthno<13 then month = hmonths[monthno] end local timeLableAr = mw.wikibase.getLabelByLang(timeQ, "ar") if timeLableAr then day = mw.ustring.match(timeLableAr, "^(%d+) *%a+$") end if not day then local timeLableEn = mw.wikibase.getLabelByLang(timeQ, "en") if timeLableEn then day = mw.ustring.match(timeLableAr, "^(%d+) *%a+$") end end hastime=true end end if not hastime then timeQt = mw.wikibase.getBestStatements(timeQ, "P31") if "Q125390868" == (timeQt[1].mainsnak and timeQt[1].mainsnak.datavalue and timeQt[1].mainsnak.datavalue.value and timeQt[1].mainsnak.datavalue.value.id ) then val = mw.wikibase.getLabelByLang(timeQ, "ar") month, year = mw.ustring.match(val, "^(%a[%a ]+%a) *(%d+) *هـ?$") monthno = hmonths_inv[month] end end end end if year then if dateformat == "tt" then return {year = tonumber(year) or 0, month = monthno or 0, day = tonumber(day) or 0, monthname = month or ''} elseif dateformat == "y" or not month then return year; elseif day and month then if dateformat == 'ymd' then return string.format("%04d-%02d-%02d", tonumber(year), monthno, tonumber(day)); else return day .. ' ' .. month .. ' ' .. year; end elseif month then return month .. ' ' .. year; end end return nil; end local function rawValueOrDF (statement, opt) local datasnak = statement.mainsnak or statement if (datasnak.datavalue and datasnak.datavalue.type == 'time') and (opt.hijri or opt.df) then if opt.hijri then return statement.qualifiers and hijriFormat(statement.qualifiers, opt.df) or nil elseif opt.df then local dv = datasnak.datavalue.value return dateFormat(dv.time, dv.precision, opt.df, opt.bc, opt.plaindate, statement.qualifiers, opt.lang, "", dv.calendarmodel) end else return rawValue(datasnak.datavalue) end end local function sourced(claim) if claim.references then for kr, vr in pairs(claim.references) do local ref = mw.wikibase.renderSnaks(vr.snaks) if not ref:find("Wiki") then return true end end end end local function linkedItem(id, args) local linkprefix = (args.linkprefix or ""):gsub('"', '') local lpostfix = (args.lpostfix or ""):gsub('"', '') local prefix = (args.prefix or ""):gsub('"', '') local postfix = (args.postfix or ""):gsub('"', '') local wikilinkprefix = (args.wikilinkprefix or ""):gsub('"', '') local dtxt = args.dtxt local uselabel = parseParam( args.uselabel, true) local langs = (args.langs and #args.langs>0) and args.langs or { args.lang } local disp local sitelink = mw.wikibase.getSitelink(id, args.linksproject) local label, islabel if dtxt then label, islabel = dtxt, true else label, islabel = labelOrId(id, langs) end if sitelink then if not uselabel then local pos = sitelink:find(":") or 0 local slink = sitelink if pos > 0 then local pfx = sitelink:sub(1,pos-1) if mw.site.namespaces[pfx] then slink = sitelink:sub(pos+1) end end slink = slink:gsub("%s%(.+%)$", ""):gsub(",.+$", "") if label:find("^%u") then label = slink:gsub("^(%l)", string.upper) else label = slink:gsub("^(%u)", string.lower) end end disp = "[[" .. wikilinkprefix .. sitelink .. lpostfix .. "|" .. prefix .. label .. postfix .. "]]" elseif islabel then disp = prefix .. label .. postfix else disp = prefix .. label .. postfix .. i18n.missinginfocat end return disp end local function rendersnak(propval, args, linked, lpre, lpost, pre, post, unitabbr, filter) lpre = lpre or "" lpost = lpost or "" pre = pre or "" post = post or "" args.lang = args.lang or (args.langs and args.langs[1]) or findLang(); local langs = (args.langs and #args.langs>0) and args.langs or {args.lang } local snak = propval.mainsnak or propval local dtype = snak.datatype local dv = snak.datavalue dv = dv and dv.value local val, mlt local namedas; namedas = propval.qualifiers and propval.qualifiers.P1932 and propval.qualifiers.P1932[1].datavalue and propval.qualifiers.P1932[1].datavalue.value or nil args.dtxt = namedas if propval.rank and not args.reqranks[propval.rank] then return nil elseif snak.snaktype == "somevalue" then val = namedas or i18n["Unknown"] elseif snak.snaktype == "novalue" then -- return nothing elseif dtype == "wikibase-item" then local qnumber = dv.id if linked then val = linkedItem(qnumber, args) else if namedas then val = pre .. namedas .. post else local label, islabel = labelOrId(qnumber, langs) val = pre .. label .. post end end elseif dtype == "time" then if args.hijri then val = hijriFormat(propval.qualifiers, args.df, args.lang) else val = dateFormat(dv.time, dv.precision, args.df, args.bc, args.plaindate, propval.qualifiers, args.lang, "", dv.calendarmodel) end elseif dtype == "commonsMedia" or dtype == "external-id" or dtype == "string" or dtype == "url" then if dtype == "external-id" and args.fullidurl then val = mw.ustring.match(mw.wikibase.formatValue(snak), "%[(https?://[^%s%]]+)") elseif (lpre == "" or lpre == ":") and lpost == "" then val = pre .. dv .. post elseif dtype == "external-id" then val = "[" .. lpre .. dv .. lpost .. " " .. pre .. dv .. post .. "]" else val = "[[" .. lpre .. dv .. lpost .. "|" .. pre .. dv .. post .. "]]" end elseif dtype == "quantity" then local amount = tonumber(dv.amount) or i18n["NaN"] local unit = "" local unitqid = string.match(dv.unit, "(Q%d+)") if filter and unitqid ~= filter then return nil end if unitqid then local uname = labelOrId(unitqid, langs) or "" if uname ~= "" then unit = " " .. uname end end val = tostring(amount) .. unit elseif dtype == "globe-coordinate" then local lat, long, prec = dv.latitude, dv.longitude, dv.precision local show = (args.show or ""):lower() if show == "lat" then val = decimalPrecision(lat, prec) elseif show == "lon" then val = decimalPrecision(long, prec) elseif show == "longlat" then val = decimalPrecision(long, prec) .. ", " .. decimalPrecision(lat, prec) else local ns = lat < 0 and "S" or "N" local ew = long < 0 and "W" or "E" if lat < 0 then lat = -lat end if long < 0 then long = -long end val = decimalPrecision(lat, prec) .. "°" .. ns .. " " .. decimalPrecision(long, prec) .. "°" .. ew end elseif dtype == "monolingualtext" then val = pre .. dv.text .. post mlt = dv.language else val = "unknown data type: " .. dtype end return val, mlt end local function assembleoutput(out, args, entityID, propertyID) local sorted = parseParam(args.sorted, false) local noicon = parseParam(args.noicon, false) local list = args.list or "" local separator = args.sep or "" separator = string.gsub(separator, '"', '') if separator == "" then local rtl_lang = {ar = true, fa = true, ur = true, ku = true, he = true} separator = rtl_lang[args.lang] and i18n["list separator-ar"] or i18n["list separator"] end local strout if #out > 0 then if sorted then table.sort(out) end if list == "" then strout = table.concat(out, separator) elseif list:lower() == "prose" then strout = mw.text.listToText(out) else strout = mw.getCurrentFrame():expandTemplate{title = list, args = out} end else strout = nil end return strout end -- WdItem local function propertyvalueandquals(objproperty, args, qualID) -- needs this style of declaration because it's re-entrant -- onlysourced is a boolean passed to return only values sourced to other than Wikipedia -- if nothing or an empty string is passed set it true local onlysrc = parseParam(args.onlysourced, false) -- linked is a a boolean that enables the link to a local page via sitelink -- if nothing or an empty string is passed set it true local linked = parseParam(args.linked, true) -- prefix is a string that may be nil, empty (""), or a string of characters -- this is prefixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local prefix = (args.prefix or ""):gsub('"', '') -- postfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local postfix = (args.postfix or ""):gsub('"', '') -- linkprefix is a string that may be nil, empty (""), or a string of characters -- this creates a link and is then prefixed to each value -- useful when when multiple values are returned and indirect links are needed -- any double-quotes " are stripped out, so that spaces may be passed local linkprefix = (args.linkprefix or ""):gsub('"', '') -- linkpostfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value when linking is enabled with linkprefix -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local lpostfix = (args.linkpostfix or ""):gsub('"', '') -- wdlinks is a boolean passed to enable links to Wikidata when no article exists -- if nothing or an empty string is passed set it false local wdlinks = parseParam(args.wdlinks, false) -- unitabbr is a boolean passed to enable unit abbreviations for common units -- if nothing or an empty string is passed set it false local unitabbr = parseParam(args.unitabbr, false) -- qualsonly is a boolean passed to return just the qualifiers -- if nothing or an empty string is passed set it false local qualsonly = parseParam(args.qualsonly, false) -- maxvals is a string that may be nil, empty (""), or a number -- this determines how many items may be returned when multiple values are available -- setting it = 1 is useful where the returned string is used within another call, e.g. image local maxvals = tonumber(args.maxvals) or 0 -- plaindate boolean -- to disable/enable "sourcing cirumstances" or use adjectival form for the plain date local plaindate = args.plaindate or false args.plaindate = plaindate -- allow qualifiers to have a different date format; default to year unless qualsonly is set args.qualifierdateformat = args.qualifierdateformat or (not qualsonly and "y") local lang = args.lang or (args.langs and args.langs[1]) or findLang() -- qualID is a string list of wanted qualifiers or "ALL" qualID = qualID or "" -- capitalise list of wanted qualifiers and substitute "DATES" qualID = qualID:upper():gsub("DATES", "P580, P582") local allflag = (qualID == "ALL") -- create table of wanted qualifiers as key local qwanted = {} -- create sequence of wanted qualifiers local qorder = {} for q in mw.text.gsplit(qualID, "%p") do -- split at punctuation and iterate local qtrim = mw.text.trim(q) if qtrim ~= "" then qwanted[mw.text.trim(q)] = true qorder[#qorder+1] = qtrim end end -- qsep is the output separator for rendering qualifier list local qsep = (args.qsep or ""):gsub('"', '') -- qargs are the arguments to supply to assembleoutput() local qargs = { ["onlysourced"] = false, ["linked"] = tostring(linked), ["prefix"] = args.qprefix, ["postfix"] = args.qpostfix, ["linkprefix"] = args.qlinkprefix, ["linkpostfix"] = args.qlinkpostfix, ["wdlinks"] = false, ["unitabbr"] = tostring(unitabbr), ["maxvals"] = 0, ["sorted"] = tostring(args.qsorted), ["noicon"] = true, ["list"] = args.qlist, ["sep"] = qsep, -- ["langobj"] = args.langobj, ["lang"] = lang, langs = args.langs, ["df"] = args.qualifierdateformat, ["shortname"] = parseParam(args.qshortname, false), } -- all proper values of a Wikidata property will be the same type as the first -- qualifiers don't have a mainsnak, properties do --#Modified line local datatype = objproperty[1].datatype or (objproperty[1].mainsnak and objproperty[1].mainsnak.datatype) -- out[] holds the a list of returned values for this property -- mlt[] holds the language code if the datatype is monolingual text local out = {} local mlt = {} for k, v in ipairs(objproperty) do local hasvalue = true if (onlysrc and not sourced(v)) then -- no value: it isn't sourced when onlysourced=true hasvalue = false else local val, lcode = rendersnak(v, args, linked, linkprefix, lpostfix, prefix, postfix, unitabbr) if not val then hasvalue = false -- rank doesn't match elseif qualsonly and qualID then -- suppress value returned: only qualifiers are requested else out[#out+1], mlt[#out+1] = val, lcode end end -- See if qualifiers are to be returned: local snak = v.mainsnak or v if hasvalue and v.qualifiers and qualID ~= "" and snak.snaktype~="novalue" then -- collect all wanted qualifier values returned in qlist, indexed by propertyID local qlist = {} local timestart, timeend = "", "" -- loop through qualifiers for k1, v1 in pairs(v.qualifiers) do if allflag or qwanted[k1] then if k1 == "P1326" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qualifierdateformat, args.bc, plaindate, "", lang, "before") elseif k1 == "P1319" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qualifierdateformat, args.bc, plaindate, "", lang, "after") elseif k1 == "P580" then timestart = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one start time as valid elseif k1 == "P582" then timeend = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one end time as valid else local q = assembleoutput(propertyvalueandquals(v1, qargs), qargs) -- we already deal with circa via 'sourcing circumstances' if the datatype was time -- circa may be either linked or unlinked *** internationalise later *** if datatype ~= "time" or q ~= "circa" and not (type(q) == "string" and q:find("circa]]")) then qlist[k1] = q end end end -- of test for wanted end -- of loop through qualifiers -- set date separator local t = timestart .. timeend -- *** internationalise date separators later *** local dsep = "&ndash;" if t:find("%s") or t:find("&nbsp;") then dsep = " &ndash; " end -- set the order for the list of qualifiers returned; start time and end time go last if next(qlist) then local qlistout = {} if allflag then for k2, v2 in pairs(qlist) do qlistout[#qlistout+1] = v2 end else for i2, v2 in ipairs(qorder) do qlistout[#qlistout+1] = qlist[v2] end end if t ~= "" then qlistout[#qlistout+1] = timestart .. dsep .. timeend end local qstr = assembleoutput(qlistout, qargs) if qualsonly then out[#out+1] = qstr else out[#out] = out[#out] .. " (" .. qstr .. ")" end elseif t ~= "" then if qualsonly then if timestart == "" then out[#out+1] = timeend elseif timeend == "" then out[#out+1] = timestart else out[#out+1] = timestart .. dsep .. timeend end else out[#out] = out[#out] .. " (" .. timestart .. dsep .. timeend .. ")" end end end -- of test for qualifiers wanted if maxvals > 0 and #out >= maxvals then break end end -- of for each value loop -- we need to pick one value to return if the datatype was "monolingualtext" -- if there's only one value, use that -- otherwise look through the fallback languages for a match if datatype == "monolingualtext" and #out >1 then lang = mw.text.split( lang, '-', true )[1] local fbtbl = mw.language.getFallbacksFor( lang ) table.insert( fbtbl, 1, lang ) local bestval = "" local found = false for idx1, lang1 in ipairs(fbtbl) do for idx2, lang2 in ipairs(mlt) do if (lang1 == lang2) and not found then bestval = out[idx2] found = true break end end -- loop through values of property end -- loop through fallback languages if found then -- replace output table with a table containing the best value out = { bestval } else -- more than one value and none of them on the list of fallback languages -- sod it, just give them the first one out = { out[1] } end end return out end local function mergeOptions(defaults, overrides) overrides = overrides or {} defaults = defaults or {} local result = {} for k, v in pairs(defaults) do result[k] = v end for k, v in pairs(overrides) do result[k] = v if k == 'rank' then result.reqranks = setRanks(v) end end return result end local function filterbyqualifier(statements,qual,value) local filtered_statements = {} for _, statement in ipairs(statements) do if statement.qualifiers and statement.qualifiers[qual] then if '*' == value then filtered_statements[#filtered_statements + 1] = statement else for _, q in ipairs(statement.qualifiers[qual]) do if q.datavalue and (rawValue(q.datavalue) == value) then filtered_statements[#filtered_statements + 1] = statement break end end end end end return filtered_statements end local function orderbyrank(statements) local pref_count = 0 local sorted_statements = {} for k,v in ipairs(statements) do if v.rank == 'preferred' then pref_count = pref_count + 1 table.insert(sorted_statements, pref_count, v) else sorted_statements[#sorted_statements + 1] = v end end return sorted_statements end ------------------------------------------------------------------------------- -- helper class functions ------------------------------------------------------------------------------- local function class() local c = {} c.__index = c function c:new(...) local o = setmetatable({}, c) if o.init then o:init(...) end return o end return c end ------------------------------------------------------------------------------- -- Statement Class Definition ------------------------------------------------------------------------------- local WdStatement = class() function WdStatement:getValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statement = self._statement if not statement then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals({statement}, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatement:getRawValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) if not self._statement then return nil end local datasnak = self._statement.mainsnak or self._statement if datasnak.snaktype == "value" then return rawValueOrDF(self._statement, mergedOpts) else return datasnak.snaktype end end function WdStatement:getRawQual(qualID) local ret = {} local s = self._statement if s.qualifiers and s.qualifiers[qualID] then for _,q in pairs(s.qualifiers[qualID]) do if q.snaktype == "value" then ret[#ret + 1] = rawValueOrDF(q, self.parent.options) else ret[#ret + 1] = q.snaktype end end end return ret end ------------------------------------------------------------------------------- -- Statements Class Definition ------------------------------------------------------------------------------- local WdStatements = class() function WdStatements:getStatmentsTable() return self._statements end function WdStatements:count() return #self._statements end function WdStatements:getFilters() return self.filtered_by end function WdStatements:filter(filter_t) local statements = self._statements if #statements == 0 then return self; end local ret = WdStatements:new() ret.parent = self.parent ret.filtered_by = {} for _,v in ipairs(self.filtered_by) do ret.filtered_by[#ret.filtered_by + 1] = v end local filtered_statements = {} for k,v in pairs(filter_t) do filtered_statements = filterbyqualifier(statements, k, v) ret.filtered_by[#ret.filtered_by + 1] = {[k] = v} if #filtered_statements == 0 then break; else statements = filtered_statements end end ret._statements = filtered_statements return ret end function WdStatements:getValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statements = self._statements if not statements or #statements == 0 then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatements:getQual(qualID, opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statements = self._statements if not statements or #statements == 0 then return nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatements:getRawQual(qualID) local ret = {} for _,s in pairs(self._statements) do local qual_t = {} if s.qualifiers and s.qualifiers[qualID] then for _,q in pairs(s.qualifiers[qualID]) do if q.snaktype == "value" then qual_t[#qual_t + 1] = rawValueOrDF(q, self.parent.options) else qual_t[#qual_t + 1] = q.snaktype end end end ret[#ret + 1] = qual_t end return ret end function WdStatements:getRawValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local ret = {} for _,v in pairs(self._statements) do local datasnak = v.mainsnak or v if datasnak.snaktype=="value" then ret[#ret + 1] = rawValueOrDF(v, mergedOpts) else ret[#ret + 1] = datasnak.snaktype end end return ret end function WdStatements:get(index) local ret = WdStatement:new() ret.parent = self.parent ret.filtered_by = ret.filtered_by ret._statement = self._statements[index] ret.pid = ret.pid return ret end function WdStatements:iter() local i = 0 local n = self._statements and #self._statements or 0 return function() i = i + 1 if i <= n then return i, self:get(i) end end end function WdStatements:ipairs() return self:iter() end function WdStatements:getBestOne() local orderd_statements = orderbyrank(self._statements) local ret = WdStatement:new() --setmetatable({}, WdStatement) ret.parent = self.parent ret.filtered_by = ret.filtered_by ret._statement = orderd_statements[1] ret.pid = ret.pid return ret end ------------------------------------------------------------------------------- -- WdItem Class Definition ------------------------------------------------------------------------------- local WdItem = class() function WdItem:__tostring() return "WdItem: " .. (self.qid or "no QID") end function WdItem:UpdateOptions(in_newOpts) local newOpts = in_newOpts or {} for k, v in pairs(newOpts or {}) do self.options[k] = v end -- Set default options if newOpts.lang then self.options.lang = findLang(newOpts.lang) end if (newOpts.lang and not self.options.lang) or (not newOpts.lang and newOpts.langs and #newOpts.langs > 0) then for _, l in ipairs(newOpts.langs) do self.options.lang = findLang(l) if self.options.lang then break; end end end if not self.options.lang then self.options.lang = findLang(); end if newOpts.rank then self.options.reqranks = setRanks(self.options.rank) end if not self.options.reqranks then self.options.reqranks = setRanks('preferred normal') end end function WdItem:init(qid, options,snak) if qid == "" then qid = nil; end self.qid = qid self.snak = snak self.options = options or {} self:UpdateOptions(options) return self end function WdItem:newFromSnaks(snakTable, options) local self = WdItem:new(nil, options or {}, snakTable) self:UpdateOptions(options) return self end function WdItem:setOptions(newOpts) self:UpdateOptions(newOpts) end function WdItem:getStatements(pid, opts) local mergedOpts = mergeOptions(self.options, opts or {}) local statements local ret = WdStatements:new() ret.parent = self ret.filtered_by = {} ret._statements = {} ret.pid = pid if self.snak and self.snak[pid] then statements = self.snak[pid] elseif not self.qid or not mw.wikibase then statements = {} elseif mergedOpts.reqranks and mergedOpts.reqranks.best then statements = mw.wikibase.getBestStatements(self.qid, pid) or {} else statements = mw.wikibase.getAllStatements(self.qid, pid) or {} local filtered_statements = {} if not (mergedOpts.reqranks.deprecated == true and mergedOpts.reqranks.preferred == true and mergedOpts.reqranks.normal == true) then for _,s in pairs(statements) do if mergedOpts.reqranks[s.rank] then filtered_statements[#filtered_statements + 1] = s end end end statements = filtered_statements end if #statements > 0 and mergedOpts.qualifiedaspossible and mergedOpts.qualifiedaspossible ~= {} then local filtered_statements = {} for q,qv in pairs(mergedOpts.qualifiedaspossible) do filtered_statements = filterbyqualifier(statements, q, qv) if #filtered_statements > 0 then ret.filtered_by[#ret.filtered_by + 1] = {[q] = qv} statements = filtered_statements end end end if #statements > 0 and mergedOpts.qualified and mergedOpts.qualified ~= {} then for q,qv in pairs(mergedOpts.qualified) do statements = filterbyqualifier(statements, q, qv) ret.filtered_by[#ret.filtered_by + 1] = {[q] = qv} if #statements == 0 then break; end end end ret._statements = statements return ret end function WdItem:getValue(pid, opts) local mergedOpts = mergeOptions(self.options, opts) local statements = self:getStatements(pid, mergedOpts):getStatmentsTable() if not statements or #statements == 0 then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.qid, pid) end function WdItem:getValueFromSnaks(pid, opts) if not self.snak or not self.snak[pid] then return nil end local mergedOpts = mergeOptions(self.options, opts) local props = self.snak[pid] local out = propertyvalueandquals(props, mergedOpts) return assembleoutput(out, mergedOpts, nil, pid) end function WdItem:getPropertyIDsTable(pid, opts) local mergedOpts = mergeOptions(self.options, opts) mergedOpts.noicon = tostring(parseParam(mergedOpts.noicon or "", true)) local statements = self:getStatements(pid, opts) if not statements or #statements == 0 then return {} end local onlysrc = parseParam(mergedOpts.onlysourced or mergedOpts.onlysourced, true) local maxvals = tonumber(mergedOpts.maxvals) or 0 local out = {} for i, v in ipairs(statements) do local snak = v.mainsnak or v if (snak.datatype == "wikibase-item") and (v.rank and mergedOpts.reqranks[v.rank:sub(1, 1)]) and (snak.snaktype == "value") and (sourced(v) or not onlysrc) then out[#out+1] = snak.datavalue.value.id end if maxvals > 0 and #out >= maxvals then break end end return out end function WdItem:getPropertyIDs(pid, opts) local out = WdItem:getPropertyIDsTable(pid, opts) if #out == 0 then return nil end return assembleoutput(out, mergeOptions(self.options, opts), self.qid, pid) end function WdItem:getPropOfProp(prop1, prop2, opts) local mergedOpts = mergeOptions(self.options, opts) if not self.qid then return nil end local maxvals = tonumber(mergedOpts.maxvals) or 0 local prop1Values = self:getStatements(prop1, opts):getRawValue() if #prop1Values == 0 then return nil end local out = {} for k, qid2 in ipairs(prop1Values) do local item2 = WdItem:new(qid2, mergedOpts) local prop2Values = item2:getStatements(prop2):getStatmentsTable() if prop2Values and prop2Values[1] then local out2 = propertyvalueandquals(prop2Values, mergedOpts, mergedOpts.qual) out[#out+1] = assembleoutput(out2, mergedOpts, qid2, prop2) end if maxvals > 0 and #out >= maxvals then break end end return assembleoutput(out, mergedOpts, self.qid, prop1) end function WdItem:getRawPropOfProp(prop1, prop2, opts) local mergedOpts = mergeOptions(self.options, opts) if not self.qid then return nil end local prop1Values = self:getStatements(prop1, opts):getRawValue() if #prop1Values == 0 then return nil end local out = {} for k, qid2 in ipairs(prop1Values) do local item2 = WdItem:new(qid2, mergedOpts) local prop2Values = item2:getStatements(prop2):getRawValue() for _,val in ipairs(prop2Values) do if not in_array(val,out) then out[#out + 1] = val end end end return out end function WdItem:getLangOfProp(pid) if not pid then return {}; end local out = {} local props = self.snak and self.snak[pid] or (self.qid and mw.wikibase.getAllStatements(self.qid, pid)) or {} for _, v in ipairs(props) do local datasnak = v.mainsnak or v if datasnak.datatype == "monolingualtext" and datasnak.datavalue then out[#out + 1] = datasnak.datavalue.value.language end end return out end function WdItem:followQid(props, all) all = parseParam(all, false) props = (props or ""):upper() if not self.qid then return nil end if props == "" then return self.qid end local out = {} for p in mw.text.gsplit(props, "%p") do p = mw.text.trim(p) for i, v in ipairs(mw.wikibase.getBestStatements(self.qid, p)) do local linkedid = v.mainsnak.datavalue and v.mainsnak.datavalue.value and v.mainsnak.datavalue.value.id if linkedid then if all then out[#out+1] = linkedid else return WdItem:new(linkedid) end end end end if #out > 0 then return table.concat(out, " ") else return self end end ------------------------------------------------------------------------------- -- Public API - WdItem Constructors ------------------------------------------------------------------------------- p.WdItem = WdItem function p.newItem(qid, opts, snak ) return WdItem:new(qid, opts, snak) end function p.newSnakItem(snakTable, opts) return WdItem:newFromSnaks(snakTable, opts) end return p 394dchpdt65ai5w0v910eusjkrx62a1 617384 617367 2026-08-13T19:28:40Z حبيشان 52457 تحسين 617384 Scribunto text/plain -- Module: WdItem -- Object-oriented Wikidata access module for Lua -- Refactored from WikidataIB for direct Lua usage require("strict") local p = {} local cdate -- initialise as nil and only load _complex_date function if needed -- Module:Complex date is loaded lazily and has the following dependencies: -- Module:Calendar -- Module:ISOdate -- Module:DateI18n -- Module:I18n/complex date -- Module:Ordinal -- Module:I18n/ordinal -- Module:Yesno -- Module:Formatnum -- Module:Linguistic -- i18n configuration local i18n = { ["errors"] = { ["property-not-found"] = "الخاصية غير موجودة.", ["entity-not-found"] = "الكيان على ويكي بيانات غير موجود.", ["unknown-claim-type"] = "نوع الادعاء غير معروف.", ["local-article-not-found"] = "المعرف متاح على ويكي بيانات، ولكن المقال غير متاح على ويكيبيديا", }, ["months"] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }, ["Unknown"] = "Unknown", ["NaN"] = "Not a number", ["missinginfocat"] = "[[تصنيف:Articles with missing Wikidata information]]", ["list separator"] = ", ", ["list separator-ar"] = "، ", } -- Date precision constants local dp = { [6] = "millennium", [7] = "century", [8] = "decade", [9] = "year", [10] = "month", [11] = "day", } -- local options_aliases = { -- ["osd"] = "onlysourced", -- ["wdl"] = "wdlinks", -- ["uabbr"] = "unitabbr", -- ["qo"] = "qualsonly", -- ["lp"] = "linkprefix", -- ["lprefix"] = "linkprefix", -- ["qlp"] = "qlinkprefix", -- ["sn"] = "shortname", -- ["uselbl"] = "uselabel", -- ["pd"] = "plaindate", -- ["qdf"] = "qualifierdateformat", -- ["df"] = "qualifierdateformat", -- ["qsn"] = "qshortname" -- } -- setmetatable(options_aliases, { __index = function(t, k) return k end }) ------------------------------------------------------------------------------- -- Internal helper functions ------------------------------------------------------------------------------- local function in_array( needle, haystack ) if needle == nil then return false end for n, v in ipairs( haystack ) do if v == needle then return n end end return false end local function findLang(langcode) local langobj langcode = mw.text.trim(langcode or "") if langcode ~= "" then if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new(langcode) end else langobj = mw.language.getContentLanguage() end return langobj and langobj.code end local function parseParam(param, default) if param == nil then return default end return param end local function setRanks(rank) rank = (rank or ""):lower() local ranks = {} for w in string.gmatch(rank, "%a+") do if w == "best" or w == "preferred" or w == "normal" or w == "deprecated" then ranks[w] = true end end if ranks.best or not next(ranks) then ranks.preferred = true ranks.normal = true ranks.deprecated = false end return ranks end local function labelOrId(id, lang_t) local langs = lang_t or {} local label for _,lang in ipairs(langs) do label = mw.wikibase.getLabelByLang(id, lang) if label ~= "" then break; end end label = label or mw.wikibase.getLabel(id) if label then return mw.text.nowiki(label), true else return id, false end end local function roundto(x, sf) if x == 0 then return 0 end local s = 1 if x < 0 then x = -x s = -1 end if sf < 1 then sf = 1 end local p = 10 ^ (math.floor(math.log10(x)) - sf + 1) x = math.floor(x / p + 0.5) * p * s if x == math.floor(x) then x = math.floor(x) end return x end local function decimalPrecision(x, p) local s = 1 if x < 0 then x = -x s = -1 end if not tonumber(p) then p = 1e-4 elseif p > 1 then p = 1 elseif p < 1e-6 then p = 1e-6 else p = 10 ^ math.floor(math.log10(p)) end x = math.floor(x / p + 0.5) * p * s if x == math.floor(x) then x = math.floor(x) end if math.abs(x) < 1e-4 then x = string.format("%f", x) end return x end local function decimalToDMS(x, p) if not tonumber(p) then p = 1e-4 end local d = math.floor(x) local ms = (x - d) * 60 if p > 0.5 then if ms > 30 then d = d + 1 end ms = 0 end local m = math.floor(ms) local s = (ms - m) * 60 if p > 0.008 then if s > 30 then m = m +1 end s = 0 elseif p > 0.00014 then s = math.floor(s + 0.5) elseif p > 0.000014 then s = math.floor(10 * s + 0.5) / 10 elseif p > 0.0000014 then s = math.floor(100 * s + 0.5) / 100 else s = math.floor(1000 * s + 0.5) / 1000 end return d, m, s end local function rawValue(dataValue) if dataValue.type == "string" then return dataValue.value elseif dataValue.type == "wikibase-entityid" then return dataValue.value and dataValue.value.id elseif dataValue.type == "monolingualtext" then return dataValue.value.text elseif dataValue.type == "quantity" then return tonumber(dataValue.value.amount) elseif dataValue.type == 'time' then return dataValue.value.time elseif dataValue.type == "globecoordinate" then return dataValue.value.latitude .. '/' .. dataValue.value.longitude end end local function compareValue(dataValue, strValue) return rawValue(dataValue) == strValue end local function dateFormat(timestamp, dprec, df, bcf, plaindate, qualifiers, lang, adj, model) df = (df or ""):lower() if df == "ymd" then if timestamp:sub(1,1) == "+" then return timestamp:sub(2,11) else local yr = tonumber(timestamp:sub(2,5)) - 1 yr = ("000" .. yr):sub(-4) if yr ~= "0000" then yr = "-" .. yr end return yr .. timestamp:sub(6,11) end end timestamp = timestamp:gsub("%-00%-00T", "-01-01T") dprec = dprec or 11 if df == "y" and dprec > 9 then dprec = 9 end dprec = dprec>11 and 11 or dprec dprec = dprec<6 and 6 or dprec bcf = (bcf or ""):upper() plaindate = (plaindate or ""):sub(1,1):lower() if plaindate == "" or plaindate == "n" or plaindate == "f" or plaindate == "0" then plaindate = false end do local llang = findLang() lang = in_array(lang, {llang, 'en'}) and lang or llang end adj = adj or "" local bc = timestamp:sub(1, 1)=="-" and "BC" or "" local year, month, day = timestamp:match("[+-](%d*)-(%d*)-(%d*)T") local iso = tonumber(year) if df == 'tt' then return { year = tonumber(timestamp:match("^([+-]%d*)-")) or 0, month = tonumber(month) or 0, day = tonumber(day) or 0 } end if dprec == 6 then iso = math.floor( (iso - 1) / 1000 ) + 1 end if dprec == 7 then iso = math.floor( (iso - 1) / 100 ) + 1 end if dprec == 8 then iso = math.floor( iso / 10 ) .. "0" end if dprec == 10 then iso = year .. "-" .. month end if dprec == 11 then iso = year .. "-" .. month .. "-" .. day end local sc = not plaindate and qualifiers and qualifiers.P1480 if sc then for k1, v1 in pairs(sc) do if v1.datavalue and v1.datavalue.value.id == "Q5727902" then adj = "circa" break end end end local calendarmodel = "" if tonumber(year) > 1582 and dprec > 8 and not plaindate and model == "http://www.wikidata.org/entity/Q1985786" then calendarmodel = "julian" end if not cdate then cdate = require("Module:Complex date")._complex_date end local fdate = cdate(calendarmodel, adj, tostring(iso), dp[dprec], bc, "", "", "", "", lang, 1) -- this may have QuickStatements info appended to it in a div, so remove that fdate = fdate:gsub(' <div style="display: none;">[^<]*</div>', '') -- it may also be returned wrapped in a microformat, so remove that fdate = fdate:gsub("<[^>]*>", "") -- there may be leading zeros that we should remove fdate = fdate:gsub("^0*", "") -- if a plain date is required, then remove any links (like BC linked) if plaindate then fdate = fdate:gsub("%[%[.*|", ""):gsub("]]", "") end -- if 'circa', use the abbreviated form *** internationalise later *** fdate = fdate:gsub('circa ', '<abbr title="circa">c.</abbr>&nbsp;') -- deal with BC/BCE if bcf == "BCE" then fdate = fdate:gsub('BC', 'BCE') end -- deal with mdy format if df == "mdy" then fdate = fdate:gsub("(%d+) (%w+) (%d+)", "%2 %1, %3") end -- deal with adjectival form *** internationalise later *** if plaindate == "a" then fdate = fdate:gsub(' century', '-century') end return fdate end local function hijriFormat(qualifiers, dateformat, lang) if not (qualifiers and qualifiers.P4241) then return; end local year, month, monthno, day local val local qhmonths = {["Q1952053"]=1,["Q489557"]=2, ["Q474167"] = 3, ["Q273815"] = 4, ["Q852002"] = 5, ["Q822218"] = 6, ["Q194210"] = 7, ["Q220914"] = 8, ["Q8867089"]=9, ["Q685440"]=10,["Q150853"]=11,["Q186022"]=12 } local hmonths = {"محرم","صفر","ربيع الأول","ربيع الآخر","جمادى الأولى","جمادى الآخرة","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة"} local hmonths_inv = {["محرم"] = 1, ["صفر"]=2, ["ربيع الأول"]=3, ["ربيع الآخر"]=4, ["جمادى الأولى"]=5, ["جمادى الآخرة"]=6, ["رجب"]=7, ["شعبان"]=8, ["رمضان"]=9, ["شوال"]=10, ["ذو القعدة"]=11, ["ذو الحجة"]=12} for _, item in ipairs(qualifiers.P4241) do local timeQ = item.datavalue and item.datavalue.value and item.datavalue.value.id local hastime = false if timeQ then local timeQt = mw.wikibase.getBestStatements(timeQ, "P361") for _,timeQsnak in pairs(timeQt) do local timeType = timeQsnak.mainsnak and timeQsnak.mainsnak.datavalue and timeQsnak.mainsnak.datavalue.value and timeQsnak.mainsnak.datavalue.value.id if timeType == "Q28892" then local timeLableAr = mw.wikibase.getLabelByLang(timeQ, "ar") if timeLableAr then year = mw.ustring.match(timeLableAr, "^(%d+) *هـ$") end if not year then local timeLableEn = mw.wikibase.getLabelByLang(timeQ, "en") if timeLableEn then year = mw.ustring.match(timeLableAr, "^(%d+) *AH$") end end hastime=true elseif qhmonths[timeType] then monthno = qhmonths[timeType] if monthno>0 and monthno<13 then month = hmonths[monthno] end local timeLableAr = mw.wikibase.getLabelByLang(timeQ, "ar") if timeLableAr then day = mw.ustring.match(timeLableAr, "^(%d+) *%a+$") end if not day then local timeLableEn = mw.wikibase.getLabelByLang(timeQ, "en") if timeLableEn then day = mw.ustring.match(timeLableAr, "^(%d+) *%a+$") end end hastime=true end end if not hastime then timeQt = mw.wikibase.getBestStatements(timeQ, "P31") if "Q125390868" == (timeQt[1].mainsnak and timeQt[1].mainsnak.datavalue and timeQt[1].mainsnak.datavalue.value and timeQt[1].mainsnak.datavalue.value.id ) then val = mw.wikibase.getLabelByLang(timeQ, "ar") month, year = mw.ustring.match(val, "^(%a[%a ]+%a) *(%d+) *هـ?$") monthno = hmonths_inv[month] end end end end if year then if dateformat == "tt" then return {year = tonumber(year) or 0, month = monthno or 0, day = tonumber(day) or 0, monthname = month or ''} elseif dateformat == "y" or not month then return year; elseif day and month then if dateformat == 'ymd' then return string.format("%04d-%02d-%02d", tonumber(year), monthno, tonumber(day)); else return day .. ' ' .. month .. ' ' .. year; end elseif month then return month .. ' ' .. year; end end return nil; end local function rawValueOrDF (statement, opt) local datasnak = statement.mainsnak or statement if (datasnak.datavalue and datasnak.datavalue.type == 'time') and (opt.hijri or opt.df) then if opt.hijri then return statement.qualifiers and hijriFormat(statement.qualifiers, opt.df) or nil elseif opt.df then local dv = datasnak.datavalue.value return dateFormat(dv.time, dv.precision, opt.df, opt.bc, opt.plaindate, statement.qualifiers, opt.lang, "", dv.calendarmodel) end else return rawValue(datasnak.datavalue) end end local function sourced(claim) if claim.references then for kr, vr in pairs(claim.references) do local ref = mw.wikibase.renderSnaks(vr.snaks) if not ref:find("Wiki") then return true end end end end local function linkedItem(id, args) local linkprefix = (args.linkprefix or ""):gsub('"', '') local lpostfix = (args.lpostfix or ""):gsub('"', '') local prefix = (args.prefix or ""):gsub('"', '') local postfix = (args.postfix or ""):gsub('"', '') local wikilinkprefix = (args.wikilinkprefix or ""):gsub('"', '') local dtxt = args.dtxt local uselabel = parseParam( args.uselabel, true) local langs = (args.langs and #args.langs>0) and args.langs or { args.lang } local disp local sitelink = mw.wikibase.getSitelink(id, args.linksproject) local label, islabel if dtxt then label, islabel = dtxt, true else label, islabel = labelOrId(id, langs) end if sitelink then if not uselabel then local pos = sitelink:find(":") or 0 local slink = sitelink if pos > 0 then local pfx = sitelink:sub(1,pos-1) if mw.site.namespaces[pfx] then slink = sitelink:sub(pos+1) end end slink = slink:gsub("%s%(.+%)$", ""):gsub(",.+$", "") if label:find("^%u") then label = slink:gsub("^(%l)", string.upper) else label = slink:gsub("^(%u)", string.lower) end end disp = "[[" .. wikilinkprefix .. sitelink .. lpostfix .. "|" .. prefix .. label .. postfix .. "]]" elseif islabel then disp = prefix .. label .. postfix else disp = prefix .. label .. postfix .. i18n.missinginfocat end return disp end local function rendersnak(propval, args, linked, lpre, lpost, pre, post, unitabbr, filter) lpre = lpre or "" lpost = lpost or "" pre = pre or "" post = post or "" args.lang = args.lang or (args.langs and args.langs[1]) or findLang(); local langs = (args.langs and #args.langs>0) and args.langs or {args.lang } local snak = propval.mainsnak or propval local dtype = snak.datatype local dv = snak.datavalue dv = dv and dv.value local val, mlt local namedas; namedas = propval.qualifiers and propval.qualifiers.P1932 and propval.qualifiers.P1932[1].datavalue and propval.qualifiers.P1932[1].datavalue.value or nil args.dtxt = namedas if propval.rank and not args.reqranks[propval.rank] then return nil elseif snak.snaktype == "somevalue" then val = namedas or i18n["Unknown"] elseif snak.snaktype == "novalue" then -- return nothing elseif dtype == "wikibase-item" then local qnumber = dv.id if linked then val = linkedItem(qnumber, args) else if namedas then val = pre .. namedas .. post else local label, islabel = labelOrId(qnumber, langs) val = pre .. label .. post end end elseif dtype == "time" then if args.hijri then val = hijriFormat(propval.qualifiers, args.df, args.lang) else val = dateFormat(dv.time, dv.precision, args.df, args.bc, args.plaindate, propval.qualifiers, args.lang, "", dv.calendarmodel) end elseif dtype == "commonsMedia" or dtype == "external-id" or dtype == "string" or dtype == "url" then if dtype == "external-id" and args.fullidurl then val = mw.ustring.match(mw.wikibase.formatValue(snak), "%[(https?://[^%s%]]+)") elseif (lpre == "" or lpre == ":") and lpost == "" then val = pre .. dv .. post elseif dtype == "external-id" then val = "[" .. lpre .. dv .. lpost .. " " .. pre .. dv .. post .. "]" else val = "[[" .. lpre .. dv .. lpost .. "|" .. pre .. dv .. post .. "]]" end elseif dtype == "quantity" then local amount = tonumber(dv.amount) or i18n["NaN"] local unit = "" local unitqid = string.match(dv.unit, "(Q%d+)") if filter and unitqid ~= filter then return nil end if unitqid then local uname = labelOrId(unitqid, langs) or "" if uname ~= "" then unit = " " .. uname end end val = tostring(amount) .. unit elseif dtype == "globe-coordinate" then local lat, long, prec = dv.latitude, dv.longitude, dv.precision local show = (args.show or ""):lower() if show == "lat" then val = decimalPrecision(lat, prec) elseif show == "lon" then val = decimalPrecision(long, prec) elseif show == "longlat" then val = decimalPrecision(long, prec) .. ", " .. decimalPrecision(lat, prec) else local ns = lat < 0 and "S" or "N" local ew = long < 0 and "W" or "E" if lat < 0 then lat = -lat end if long < 0 then long = -long end val = decimalPrecision(lat, prec) .. "°" .. ns .. " " .. decimalPrecision(long, prec) .. "°" .. ew end elseif dtype == "monolingualtext" then val = pre .. dv.text .. post mlt = dv.language else val = "unknown data type: " .. dtype end return val, mlt end local function assembleoutput(out, args, entityID, propertyID) local sorted = parseParam(args.sorted, false) local noicon = parseParam(args.noicon, false) local list = args.list or "" local separator = args.sep or "" separator = string.gsub(separator, '"', '') if separator == "" then local rtl_lang = {ar = true, fa = true, ur = true, ku = true, he = true} separator = rtl_lang[args.lang] and i18n["list separator-ar"] or i18n["list separator"] end local strout if #out > 0 then if sorted then table.sort(out) end if list == "" then strout = table.concat(out, separator) elseif list:lower() == "prose" then strout = mw.text.listToText(out) else strout = mw.getCurrentFrame():expandTemplate{title = list, args = out} end else strout = nil end return strout end -- WdItem local function propertyvalueandquals(objproperty, args, qualID) -- needs this style of declaration because it's re-entrant -- onlysourced is a boolean passed to return only values sourced to other than Wikipedia -- if nothing or an empty string is passed set it true local onlysrc = parseParam(args.onlysourced, false) -- linked is a a boolean that enables the link to a local page via sitelink -- if nothing or an empty string is passed set it true local linked = parseParam(args.linked, true) -- prefix is a string that may be nil, empty (""), or a string of characters -- this is prefixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local prefix = (args.prefix or ""):gsub('"', '') -- postfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local postfix = (args.postfix or ""):gsub('"', '') -- linkprefix is a string that may be nil, empty (""), or a string of characters -- this creates a link and is then prefixed to each value -- useful when when multiple values are returned and indirect links are needed -- any double-quotes " are stripped out, so that spaces may be passed local linkprefix = (args.linkprefix or ""):gsub('"', '') -- linkpostfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value when linking is enabled with linkprefix -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local lpostfix = (args.linkpostfix or ""):gsub('"', '') -- wdlinks is a boolean passed to enable links to Wikidata when no article exists -- if nothing or an empty string is passed set it false local wdlinks = parseParam(args.wdlinks, false) -- unitabbr is a boolean passed to enable unit abbreviations for common units -- if nothing or an empty string is passed set it false local unitabbr = parseParam(args.unitabbr, false) -- qualsonly is a boolean passed to return just the qualifiers -- if nothing or an empty string is passed set it false local qualsonly = parseParam(args.qualsonly, false) -- maxvals is a string that may be nil, empty (""), or a number -- this determines how many items may be returned when multiple values are available -- setting it = 1 is useful where the returned string is used within another call, e.g. image local maxvals = tonumber(args.maxvals) or 0 -- plaindate boolean -- to disable/enable "sourcing cirumstances" or use adjectival form for the plain date local plaindate = args.plaindate or false args.plaindate = plaindate -- allow qualifiers to have a different date format; default to year unless qualsonly is set args.qualifierdateformat = args.qualifierdateformat or (not qualsonly and "y") local lang = args.lang or (args.langs and args.langs[1]) or findLang() -- qualID is a string list of wanted qualifiers or "ALL" qualID = qualID or "" -- capitalise list of wanted qualifiers and substitute "DATES" qualID = qualID:upper():gsub("DATES", "P580, P582") local allflag = (qualID == "ALL") -- create table of wanted qualifiers as key local qwanted = {} -- create sequence of wanted qualifiers local qorder = {} for q in mw.text.gsplit(qualID, "%p") do -- split at punctuation and iterate local qtrim = mw.text.trim(q) if qtrim ~= "" then qwanted[mw.text.trim(q)] = true qorder[#qorder+1] = qtrim end end -- qsep is the output separator for rendering qualifier list local qsep = (args.qsep or ""):gsub('"', '') -- qargs are the arguments to supply to assembleoutput() local qargs = { ["onlysourced"] = false, ["linked"] = tostring(linked), ["prefix"] = args.qprefix, ["postfix"] = args.qpostfix, ["linkprefix"] = args.qlinkprefix, ["linkpostfix"] = args.qlinkpostfix, ["wdlinks"] = false, ["unitabbr"] = tostring(unitabbr), ["maxvals"] = 0, ["sorted"] = tostring(args.qsorted), ["noicon"] = true, ["list"] = args.qlist, ["sep"] = qsep, -- ["langobj"] = args.langobj, ["lang"] = lang, langs = args.langs, ["df"] = args.qualifierdateformat, ["shortname"] = parseParam(args.qshortname, false), } -- all proper values of a Wikidata property will be the same type as the first -- qualifiers don't have a mainsnak, properties do --#Modified line local datatype = objproperty[1].datatype or (objproperty[1].mainsnak and objproperty[1].mainsnak.datatype) -- out[] holds the a list of returned values for this property -- mlt[] holds the language code if the datatype is monolingual text local out = {} local mlt = {} for k, v in ipairs(objproperty) do local hasvalue = true if (onlysrc and not sourced(v)) then -- no value: it isn't sourced when onlysourced=true hasvalue = false else local val, lcode = rendersnak(v, args, linked, linkprefix, lpostfix, prefix, postfix, unitabbr) if not val then hasvalue = false -- rank doesn't match elseif qualsonly and qualID then -- suppress value returned: only qualifiers are requested else out[#out+1], mlt[#out+1] = val, lcode end end -- See if qualifiers are to be returned: local snak = v.mainsnak or v if hasvalue and v.qualifiers and qualID ~= "" and snak.snaktype~="novalue" then -- collect all wanted qualifier values returned in qlist, indexed by propertyID local qlist = {} local timestart, timeend = "", "" -- loop through qualifiers for k1, v1 in pairs(v.qualifiers) do if allflag or qwanted[k1] then if k1 == "P1326" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qualifierdateformat, args.bc, plaindate, "", lang, "before") elseif k1 == "P1319" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qualifierdateformat, args.bc, plaindate, "", lang, "after") elseif k1 == "P580" then timestart = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one start time as valid elseif k1 == "P582" then timeend = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one end time as valid else local q = assembleoutput(propertyvalueandquals(v1, qargs), qargs) -- we already deal with circa via 'sourcing circumstances' if the datatype was time -- circa may be either linked or unlinked *** internationalise later *** if datatype ~= "time" or q ~= "circa" and not (type(q) == "string" and q:find("circa]]")) then qlist[k1] = q end end end -- of test for wanted end -- of loop through qualifiers -- set date separator local t = timestart .. timeend -- *** internationalise date separators later *** local dsep = "&ndash;" if t:find("%s") or t:find("&nbsp;") then dsep = " &ndash; " end -- set the order for the list of qualifiers returned; start time and end time go last if next(qlist) then local qlistout = {} if allflag then for k2, v2 in pairs(qlist) do qlistout[#qlistout+1] = v2 end else for i2, v2 in ipairs(qorder) do qlistout[#qlistout+1] = qlist[v2] end end if t ~= "" then qlistout[#qlistout+1] = timestart .. dsep .. timeend end local qstr = assembleoutput(qlistout, qargs) if qualsonly then out[#out+1] = qstr else out[#out] = out[#out] .. " (" .. qstr .. ")" end elseif t ~= "" then if qualsonly then if timestart == "" then out[#out+1] = timeend elseif timeend == "" then out[#out+1] = timestart else out[#out+1] = timestart .. dsep .. timeend end else out[#out] = out[#out] .. " (" .. timestart .. dsep .. timeend .. ")" end end end -- of test for qualifiers wanted if maxvals > 0 and #out >= maxvals then break end end -- of for each value loop -- we need to pick one value to return if the datatype was "monolingualtext" -- if there's only one value, use that -- otherwise look through the fallback languages for a match if datatype == "monolingualtext" and #out >1 then lang = mw.text.split( lang, '-', true )[1] local fbtbl = mw.language.getFallbacksFor( lang ) table.insert( fbtbl, 1, lang ) local bestval = "" local found = false for idx1, lang1 in ipairs(fbtbl) do for idx2, lang2 in ipairs(mlt) do if (lang1 == lang2) and not found then bestval = out[idx2] found = true break end end -- loop through values of property end -- loop through fallback languages if found then -- replace output table with a table containing the best value out = { bestval } else -- more than one value and none of them on the list of fallback languages -- sod it, just give them the first one out = { out[1] } end end return out end local function mergeOptions(defaults, overrides) overrides = overrides or {} defaults = defaults or {} local result = {} for k, v in pairs(defaults) do result[k] = v end for k, v in pairs(overrides) do result[k] = v if k == 'rank' then result.reqranks = setRanks(v) end end return result end local function filterbyqualifier(statements,qual,value) local filtered_statements = {} for _, statement in ipairs(statements) do if statement.qualifiers and statement.qualifiers[qual] then if '*' == value then filtered_statements[#filtered_statements + 1] = statement else for _, q in ipairs(statement.qualifiers[qual]) do if q.datavalue and (rawValue(q.datavalue) == value) then filtered_statements[#filtered_statements + 1] = statement break end end end end end return filtered_statements end local function orderbyrank(statements) local pref_count = 0 local sorted_statements = {} for k,v in ipairs(statements) do if v.rank == 'preferred' then pref_count = pref_count + 1 table.insert(sorted_statements, pref_count, v) else sorted_statements[#sorted_statements + 1] = v end end return sorted_statements end ------------------------------------------------------------------------------- -- helper class functions ------------------------------------------------------------------------------- local function class() local c = {} c.__index = c function c:new(...) local o = setmetatable({}, c) if o.init then o:init(...) end return o end return c end ------------------------------------------------------------------------------- -- Statement Class Definition ------------------------------------------------------------------------------- local WdStatement = class() function WdStatement:getValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statement = self._statement if not statement then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals({statement}, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatement:getRawValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) if not self._statement then return nil end local datasnak = self._statement.mainsnak or self._statement if datasnak.snaktype == "value" then return rawValueOrDF(self._statement, mergedOpts) else return datasnak.snaktype end end function WdStatement:getRawQual(qualID) local ret = {} local s = self._statement if s.qualifiers and s.qualifiers[qualID] then for _,q in pairs(s.qualifiers[qualID]) do if q.snaktype == "value" then ret[#ret + 1] = rawValueOrDF(q, self.parent.options) else ret[#ret + 1] = q.snaktype end end end return ret end ------------------------------------------------------------------------------- -- Statements Class Definition ------------------------------------------------------------------------------- local WdStatements = class() function WdStatements:getStatmentsTable() return self._statements end function WdStatements:count() return #self._statements end function WdStatements:getFilters() return self.filtered_by end function WdStatements:filter(filter_t) local statements = self._statements if #statements == 0 then return self; end local ret = WdStatements:new() ret.parent = self.parent ret.filtered_by = {} for _,v in ipairs(self.filtered_by) do ret.filtered_by[#ret.filtered_by + 1] = v end local filtered_statements = {} for k,v in pairs(filter_t) do filtered_statements = filterbyqualifier(statements, k, v) ret.filtered_by[#ret.filtered_by + 1] = {[k] = v} if #filtered_statements == 0 then break; else statements = filtered_statements end end ret._statements = filtered_statements return ret end function WdStatements:getValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statements = self._statements if not statements or #statements == 0 then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatements:getQual(qualID, opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statements = self._statements if not statements or #statements == 0 then return nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatements:getRawQual(qualID) local ret = {} for _,s in pairs(self._statements) do local qual_t = {} if s.qualifiers and s.qualifiers[qualID] then for _,q in pairs(s.qualifiers[qualID]) do if q.snaktype == "value" then qual_t[#qual_t + 1] = rawValueOrDF(q, self.parent.options) else qual_t[#qual_t + 1] = q.snaktype end end end ret[#ret + 1] = qual_t end return ret end function WdStatements:getRawValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local ret = {} for _,v in pairs(self._statements) do local datasnak = v.mainsnak or v if datasnak.snaktype=="value" then ret[#ret + 1] = rawValueOrDF(v, mergedOpts) else ret[#ret + 1] = datasnak.snaktype end end return ret end function WdStatements:get(index) local ret = WdStatement:new() ret.parent = self.parent ret.filtered_by = ret.filtered_by ret._statement = self._statements[index] ret.pid = ret.pid return ret end function WdStatements:iter() local i = 0 local n = self._statements and #self._statements or 0 return function() i = i + 1 if i <= n then return i, self:get(i) end end end function WdStatements:ipairs() return self:iter() end function WdStatements:getBestOne() local orderd_statements = orderbyrank(self._statements) local ret = WdStatement:new() --setmetatable({}, WdStatement) ret.parent = self.parent ret.filtered_by = ret.filtered_by ret._statement = orderd_statements[1] ret.pid = ret.pid return ret end ------------------------------------------------------------------------------- -- WdItem Class Definition ------------------------------------------------------------------------------- local WdItem = class() function WdItem:__tostring() return "WdItem: " .. (self.qid or "no QID") end function WdItem:UpdateOptions(in_newOpts) local newOpts = in_newOpts or {} for k, v in pairs(newOpts or {}) do self.options[k] = v end -- Set default options if newOpts.lang then self.options.lang = findLang(newOpts.lang) end if (newOpts.lang and not self.options.lang) or (not newOpts.lang and newOpts.langs and #newOpts.langs > 0) then for _, l in ipairs(newOpts.langs) do self.options.lang = findLang(l) if self.options.lang then break; end end end if not self.options.lang then self.options.lang = findLang(); end if newOpts.rank then self.options.reqranks = setRanks(self.options.rank) end if not self.options.reqranks then self.options.reqranks = setRanks('preferred normal') end end function WdItem:init(qid, options,snak) if qid == "" then qid = nil; end self.qid = qid self.snak = snak self.options = options or {} self:UpdateOptions(options) return self end function WdItem:newFromSnaks(snakTable, options) local self = WdItem:new(nil, options or {}, snakTable) self:UpdateOptions(options) return self end function WdItem:setOptions(newOpts) self:UpdateOptions(newOpts) end function WdItem:getStatements(pid, opts) local mergedOpts = mergeOptions(self.options, opts or {}) local statements local ret = WdStatements:new() ret.parent = self ret.filtered_by = {} ret._statements = {} ret.pid = pid if self.snak and self.snak[pid] then statements = self.snak[pid] elseif not self.qid or not mw.wikibase then statements = {} elseif mergedOpts.reqranks and mergedOpts.reqranks.best then statements = mw.wikibase.getBestStatements(self.qid, pid) or {} else statements = mw.wikibase.getAllStatements(self.qid, pid) or {} local filtered_statements = {} if not (mergedOpts.reqranks.deprecated == true and mergedOpts.reqranks.preferred == true and mergedOpts.reqranks.normal == true) then for _,s in pairs(statements) do if mergedOpts.reqranks[s.rank] then filtered_statements[#filtered_statements + 1] = s end end end statements = filtered_statements end if #statements > 0 and mergedOpts.qualifiedaspossible and mergedOpts.qualifiedaspossible ~= {} then local filtered_statements = {} for q,qv in pairs(mergedOpts.qualifiedaspossible) do filtered_statements = filterbyqualifier(statements, q, qv) if #filtered_statements > 0 then ret.filtered_by[#ret.filtered_by + 1] = {[q] = qv} statements = filtered_statements end end end if #statements > 0 and mergedOpts.qualified and mergedOpts.qualified ~= {} then for q,qv in pairs(mergedOpts.qualified) do statements = filterbyqualifier(statements, q, qv) ret.filtered_by[#ret.filtered_by + 1] = {[q] = qv} if #statements == 0 then break; end end end ret._statements = statements return ret end function WdItem:getValue(pid, opts) local mergedOpts = mergeOptions(self.options, opts) local statements for _, p in pairs(type(pid) == "string" and {pid} or pid) do statements = self:getStatements(p, mergedOpts):getStatmentsTable() if #statements > 0 then break; end end if not statements or #statements == 0 then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.qid, pid) end function WdItem:getRawValue(pid, opts) local mergedOpts = mergeOptions(self.options, opts) local statements for _, p in pairs(type(pid) == "string" and {pid} or pid) do statements = self:getStatements(p, mergedOpts):getStatmentsTable() if #statements > 0 then break; end end if not statements or #statements == 0 then return nil end local ret = {} for _,v in pairs(statements) do local datasnak = v.mainsnak or v if datasnak.snaktype=="value" then ret[#ret + 1] = rawValueOrDF(v, mergedOpts) else ret[#ret + 1] = datasnak.snaktype end end return ret end function WdItem:getValueFromSnaks(pid, opts) if not self.snak or not self.snak[pid] then return nil end local mergedOpts = mergeOptions(self.options, opts) local props = self.snak[pid] local out = propertyvalueandquals(props, mergedOpts) return assembleoutput(out, mergedOpts, nil, pid) end function WdItem:getPropertyIDsTable(pid, opts) local mergedOpts = mergeOptions(self.options, opts) mergedOpts.noicon = tostring(parseParam(mergedOpts.noicon or "", true)) local statements = self:getStatements(pid, opts) if not statements or #statements == 0 then return {} end local onlysrc = parseParam(mergedOpts.onlysourced or mergedOpts.onlysourced, true) local maxvals = tonumber(mergedOpts.maxvals) or 0 local out = {} for i, v in ipairs(statements) do local snak = v.mainsnak or v if (snak.datatype == "wikibase-item") and (v.rank and mergedOpts.reqranks[v.rank:sub(1, 1)]) and (snak.snaktype == "value") and (sourced(v) or not onlysrc) then out[#out+1] = snak.datavalue.value.id end if maxvals > 0 and #out >= maxvals then break end end return out end function WdItem:getPropertyIDs(pid, opts) local out = WdItem:getPropertyIDsTable(pid, opts) if #out == 0 then return nil end return assembleoutput(out, mergeOptions(self.options, opts), self.qid, pid) end function WdItem:getPropOfProp(prop1, prop2, opts) local mergedOpts = mergeOptions(self.options, opts) if not self.qid then return nil end local maxvals = tonumber(mergedOpts.maxvals) or 0 local prop1Values = self:getStatements(prop1, opts):getRawValue() if #prop1Values == 0 then return nil end local out = {} for k, qid2 in ipairs(prop1Values) do local item2 = WdItem:new(qid2, mergedOpts) local prop2Values = item2:getStatements(prop2):getStatmentsTable() if prop2Values and prop2Values[1] then local out2 = propertyvalueandquals(prop2Values, mergedOpts, mergedOpts.qual) out[#out+1] = assembleoutput(out2, mergedOpts, qid2, prop2) end if maxvals > 0 and #out >= maxvals then break end end return assembleoutput(out, mergedOpts, self.qid, prop1) end function WdItem:getRawPropOfProp(prop1, prop2, opts) local mergedOpts = mergeOptions(self.options, opts) if not self.qid then return nil end local prop1Values = self:getStatements(prop1, opts):getRawValue() if #prop1Values == 0 then return nil end local out = {} for k, qid2 in ipairs(prop1Values) do local item2 = WdItem:new(qid2, mergedOpts) local prop2Values = item2:getStatements(prop2):getRawValue() for _,val in ipairs(prop2Values) do if not in_array(val,out) then out[#out + 1] = val end end end return out end function WdItem:getLangOfProp(pid) if not pid then return {}; end local out = {} local props = self.snak and self.snak[pid] or (self.qid and mw.wikibase.getAllStatements(self.qid, pid)) or {} for _, v in ipairs(props) do local datasnak = v.mainsnak or v if datasnak.datatype == "monolingualtext" and datasnak.datavalue then out[#out + 1] = datasnak.datavalue.value.language end end return out end function WdItem:followQid(props, all) all = parseParam(all, false) props = (props or ""):upper() if not self.qid then return nil end if props == "" then return self.qid end local out = {} for p in mw.text.gsplit(props, "%p") do p = mw.text.trim(p) for i, v in ipairs(mw.wikibase.getBestStatements(self.qid, p)) do local linkedid = v.mainsnak.datavalue and v.mainsnak.datavalue.value and v.mainsnak.datavalue.value.id if linkedid then if all then out[#out+1] = linkedid else return WdItem:new(linkedid) end end end end if #out > 0 then return table.concat(out, " ") else return self end end function WdItem:getLabel(langs) if self.qid then local label, found = labelOrId(self.qid, langs or self.options.langs) return found and label or nil else return nil end end function WdItem:getDescription(langs) if self.qid then local langs_t = langs or self.options.langs local desc for _,lang in ipairs(langs_t) do desc = mw.wikibase.getDescriptionByLang(self.qid, lang) if desc and desc ~= "" then return desc end end end return nil end ------------------------------------------------------------------------------- -- Public API - WdItem Constructors ------------------------------------------------------------------------------- p.WdItem = WdItem function p.newItem(qid, opts, snak ) return WdItem:new(qid, opts, snak) end function p.newSnakItem(snakTable, opts) return WdItem:newFromSnaks(snakTable, opts) end return p ow1vvb8v79bsv64r89cg4wquh1lp3dn وحدة:WdItem/شرح 828 307163 617368 2026-08-13T16:24:13Z حبيشان 52457 استيراد من ar.wiktionary.org 617368 wikitext text/x-wiki {{رسالة استدعاء من لوا فقط}} io69yw7jlz2cnlf2lnwzv3oi8pu9a6x وحدة:WdItem/ملعب 828 307164 617369 2026-08-13T16:24:15Z حبيشان 52457 استيراد من ar.wiktionary.org 617369 Scribunto text/plain -- Module: WdItem -- Object-oriented Wikidata access module for Lua -- Refactored from WikidataIB for direct Lua usage require("strict") local p = {} -- i18n configuration local i18n = { ["errors"] = { ["property-not-found"] = "الخاصية غير موجودة.", ["entity-not-found"] = "الكيان على ويكي بيانات غير موجود.", ["unknown-claim-type"] = "نوع الادعاء غير معروف.", ["local-article-not-found"] = "المعرف متاح على ويكي بيانات، ولكن المقال غير متاح على ويكيبيديا", }, ["months"] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }, ["Unknown"] = "Unknown", ["NaN"] = "Not a number", ["missinginfocat"] = "[[تصنيف:Articles with missing Wikidata information]]", ["list separator"] = ", ", ["list separator-ar"] = "، ", } -- Date precision constants local dp = { [6] = "millennium", [7] = "century", [8] = "decade", [9] = "year", [10] = "month", [11] = "day", } -- local options_aliases = { -- ["osd"] = "onlysourced", -- ["wdl"] = "wdlinks", -- ["uabbr"] = "unitabbr", -- ["qo"] = "qualsonly", -- ["lp"] = "linkprefix", -- ["lprefix"] = "linkprefix", -- ["qlp"] = "qlinkprefix", -- ["sn"] = "shortname", -- ["uselbl"] = "uselabel", -- ["pd"] = "plaindate", -- ["qdf"] = "qualifierdateformat", -- ["df"] = "qualifierdateformat", -- ["qsn"] = "qshortname" -- } -- setmetatable(options_aliases, { __index = function(t, k) return k end }) ------------------------------------------------------------------------------- -- Internal helper functions ------------------------------------------------------------------------------- local function in_array( needle, haystack ) if needle == nil then return false end for n, v in ipairs( haystack ) do if v == needle then return n end end return false end local function findLang(langcode) local langobj langcode = mw.text.trim(langcode or "") if langcode ~= "" then if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new(langcode) end else langobj = mw.language.getContentLanguage() end return langobj and langobj.code end local function parseParam(param, default) if param == nil then return default end return param end local function setRanks(rank) rank = (rank or ""):lower() local ranks = {} for w in string.gmatch(rank, "%a+") do if w == "best" or w == "preferred" or w == "normal" or w == "deprecated" then ranks[w] = true end end if ranks.best or not next(ranks) then ranks.preferred = true ranks.normal = true ranks.deprecated = false end return ranks end local function labelOrId(id, lang_t) local langs = lang_t or {} local label for _,lang in ipairs(langs) do label = mw.wikibase.getLabelByLang(id, lang) if label ~= "" then break; end end label = label or mw.wikibase.getLabel(id) if label then return mw.text.nowiki(label), true else return id, false end end local function roundto(x, sf) if x == 0 then return 0 end local s = 1 if x < 0 then x = -x s = -1 end if sf < 1 then sf = 1 end local p = 10 ^ (math.floor(math.log10(x)) - sf + 1) x = math.floor(x / p + 0.5) * p * s if x == math.floor(x) then x = math.floor(x) end return x end local function decimalPrecision(x, p) local s = 1 if x < 0 then x = -x s = -1 end if not tonumber(p) then p = 1e-4 elseif p > 1 then p = 1 elseif p < 1e-6 then p = 1e-6 else p = 10 ^ math.floor(math.log10(p)) end x = math.floor(x / p + 0.5) * p * s if x == math.floor(x) then x = math.floor(x) end if math.abs(x) < 1e-4 then x = string.format("%f", x) end return x end local function decimalToDMS(x, p) if not tonumber(p) then p = 1e-4 end local d = math.floor(x) local ms = (x - d) * 60 if p > 0.5 then if ms > 30 then d = d + 1 end ms = 0 end local m = math.floor(ms) local s = (ms - m) * 60 if p > 0.008 then if s > 30 then m = m +1 end s = 0 elseif p > 0.00014 then s = math.floor(s + 0.5) elseif p > 0.000014 then s = math.floor(10 * s + 0.5) / 10 elseif p > 0.0000014 then s = math.floor(100 * s + 0.5) / 100 else s = math.floor(1000 * s + 0.5) / 1000 end return d, m, s end local function rawValue(dataValue) if dataValue.type == "string" then return dataValue.value elseif dataValue.type == "wikibase-entityid" then return dataValue.value and dataValue.value.id elseif dataValue.type == "monolingualtext" then return dataValue.value.text elseif dataValue.type == "quantity" then return tonumber(dataValue.value.amount) elseif dataValue.type == 'time' then return dataValue.value.time elseif dataValue.type == "globecoordinate" then return dataValue.value.latitude .. '/' .. dataValue.value.longitude end end local function compareValue(dataValue, strValue) return rawValue(dataValue) == strValue end local function dateFormat(timestamp, dprec, df, bcf, plaindate, qualifiers, lang, adj, model) df = (df or ""):lower() if df == "ymd" then if timestamp:sub(1,1) == "+" then return timestamp:sub(2,11) else local yr = tonumber(timestamp:sub(2,5)) - 1 yr = ("000" .. yr):sub(-4) if yr ~= "0000" then yr = "-" .. yr end return yr .. timestamp:sub(6,11) end end timestamp = timestamp:gsub("%-00%-00T", "-01-01T") dprec = dprec or 11 if df == "y" and dprec > 9 then dprec = 9 end dprec = dprec>11 and 11 or dprec dprec = dprec<6 and 6 or dprec bcf = (bcf or ""):upper() plaindate = (plaindate or ""):sub(1,1):lower() if plaindate == "" or plaindate == "n" or plaindate == "f" or plaindate == "0" then plaindate = false end lang = lang or findLang() adj = adj or "" local bc = timestamp:sub(1, 1)=="-" and "BC" or "" local year, month, day = timestamp:match("[+-](%d*)-(%d*)-(%d*)T") local iso = tonumber(year) if df == 'tt' then return { year = tonumber(timestamp:match("^([+-]%d*)-")) or 0, month = tonumber(month) or 0, day = tonumber(day) or 0 } end if dprec == 6 then iso = math.floor( (iso - 1) / 1000 ) + 1 end if dprec == 7 then iso = math.floor( (iso - 1) / 100 ) + 1 end if dprec == 8 then iso = math.floor( iso / 10 ) .. "0" end if dprec == 10 then iso = year .. "-" .. month end if dprec == 11 then iso = year .. "-" .. month .. "-" .. day end local sc = not plaindate and qualifiers and qualifiers.P1480 if sc then for k1, v1 in pairs(sc) do if v1.datavalue and v1.datavalue.value.id == "Q5727902" then adj = "circa" break end end end local calendarmodel = "" if tonumber(year) > 1582 and dprec > 8 and not plaindate and model == "http://www.wikidata.org/entity/Q1985786" then calendarmodel = "julian" end -- Simplified date formatting (complex date module not available) local fdate = tostring(iso) if bc ~= "" then fdate = fdate .. " " .. (bcf == "BC" and "BC" or "BCE") end if adj == "circa" then fdate = "c. " .. fdate end return fdate end local function hijriFormat(qualifiers, dateformat, lang) if not (qualifiers and qualifiers.P4241) then return; end local year, month, monthno, day local val local qhmonths = {["Q1952053"]=1,["Q489557"]=2, ["Q474167"] = 3, ["Q273815"] = 4, ["Q852002"] = 5, ["Q822218"] = 6, ["Q194210"] = 7, ["Q220914"] = 8, ["Q8867089"]=9, ["Q685440"]=10,["Q150853"]=11,["Q186022"]=12 } local hmonths = {"محرم","صفر","ربيع الأول","ربيع الآخر","جمادى الأولى","جمادى الآخرة","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة"} local hmonths_inv = {["محرم"] = 1, ["صفر"]=2, ["ربيع الأول"]=3, ["ربيع الآخر"]=4, ["جمادى الأولى"]=5, ["جمادى الآخرة"]=6, ["رجب"]=7, ["شعبان"]=8, ["رمضان"]=9, ["شوال"]=10, ["ذو القعدة"]=11, ["ذو الحجة"]=12} for _, item in ipairs(qualifiers.P4241) do local timeQ = item.datavalue and item.datavalue.value and item.datavalue.value.id local hastime = false if timeQ then local timeQt = mw.wikibase.getBestStatements(timeQ, "P361") for _,timeQsnak in pairs(timeQt) do local timeType = timeQsnak.mainsnak and timeQsnak.mainsnak.datavalue and timeQsnak.mainsnak.datavalue.value and timeQsnak.mainsnak.datavalue.value.id if timeType == "Q28892" then local timeLableAr = mw.wikibase.getLabelByLang(timeQ, "ar") if timeLableAr then year = mw.ustring.match(timeLableAr, "^(%d+) *هـ$") end if not year then local timeLableEn = mw.wikibase.getLabelByLang(timeQ, "en") if timeLableEn then year = mw.ustring.match(timeLableAr, "^(%d+) *AH$") end end hastime=true elseif qhmonths[timeType] then monthno = qhmonths[timeType] if monthno>0 and monthno<13 then month = hmonths[monthno] end local timeLableAr = mw.wikibase.getLabelByLang(timeQ, "ar") if timeLableAr then day = mw.ustring.match(timeLableAr, "^(%d+) *%a+$") end if not day then local timeLableEn = mw.wikibase.getLabelByLang(timeQ, "en") if timeLableEn then day = mw.ustring.match(timeLableAr, "^(%d+) *%a+$") end end hastime=true end end if not hastime then timeQt = mw.wikibase.getBestStatements(timeQ, "P31") if "Q125390868" == (timeQt[1].mainsnak and timeQt[1].mainsnak.datavalue and timeQt[1].mainsnak.datavalue.value and timeQt[1].mainsnak.datavalue.value.id ) then val = mw.wikibase.getLabelByLang(timeQ, "ar") month, year = mw.ustring.match(val, "^(%a[%a ]+%a) *(%d+) *هـ?$") monthno = hmonths_inv[month] end end end end if year then if dateformat == "tt" then return {year = tonumber(year) or 0, month = monthno or 0, day = tonumber(day) or 0, monthname = month or ''} elseif dateformat == "y" or not month then return year; elseif day and month then if dateformat == 'ymd' then return string.format("%04d-%02d-%02d", tonumber(year), monthno, tonumber(day)); else return day .. ' ' .. month .. ' ' .. year; end elseif month then return month .. ' ' .. year; end end return nil; end local function rawValueOrDF (statement, opt) local datasnak = statement.mainsnak or statement if (datasnak.datavalue and datasnak.datavalue.type == 'time') and (opt.hijri or opt.df) then if opt.hijri then return statement.qualifiers and hijriFormat(statement.qualifiers, opt.df) or nil elseif opt.df then local dv = datasnak.datavalue.value return dateFormat(dv.time, dv.precision, opt.df, opt.bc, opt.plaindate, statement.qualifiers, opt.lang, "", dv.calendarmodel) end else return rawValue(datasnak.datavalue) end end local function sourced(claim) if claim.references then for kr, vr in pairs(claim.references) do local ref = mw.wikibase.renderSnaks(vr.snaks) if not ref:find("Wiki") then return true end end end end local function linkedItem(id, args) local linkprefix = (args.linkprefix or ""):gsub('"', '') local lpostfix = (args.lpostfix or ""):gsub('"', '') local prefix = (args.prefix or ""):gsub('"', '') local postfix = (args.postfix or ""):gsub('"', '') local wikilinkprefix = (args.wikilinkprefix or ""):gsub('"', '') local dtxt = args.dtxt local uselabel = parseParam( args.uselabel, true) local langs = (args.langs and #args.langs>0) and args.langs or { args.lang } local disp local sitelink = mw.wikibase.getSitelink(id, args.linksproject) local label, islabel if dtxt then label, islabel = dtxt, true else label, islabel = labelOrId(id, langs) end if sitelink then if not uselabel then local pos = sitelink:find(":") or 0 local slink = sitelink if pos > 0 then local pfx = sitelink:sub(1,pos-1) if mw.site.namespaces[pfx] then slink = sitelink:sub(pos+1) end end slink = slink:gsub("%s%(.+%)$", ""):gsub(",.+$", "") if label:find("^%u") then label = slink:gsub("^(%l)", string.upper) else label = slink:gsub("^(%u)", string.lower) end end disp = "[[" .. wikilinkprefix .. sitelink .. lpostfix .. "|" .. prefix .. label .. postfix .. "]]" elseif islabel then disp = prefix .. label .. postfix else disp = prefix .. label .. postfix .. i18n.missinginfocat end return disp end local function rendersnak(propval, args, linked, lpre, lpost, pre, post, unitabbr, filter) lpre = lpre or "" lpost = lpost or "" pre = pre or "" post = post or "" args.lang = args.lang or (args.langs and args.langs[1]) or findLang(); local langs = (args.langs and #args.langs>0) and args.langs or {args.lang } local snak = propval.mainsnak or propval local dtype = snak.datatype local dv = snak.datavalue dv = dv and dv.value local val, mlt local namedas; namedas = propval.qualifiers and propval.qualifiers.P1932 and propval.qualifiers.P1932[1].datavalue and propval.qualifiers.P1932[1].datavalue.value or nil args.dtxt = namedas if propval.rank and not args.reqranks[propval.rank] then return nil elseif snak.snaktype == "somevalue" then val = namedas or i18n["Unknown"] elseif snak.snaktype == "novalue" then -- return nothing elseif dtype == "wikibase-item" then local qnumber = dv.id if linked then val = linkedItem(qnumber, args) else if namedas then val = pre .. namedas .. post else local label, islabel = labelOrId(qnumber, langs) val = pre .. label .. post end end elseif dtype == "time" then if args.hijri then val = hijriFormat(propval.qualifiers, args.df, args.lang) else val = dateFormat(dv.time, dv.precision, args.df, args.bc, args.plaindate, propval.qualifiers, args.lang, "", dv.calendarmodel) end elseif dtype == "commonsMedia" or dtype == "external-id" or dtype == "string" or dtype == "url" then if (lpre == "" or lpre == ":") and lpost == "" then val = pre .. dv .. post elseif dtype == "external-id" then val = "[" .. lpre .. dv .. lpost .. " " .. pre .. dv .. post .. "]" else val = "[[" .. lpre .. dv .. lpost .. "|" .. pre .. dv .. post .. "]]" end elseif dtype == "quantity" then local amount = tonumber(dv.amount) or i18n["NaN"] local unit = "" local unitqid = string.match(dv.unit, "(Q%d+)") if filter and unitqid ~= filter then return nil end if unitqid then local uname = labelOrId(unitqid, langs) or "" if uname ~= "" then unit = " " .. uname end end val = tostring(amount) .. unit elseif dtype == "globe-coordinate" then local lat, long, prec = dv.latitude, dv.longitude, dv.precision local show = (args.show or ""):lower() if show == "lat" then val = decimalPrecision(lat, prec) elseif show == "lon" then val = decimalPrecision(long, prec) elseif show == "longlat" then val = decimalPrecision(long, prec) .. ", " .. decimalPrecision(lat, prec) else local ns = lat < 0 and "S" or "N" local ew = long < 0 and "W" or "E" if lat < 0 then lat = -lat end if long < 0 then long = -long end val = decimalPrecision(lat, prec) .. "°" .. ns .. " " .. decimalPrecision(long, prec) .. "°" .. ew end elseif dtype == "monolingualtext" then val = pre .. dv.text .. post mlt = dv.language else val = "unknown data type: " .. dtype end return val, mlt end local function assembleoutput(out, args, entityID, propertyID) local sorted = parseParam(args.sorted, false) local noicon = parseParam(args.noicon, false) local list = args.list or "" local separator = args.sep or "" separator = string.gsub(separator, '"', '') if separator == "" then local rtl_lang = {ar = true, fa = true, ur = true, ku = true, he = true} separator = rtl_lang[args.lang] and i18n["list separator-ar"] or i18n["list separator"] end local strout if #out > 0 then if sorted then table.sort(out) end if list == "" then strout = table.concat(out, separator) elseif list:lower() == "prose" then strout = mw.text.listToText(out) else strout = mw.getCurrentFrame():expandTemplate{title = list, args = out} end else strout = nil end return strout end local function propertyvalueandquals(objproperty, args, qualID) -- needs this style of declaration because it's re-entrant -- onlysourced is a boolean passed to return only values sourced to other than Wikipedia -- if nothing or an empty string is passed set it true local onlysrc = parseParam(args.onlysourced, false) -- linked is a a boolean that enables the link to a local page via sitelink -- if nothing or an empty string is passed set it true local linked = parseParam(args.linked, true) -- prefix is a string that may be nil, empty (""), or a string of characters -- this is prefixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local prefix = (args.prefix or ""):gsub('"', '') -- postfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local postfix = (args.postfix or ""):gsub('"', '') -- linkprefix is a string that may be nil, empty (""), or a string of characters -- this creates a link and is then prefixed to each value -- useful when when multiple values are returned and indirect links are needed -- any double-quotes " are stripped out, so that spaces may be passed local linkprefix = (args.linkprefix or ""):gsub('"', '') -- linkpostfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value when linking is enabled with linkprefix -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local lpostfix = (args.linkpostfix or ""):gsub('"', '') -- wdlinks is a boolean passed to enable links to Wikidata when no article exists -- if nothing or an empty string is passed set it false local wdlinks = parseParam(args.wdlinks, false) -- unitabbr is a boolean passed to enable unit abbreviations for common units -- if nothing or an empty string is passed set it false local unitabbr = parseParam(args.unitabbr, false) -- qualsonly is a boolean passed to return just the qualifiers -- if nothing or an empty string is passed set it false local qualsonly = parseParam(args.qualsonly, false) -- maxvals is a string that may be nil, empty (""), or a number -- this determines how many items may be returned when multiple values are available -- setting it = 1 is useful where the returned string is used within another call, e.g. image local maxvals = tonumber(args.maxvals) or 0 -- plaindate boolean -- to disable/enable "sourcing cirumstances" or use adjectival form for the plain date local plaindate = args.plaindate or false args.plaindate = plaindate -- allow qualifiers to have a different date format; default to year unless qualsonly is set args.qualifierdateformat = args.qualifierdateformat or (not qualsonly and "y") local lang = args.lang or (args.langs and args.langs[1]) or findLang() -- qualID is a string list of wanted qualifiers or "ALL" qualID = qualID or "" -- capitalise list of wanted qualifiers and substitute "DATES" qualID = qualID:upper():gsub("DATES", "P580, P582") local allflag = (qualID == "ALL") -- create table of wanted qualifiers as key local qwanted = {} -- create sequence of wanted qualifiers local qorder = {} for q in mw.text.gsplit(qualID, "%p") do -- split at punctuation and iterate local qtrim = mw.text.trim(q) if qtrim ~= "" then qwanted[mw.text.trim(q)] = true qorder[#qorder+1] = qtrim end end -- qsep is the output separator for rendering qualifier list local qsep = (args.qsep or ""):gsub('"', '') -- qargs are the arguments to supply to assembleoutput() local qargs = { ["onlysourced"] = "false", ["linked"] = tostring(linked), ["prefix"] = args.qprefix, ["postfix"] = args.qpostfix, ["linkprefix"] = args.qlinkprefix, ["linkpostfix"] = args.qlinkpostfix, ["wdlinks"] = "false", ["unitabbr"] = tostring(unitabbr), ["maxvals"] = 0, ["sorted"] = tostring(args.qsorted), ["noicon"] = "true", ["list"] = args.qlist, ["sep"] = qsep, -- ["langobj"] = args.langobj, ["lang"] = lang, langs = args.langs, ["df"] = args.qualifierdateformat, ["shortname"] = parseParam(args.qshortname, false), } -- all proper values of a Wikidata property will be the same type as the first -- qualifiers don't have a mainsnak, properties do --#Modified line local datatype = objproperty[1].datatype or (objproperty[1].mainsnak and objproperty[1].mainsnak.datatype) -- out[] holds the a list of returned values for this property -- mlt[] holds the language code if the datatype is monolingual text local out = {} local mlt = {} for k, v in ipairs(objproperty) do local hasvalue = true if (onlysrc and not sourced(v)) then -- no value: it isn't sourced when onlysourced=true hasvalue = false else local val, lcode = rendersnak(v, args, linked, linkprefix, lpostfix, prefix, postfix, unitabbr) if not val then hasvalue = false -- rank doesn't match elseif qualsonly and qualID then -- suppress value returned: only qualifiers are requested else out[#out+1], mlt[#out+1] = val, lcode end end -- See if qualifiers are to be returned: local snak = v.mainsnak or v if hasvalue and v.qualifiers and qualID ~= "" and snak.snaktype~="novalue" then -- collect all wanted qualifier values returned in qlist, indexed by propertyID local qlist = {} local timestart, timeend = "", "" -- loop through qualifiers for k1, v1 in pairs(v.qualifiers) do if allflag or qwanted[k1] then if k1 == "P1326" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qualifierdateformat, args.bc, plaindate, "", lang, "before") elseif k1 == "P1319" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qualifierdateformat, args.bc, plaindate, "", lang, "after") elseif k1 == "P580" then timestart = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one start time as valid elseif k1 == "P582" then timeend = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one end time as valid else local q = assembleoutput(propertyvalueandquals(v1, qargs), qargs) -- we already deal with circa via 'sourcing circumstances' if the datatype was time -- circa may be either linked or unlinked *** internationalise later *** if datatype ~= "time" or q ~= "circa" and not (type(q) == "string" and q:find("circa]]")) then qlist[k1] = q end end end -- of test for wanted end -- of loop through qualifiers -- set date separator local t = timestart .. timeend -- *** internationalise date separators later *** local dsep = "&ndash;" if t:find("%s") or t:find("&nbsp;") then dsep = " &ndash; " end -- set the order for the list of qualifiers returned; start time and end time go last if next(qlist) then local qlistout = {} if allflag then for k2, v2 in pairs(qlist) do qlistout[#qlistout+1] = v2 end else for i2, v2 in ipairs(qorder) do qlistout[#qlistout+1] = qlist[v2] end end if t ~= "" then qlistout[#qlistout+1] = timestart .. dsep .. timeend end local qstr = assembleoutput(qlistout, qargs) if qualsonly then out[#out+1] = qstr else out[#out] = out[#out] .. " (" .. qstr .. ")" end elseif t ~= "" then if qualsonly then if timestart == "" then out[#out+1] = timeend elseif timeend == "" then out[#out+1] = timestart else out[#out+1] = timestart .. dsep .. timeend end else out[#out] = out[#out] .. " (" .. timestart .. dsep .. timeend .. ")" end end end -- of test for qualifiers wanted if maxvals > 0 and #out >= maxvals then break end end -- of for each value loop -- we need to pick one value to return if the datatype was "monolingualtext" -- if there's only one value, use that -- otherwise look through the fallback languages for a match if datatype == "monolingualtext" and #out >1 then lang = mw.text.split( lang, '-', true )[1] local fbtbl = mw.language.getFallbacksFor( lang ) table.insert( fbtbl, 1, lang ) local bestval = "" local found = false for idx1, lang1 in ipairs(fbtbl) do for idx2, lang2 in ipairs(mlt) do if (lang1 == lang2) and not found then bestval = out[idx2] found = true break end end -- loop through values of property end -- loop through fallback languages if found then -- replace output table with a table containing the best value out = { bestval } else -- more than one value and none of them on the list of fallback languages -- sod it, just give them the first one out = { out[1] } end end return out end local function mergeOptions(defaults, overrides) overrides = overrides or {} defaults = defaults or {} local result = {} for k, v in pairs(defaults) do result[k] = v end for k, v in pairs(overrides) do result[k] = v if k == 'rank' then result.reqranks = setRanks(v) end end return result end local function filterbyqualifier(statements,qual,value) local filtered_statements = {} for _, statement in ipairs(statements) do if statement.qualifiers and statement.qualifiers[qual] then if '*' == value then table.insert(filtered_statements, statement) else for _, q in ipairs(statement.qualifiers[qual]) do if q.datavalue and (rawValue(q.datavalue) == value) then table.insert(filtered_statements, statement) break end end end end end return filtered_statements end local function orderbyrank(statements) local pref_count = 0 local sorted_statements = {} for k,v in ipairs(statements) do if v.rank == 'preferred' then pref_count = pref_count + 1 table.insert(sorted_statements, pref_count, v) else table.insert(sorted_statements, v) end end return sorted_statements end ------------------------------------------------------------------------------- -- helper class functions ------------------------------------------------------------------------------- local function class() local c = {} c.__index = c function c:new(...) local o = setmetatable({}, c) if o.init then o:init(...) end return o end return c end ------------------------------------------------------------------------------- -- Statement Class Definition ------------------------------------------------------------------------------- local WdStatement = class() function WdStatement:getValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statement = self._statement if not statement then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals({statement}, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatement:getRawValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) if not self._statement then return nil end local datasnak = self._statement.mainsnak or self._statement if datasnak.snaktype == "value" then return rawValueOrDF(self._statement, mergedOpts) else return datasnak.snaktype end end function WdStatement:getRawQual(qualID) local ret = {} local s = self._statement if s.qualifiers and s.qualifiers[qualID] then for _,q in pairs(s.qualifiers[qualID]) do if q.snaktype == "value" then table.insert(ret, rawValueOrDF(q, self.parent.options)) else table.insert(ret, q.snaktype) end end end return ret end ------------------------------------------------------------------------------- -- Statements Class Definition ------------------------------------------------------------------------------- local WdStatements = class() function WdStatements:getStatmentsTable() return self._statements end function WdStatements:count() return #self._statements end function WdStatements:getFilters() return self.filtered_by end function WdStatements:filter(filter_t) local statements = self._statements if #statements == 0 then return self; end local ret = WdStatements:new() ret.parent = self.parent ret.filtered_by = {} for _,v in ipairs(self.filtered_by) do table.insert(ret.filtered_by, v) end local filtered_statements = {} for k,v in pairs(filter_t) do filtered_statements = filterbyqualifier(statements, k, v) table.insert(ret.filtered_by, {[k] = v}) if #filtered_statements == 0 then break; else statements = filtered_statements end end ret._statements = filtered_statements return ret end function WdStatements:getValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statements = self._statements if not statements or #statements == 0 then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatements:getQual(qualID, opts) local mergedOpts = mergeOptions(self.parent.options, opts) local statements = self._statements if not statements or #statements == 0 then return nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.parent.qid, self.pid) end function WdStatements:getRawQual(qualID) local ret = {} for _,s in pairs(self._statements) do local qual_t = {} if s.qualifiers and s.qualifiers[qualID] then for _,q in pairs(s.qualifiers[qualID]) do if q.snaktype == "value" then table.insert(qual_t, rawValueOrDF(q, self.parent.options)) else table.insert(qual_t, q.snaktype) end end end table.insert(ret,qual_t) end return ret end function WdStatements:getRawValue(opts) local mergedOpts = mergeOptions(self.parent.options, opts) local ret = {} for _,v in pairs(self._statements) do local datasnak = v.mainsnak or v if datasnak.snaktype=="value" then table.insert(ret, rawValueOrDF(v, mergedOpts)) else table.insert(ret, datasnak.snaktype) end end return ret end function WdStatements:get(index) local ret = WdStatement:new() ret.parent = self.parent ret.filtered_by = ret.filtered_by ret._statement = self._statements[index] ret.pid = ret.pid return ret end function WdStatements:iter() local i = 0 local n = self._statements and #self._statements or 0 return function() i = i + 1 if i <= n then return i, self:get(i) end end end function WdStatements:ipairs() return self:iter() end function WdStatements:getBestOne() local orderd_statements = orderbyrank(self._statements) local ret = WdStatement:new() --setmetatable({}, WdStatement) ret.parent = self.parent ret.filtered_by = ret.filtered_by ret._statement = orderd_statements[1] ret.pid = ret.pid return ret end ------------------------------------------------------------------------------- -- WdItem Class Definition ------------------------------------------------------------------------------- local WdItem = class() function WdItem:__tostring() return "WdItem: " .. (self.qid or "no QID") end function WdItem:UpdateOptions(in_newOpts) local newOpts = in_newOpts or {} for k, v in pairs(newOpts or {}) do self.options[k] = v end -- Set default options if newOpts.lang then self.options.lang = findLang(newOpts.lang) end if (newOpts.lang and not self.options.lang) or (not newOpts.lang and newOpts.langs and #newOpts.langs > 0) then for _, l in ipairs(newOpts.langs) do self.options.lang = findLang(l) if self.options.lang then break; end end end if not self.options.lang then self.options.lang = findLang(); end if newOpts.rank then self.options.reqranks = setRanks(self.options.rank) end if not self.options.reqranks then self.options.reqranks = setRanks('preferred normal') end end function WdItem:init(qid, options,snak) if qid == "" then qid = nil; end self.qid = qid self.snak = snak self.options = options or {} self:UpdateOptions(options) return self end function WdItem:newFromSnaks(snakTable, options) local self = WdItem:new(nil, options or {}, snakTable) self:UpdateOptions(options) return self end function WdItem:setOptions(newOpts) self:UpdateOptions(newOpts) end function WdItem:getStatements(pid, opts) local mergedOpts = mergeOptions(self.options, opts or {}) local statements local ret = WdStatements:new() ret.parent = self ret.filtered_by = {} ret._statements = {} ret.pid = pid if self.snak and self.snak[pid] then statements = self.snak[pid] elseif not self.qid or not mw.wikibase then statements = {} elseif mergedOpts.reqranks and mergedOpts.reqranks.best then statements = mw.wikibase.getBestStatements(self.qid, pid) or {} else statements = mw.wikibase.getAllStatements(self.qid, pid) or {} local filtered_statements = {} if not (mergedOpts.reqranks.deprecated == true and mergedOpts.reqranks.preferred == true and mergedOpts.reqranks.normal == true) then for _,s in pairs(statements) do if mergedOpts.reqranks[s.rank] then table.insert(filtered_statements,s) end end end statements = filtered_statements end if #statements > 0 and mergedOpts.qualifiedaspossible and mergedOpts.qualifiedaspossible ~= {} then local filtered_statements = {} for q,qv in pairs(mergedOpts.qualifiedaspossible) do filtered_statements = filterbyqualifier(statements, q, qv) if #filtered_statements > 0 then table.insert(ret.filtered_by, {[q] = qv}) statements = filtered_statements end end end if #statements > 0 and mergedOpts.qualified and mergedOpts.qualified ~= {} then for q,qv in pairs(mergedOpts.qualified) do statements = filterbyqualifier(statements, q, qv) table.insert(ret.filtered_by, {[q] = qv}) if #statements == 0 then break; end end end ret._statements = statements return ret end function WdItem:getValue(pid, opts) local mergedOpts = mergeOptions(self.options, opts) local statements = self:getStatements(pid, mergedOpts):getStatmentsTable() if not statements or #statements == 0 then return nil end local qualID = mw.text.trim(mergedOpts.qual or ""):upper() if qualID == "" then qualID = nil end local out = propertyvalueandquals(statements, mergedOpts, qualID) return assembleoutput(out, mergedOpts, self.qid, pid) end function WdItem:getValueFromSnaks(pid, opts) if not self.snak or not self.snak[pid] then return nil end local mergedOpts = mergeOptions(self.options, opts) local props = self.snak[pid] local out = propertyvalueandquals(props, mergedOpts) return assembleoutput(out, mergedOpts, nil, pid) end function WdItem:getPropertyIDsTable(pid, opts) local mergedOpts = mergeOptions(self.options, opts) mergedOpts.noicon = tostring(parseParam(mergedOpts.noicon or "", true)) local statements = self:getStatements(pid, opts) if not statements or #statements == 0 then return {} end local onlysrc = parseParam(mergedOpts.onlysourced or mergedOpts.onlysourced, true) local maxvals = tonumber(mergedOpts.maxvals) or 0 local out = {} for i, v in ipairs(statements) do local snak = v.mainsnak or v if (snak.datatype == "wikibase-item") and (v.rank and mergedOpts.reqranks[v.rank:sub(1, 1)]) and (snak.snaktype == "value") and (sourced(v) or not onlysrc) then out[#out+1] = snak.datavalue.value.id end if maxvals > 0 and #out >= maxvals then break end end return out end function WdItem:getPropertyIDs(pid, opts) local out = WdItem:getPropertyIDsTable(pid, opts) if #out == 0 then return nil end return assembleoutput(out, mergeOptions(self.options, opts), self.qid, pid) end function WdItem:getPropOfProp(prop1, prop2, opts) local mergedOpts = mergeOptions(self.options, opts) if not self.qid then return nil end local maxvals = tonumber(mergedOpts.maxvals) or 0 local prop1Values = self:getStatements(prop1, opts):getRawValue() if #prop1Values == 0 then return nil end local out = {} for k, qid2 in ipairs(prop1Values) do local item2 = WdItem:new(qid2, mergedOpts) local prop2Values = item2:getStatements(prop2):getStatmentsTable() if prop2Values and prop2Values[1] then local out2 = propertyvalueandquals(prop2Values, mergedOpts, mergedOpts.qual) out[#out+1] = assembleoutput(out2, mergedOpts, qid2, prop2) end if maxvals > 0 and #out >= maxvals then break end end return assembleoutput(out, mergedOpts, self.qid, prop1) end function WdItem:getRawPropOfProp(prop1, prop2, opts) local mergedOpts = mergeOptions(self.options, opts) if not self.qid then return nil end local prop1Values = self:getStatements(prop1, opts):getRawValue() if #prop1Values == 0 then return nil end local out = {} for k, qid2 in ipairs(prop1Values) do local item2 = WdItem:new(qid2, mergedOpts) local prop2Values = item2:getStatements(prop2):getRawValue() for _,val in ipairs(prop2Values) do if not in_array(val,out) then table.insert(out,val) end end end return out end function WdItem:getLangOfProp(pid) if not pid then return {}; end local out = {} local props = self.snak and self.snak[pid] or (self.qid and mw.wikibase.getAllStatements(self.qid, pid)) or {} for _, v in ipairs(props) do local datasnak = v.mainsnak or v if datasnak.datatype == "monolingualtext" and datasnak.datavalue then out[#out + 1] = datasnak.datavalue.value.language end end return out end function WdItem:followQid(props, all) all = parseParam(all, false) props = (props or ""):upper() if not self.qid then return nil end if props == "" then return self.qid end local out = {} for p in mw.text.gsplit(props, "%p") do p = mw.text.trim(p) for i, v in ipairs(mw.wikibase.getBestStatements(self.qid, p)) do local linkedid = v.mainsnak.datavalue and v.mainsnak.datavalue.value and v.mainsnak.datavalue.value.id if linkedid then if all then out[#out+1] = linkedid else return WdItem.WdItem:new(linkedid) end end end end if #out > 0 then return table.concat(out, " ") else return self end end ------------------------------------------------------------------------------- -- Public API - WdItem Constructors ------------------------------------------------------------------------------- p.WdItem = WdItem function p.newItem(qid, opts, snak ) return WdItem:new(qid, opts, snak) end function p.newSnakItem(snakTable, opts) return WdItem:newFromSnaks(snakTable, opts) end return p ebo6q1388a5tyszork79ryyo2iavr9e تصنيف:قوالب نطاق وحدة 14 307165 617371 2026-08-13T16:29:03Z حبيشان 52457 أنشأ الصفحة ب'[[تصنيف:تصنيفات قوالب ويكي مصدر]]' 617371 wikitext text/x-wiki [[تصنيف:تصنيفات قوالب ويكي مصدر]] io20f9wizu91nfv5i2da2bbz983bljb قالب:رسالة استدعاء من لوا فقط/شرح 10 307166 617372 2026-08-13T16:29:52Z حبيشان 52457 أنشأ الصفحة ب'{{صفحة توثيق فرعية}} === استعمال === يوضع قالب في شرح وحدة غير قابلة للاستدعاء في القوالب والصفحات. == بيانات القالب== {{رأس بيانات القالب}} <templatedata> { "params": {}, "description": "يضع رسالة للتنبيه أن الوحدة غير قابلة للاستدعاء في القوالب والصفحات" } </templatedata> <includeonly>{{ملعب أخر|| <...' 617372 wikitext text/x-wiki {{صفحة توثيق فرعية}} === استعمال === يوضع قالب في شرح وحدة غير قابلة للاستدعاء في القوالب والصفحات. == بيانات القالب== {{رأس بيانات القالب}} <templatedata> { "params": {}, "description": "يضع رسالة للتنبيه أن الوحدة غير قابلة للاستدعاء في القوالب والصفحات" } </templatedata> <includeonly>{{ملعب أخر|| <!-- [[تصنيف:قوالب ويكيبيديا]] --> }}</includeonly> sliqy4rpsv9ss8am8uu7ivvyfkcf5y0 التهذيب في أصول التعريب/باب فى اللغة العامية أو الدارجة 0 307167 617383 2026-08-13T19:28:19Z Nehaoua 7481 أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=80 fromsection=2 to=81 tosection=1 header=1 /> ---- {{حواشي}}' 617383 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=80 fromsection=2 to=81 tosection=1 header=1 /> ---- {{حواشي}} cwhifr4gl4d7cp3seox5y4jj2ivij4c التهذيب في أصول التعريب/ باب فى القول فى العربي الجنوبي 0 307168 617386 2026-08-13T19:30:37Z Nehaoua 7481 أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=81 fromsection=2 to=86 tosection=1 header=1 /> ---- {{حواشي}}' 617386 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=81 fromsection=2 to=86 tosection=1 header=1 /> ---- {{حواشي}} 7ya6jzv0a97k775khgezi4bu3re0pxg التهذيب في أصول التعريب/باب فى القول فى تدوين اللغة واستنباط النحو والصرف 0 307169 617390 2026-08-13T19:47:02Z Nehaoua 7481 أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=86 to=95 tosection=1 header=1 /> ---- {{حواشي}}' 617390 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=86 to=95 tosection=1 header=1 /> ---- {{حواشي}} 8lwji504oeu51ey1sr5h0iunfsbzzq0 التهذيب في أصول التعريب/باب فى القول فى فضل اللغة العربية 0 307170 617392 2026-08-13T19:51:16Z Nehaoua 7481 أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=95 fromsection=2 to=99 tosection=1 header=1 /> ---- {{حواشي}}' 617392 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=95 fromsection=2 to=99 tosection=1 header=1 /> ---- {{حواشي}} azyvmw62eipyod38vm0enokhwwrnqjq التهذيب في أصول التعريب/العروض 0 307171 617397 2026-08-13T20:02:20Z Nehaoua 7481 أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=99 fromsection=2 to=103 tosection=1 header=1 /> ---- {{حواشي}}' 617397 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=99 fromsection=2 to=103 tosection=1 header=1 /> ---- {{حواشي}} 4eygdxsp5fxp4i8ryhxwcpkabldh4oq التهذيب في أصول التعريب/باب فى القول فى اتساع اللغة العربية 0 307172 617399 2026-08-13T20:06:52Z Nehaoua 7481 أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=103 fromsection=2 to=104 tosection=1 header=1 /> ---- {{حواشي}}' 617399 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=103 fromsection=2 to=104 tosection=1 header=1 /> ---- {{حواشي}} segrkg0kle5pmsuywrjwx1pu2gldee6 التهذيب في أصول التعريب/باب فى الكتابة العربية 0 307173 617401 2026-08-13T20:12:16Z Nehaoua 7481 أنشأ الصفحة ب'<pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=103 fromsection=2 to=104 tosection=1 header=1 /> ---- {{حواشي}}' 617401 wikitext text/x-wiki <pages index="التهذيب في أصول التعريب (auc aco001146).pdf" from=103 fromsection=2 to=104 tosection=1 header=1 /> ---- {{حواشي}} segrkg0kle5pmsuywrjwx1pu2gldee6 صفحة:The Method of Medicine WDL7478.pdf/13 104 307174 617402 2026-08-13T20:24:34Z ~2026-43953-13 72772 /* لم تصحح */ أنشأ الصفحة ب'{{missing image}} قال الحكيم الفاضل خلف ابن عباس الزهراوي واضع هذا الكتاب الله لما حملت لكم يابني هذا الكتاب الذى هو جزء العلم في الطب بكماله وبلغت الغاية فيه من وضوحه وبیانه رأیت ان احمله بهذه المقالة التي هي جزء العمل باليد لان العمل باليد محسنة في بلدنا وفي زماننا...' 617402 proofread-page text/x-wiki <noinclude><pagequality level="1" user="~2026-43953-13" />{{رص|تبصرة|٢|زهراوي}}</noinclude>{{missing image}} قال الحكيم الفاضل خلف ابن عباس الزهراوي واضع هذا الكتاب الله لما حملت لكم يابني هذا الكتاب الذى هو جزء العلم في الطب بكماله وبلغت الغاية فيه من وضوحه وبیانه رأیت ان احمله بهذه المقالة التي هي جزء العمل باليد لان العمل باليد محسنة في بلدنا وفي زماننا معدوم البتة حتى كاد ان يدرس علمه وينقطع اثره وانما بقى منه رسوم يسيرة في كتب الاوائل قد صفحته الأيدى وواقعه الخطأ والتدارس حتى استغلقت معانيه وبعدت فائدته فرأيت ان احيأه وأؤلف فيه هذه المقالة على طريق الشرح والبيان والاختصار وان اتى مصور جديد للكى سائر الألات للعمل بليد اذ هو من زيادات البيان ومن وكيد ما يحتاج اليه والسبب الذى لا يوجد صانعا محسنا بيده في زماننا هذا لان صناعة الطب طويلة وينبغى لصاحبها أن يرتاض قبل ذلك في علم التشرير الذي وضعه جالينوس حتى يقف على منافع الاعضاء وهيأتها ومنتجاتها واتصالها وانفصالها ومعرفة العظام والاعصاب والعضلات عددها ومخارجها قال الفاضل البقراط ان الاطباء بالاسم كثير وبالفعل قليل<noinclude></noinclude> fvnq8aia1a2s2n7r7jr0uz6ipoqilut 617403 617402 2026-08-13T20:25:44Z ~2026-43953-13 72772 617403 proofread-page text/x-wiki <noinclude><pagequality level="1" user="~2026-43953-13" /></noinclude>{{missing image}} قال الحكيم الفاضل خلف ابن عباس الزهراوي واضع هذا الكتاب الله لما حملت لكم يابني هذا الكتاب الذى هو جزء العلم في الطب بكماله وبلغت الغاية فيه من وضوحه وبیانه رأیت ان احمله بهذه المقالة التي هي جزء العمل باليد لان العمل باليد محسنة في بلدنا وفي زماننا معدوم البتة حتى كاد ان يدرس علمه وينقطع اثره وانما بقى منه رسوم يسيرة في كتب الاوائل قد صفحته الأيدى وواقعه الخطأ والتدارس حتى استغلقت معانيه وبعدت فائدته فرأيت ان احيأه وأؤلف فيه هذه المقالة على طريق الشرح والبيان والاختصار وان اتى مصور جديد للكى سائر الألات للعمل باليد اذ هو من زيادات البيان ومن وكيد ما يحتاج اليه والسبب الذى لا يوجد صانعا محسنا بيده في زماننا هذا لان صناعة الطب طويلة وينبغى لصاحبها أن يرتاض قبل ذلك في علم التشرير الذي وضعه جالينوس حتى يقف على منافع الاعضاء وهيأتها ومنتجاتها واتصالها وانفصالها ومعرفة العظام والاعصاب والعضلات عددها ومخارجها قال الفاضل البقراط ان الاطباء بالاسم كثير وبالفعل قليل<noinclude></noinclude> s6k5d0dhx005hghiosugy1yxzpu2yng مؤلف:الأشرف إسماعيل 102 307175 617405 2026-08-13T21:18:19Z Shohdi Alsofi 49228 انشاء صفحة مؤلف:الأشرف إسماعيل 617405 wikitext text/x-wiki {{مؤلف|صورة=السلطان الملك الأشرف إسماعيل.png|الاسم الأول=الأشرف|الاسم الأخير=إسماعيل|الاسم الأصلي=الأشرف إسماعيل بن الأفضل العباس|وصف=سابع ملوك الدولة الرسولية|سنة الميلاد=761 هـ \ 1360م|سنة الوفاة=803 هـ \ 1400م|تواريخ=1376 - 1400م|وصلة ويكيبيديا=الأشرف إسماعيل بن الأفضل|وصلة كومنز=Category:Al-Ashraf_Ismail|وصلة ويكي الاقتباس=الأشرف إسماعيل بن الأفضل}} الأشرف إسماعيل (لقبه الكامل: '''السلطان الملك الأشرف، ممهد الدنيا والدين إسماعيل بن الملك الأفضل العباس)''' سابع ملوك الدولة الرسولية في اليمن، ولد سنة 761 هـ (الموافق 1360م)، وتولى الحكم سنة 778 هـ وتوفي في سنة 803. == أعمال == * العسجد المسبوك والجوهر المحبوك في أخبار الخلفاء والملوك * العقود اللؤلؤية في تاريخ الدولة الرسولية * فاكهة الزمن ومفاكهة الأدب والفنن في أخبار من ملك اليمن * طرفة الأصحاب في معرفة الأنساب == الترخيص == {{ملكية عامة مؤلف قديم}}{{ضبط استنادي}} [[تصنيف:مؤلفون عرب]] [[تصنيف:اليمن]] [[تصنيف:الدولة الرسولية]] [[تصنيف:ملوك اليمن]] qt345js4a7nwnazovvjw502bkk6zl49 تصنيف:ملوك اليمن 14 307176 617406 2026-08-13T21:19:42Z Shohdi Alsofi 49228 تصنيف اليمن 617406 wikitext text/x-wiki [[تصنيف:اليمن]] phxhzdri5nmvjqx297a5e49k6lunnm6 تصنيف:الدولة الرسولية 14 307177 617407 2026-08-13T21:20:30Z Shohdi Alsofi 49228 تصنيف 617407 wikitext text/x-wiki [[تصنيف:اليمن]] phxhzdri5nmvjqx297a5e49k6lunnm6 نقاش المستخدم:Alaamroweh 3 307178 617417 2026-08-14T05:12:55Z Robertsky 63825 نقل Robertsky صفحة [[نقاش المستخدم:Alaamroweh]] إلى [[نقاش المستخدم:AlaaMroue]]: نُقِلت الصفحة آليا عند إعادة تسمية المستخدم «[[Special:CentralAuth/Alaamroweh|Alaamroweh]]» إلى «[[Special:CentralAuth/AlaaMroue|AlaaMroue]]». 617417 wikitext text/x-wiki #تحويل [[نقاش المستخدم:AlaaMroue]] mj1a9qnt9rnctyknb8ajsvebr6b0q1u الأخلاق 0 307179 617419 2026-08-14T06:45:11Z TOUMOU 16960 أنشأ الصفحة ب'{{ترويسة | عنوان = الأخلاق | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| وَعَوِّدُوا النَّشْءَ بالأخْلاقِ فاضِلَةً\\فذلك الكنْزُ لا اليَاقُــــــوتُ والذَّهَبُ فإن وهبتم لهم هذا فقد وهبُــــــــوا\\ما ليس...' 617419 wikitext text/x-wiki {{ترويسة | عنوان = الأخلاق | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| وَعَوِّدُوا النَّشْءَ بالأخْلاقِ فاضِلَةً\\فذلك الكنْزُ لا اليَاقُــــــوتُ والذَّهَبُ فإن وهبتم لهم هذا فقد وهبُــــــــوا\\ما ليسَ تعدُّ له الأقْمَـــــــارُ والشُّهُبُ وبعدكم سيقولُ النَّسْلُ مفْتَـــــــخِراً\\نِعْمَ الجُدودُ ويا نِعْمَ الـــــذِي وهَبُوا أَبْنَاؤكم هم مع الأخلاقِ ما لبِثَت\\"فَإِنْ هُمُـو ذهبَتْ أخلاقُهُم ذَهَبُوا" <ref>تضمين لبيت أحمد شوقي الشهير «إنما الأمم الأخلاق ما بقيت / فإن همو ذهبت أخلاقهم ذهبوا»</ref> }} * جريدة الزهرة : 31 /03 /1950 [[تصنيف:شعر]] [[تصنيف:محمود بورقيبة]] 85nsuy1pq59kb60x0ylzor0pqjud9mg المرأة 0 307180 617420 2026-08-14T06:47:02Z TOUMOU 16960 أنشأ الصفحة ب'{{ترويسة | عنوان = المرأة | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| تلوحُ بوجهِ الحُزْنِ والقلبُ ضاحِكٌ\\وتَرْزَحُ بالأشْجانِ والثَّــــــغْرُ يَبْتَسِمْ وتُظْهِرُ صَدًّا وامتِناعاً ونفرَةً...\\وفي نفس...' 617420 wikitext text/x-wiki {{ترويسة | عنوان = المرأة | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| تلوحُ بوجهِ الحُزْنِ والقلبُ ضاحِكٌ\\وتَرْزَحُ بالأشْجانِ والثَّــــــغْرُ يَبْتَسِمْ وتُظْهِرُ صَدًّا وامتِناعاً ونفرَةً...\\وفي نفسِها تُخْفِي النَّقِيضَ وتَكْتَتِمْ وتدنيك بالإِيعَــــــــاد وهي مشُوقَةٌ!\\وتدْعُوك بالإِعْراضِ إن كُنـــــتَ تفهمُ هي السهل للمَـــــــرْءِ الخبيرِ بكُنْهِها\\وإِلاَّ... هي اللغزُ المَعمَّى المُمَطْلَسَمْ }} *جريدة الزهرة : 09 /01 /1952 [[تصنيف:شعر]] [[تصنيف:محمود بورقيبة]] qkr9w5u5aqz63ojwnemus9azghiazbx فلسطين (محمود بورقيبة) 0 307181 617422 2026-08-14T07:04:06Z TOUMOU 16960 أنشأ الصفحة ب'{{ترويسة | عنوان = فلسطين (محمود بورقيبة) | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| فلسطينُ خَطْبُكِ أَيُّ فُؤادٍ ... لهُ لا يَذُوبُ ولا ينْفَطِرْ؟ وأَيُّ الجَوائحِ لا تلْتَظِي؟ ... وأَيُّ المَحاجِرِ لا تَن...' 617422 wikitext text/x-wiki {{ترويسة | عنوان = فلسطين (محمود بورقيبة) | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| فلسطينُ خَطْبُكِ أَيُّ فُؤادٍ ... لهُ لا يَذُوبُ ولا ينْفَطِرْ؟ وأَيُّ الجَوائحِ لا تلْتَظِي؟ ... وأَيُّ المَحاجِرِ لا تَنْهَمِرْ؟ لقد داهمَتْكِ عوادي الزَّمانِ ... مهدِّمةً صرْحَكِ المُشْمَخِرْ ولكــــن ربُّكِ لـــيس يَنَامُ ... فصَبْراً. وما خابَ من يصْطَبِرْ فلا بُــدَّ للضَّيْمِ أن ينْقَضِي ... ولا بُــدَّ للحَــقِّ أن يَنْتَصِرْ <ref>تضمين لبيت أبي القاسم الشابي الوارد في قصيدته إرادة الحياة والذي يقول فيه : فلا بدَّ للظالم أن ينجلي ... ولا بدَّ للقيد أن ينكسر</ref> }} * جريدة الوزير : 16 /12 /1937 [[تصنيف:شعر]] [[تصنيف:محمود بورقيبة]] dozw1veo3f88ihw1bjcyw5coabmatpw 617424 617422 2026-08-14T07:06:55Z TOUMOU 16960 617424 wikitext text/x-wiki {{ترويسة | عنوان = فلسطين (محمود بورقيبة) | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| فلسطينُ خَطْبُكِ أَيُّ فُؤادٍ \\ لهُ لا يَذُوبُ ولا ينْفَطِرْ؟ وأَيُّ الجَوائحِ لا تلْتَظِي؟ \\ وأَيُّ المَحاجِرِ لا تَنْهَمِرْ؟ لقد داهمَتْكِ عوادي الزَّمانِ \\ مهدِّمةً صرْحَكِ المُشْمَخِرْ ولكــــن ربُّكِ لـــيس يَنَامُ \\ فصَبْراً. وما خابَ من يصْطَبِرْ فلا بُــدَّ للضَّيْمِ أن ينْقَضِي \\ ولا بُــدَّ للحَــقِّ أن يَنْتَصِرْ <ref>تضمين لبيت أبي القاسم الشابي الوارد في قصيدته إرادة الحياة والذي يقول فيه : فلا بدَّ للظالم أن ينجلي \\ ولا بدَّ للقيد أن ينكسر</ref> }} * جريدة الوزير : 16 /12 /1937 [[تصنيف:شعر]] [[تصنيف:محمود بورقيبة]] 7gxe18sn2r022jmtbk5vstgyu01uggk 617425 617424 2026-08-14T07:07:09Z TOUMOU 16960 617425 wikitext text/x-wiki {{ترويسة | عنوان = فلسطين | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| فلسطينُ خَطْبُكِ أَيُّ فُؤادٍ \\ لهُ لا يَذُوبُ ولا ينْفَطِرْ؟ وأَيُّ الجَوائحِ لا تلْتَظِي؟ \\ وأَيُّ المَحاجِرِ لا تَنْهَمِرْ؟ لقد داهمَتْكِ عوادي الزَّمانِ \\ مهدِّمةً صرْحَكِ المُشْمَخِرْ ولكــــن ربُّكِ لـــيس يَنَامُ \\ فصَبْراً. وما خابَ من يصْطَبِرْ فلا بُــدَّ للضَّيْمِ أن ينْقَضِي \\ ولا بُــدَّ للحَــقِّ أن يَنْتَصِرْ <ref>تضمين لبيت أبي القاسم الشابي الوارد في قصيدته إرادة الحياة والذي يقول فيه : فلا بدَّ للظالم أن ينجلي \\ ولا بدَّ للقيد أن ينكسر</ref> }} * جريدة الوزير : 16 /12 /1937 [[تصنيف:شعر]] [[تصنيف:محمود بورقيبة]] e5dw3kvls4z0zx1950fjjzyrc7rma1a دموع الشاعر 0 307182 617423 2026-08-14T07:06:13Z TOUMOU 16960 أنشأ الصفحة ب'{{ترويسة | عنوان = دموع الشاعر | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| تَهْفُو خيالاتُكِ في خاطِرِي \\ كسُحُبِ المَاضِي على الحَاضِرِ فتعْصِفُ الآلامُ في مهْجَتِي \\ وتَرْقُصُ الأشْبَاحُ في ناظِرِي وأب...' 617423 wikitext text/x-wiki {{ترويسة | عنوان = دموع الشاعر | مؤلف = محمود بورقيبة | مترجم = | باب = | سابق = | تالي = | ملاحظات = }} {{أبيات| تَهْفُو خيالاتُكِ في خاطِرِي \\ كسُحُبِ المَاضِي على الحَاضِرِ فتعْصِفُ الآلامُ في مهْجَتِي \\ وتَرْقُصُ الأشْبَاحُ في ناظِرِي وأبْصِرُ العِقْدَ النَّفِيسَ الذِي \\ قد صُغْتَه من مَدْمَعِي الطَّاهِرِ وكيفَ أهْديتَكِ حَياتَـــه \\ منظومةً في سِلْكِها النَّادِرِ وكيفَ لاَقَى منك نَثْراً لهُ \\ وكيف ضاعَتْ "أدمُعُ الشَّاعر" }} *جريدة الزهرة : 07 /3 /1951 [[تصنيف:شعر]] [[تصنيف:محمود بورقيبة]] itpd9rgl7aauq9qtd5s8s4ftt2xtl9b صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/413 104 307183 617426 2026-08-14T11:47:58Z RASHEEDYE 15342 /* لم تصحح */ أنشأ الصفحة ب'{{أعمدة متعددة}} بيت قصير جداً {{ربط بصفحة|286|16|٢٨٦}}{{سج}} بيت يجمع حروف المعجم {{ربط بصفحة|351|16|٣٥١}}، {{ربط بصفحة|353|16|٣٥٣}}، {{ربط بصفحة|355|16|٣٥٥}} <br /> {{وسط|( ت )}} <br /> التأخير {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|117|16|١١٧}}{{سج}} التأريج {{ربط بصفحة|53|16|٥٣}}، {{ربط بصفحة|76|16|٧٦}}، {{رب...' 617426 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} بيت قصير جداً {{ربط بصفحة|286|16|٢٨٦}}{{سج}} بيت يجمع حروف المعجم {{ربط بصفحة|351|16|٣٥١}}، {{ربط بصفحة|353|16|٣٥٣}}، {{ربط بصفحة|355|16|٣٥٥}} <br /> {{وسط|( ت )}} <br /> التأخير {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|117|16|١١٧}}{{سج}} التأريج {{ربط بصفحة|53|16|٥٣}}، {{ربط بصفحة|76|16|٧٦}}، {{ربط بصفحة|79|16|٧٩}}، {{ربط بصفحة|81|16|٨١}}، {{ربط بصفحة|158|16|١٥٨}}{{سج}} تأريج الألغاز {{ربط بصفحة|110|16|١١٠}}{{سج}} تأريج الأشكال {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|71|16|٧١}}، {{ربط بصفحة|75|16|٧٥}}{{سج}} تأليف الشعر {{ربط بصفحة|318|16|٣١٨}}{{سج}} تأليف حروف الكلام {{ربط بصفحة|318|16|٣١٨}}{{سج}} تأليف حروف الكلام وازدواجها {{ربط بصفحة|298|16|٢٩٨}}، {{ربط بصفحة|313|16|٣١٣}}{{سج}} تباديل الحروف في الثلاثي {{ربط بصفحة|362|16|٣٦٢}}{{سج}} تباديل الحروف في الثنائي {{ربط بصفحة|362|16|٣٦٢}}{{سج}} تباديل الحروف في الرباعي {{ربط بصفحة|362|16|٣٦٢}}{{سج}} تبديل أشكال الحروف {{ربط بصفحة|250|16|٢٥٠}}{{سج}} التبديل البسيط {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|53|16|٥٣}}، {{ربط بصفحة|54|16|٥٤}}، {{ربط بصفحة|57|16|٥٧}}، {{ربط بصفحة|58|16|٥٨}}، {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|94|16|٩٤}}، {{ربط بصفحة|103|16|١٠٣}}، {{ربط بصفحة|296|16|٢٩٦}}، {{ربط بصفحة|304|16|٣٠٤}}، {{ربط بصفحة|331|16|٣٣١}}، {{ربط بصفحة|372|16|٣٧٢}}، {{ربط بصفحة|376|16|٣٧٦}}{{سج}} التبصر بالكتابة {{ربط بصفحة|324|16|٣٢٤}}، {{ربط بصفحة|326|16|٣٢٦}}، {{ربط بصفحة|327|16|٣٢٧}}{{سج}} تتابع الحروف {{ربط بصفحة|216|16|٢١٦}}{{سج}} التحليل الإحصائي {{ربط بصفحة|54|16|٥٤}}، {{ربط بصفحة|58|16|٥٨}}، {{ربط بصفحة|60|16|٦٠}}{{سج}} التحليل الإحصائي للأشكال {{ربط بصفحة|96|16|٩٦}}{{سج}} التحليل الإحصائي للصور {{ربط بصفحة|94|16|٩٤}}{{سج}} تحليل العدد إلى مجموعة أعداد {{ربط بصفحة|182|16|١٨٢}}{{سج}} تدبير الوزن {{ربط بصفحة|320|16|٣٢٠}}{{سج}} التراجم {{ربط بصفحة|38|16|٣٨}}، {{ربط بصفحة|62|16|٦٢}}{{سج}} التراجم البسيطة {{ربط بصفحة|127|16|١٢٧}}، {{ربط بصفحة|224|16|٢٢٤}}، {{ربط بصفحة|239|16|٢٣٩}}، {{ربط بصفحة|251|16|٢٥١}}، {{ربط بصفحة|252|16|٢٥٢}}، {{ربط بصفحة|266|16|٢٦٦}} {{فاصل أعمدة متعددة|خط1=1px solid black}} التراجم البسيطة في النثر {{ربط بصفحة|286|16|٢٨٦}}{{سج}} التراجم البسيطة في المنظوم {{ربط بصفحة|286|16|٢٨٦}}{{سج}} التراجم التي لا تجيب {{ربط بصفحة|56|16|٥٦}}، {{ربط بصفحة|81|16|٨١}}{{سج}} التراجم السهلة {{ربط بصفحة|52|16|٥٢}}، {{ربط بصفحة|62|16|٦٢}}{{سج}} التراجم الصعبة {{ربط بصفحة|62|16|٦٢}}{{سج}} التراجم العويصة {{ربط بصفحة|52|16|٥٢}}، {{ربط بصفحة|56|16|٥٦}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|79|16|٧٩}}{{سج}} <br /> التراجم المسهلة {{ربط بصفحة|41|16|٤١}}{{سج}} التراجم المعراة {{ربط بصفحة|81|16|٨١}}{{سج}} الترجمة {{ربط بصفحة|38|16|٣٨}}، {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|89|16|٨٩}}، {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|108|16|١٠٨}}، {{ربط بصفحة|109|16|١٠٩}}، {{ربط بصفحة|110|16|١١٠}}، {{ربط بصفحة|126|16|١٢٦}}{{سج}} الترجمة البسطامية {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|110|16|١١٠}}{{سج}} الترجمة التي أعميت عيوبها {{ربط بصفحة|80|16|٨٠}}{{سج}} الترجمة التي تحل بقوة الفطنة {{ربط بصفحة|52|16|٥٢}}{{سج}} الترجمة التي لا فصل فيها {{ربط بصفحة|49|16|٤٩}}{{سج}} الترجمة التي لا تجيب {{ربط بصفحة|62|16|٦٢}}{{سج}} الترجمة التي لا تحل إلا إيهاماً للمستخرج {{ربط بصفحة|52|16|٥٢}}{{سج}} الترجمة التي لا فصل فيها {{ربط بصفحة|73|16|٧٣}}{{سج}} الترجمة التي لا يمكن حلها {{ربط بصفحة|82|16|٨٢}}{{سج}} الترجمة الحقيقة {{ربط بصفحة|75|16|٧٥}}{{سج}} الترجمة الصعبة الحل {{ربط بصفحة|57|16|٥٧}}{{سج}} الترجمة العويصة {{ربط بصفحة|41|16|٤١}}{{سج}} الترجمة القمية {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|110|16|١١٠}}{{سج}} الترجمة المركبة {{ربط بصفحة|128|16|١٢٨}}، {{ربط بصفحة|189|16|١٨٩}}{{سج}} الترجمة المركبة على حساب الجمل {{ربط بصفحة|259|16|٢٥٩}}{{سج}} الترجمة المسددة {{ربط بصفحة|62|16|٦٢}}{{سج}} الترجمة المعراة من جميع الجهات {{ربط بصفحة|62|16|٦٢}}{{سج}} الترجمة المعماة بالتركيب ضمن ألفاظ رسالة {{ربط بصفحة|188|16|١٨٨}} {{نهاية أعمدة متعددة}} {{يسار|٤١١}}<noinclude></noinclude> 6kswc8n2ynbwja5dtqa7gshl704rcot 617431 617426 2026-08-14T11:55:34Z RASHEEDYE 15342 617431 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} <br/>بيت قصير جداً {{ربط بصفحة|286|16|٢٨٦}}{{سج}} بيت يجمع حروف المعجم {{ربط بصفحة|351|16|٣٥١}}، {{ربط بصفحة|353|16|٣٥٣}}، {{ربط بصفحة|355|16|٣٥٥}} <br /> {{وسط|( ت )}} <br /> التأخير {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|117|16|١١٧}}{{سج}} التأريج {{ربط بصفحة|53|16|٥٣}}، {{ربط بصفحة|76|16|٧٦}}، {{ربط بصفحة|79|16|٧٩}}، {{ربط بصفحة|81|16|٨١}}، {{ربط بصفحة|158|16|١٥٨}}{{سج}} تأريج الألغاز {{ربط بصفحة|110|16|١١٠}}{{سج}} تأريج الأشكال {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|71|16|٧١}}، {{ربط بصفحة|75|16|٧٥}}{{سج}} تأليف الشعر {{ربط بصفحة|318|16|٣١٨}}{{سج}} تأليف حروف الكلام {{ربط بصفحة|318|16|٣١٨}}{{سج}} تأليف حروف الكلام وازدواجها {{ربط بصفحة|298|16|٢٩٨}}، {{ربط بصفحة|313|16|٣١٣}}{{سج}} تباديل الحروف في الثلاثي {{ربط بصفحة|362|16|٣٦٢}}{{سج}} تباديل الحروف في الثنائي {{ربط بصفحة|362|16|٣٦٢}}{{سج}} تباديل الحروف في الرباعي {{ربط بصفحة|362|16|٣٦٢}}{{سج}} تبديل أشكال الحروف {{ربط بصفحة|250|16|٢٥٠}}{{سج}} التبديل البسيط {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|53|16|٥٣}}، {{ربط بصفحة|54|16|٥٤}}، {{ربط بصفحة|57|16|٥٧}}، {{ربط بصفحة|58|16|٥٨}}، {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|94|16|٩٤}}، {{ربط بصفحة|103|16|١٠٣}}، {{ربط بصفحة|296|16|٢٩٦}}، {{ربط بصفحة|304|16|٣٠٤}}، {{ربط بصفحة|331|16|٣٣١}}، {{ربط بصفحة|372|16|٣٧٢}}، {{ربط بصفحة|376|16|٣٧٦}}{{سج}} التبصر بالكتابة {{ربط بصفحة|324|16|٣٢٤}}، {{ربط بصفحة|326|16|٣٢٦}}، {{ربط بصفحة|327|16|٣٢٧}}{{سج}} تتابع الحروف {{ربط بصفحة|216|16|٢١٦}}{{سج}} التحليل الإحصائي {{ربط بصفحة|54|16|٥٤}}، {{ربط بصفحة|58|16|٥٨}}، {{ربط بصفحة|60|16|٦٠}}{{سج}} التحليل الإحصائي للأشكال {{ربط بصفحة|96|16|٩٦}}{{سج}} التحليل الإحصائي للصور {{ربط بصفحة|94|16|٩٤}}{{سج}} تحليل العدد إلى مجموعة أعداد {{ربط بصفحة|182|16|١٨٢}}{{سج}} تدبير الوزن {{ربط بصفحة|320|16|٣٢٠}}{{سج}} التراجم {{ربط بصفحة|38|16|٣٨}}، {{ربط بصفحة|62|16|٦٢}}{{سج}} التراجم البسيطة {{ربط بصفحة|127|16|١٢٧}}، {{ربط بصفحة|224|16|٢٢٤}}، {{ربط بصفحة|239|16|٢٣٩}}، {{ربط بصفحة|251|16|٢٥١}}، {{ربط بصفحة|252|16|٢٥٢}}، {{ربط بصفحة|266|16|٢٦٦}} {{فاصل أعمدة متعددة|خط1=2px solid black}} <br/>التراجم البسيطة في النثر {{ربط بصفحة|286|16|٢٨٦}}{{سج}} التراجم البسيطة في المنظوم {{ربط بصفحة|286|16|٢٨٦}}{{سج}} التراجم التي لا تجيب {{ربط بصفحة|56|16|٥٦}}، {{ربط بصفحة|81|16|٨١}}{{سج}} التراجم السهلة {{ربط بصفحة|52|16|٥٢}}، {{ربط بصفحة|62|16|٦٢}}{{سج}} التراجم الصعبة {{ربط بصفحة|62|16|٦٢}}{{سج}} التراجم العويصة {{ربط بصفحة|52|16|٥٢}}، {{ربط بصفحة|56|16|٥٦}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|79|16|٧٩}}{{سج}} <br /> التراجم المسهلة {{ربط بصفحة|41|16|٤١}}{{سج}} التراجم المعراة {{ربط بصفحة|81|16|٨١}}{{سج}} الترجمة {{ربط بصفحة|38|16|٣٨}}، {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|89|16|٨٩}}، {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|108|16|١٠٨}}، {{ربط بصفحة|109|16|١٠٩}}، {{ربط بصفحة|110|16|١١٠}}، {{ربط بصفحة|126|16|١٢٦}}{{سج}} الترجمة البسطامية {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|110|16|١١٠}}{{سج}} الترجمة التي أعميت عيوبها {{ربط بصفحة|80|16|٨٠}}{{سج}} الترجمة التي تحل بقوة الفطنة {{ربط بصفحة|52|16|٥٢}}{{سج}} الترجمة التي لا فصل فيها {{ربط بصفحة|49|16|٤٩}}{{سج}} الترجمة التي لا تجيب {{ربط بصفحة|62|16|٦٢}}{{سج}} الترجمة التي لا تحل إلا إيهاماً للمستخرج {{ربط بصفحة|52|16|٥٢}}{{سج}} الترجمة التي لا فصل فيها {{ربط بصفحة|73|16|٧٣}}{{سج}} الترجمة التي لا يمكن حلها {{ربط بصفحة|82|16|٨٢}}{{سج}} الترجمة الحقيقة {{ربط بصفحة|75|16|٧٥}}{{سج}} الترجمة الصعبة الحل {{ربط بصفحة|57|16|٥٧}}{{سج}} الترجمة العويصة {{ربط بصفحة|41|16|٤١}}{{سج}} الترجمة القمية {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|110|16|١١٠}}{{سج}} الترجمة المركبة {{ربط بصفحة|128|16|١٢٨}}، {{ربط بصفحة|189|16|١٨٩}}{{سج}} الترجمة المركبة على حساب الجمل {{ربط بصفحة|259|16|٢٥٩}}{{سج}} الترجمة المسددة {{ربط بصفحة|62|16|٦٢}}{{سج}} الترجمة المعراة من جميع الجهات {{ربط بصفحة|62|16|٦٢}}{{سج}} الترجمة المعماة بالتركيب ضمن ألفاظ رسالة {{ربط بصفحة|188|16|١٨٨}} {{نهاية أعمدة متعددة}} {{يسار|٤١١}}<noinclude></noinclude> qw5wriq9opt1vxp8lnx7tbrr87556hi صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/414 104 307184 617427 2026-08-14T11:48:38Z RASHEEDYE 15342 /* لم تصحح */ أنشأ الصفحة ب'{{أعمدة متعددة}} الترجمة المعماة بالتركيب على الحساب والعدد {{ربط بصفحة|189|16|١٨٩}}{{سج}} الترجمة المعماة بالتركيب على الخرز الملون {{ربط بصفحة|186|16|١٨٦}}{{سج}} الترجمة المعماة بالتركيب على الدرج المطوي {{ربط بصفحة|184|16|١٨٤}}{{سج}} الترجمة المعماة بالتركيب على دقة الخشب...' 617427 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} الترجمة المعماة بالتركيب على الحساب والعدد {{ربط بصفحة|189|16|١٨٩}}{{سج}} الترجمة المعماة بالتركيب على الخرز الملون {{ربط بصفحة|186|16|١٨٦}}{{سج}} الترجمة المعماة بالتركيب على الدرج المطوي {{ربط بصفحة|184|16|١٨٤}}{{سج}} الترجمة المعماة بالتركيب على دقة الخشب {{ربط بصفحة|185|16|١٨٥}}{{سج}} الترجمة المعماة بالتركيب على رقعة الشطرنج {{ربط بصفحة|258|16|٢٥٨}}{{سج}} الترجمة المعماة بالتركيب على عكس الألفاظ {{ربط بصفحة|189|16|١٨٩}}{{سج}} الترجمة المعماة بالتركيب في حواشي الكلام {{ربط بصفحة|188|16|١٨٨}}{{سج}} الترجمة المعماة بتبديل أشكال الحروف مع الرباط والشرح {{ربط بصفحة|167|16|١٦٧}}{{سج}} الترجمة المعماة بحساب الجمل {{ربط بصفحة|181|16|١٨١}}{{سج}} الترجمة المعماة بوضع الحروف على أيام الأسبوع والساعات {{ربط بصفحة|183|16|١٨٣}}{{سج}} الترجمة المعماة على أحوال الكواكب {{ربط بصفحة|191|16|١٩١}}{{سج}} الترجمة المعماة من كل جهة {{ربط بصفحة|63|16|٦٣}}{{سج}} الترجمة بألفاظ يصح من كل منها حرف واحد {{ربط بصفحة|264|16|٢٦٤}}{{سج}} الترجمة بالتخاطب بحساب الجمل معقوداً على الأصابع {{ربط بصفحة|176|16|١٧٦}}{{سج}} الترجمة بالتركيب في حواشي الكلام {{ربط بصفحة|264|16|٢٦٤}}{{سج}} الترجمة بالخرز {{ربط بصفحة|263|16|٢٦٣}}{{سج}} الترجمة بالوضع على أحوال الكواكب {{ربط بصفحة|265|16|٢٦٥}}{{سج}} الترجمة بتبديل أشكال الحروف {{ربط بصفحة|250|16|٢٥٠}}{{سج}} الترجمة بتقطيب دقة الخشب {{ربط بصفحة|262|16|٢٦٢}}{{سج}} الترجمة بتغيير أشكال الحروف {{ربط بصفحة|247|16|٢٤٧}}{{سج}} الترجمة بتغيير حلية الشكل {{ربط بصفحة|247|16|٢٤٧}}{{سج}} الترجمة بتغيير نسب الحروف {{ربط بصفحة|248|16|٢٤٨}}{{سج}} الترجمة بحذف حرف {{ربط بصفحة|166|16|١٦٦}}{{سج}} الترجمة بحروف الجمل {{ربط بصفحة|46|16|٤٦}}{{سج}} الترجمة برقعة الشطرنج {{ربط بصفحة|141|16|١٤١}}{{سج}} الترجمة بقلب حروف المعجم {{ربط بصفحة|44|16|٤٤}} {{فاصل أعمدة متعددة|خط1=1px solid black}} الترجمة بمضاعفة العدد {{ربط بصفحة|260|16|٢٦٠}}{{سج}} الترجمة بوضع حروف المعجم في سبع لفظات {{ربط بصفحة|261|16|٢٦١}}{{سج}} الترجمة ذات الفصل {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|72|16|٧٢}}{{سج}} الترجمة في الشعر {{ربط بصفحة|324|16|٣٢٤}}{{سج}} ترداد الحروف {{ربط بصفحة|280|16|٢٨٠}}{{سج}} تردد الحروف {{ربط بصفحة|63|16|٦٣}}، {{ربط بصفحة|362|16|٣٦٢}}{{سج}} تردد الحروف المفردة {{ربط بصفحة|364|16|٣٦٤}}{{سج}} تردد حروف المعجم {{ربط بصفحة|60|16|٦٠}}{{سج}} التركيب {{ربط بصفحة|173|16|١٧٣}}، {{ربط بصفحة|175|16|١٧٥}}، {{ربط بصفحة|176|16|١٧٦}}، {{ربط بصفحة|189|16|١٨٩}}{{سج}} تركيب التعمية {{ربط بصفحة|162|16|١٦٢}}، {{ربط بصفحة|228|16|٢٢٨}}{{سج}} تركيب التعمية على خلفية {{ربط بصفحة|228|16|٢٢٨}}{{سج}} تركيب التعمية على محاسبة الفلاحين {{ربط بصفحة|175|16|١٧٥}}{{سج}} تركيب الكلام العربي {{ربط بصفحة|302|16|٣٠٢}}{{سج}} تركيب النص المعمى {{ربط بصفحة|185|16|١٨٥}}{{سج}} تركيب النص المعمى على رسالة {{ربط بصفحة|188|16|١٨٨}}{{سج}} تركيب النص المعمى على سبحة {{ربط بصفحة|186|16|١٨٦}}{{سج}} تركيب النص المعمى على نص آخر {{ربط بصفحة|188|16|١٨٨}}{{سج}} تركيب النص المعمى على نص فلكي {{ربط بصفحة|191|16|١٩١}}{{سج}} تركيب تبديل الحروف على حساب الجمل {{ربط بصفحة|176|16|١٧٦}}{{سج}} تركيب حساب الجمل على المساحة {{ربط بصفحة|256|16|٢٥٦}}{{سج}} التركيب في حواشي الكلام {{ربط بصفحة|169|16|١٦٩}}{{سج}} تسطيح نسبي {{ربط بصفحة|60|16|٦٠}}{{سج}} التسطيح النسبي في طيف تردد أشكال النص المترجم {{ربط بصفحة|62|16|٦٢}}{{سج}} التشفير {{ربط بصفحة|391|16|٣٩١}}{{سج}} تضعيف بعض الحروف {{ربط بصفحة|238|16|٢٣٨}}{{سج}} تضعيف جميع الحروف {{ربط بصفحة|238|16|٢٣٨}}{{سج}} التعمية {{ربط بصفحة|38|16|٣٨}}، {{ربط بصفحة|48|16|٤٨}}، {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|89|16|٨٩}}، {{ربط بصفحة|92|16|٩٢}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|108|16|١٠٨}}، {{ربط بصفحة|109|16|١٠٩}}، {{ربط بصفحة|110|16|١١٠}}، {{ربط بصفحة|125|16|١٢٥}}، {{ربط بصفحة|391|16|٣٩١}} {{نهاية أعمدة متعددة}} {{يمين|٤١٢}}<noinclude></noinclude> od9ccczrdgfts41oeaden4y8a345fjl صفحة:The Method of Medicine WDL7478.pdf/6 104 307185 617428 2026-08-14T11:48:44Z ~2026-43953-13 72772 /* لم تصحح */ أنشأ الصفحة ب' {{عنوان|'''فهرس الكتاب بالتصريف لمن عجز عن التأليف المشهور بالزهراوي'''}} {| style="width:100%; border:2px solid; border-collapse:collapse; text-align:right;" |- ! style="border:1px solid; width:5%; text-align:center;" | صفحه ! style="border:1px solid; width:45%; text-align:center;" | مضمون ! style="border:1px solid; width:5%; text-align:center;" | صفحه ! style="border:1px solid; width:45%; text-...' 617428 proofread-page text/x-wiki <noinclude><pagequality level="1" user="~2026-43953-13" />{{رص|تبصرة|٣|زهراوي}}</noinclude> {{عنوان|'''فهرس الكتاب بالتصريف لمن عجز عن التأليف المشهور بالزهراوي'''}} {| style="width:100%; border:2px solid; border-collapse:collapse; text-align:right;" |- ! style="border:1px solid; width:5%; text-align:center;" | صفحه ! style="border:1px solid; width:45%; text-align:center;" | مضمون ! style="border:1px solid; width:5%; text-align:center;" | صفحه ! style="border:1px solid; width:45%; text-align:center;" | مضمون |- | style="border:1px solid; text-align:center;" | ٢ | colspan="3" style="border:1px solid; text-align:center;" | ''' الكتاب ديباجه''' |- | style="border:1px solid; text-align:center;" | ٣ | colspan="3" style="border:1px solid; text-align:center;" | '''الباب الاولى في الكى'''}} |- | style="border:1px solid; text-align:center;" | ٦ | style="border:1px solid;" | الفصل الاول فى {{illegible}} كى اور مركبه واحده۔ | style="border:1px solid; text-align:center;" | ٦ | style="border:1px solid;" | الفصل الثانى فى كى الامراض {{illegible}}۔ |- | style="border:1px solid; text-align:center;" | ٧ | style="border:1px solid;" | الفصل الثانى فى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ٨ | style="border:1px solid;" | الفصل الرابع فى كى {{illegible}} اور منہ۔ |- | style="border:1px solid; text-align:center;" | ٩ | style="border:1px solid;" | الفصل الخامس فى كى اوجاع الابوين۔ | style="border:1px solid; text-align:center;" | ٩ | style="border:1px solid;" | الفصل السادس فى كى القوة۔ |- | style="border:1px solid; text-align:center;" | ١٠ | style="border:1px solid;" | الفصل السابع فى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ١٠ | style="border:1px solid;" | الفصل التاسع كى انسان {{illegible}}۔ |- | style="border:1px solid; text-align:center;" | ١١ | style="border:1px solid;" | الفصل الحادى عشر فى كى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ١١ | style="border:1px solid;" | الفصل الحادى عشر كى الصرع۔ |- | style="border:1px solid; text-align:center;" | ١٢ | style="border:1px solid;" | الفصل الثانى عشر فى كى وجع العينين۔ | style="border:1px solid; text-align:center;" | ١٢ | style="border:1px solid;" | الفصل الثانى عشر فى كى {{illegible}} العين۔ |- | style="border:1px solid; text-align:center;" | ١٣ | style="border:1px solid;" | الفصل الثالث عشر فى كى {{illegible}} العينين۔ | style="border:1px solid; text-align:center;" | ١٣ | style="border:1px solid;" | الفصل الرابع عشر فى كى الالف۔ |- | style="border:1px solid; text-align:center;" | ١٣ | style="border:1px solid;" | الفصل {{illegible}} فى كى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ١٣ | style="border:1px solid;" | الفصل السادس عشر فى كى جفن العين۔ |- | style="border:1px solid; text-align:center;" | ١٦ | style="border:1px solid;" | الفصل التاسع عشر فى كى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ١٦ | style="border:1px solid;" | الفصل الثامن عشر فى كى شقاق الشفة۔ |- | style="border:1px solid; text-align:center;" | ١٦ | style="border:1px solid;" | الفصل الحادى والعشرون فى كى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ١٦ | style="border:1px solid;" | الفصل العشرون فى كى {{illegible}}۔ |- | style="border:1px solid; text-align:center;" | ١٨ | style="border:1px solid;" | الفصل {{illegible}} فى كى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ١٨ | style="border:1px solid;" | الفصل الرابع والعشرون كى مرض {{illegible}}۔ |- | style="border:1px solid; text-align:center;" | ١٩ | style="border:1px solid;" | الفصل {{illegible}} فى كى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ١٩ | style="border:1px solid;" | الفصل السادس والعشرون فى كى المعدة۔ |- | style="border:1px solid; text-align:center;" | ٢١ | style="border:1px solid;" | الفصل التاسع والعشرون فى كى {{illegible}}۔ | style="border:1px solid; text-align:center;" | ٢١ | style="border:1px solid;" | الفصل الثلاثون فى {{illegible}}۔ |- | style="border:1px solid; text-align:center;" | ٢٢ | style="border:1px solid;" | الفصل الواحد والثلاثون فى كى الاستسقاء۔ | style="border:1px solid; text-align:center;" | ٢٢ | style="border:1px solid;" | الفصل الثلاثون فى كى الطحال۔ |}<noinclude></noinclude> 3e9ahkfwm9kvb9jfidq9rktyhjy8ak1 صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/415 104 307186 617429 2026-08-14T11:52:04Z RASHEEDYE 15342 /* لم تصحح */ أنشأ الصفحة ب'{{أعمدة متعددة}} <br/>تعمية أغلاق {{ربط بصفحة|104|16|١٠٤}}{{سج}} التعمية البسيطة {{ربط بصفحة|130|16|١٣٠}}، {{ربط بصفحة|157|16|١٥٧}}، {{ربط بصفحة|168|16|١٦٨}}، {{ربط بصفحة|172|16|١٧٢}}، {{ربط بصفحة|189|16|١٨٩}}، {{ربط بصفحة|224|16|٢٢٤}}، {{ربط بصفحة|236|16|٢٣٦}}، {{ربط بصفحة|237|16|٢٣٧}}{{سج}} تعمية الثنائية ب...' 617429 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} <br/>تعمية أغلاق {{ربط بصفحة|104|16|١٠٤}}{{سج}} التعمية البسيطة {{ربط بصفحة|130|16|١٣٠}}، {{ربط بصفحة|157|16|١٥٧}}، {{ربط بصفحة|168|16|١٦٨}}، {{ربط بصفحة|172|16|١٧٢}}، {{ربط بصفحة|189|16|١٨٩}}، {{ربط بصفحة|224|16|٢٢٤}}، {{ربط بصفحة|236|16|٢٣٦}}، {{ربط بصفحة|237|16|٢٣٧}}{{سج}} تعمية الثنائية برمز واحد {{ربط بصفحة|97|16|٩٧}}{{سج}} التعمية الحديثة {{ربط بصفحة|101|16|١٠١}}{{سج}} تعمية الشعر {{ربط بصفحة|194|16|١٩٤}}، {{ربط بصفحة|297|16|٢٩٧}}، {{ربط بصفحة|403|16|٤٠٣}}{{سج}} التعمية الشعرية {{ربط بصفحة|325|16|٣٢٥}}، {{ربط بصفحة|331|16|٣٣١}}{{سج}} التعمية الصعبة {{ربط بصفحة|58|16|٥٨}}{{سج}} تعمية الكلام المنشور {{ربط بصفحة|224|16|٢٢٤}}، {{ربط بصفحة|228|16|٢٢٨}}{{سج}} تعمية الكلام المنظوم {{ربط بصفحة|224|16|٢٢٤}}، {{ربط بصفحة|228|16|٢٢٨}}{{سج}} التعمية المتعددة الألفبائيات {{ربط بصفحة|172|16|١٧٢}}{{سج}} التعمية المركبة {{ربط بصفحة|93|16|٩٣}}، {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|127|16|١٢٧}}، {{ربط بصفحة|130|16|١٣٠}}، {{ربط بصفحة|137|16|١٣٧}}، {{ربط بصفحة|140|16|١٤٠}}، {{ربط بصفحة|163|16|١٦٣}}، {{ربط بصفحة|165|16|١٦٥}}، {{ربط بصفحة|168|16|١٦٨}}، {{ربط بصفحة|170|16|١٧٠}}، {{ربط بصفحة|171|16|١٧١}}، {{ربط بصفحة|172|16|١٧٢}}، {{ربط بصفحة|224|16|٢٢٤}}، {{ربط بصفحة|236|16|٢٣٦}}، {{ربط بصفحة|238|16|٢٣٨}}{{سج}} التعمية المركبة على المساحة {{ربط بصفحة|189|16|١٨٩}}{{سج}} تعمية المنظوم {{ربط بصفحة|291|16|٢٩١}}{{سج}} تعمية النثر {{ربط بصفحة|361|16|٣٦١}}{{سج}} التعمية باستعمال رقعة الشطرنج {{ربط بصفحة|127|16|١٢٧}}{{سج}} التعمية بالأجناس {{ربط بصفحة|110|16|١١٠}}{{سج}} التعمية بالإخفاء {{ربط بصفحة|137|16|١٣٧}}، {{ربط بصفحة|138|16|١٣٨}}، {{ربط بصفحة|170|16|١٧٠}}، {{ربط بصفحة|172|16|١٧٢}}، {{ربط بصفحة|184|16|١٨٤}}{{سج}} التعمية بالإعادة والرسالة {{ربط بصفحة|171|16|١٧١}}{{سج}} التعمية بالتبديل {{ربط بصفحة|324|16|٣٢٤}}{{سج}} التعمية بالتبديل البسيط {{ربط بصفحة|297|16|٢٩٧}}، {{ربط بصفحة|298|16|٢٩٨}}، {{ربط بصفحة|303|16|٣٠٣}}{{سج}} التعمية بالتخاطب {{ربط بصفحة|228|16|٢٢٨}}{{سج}} التعمية بالحساب والعدد باستعمال كسور الربع والنصف {{ربط بصفحة|265|16|٢٦٥}}{{سج}} التعمية بالخرز الملون {{ربط بصفحة|187|16|١٨٧}} {{فاصل أعمدة متعددة|خط1=2px solid black}} <br/>التعمية بالزيادة {{ربط بصفحة|111|16|١١١}}{{سج}} التعمية بالزيادة والنقصان {{ربط بصفحة|93|16|٩٣}}{{سج}} التعمية بالقلب {{ربط بصفحة|93|16|٩٣}}، {{ربط بصفحة|138|16|١٣٨}}، {{ربط بصفحة|164|16|١٦٤}}{{سج}} التعمية بالقلم المشجر {{ربط بصفحة|103|16|١٠٣}}{{سج}} التعمية بالكتابة المعكوسة {{ربط بصفحة|264|16|٢٦٤}}{{سج}} التعمية بالمعاني المشتقة {{ربط بصفحة|94|16|٩٤}}{{سج}} التعمية بالمعاني المشتقة من لفظ الحرف {{ربط بصفحة|110|16|١١٠}}{{سج}} التعمية بالنقصان {{ربط بصفحة|111|16|١١١}}، {{ربط بصفحة|112|16|١١٢}}{{سج}} التعمية بتبديل أشكال الحروف وتغيير حليتها {{ربط بصفحة|239|16|٢٣٩}}{{سج}} التعمية بتبديل الحروف ذي الرباط والشرح {{ربط بصفحة|137|16|١٣٧}}{{سج}} التعمية بتركيب الحروف على رقعة الشطرنج {{ربط بصفحة|178|16|١٧٨}}{{سج}} التعمية بتغيير مراتب الحروف {{ربط بصفحة|111|16|١١١}}{{سج}} التعمية بحساب الجمل {{ربط بصفحة|174|16|١٧٤}}، {{ربط بصفحة|181|16|١٨١}}{{سج}} التعمية بحساب الجمل المركب على المساحة {{ربط بصفحة|175|16|١٧٥}}{{سج}} التعمية بحساب الجمل الموضوع على المساحة {{ربط بصفحة|176|16|١٧٦}}{{سج}} التعمية بذي رباط وشرح {{ربط بصفحة|93|16|٩٣}}{{سج}} التعمية بزيادة أشكال أغفال {{ربط بصفحة|128|16|١٢٨}}، {{ربط بصفحة|163|16|١٦٣}}{{سج}} التعمية بغير تغيير الوضع {{ربط بصفحة|248|16|٢٤٨}}{{سج}} التعمية بوضع الحروف إزاء الأجناس {{ربط بصفحة|172|16|١٧٢}}{{سج}} تعمية دون فاصل {{ربط بصفحة|298|16|٢٩٨}}{{سج}} تعمية ذات رباط وشرح {{ربط بصفحة|172|16|١٧٢}}{{سج}} التعمية في الشعر {{ربط بصفحة|296|16|٢٩٦}}{{سج}} التعمية في النثر {{ربط بصفحة|296|16|٢٩٦}}{{سج}} تغير أشكال الحروف {{ربط بصفحة|236|16|٢٣٦}}{{سج}} تغير الوضع {{ربط بصفحة|250|16|٢٥٠}}{{سج}} تغير الوضع الأصلي {{ربط بصفحة|237|16|٢٣٧}}{{سج}} تغير صورة الشكل {{ربط بصفحة|236|16|٢٣٦}}{{سج}} تغير وضع الحروف {{ربط بصفحة|248|16|٢٤٨}} {{نهاية أعمدة متعددة}} {{يسار|٤١٣}}<noinclude></noinclude> o5p4w7swgave2ntmjvoxrshbs4ef8bx صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/422 104 307187 617430 2026-08-14T11:53:50Z RASHEEDYE 15342 /* لم تصحح */ أنشأ الصفحة ب'{{أعمدة متعددة}} {{وسط|( م )}} <br />ما أشكل من الحروف {{ربط بصفحة|301|16|٣٠١}}{{سج}} ما تقل حروفه عن حد معين {{ربط بصفحة|376|16|٣٧٦}}{{سج}} ما طال من المعمى {{ربط بصفحة|113|16|١١٣}}{{سج}} ما عمي في الكلام المنشور {{ربط بصفحة|233|16|٢٣٣}}{{سج}} ما لا يأتلف من الحروف {{ربط بصفحة|243|16|٢٤٣}}{{سج}} ما ل...' 617430 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} {{وسط|( م )}} <br />ما أشكل من الحروف {{ربط بصفحة|301|16|٣٠١}}{{سج}} ما تقل حروفه عن حد معين {{ربط بصفحة|376|16|٣٧٦}}{{سج}} ما طال من المعمى {{ربط بصفحة|113|16|١١٣}}{{سج}} ما عمي في الكلام المنشور {{ربط بصفحة|233|16|٢٣٣}}{{سج}} ما لا يأتلف من الحروف {{ربط بصفحة|243|16|٢٤٣}}{{سج}} ما لا يألف بالتقديم ولا بالتأخير {{ربط بصفحة|242|16|٢٤٢}}، {{ربط بصفحة|267|16|٢٦٧}}{{سج}} ما لا يألف غيره بالتأخير دون التقديم {{ربط بصفحة|146|16|١٤٦}}{{سج}} ما لا يألف غيره بالتقديم دون التأخير {{ربط بصفحة|146|16|١٤٦}}{{سج}} ما لا يألف غيره من الحروف {{ربط بصفحة|146|16|١٤٦}}{{سج}} ما لا يخرج أصلاً {{ربط بصفحة|52|16|٥٢}}{{سج}} ما لا يخرج أصلاً ويمتنع عن الواضعين {{ربط بصفحة|79|16|٧٩}}{{سج}} ما لا يستخرج من التراجم {{ربط بصفحة|56|16|٥٦}}{{سج}} ما لا يقترن في الجذور {{ربط بصفحة|154|16|١٥٤}}{{سج}} ما لا يقترن من الحروف {{ربط بصفحة|243|16|٢٤٣}}{{سج}} ما وضع للإعنات {{ربط بصفحة|227|16|٢٢٧}}{{سج}} ما يأتلف بالتأخير دون تقديم {{ربط بصفحة|243|16|٢٤٣}}{{سج}} ما يأتلف بتقديم دون تأخير {{ربط بصفحة|154|16|١٥٤}}، {{ربط بصفحة|243|16|٢٤٣}}{{سج}} ما يأتلف من الحروف وما لا يأتلف (ما يتنافر) {{ربط بصفحة|94|16|٩٤}}، {{ربط بصفحة|96|16|٩٦}}، {{ربط بصفحة|113|16|١١٣}}، {{ربط بصفحة|116|16|١١٦}}، {{ربط بصفحة|234|16|٢٣٤}}، {{ربط بصفحة|268|16|٢٦٨}}، {{ربط بصفحة|302|16|٣٠٢}}{{سج}} ما يألف بالتأخير {{ربط بصفحة|267|16|٢٦٧}}{{سج}} ما يألف بالتأخير دون التقديم {{ربط بصفحة|242|16|٢٤٢}}{{سج}} ما يألف بالتقديم {{ربط بصفحة|267|16|٢٦٧}}{{سج}} ما يألف بالتقديم دون التأخير {{ربط بصفحة|242|16|٢٤٢}}{{سج}} ما يألف غيره بالتقديم والتأخير {{ربط بصفحة|145|16|١٤٥}}، {{ربط بصفحة|242|16|٢٤٢}}، {{ربط بصفحة|267|16|٢٦٧}}{{سج}} ما يألف من الحروف بعضها بعضاً {{ربط بصفحة|241|16|٢٤١}}{{سج}} ما يترجم من الكلام المنشور والمنظوم {{ربط بصفحة|313|16|٣١٣}}{{سج}} ما يتكرر كثيراً وما يقل تكراره {{ربط بصفحة|298|16|٢٩٨}}، {{ربط بصفحة|313|16|٣١٣}} {{فاصل أعمدة متعددة|خط1=3px solid black}} <br />ما يحتاج إليه المستخرج {{ربط بصفحة|41|16|٤١}}، {{ربط بصفحة|68|16|٦٨}}{{سج}} ما يرد أوايل الكلمات {{ربط بصفحة|362|16|٣٦٢}}{{سج}} ما يرد أواخر الكلمات {{ربط بصفحة|362|16|٣٦٢}}{{سج}} ما يزدوج من الحروف مع غيره {{ربط بصفحة|300|16|٣٠٠}}{{سج}} ما يستعمل من الحروف {{ربط بصفحة|243|16|٢٤٣}}{{سج}} ما يستعمل وما يهمل {{ربط بصفحة|313|16|٣١٣}}{{سج}} ما يصعب استخراجه {{ربط بصفحة|52|16|٥٢}}{{سج}} ما يصعب استخراجه حتى لايجيب {{ربط بصفحة|79|16|٧٩}}{{سج}} ما يضطر إليه الوزن {{ربط بصفحة|301|16|٣٠١}}{{سج}} ما يطول من الكلمات {{ربط بصفحة|315|16|٣١٥}}{{سج}} ما يعمى من الكلام المنشور {{ربط بصفحة|312|16|٣١٢}}{{سج}} ما يعمى من الكلام المنظوم {{ربط بصفحة|312|16|٣١٢}}{{سج}} ما يقترن من الحروف {{ربط بصفحة|243|16|٢٤٣}}{{سج}} ما يقترن من الحروف وما لايقترن {{ربط بصفحة|96|16|٩٦}}، {{ربط بصفحة|113|16|١١٣}}، {{ربط بصفحة|140|16|١٤٠}}{{سج}} ما ينبو عن التأليف من حروف الكلام {{ربط بصفحة|298|16|٢٩٨}}{{سج}} ما ينبو عند التأليف من الحروف {{ربط بصفحة|313|16|٣١٣}}{{سج}} ما ينقط بعضه ويغفل بعضه {{ربط بصفحة|352|16|٣٥٢}}{{سج}} ما يهمل من الحروف {{ربط بصفحة|243|16|٢٤٣}}{{سج}} مبادئ استخراج الترجمة والتعمية {{ربط بصفحة|94|16|٩٤}}، {{ربط بصفحة|112|16|١١٢}}{{سج}} مبلغ ما يتكرر من الحروف {{ربط بصفحة|368|16|٣٦٨}}{{سج}} المبهم {{ربط بصفحة|78|16|٧٨}}{{سج}} المبهم الممتنع {{ربط بصفحة|63|16|٦٣}}{{سج}} المترجم {{ربط بصفحة|56|16|٥٦}}، {{ربط بصفحة|62|16|٦٢}}، {{ربط بصفحة|126|16|١٢٦}}{{سج}} المتعلق {{ربط بصفحة|63|16|٦٣}}، {{ربط بصفحة|78|16|٧٨}}{{سج}} المتغير من الحروف {{ربط بصفحة|199|16|١٩٩}}، {{ربط بصفحة|267|16|٢٦٧}}{{سج}} المتغير والأصلي {{ربط بصفحة|140|16|١٤٠}}{{سج}} المجرد {{ربط بصفحة|153|16|١٥٣}}، {{ربط بصفحة|154|16|١٥٤}}{{سج}} المجهول {{ربط بصفحة|76|16|٧٦}}، {{ربط بصفحة|80|16|٨٠}}{{سج}} محاورات الناس {{ربط بصفحة|313|16|٣١٣}} {{نهاية أعمدة متعددة}} {{يمين|٤٢٠}}<noinclude></noinclude> tq93c5srrs3kdmpzjodizne1l9o3j1s صفحة:علم التعمية واستخراج المعمى عند العرب الجزء الثاني.pdf/421 104 307188 617432 2026-08-14T11:57:37Z RASHEEDYE 15342 /* لم تصحح */ أنشأ الصفحة ب'{{أعمدة متعددة}} <br/>فواتح الكتب {{ربط بصفحة|97|16|٩٧}}، {{ربط بصفحة|114|16|١١٤}}{{سج}} الفواصل {{ربط بصفحة|157|16|١٥٧}}{{سج}} فواصل أغفال {{ربط بصفحة|249|16|٢٤٩}} <br /> {{وسط|( ق )}} <br /> قانون الأعداد الكبيرة {{ربط بصفحة|144|16|١٤٤}}{{سج}} القانون الإحصائي لدوران الحروف {{ربط بصفحة|42|16|٤٢}}{{سج}}...' 617432 proofread-page text/x-wiki <noinclude><pagequality level="1" user="RASHEEDYE" /></noinclude>{{أعمدة متعددة}} <br/>فواتح الكتب {{ربط بصفحة|97|16|٩٧}}، {{ربط بصفحة|114|16|١١٤}}{{سج}} الفواصل {{ربط بصفحة|157|16|١٥٧}}{{سج}} فواصل أغفال {{ربط بصفحة|249|16|٢٤٩}} <br /> {{وسط|( ق )}} <br /> قانون الأعداد الكبيرة {{ربط بصفحة|144|16|١٤٤}}{{سج}} القانون الإحصائي لدوران الحروف {{ربط بصفحة|42|16|٤٢}}{{سج}} قانون التباديل {{ربط بصفحة|366|16|٣٦٦}}{{سج}} القانون الناظم لعدد المزدوجات {{ربط بصفحة|366|16|٣٦٦}}{{سج}} قانون عدة الثلاثيات {{ربط بصفحة|367|16|٣٦٧}}{{سج}} قصر النص {{ربط بصفحة|362|16|٣٦٢}}، {{ربط بصفحة|373|16|٣٧٣}}{{سج}} القلب {{ربط بصفحة|101|16|١٠١}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|117|16|١١٧}}، {{ربط بصفحة|165|16|١٦٥}}، {{ربط بصفحة|189|16|١٨٩}}، {{ربط بصفحة|228|16|٢٢٨}}{{سج}} القلب البسيط {{ربط بصفحة|162|16|١٦٢}}{{سج}} القلب البسيط مع الإعاضة المبسطة {{ربط بصفحة|162|16|١٦٢}}{{سج}} قلب النص مع تفريق الحروف {{ربط بصفحة|43|16|٤٣}}{{سج}} قلب تواتر الحروف {{ربط بصفحة|228|16|٢٢٨}}{{سج}} القلب ضمن الكلمات {{ربط بصفحة|43|16|٤٣}}{{سج}} القلب مع تفريق حروف كل كلمة على سطرين {{ربط بصفحة|43|16|٤٣}}{{سج}} قلة الكلام مع عدم تكرر الحروف {{ربط بصفحة|388|16|٣٨٨}}{{سج}} قلة عدد رموز البيت {{ربط بصفحة|375|16|٣٧٥}}{{سج}} قواعد الاستخراج {{ربط بصفحة|42|16|٤٢}}{{سج}} قواعد الترجمة العويصة {{ربط بصفحة|42|16|٤٢}}{{سج}} قوة تردد الحروف {{ربط بصفحة|49|16|٤٩}} <br /> {{وسط|( ك )}} <br /> الكتابة الباطنة {{ربط بصفحة|85|16|٨٥}}، {{ربط بصفحة|88|16|٨٨}}، {{ربط بصفحة|89|16|٨٩}}، {{ربط بصفحة|108|16|١٠٨}}{{سج}} الكثرة {{ربط بصفحة|112|16|١١٢}}{{سج}} كثرة الحروف وقلتها {{ربط بصفحة|199|16|١٩٩}}، {{ربط بصفحة|267|16|٢٦٧}}{{سج}} كسر الشفرة {{ربط بصفحة|391|16|٣٩١}} {{فاصل أعمدة متعددة|خط1=3px solid black}} <br/>كسور الربع {{ربط بصفحة|70|16|٧٠}}{{سج}} كسور النصف {{ربط بصفحة|70|16|٧٠}}{{سج}} كسور النصف والربع {{ربط بصفحة|71|16|٧١}} <br /> الكلمات المألوفة {{ربط بصفحة|171|16|١٧١}}{{سج}} الكلمات التي على حرفين {{ربط بصفحة|127|16|١٢٧}}، {{ربط بصفحة|272|16|٢٧٢}}{{سج}} الكلمات الثنائية {{ربط بصفحة|194|16|١٩٤}}، {{ربط بصفحة|327|16|٣٢٧}}{{سج}} الكلمات الثنائية حسب تواترها {{ربط بصفحة|104|16|١٠٤}}{{سج}} الكلمات الثنائية وتواتر ورودها {{ربط بصفحة|94|16|٩٤}}، {{ربط بصفحة|97|16|٩٧}}{{سج}} الكلمات الخفيفة الوزن {{ربط بصفحة|72|16|٧٢}}{{سج}} الكلمات الشائعة {{ربط بصفحة|53|16|٥٣}}{{سج}} الكلمات الطويلة {{ربط بصفحة|100|16|١٠٠}}، {{ربط بصفحة|218|16|٢١٨}}، {{ربط بصفحة|279|16|٢٧٩}}، {{ربط بصفحة|300|16|٣٠٠}}، {{ربط بصفحة|330|16|٣٣٠}}، {{ربط بصفحة|345|16|٣٤٥}}{{سج}} الكلمات القصيرة {{ربط بصفحة|131|16|١٣١}}{{سج}} الكلمات المحتملة {{ربط بصفحة|194|16|١٩٤}}{{سج}} الكلمات المشددة {{ربط بصفحة|338|16|٣٣٨}}{{سج}} الكلمة المحتملة {{ربط بصفحة|49|16|٤٩}}، {{ربط بصفحة|94|16|٩٤}}، {{ربط بصفحة|97|16|٩٧}}{{سج}} كلمة خفيفة الوزن (قليلة الحروف) {{ربط بصفحة|49|16|٤٩}}{{سج}} الكمية {{ربط بصفحة|168|16|١٦٨}}، {{ربط بصفحة|210|16|٢١٠}}، {{ربط بصفحة|234|16|٢٣٤}}، {{ربط بصفحة|235|16|٢٣٥}}، {{ربط بصفحة|237|16|٢٣٧}}، {{ربط بصفحة|228|16|٢٢٨}}{{سج}} الكيفية {{ربط بصفحة|42|16|٤٢}}، {{ربط بصفحة|168|16|١٦٨}}، {{ربط بصفحة|234|16|٢٣٤}}، {{ربط بصفحة|237|16|٢٣٧}}، {{ربط بصفحة|238|16|٢٣٨}}، {{ربط بصفحة|251|16|٢٥١}}{{سج}} كيفية استنباط التراجم {{ربط بصفحة|233|16|٢٣٣}} <br /> {{وسط|( ل )}} <br /> اللحن {{ربط بصفحة|89|16|٨٩}}، {{ربط بصفحة|104|16|١٠٤}}، {{ربط بصفحة|108|16|١٠٨}}{{سج}} اللغات البائدة {{ربط بصفحة|391|16|٣٩١}}{{سج}} اللغات القديمة {{ربط بصفحة|391|16|٣٩١}}{{سج}} اللغز {{ربط بصفحة|325|16|٣٢٥}}{{سج}} اللواحق {{ربط بصفحة|154|16|١٥٤}} {{نهاية أعمدة متعددة}} {{يسار|٤١٩}}<noinclude></noinclude> f3hnsdra4ezg9dsp5km4eke1jz0evti