Skip to content

ملفات برمجية عن المحافظات والمديريات والعزل والقرى اليمنية | Programming files for Yemeni governorates, districts, uzaal and villages

License

Notifications You must be signed in to change notification settings

A909M/Yemen-info

 
 

Repository files navigation

Stand With Palestine

StandWithPalestine

مشروع Yemen-info

English Readme

هنا بعض الملفات لأهم المعلومات المتعلقة باليمن من ناحية برمجية. لدينا معلومات عن محافظات اليمن ومديرياتها وعزلها وقراها باللغتين العربية والإنجليزية. قُدّمت الأسماء العربية للمحافظات والمديريات بعدة أشكال: بالتشكيل وبدونه، وحتى بصيغة موحّدة نمطية (normalized text). وقُدّمت الأسماء الإنجليزية بأقرب صورة ممكنة للاسم العربي، وبصيغة أخرى موحّدة كذلك. هذه الصيغة الموحّدة مفيدة جدًا في البحث في تطبيقات الويب والجوال.

لماذا؟

لدى العديد من الحكومات مراكز بيانات مفتوحة بمحتوى هائل من المعلومات القيّمة للمبرمجين وعلماء البيانات والباحثين. للأسف، أننا لا نملك شيئًا كهذا، فلهذا قررنا بناءه بأنفسنا. على سبيل المثال، فسؤال يسير كهذا: "ما المحافظات والمديريات والعزل اليمنية مع النطق الصحيح لها؟" متعذّر الإجابة لقلة المعلومات المتوفرة. هذا المستودع البرمجي سيساعد. نعم، مساعدة قليلة لكنها مفيدة.

المنهجية والملاحظات

⦿ أضفنا أسماء عواصم كل محافظة عدا محافظات: أمانة العاصمة، وصنعاء، وعدن لعدم وجود عواصم لها بحسب البيانات. لو كان هناك اختلاف بسيط بين اسم عاصمة المحافظة وأحد المديريات، فهذا يعني أن هذه المديريات هي نفسها عاصمة المحافظة. أحيانا يُزاد على عاصمة المحافظة كلمة "مدينة" وهذا لا يؤثر أنها هي عاصمة المحافظة من بين المديريات. مثًلا، عاصمة محافظة عمران: "مدينة عمران"، وأحد مديريات المحافظة: عمران. هما نفس الشيء. فلماذا لم نُضف كلمة "مدينة" إلى المديرية؟ السبب ملتزمون بشدة بالوثائق الرسمية.

⦿ اخترنا أن نضع اسم عاصمة المحافظة مباشرة تحتها لتسهيل الأمر في جلب المعلومات، ولأن بعض المحافظات ليس لديها عاصمة كما أشرنا آنفًا.

⦿ بذلنا ما في وسعنا لتدقيق المعلومات، ولكن لا نملك ضمانة أيًا كانت على دقة المعلومات المُقدّمة. إن كنت تعلم أي خطًأ أنت متأكد منه، سنرحب بشدة بتعديله.

⦿ أتممنا بحثنا في فبراير من العام 2024. لذلك، لو كانت المعلومات متقادمة أو غير صحيحة فهذا يعود إلى التغييرات في المحافظات والمديريات على أرض الواقع. نأمل أن نُحدّث المستودع بأحدث المعلومات.

⦿ اخترنا التشكيل بنطق العربية الفصحى على حساب نطق بعض اللهجات المحلية.

⦿ تشكيل الأسماء العربي هو المرجع النهائي للنطق. لو تعارض التشكيل العربي مع النسخة الإنجليزية، فالنطق الصحيح هو في التشكيل العربي. وكما في العادة، لو كنت متأكدًا من النطق الصحيح، أخبرنا للتصحيح.

⦿ في النسخة الإنجليزية من المحافظات والمديريات اخترنا أن نضيف Al كما هو في الاسم العربي عند التعبير عن "أل التعريف"؛ لأننا نعدها معرّفًا ويمكن حذفها في سياقات مختلفة. مثال عليها مديرية "التحرير" تترجم إلى "Al-Tahrir" بدلًا عن "At Tahrir" والتي قد يفضلها البعض. نحن نفضل الصيغة الأولى للترجمة لما قدّمناه. لو كنت تفضّل الصيغة الثانية يمكنك الاطلاع على هذا الموقع.

⦿ وحّدنا النصوص لكل محافظة ومديرية. في الأسماء العربية استخدمنا خوارزمية مكتبة Ar-PHP. وفي الأسماء الإنجليزية جعلنا التغييرات كالتالي: 1- حذف الفاصلة العليا (')، 2- استبدال الشرطة (-) بمسافة. كل هذه التغييرات المتعلقة بتوحيد النصوص أو كما يُقال تنميطها هي من أجل استرجاع نتائج أفضل في البحث باللغة العربية أو الإنجليزية.

⦿ في 10 فبراير من العام 2023، أضفنا قائمة بالعُزَل لكل مديرية. لكن البيانات ليست دقيقة كما هو الحال في المحافظات والمديريات، وكذلك لم نُضف التشكيلات لأننا لا نستطيع التأكد منها، ووضعنا التسمية الإنجليزية كما وردتنا في ملف الإكسل فنجد في هذه التسمية الإنجليزية استخدام تسمية عزلة "الزبيرات" بهذه التسمية الإنجليزية "Az Zubayrat" بدلًا من "Al Zubayrat"، فلم نلتزم بالتشكيل في العزل كما في المديريات لأننا غير متأكدين من دقة البيانات في العُزَل.

⦿ وفي 10 فبراير من العام 2024، أضفنا قائمة بالقرى لكل عزلة، وينطبق على بيانات القرى ما ينطبق على بيانات العزل.

كيفية الاستخدام

ببساطة، نزّل ملف yemen-info.json واستخدمه كما يحلو لك. هو عبارة عن ملف JSON، لذلك فهو لا يتعلق بلغة برمجية ولا بإطار عمل معيّن فأكثر اللغات البرمجية تدعمه بسهولة. لدينا عدة صيغ لنفس المعلومات يمكنك استخدامها لو كنت تفضلها في مجلد automated حيث تجد ملفات: yemen-info.csv و yemen-info.xlsx (صيغة ميكروسوفت إكسل)، و yemen-info.xml و yemen-info.yml و yemen-info-mysql و yemen-info-sqlite.

يمكنك كذلك استخدام ملف قاموس cspell لتجاهل أسماء المحافظات والمديريات من تخطئتها من إضافات وبرامج التصحيح الإملائي. كان هذا أمرًا عَرَضيًا عن هدفنا الرئيسي في المشروع ولكننا شاكرون لهذه النتيجة! يمكنك نسخ قائمة الكلمات لقائمة الاستثناءات لأي محرر نصوص لديه ميزة التصحيح الإملائي، حيث يمكنك إضافتها للقاموس الشخصي لكل لا يعدها البرنامج كلمات خاطئة. هذا موجود في برامج ميكروسوفت وورد، ليبرا أوفيس، وحتى إضافة Arabic - Code Spell Checker على المحرر البرمجي VS Code.

ملاحظة جانبية: ساهمنا نحن في Yemen Open Source في الإضافة السابقة الذكر ولمزيد من التفاصيل يمكنك المطالعة على الرابط.

المميزات

✅ تشكيل عربي كامل لكل محافظة ومديرية.

✅ صيغ متعددة: JSON و CSV و XLSX و XML و Yaml و SQL.

✅ مفاتيح أرقام الهاتف الثابت لكل محافظة.

✅ ملف قاموس cspell لاستثناء جميع محافظات ومديريات اليمن من تخطئة تسميتها في المصححات الإملائية.

✅ معرّف فريد لكل محافظة ومديرية.

✅ عواصم جميع المحافظات من المديريات.

✅ توحيد النصوص (text normalization) لكل محافظة ومديرية سواء باللغة العربية أو الإنجليزية (فعال جدًا في البحث).

✅ ملف Readme باللغتين العربية والإنجليزية.

✅ أسماء العُزَل لكل مديرية.

✅ أكواد برمجية لتحويل ملف JSON مباشرة إلى: CSV و XLSX و XML و Yaml و SQL.

✅ أتمتة سكريبتات التحويل لمختلف الصيغ بعد أي تعديل لملف yemen-info.json عن طريق GitHub Action، بحيث تتزامن البيانات في مختلف الصيغ.

✅ أسماء القرى داخل كل عزلة (جديد).

كيفية المساهمة

يمكنك إضافة issue لو وجدت أي خطأ أو كان لديك اقتراح أو يمكنك إضافة pull request.

ملف yemen-info.json هو المصدر الأساسي للبيانات. لو غيّرت شيئًا على هذا الملف فستتغير هذه الملفات تلقائيا:

⦿ ملف yemen-info.csv

⦿ ملف yemen-info.xlsx

⦿ ملف yemen-info.xml

⦿ ملف yemen-info.yml

⦿ ملف yemen-info-mysql.sql

⦿ ملف yemen-info-sqlite.sql

كما ننبه إلى تحديث ملفي README.md و README.en.md إن وجد شيء متعلّق بها.

لاحقًا في المستقبل (خارج نطاقنا حاليًا)

هذه قائمة من المهمات المستقبلية خارج نطاقنا حاليًا، ولكن لو وجد الوقت والبيانات ربما سنعمل عليها، وربما نعمل عليها في مستودع آخر.

⦿ إضافة نقاط polygon للخرائط.

⦿ إضافة نقاط الطول والعرض (latitude و longitude) لمراكز المحافظات والمديريات.

⦿ إضافة خريطة تفاعلية جميلة ومفيدة مثل الخريطة على هذا الموقع.

المصادر

بعض المصادر التي ساعدتنا لإنجاز هذا المشروع:

⦿ مدقّق استُخدم لإضافة التشكيل الآلي قبل التحقق اليدوي بأنفسنا.

⦿ موقع Grammarly كان مساعدًا كبيرًا على تصحيح الأخطاء الإملائية والنحوية في اللغة الإنجليزية في نسخة ملف Readme الإنجليزية.

⦿ مستودع Countries States Cities Database ساعدنا بالمعلومات العامة عن اليمن.

⦿ الحكم المحلي في اليمن ساعدنا في البيانات عن المديريات لكل محافظة، مع الترجمة الإنجليزية لها.

⦿ المركز الوطني للمعلومات ساعدنا في البيانات إضافة للمصدر السابق.

⦿ موقع سفارة اليمن - القاهرة استخدمناه لمعرفة عاصمة كل محافظة.

⦿ مكتبة Ar-PHP استخدمت هذه المكتبة البرمجية لتوحيد النصوص العربية. شكرا للمهندس خالد الشمعة.

⦿ ملف إكسل يحتوي العزل اليمنية استخدمنا هذا الملف لإضافة العزل لكل مديرية.

شكر وامتنان

نشكر كل المساهمين في هذا المشروع:


ونشكر كذلك الذين شاركوا في أسماء بعض المديريات اليمنية ولكن لم يشاركوا مباشرة في الكود على المستودع، وهم بالترتيب الأبجدي:

⦿ أمجد الهتاري

⦿ صفوان بنيان

⦿ ضياء الجبوبي

⦿ طلال محرم

⦿ عبداللطيف الرداعي

⦿ يعقوب الكهادي

About

ملفات برمجية عن المحافظات والمديريات والعزل والقرى اليمنية | Programming files for Yemeni governorates, districts, uzaal and villages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.0%
  • PHP 35.0%