مساعد صيغ LibreOffice Calc
أداة Python لإنشاء واختبار وإدارة صيغ LibreOffice Calc بسرعة – مع نظام المفضلة، ومزامنة الفريق، ودعم تعدد اللغات، ومدير الإضافات.
🚀 الميزات
📑 4 علامات تبويب مع أكثر من 60 دالة
🌐 38 لغة (بما فيها الهندية مع تثبيت تلقائي للخط)
⭐ نظام المفضلة (محلي ومزامنة الفريق عبر محرك الشبكة)
🛠 لوحة المسؤول لمفضلات الفريق (محمية بكلمة مرور)
📋 صيغ قابلة للنسخ مباشرةً مع تمييز بناء الجملة
✏️ حقل إخراج قابل للتحرير مع التراجع/الإعادة
📖 مساعدة مدمجة ومرجع دوال (لكل لغة)
💾 حفظ تلقائي (JSON، كتابة ذرية)
🌙 الوضع الداكن
🔌 مدير الإضافات لإنشاء إضافات الصيغ الخاصة بك
🔤 دعم RTL (من اليمين إلى اليسار) – اكتشاف تلقائي لاتجاه الكتابة
🗄️ النسخ الاحتياطي والاستعادة – حفظ جميع الإعدادات والمفضلة باسم وكلمة مرور
🔤 دعم RTL (من اليمين إلى اليسار) – اكتشاف تلقائي لاتجاه الكتابة
🗄️ النسخ الاحتياطي والاستعادة – حفظ جميع الإعدادات والمفضلة باسم وكلمة مرور
⌨️ اختصار لوحة مفاتيح عالمي Ctrl+F12 للتصغير/الاستعادة
🔍 مدقق JSON – التحقق وتصحيح languages.json وformula_explanations.json تلقائيا
🖥️ طريقة الاستخدام
1. أدخل القيم
نطاق الخلايا (مثل A1:A10)
الخلية 1 / الخلية 2 (مثل A1, B1)
معامل اختياري (مثل نص أو فهرس)
وضع المرجع المطلق قابل للاختيار: A1, $A1, A$1, $A$1
2. اختر دالة اختر علامة تبويب وانقر على دالة – تُنشأ الصيغة فوراً.
3. خصّص الصيغة يمكن تحرير الصيغة الناتجة مباشرةً في حقل الإخراج.
4. انسخ بنقرة واحدة إلى الحافظة (بما فيها ألوان بناء الجملة).
5. استخدم المفضلة
⭐ حفظ → احفظ الصيغة الحالية (Ctrl+S)
📂 تحميل → أعد استخدام صيغة
❌ حذف → مفتاح Del أو الزر
🕐 السجل → الصيغ المستخدمة مؤخراً
📊 نظرة عامة على علامات التبويب
علامة التبويب 1 – الدوال الأساسية + - * / ^ SUM, AVERAGE, MIN, MAX, MEDIAN, COUNT, COUNTA, SUMPRODUCT
علامة التبويب 2 – الدوال المتقدمة IF, AND, OR, NOT SUMIF, COUNTIF, AVERAGEIF, SUMIFS, STDEV, VAR, COUNTBLANK, LARGE
علامة التبويب 3 – التاريخ والنص TODAY, NOW, YEAR, MONTH, DAY, DATE, DATEDIF, WEEKDAY CONCATENATE, LEN, LEFT, RIGHT, MID, UPPER, LOWER, TRIM
علامة التبويب 4 – البحث والتقريب VLOOKUP, HLOOKUP, INDEX, MATCH, INDEX+MATCH ROUND, ROUNDUP, ROUNDDOWN, INT, TRUNC, ABS, MOD, SQRT, RAND
📖 شرح الصيغ من وثائق LibreOffice
يتم تعبئة ملف formula_explanations.json مباشرةً من وثائق LibreOffice Calc الرسمية (https://help.libreoffice.org).
مصدر البيانات والتحديث
تؤخذ الأوصاف وبيانات الصياغة والأمثلة من موقع مساعدة LibreOffice الرسمي
اللغات المدعومة تعتمد على الترجمات المتاحة على الموقع
يحتوي الملف لكل دالة: الاسم، والصياغة، والوصف، والمثال، والفئة
يمكن إجراء الإضافات أو التصحيحات يدوياً (انظر مدقق JSON)
بنية formula_explanations.json
`json
{
"SUM": {
"ar": {
"syntax": "SUM(رقم1; رقم2; ...)",
"description": "يجمع كل الأرقام في نطاق خلايا.",
"example": "=SUM(A1:A10)"
},
"en": {
"syntax": "SUM(Number1; Number2; ...)",
"description": "Adds all numbers in a cell range.",
"example": "=SUM(A1:A10)"
}
}
}
`
| الحقل | إلزامي | الوصف |
|-------|--------|-------|
| syntax | ✅ | صياغة الصيغة مع المعاملات |
| description | ✅ | وصف مختصر للدالة |
| example | ✅ | مثال تطبيقي كصيغة جاهزة |
| note | ❌ | ملاحظة اختيارية |
💡 ملاحظة: إذا لم يكن هناك إدخال للغة ما، يعود التطبيق تلقائياً إلى النسخة الإنجليزية.
---
🔍 مدقق JSON لملفات اللغة
يتحقق مدقق JSON المدمج من languages.json وformula_explanations.json ويصححهما. يمكن الوصول إليه عبر الإعدادات → 🔍 مدقق JSON.
ما الذي يتم فحصه؟
#### languages.json
✅ جميع اللغات الـ 38 موجودة (وفق رمز ISO 639-1)
✅ أسماء الدول واللغات صحيحة (مثلاً "ar" → "العربية")
✅ لا يوجد رموز لغة مكررة
✅ الحقول الإلزامية موجودة: name, native_name, flag, rtl
✅ تعيين RTL صحيح (العربية، العبرية، الفارسية، الأردية → "rtl": true)
#### formula_explanations.json
✅ جميع الدوال من الأقسام الأربعة مدرجة
✅ الحقول الإلزامية موجودة: syntax, description, example
✅ لا حقول فارغة
✅ رموز اللغة تتطابق مع languages.json
وظائف التصحيح
| نوع الخطأ | التصحيح التلقائي |
|-----------|-----------------|
| اسم دولة خاطئ | يستبدل بالاسم الصحيح وفق معيار ISO |
| إدخال لغة مفقود | يملأ بنسخة احتياطية إنجليزية |
| حقل إلزامي فارغ | يضع "[MISSING]" للمراجعة اليدوية |
| إدخال مكرر | يزيل التكرارات ويحتفظ بالأكثر اكتمالاً |
| علامة RTL خاطئة | يصحح تلقائياً بناءً على رموز اللغة |
طريقة الاستخدام
1. افتح الإعدادات → 🔍 مدقق JSON
2. اختر الملف: languages.json أو formula_explanations.json (أو كليهما)
3. 🔎 فحص – يعرض جميع المشاكل المكتشفة
4. 🛠 تصحيح تلقائي – يعالج جميع الأخطاء القابلة للتصحيح
5. 💾 حفظ – يكتب الملف المصحح بشكل ذري
6. 📋 تصدير التقرير (اختياري) – يحفظ ملفاً نصياً بجميع النتائج
⚠️ ملاحظة: قبل أي تصحيح تلقائي تُنشأ نسخة احتياطية من الملف الأصلي (languages.json.bak / formula_explanations.json.bak).
⭐ نظام المفضلة
احفظ صيغك الخاصة وأعد استخدامها
الفصل بين المفضلة الشخصية ومفضلة الفريق
مفضلة الفريق للقراءة فقط (المسؤول فقط يمكنه التحرير)
منع الإدخالات المكررة
ترتيب حر للمفضلة الشخصية
المزامنة عبر محرك الشبكة (قابل للتهيئة اختيارياً)
مزامنة الفريق
عبر الإعدادات → 🌐 مسار الشبكة يمكن إدخال محرك شبكة (مثل \\\\Server\\Share\\formulas).
عند البدء: تُحفظ مفضلات الشبكة محلياً (احتياطي دون اتصال)
عند الحفظ: تُكتب الصيغ الشخصية إلى الشبكة، وتبقى صيغ الفريق دون تغيير
🛠 لوحة المسؤول
يمكن الوصول إليها عبر زر 🛠. عند النقر الأول تُحدد كلمة مرور (PBKDF2-SHA256، يُخزَّن الـ hash فقط).
إضافة وتحرير وحذف صيغ الفريق
تغيير كلمة المرور
كتابة التغييرات مباشرةً إلى محرك الشبكة
🔌 مدير الإضافات
مدير الإضافات (plugin_manager.py) هو أداة مستقلة لإنشاء وإدارة إضافات الصيغ الخاصة بك لـ Calc2. يقع في نفس المجلد مثل Calc2.py ويُشغَّل من زر 🔌 في Calc2.py.
الوظائف
إنشاء إضافة جديدة – معالج خطوة بخطوة (الاسم، الصيغ، الترجمات، الملخص)
إضافة صيغ – إضافة صيغ إلى إضافة موجودة
تحرير الترجمات – ترجمة أسماء الصيغ إلى 38 لغة
فتح مجلد الإضافة – مباشرةً في مستكشف الملفات
حذف إضافة – مع تأكيد الأمان
بنية الإضافة
كل إضافة توجد كمجلد فرعي تحت plugins/ وتتكون من ملفين:
`
plugins/
my_plugin/
plugin.json ← بيانات وصفية (الاسم، الإصدار، المؤلف، الوصف)
formulas.json ← الصيغ مع الترجمات
`
مثال plugin.json:
`json
{
"id": "my_plugin",
"enabled": true,
"version": "1.0",
"author": "اسمك",
"icon": "💰",
"name": { "en": "Finance Formulas", "ar": "صيغ مالية" },
"description": { "en": "Useful formulas for financial calculations." }
}
`
مثال formulas.json:
`json
[
{
"formula": "=SUM(A1:A10)",
"name": { "en": "Sum of range", "ar": "مجموع النطاق" },
"description": { "en": "Adds all values in A1:A10." },
"category": { "en": "Basic", "ar": "أساسي" }
}
]
`
ملاحظة مهمة (⚠️ Important Notice)
في مدير الإضافات يوجد زر ⚠️ Important Notice. النقر عليه يفتح نافذة بجميع قواعد إنشاء الإضافة الصحيحة باللغة الإنجليزية. نفس المعلومات متوفرة أيضاً في IMPORTANT_NOTICE.md.
🌐 تعدد اللغات
38 لغة متاحة، يمكن التبديل بينها مباشرةً في التطبيق.
يمكن إضافة لغات جديدة عبر زر 🌍 باستخدام معالج اللغة.
ملاحظة الهندية (हिंदी): عند التبديل الأول إلى الهندية، يُثبَّت خط *Noto Sans Devanagari* مرة واحدة على مستوى النظام. قد يطلب Windows صلاحيات المسؤول لذلك.
🔤 دعم RTL (من اليمين إلى اليسار)
تُكتشف لغات الكتابة من اليمين إلى اليسار تلقائياً وتُعكس الواجهة بالكامل:
العربية – اكتشاف تلقائي لـ RTL
العبرية (עברית) – اكتشاف تلقائي لـ RTL
الفارسية (فارسی) – اكتشاف تلقائي لـ RTL
الأردية (اردو) – اكتشاف تلقائي لـ RTL
ما الذي يتغير في وضع RTL:
يُعكس تخطيط الواجهة بالكامل (أزرار، تبويبات، حقول)
حقول الإدخال في وضع RTL
قائمة المفضلة والسجل محاذاة لليمين
يتغير الخط تلقائياً إلى خط متوافق مع RTL (مثل *Noto Sans Arabic*، *Noto Sans Hebrew*)
💡 ملاحظة: صيغ LibreOffice الناتجة تبقى دائماً بتنسيق LTR – واجهة المستخدم فقط هي التي تتغير.
🗄️ النسخ الاحتياطي والاستعادة
إنشاء نسخة احتياطية
عبر الإعدادات → 🗄️ إنشاء نسخة احتياطية:
1. الاسم – أدخل اسماً للنسخة الاحتياطية (مثل Backup_Mai_2025)
2. كلمة المرور – تُشفَّر النسخة الاحتياطية بـ AES؛ لا يمكن الاستعادة بدونها
3. موقع الحفظ – محلي أو على محرك شبكة
4. انقر على 💾 إنشاء نسخة احتياطية – ينشئ ملف .calc2backup
محتوى النسخة الاحتياطية: جميع المفضلة، الإعدادات، مفضلات الفريق (اختياري)، الإضافات المثبتة.
استعادة النسخة الاحتياطية
عبر الإعدادات → 📂 استعادة النسخة الاحتياطية:
1. اختر ملف النسخة الاحتياطية (.calc2backup)
2. أدخل كلمة المرور
3. اختر نطاق الاستعادة: المفضلة فقط / الإعدادات فقط / الكل
4. انقر على 🔄 استعادة
⚠️ تحذير: عند الاستعادة تُستبدل البيانات الحالية. يُعرض احتياطي تلقائي قبل الاستعادة.
🔑 نسيت كلمة المرور: لا يمكن استعادة النسخ الاحتياطية بدون كلمة المرور الصحيحة.
💡 نصائح
$A$1 → مرجع مطلق (القائمة المنسدلة بجانب حقول الخلية)
Ctrl+S → حفظ الصيغة في المفضلة
Ctrl+C → نسخ الصيغة (خارج حقول الإدخال)
Ctrl+Z / Ctrl+Y → تراجع / إعادة
Ctrl+F12 → تصغير/استعادة النافذة (يعمل حتى عندما يكون Calc2 مصغراً)
مفتاح Del في قائمة المفضلة → حذف إدخال
يمكن تعديل الصيغ مباشرةً في حقل الإخراج بعد إنشائها
📁 هيكل المشروع
`
Calc2.py ← البرنامج الرئيسي
plugin_manager.py ← مدير الإضافات
IMPORTANT_NOTICE.md ← ملاحظات حول إنشاء الإضافات
data/
README_ar.md / README_en.md / ... ← مساعدة حسب اللغة
REFERENZ_ar.md / REFERENZ_en.md / ... ← مرجع الدوال حسب اللغة
language/
languages.json ← ترجمات الواجهة (38 لغة)
formula_explanations.json
services/
language_tool.py ← المعالج: إضافة لغة جديدة
settings_service.py
auth_service.py
favorites_service.py
network_sync.py
install_service.py
backup_service.py ← النسخ الاحتياطي والاستعادة
json_validator.py ← التحقق وتصحيح languages.json / formula_explanations.json
plugins/ ← مجلد الإضافات (يُنشأ تلقائياً)
my_plugin/
plugin.json
formulas.json
fonts/
NotoSansDevanagari-Regular.ttf ← خط الهندية
NotoSansArabic-Regular.ttf ← خط العربية (RTL)
NotoSansHebrew-Regular.ttf ← خط العبرية (RTL)
python/ ← Python مضمّن
python.exe
...
settings.json ← يُنشأ تلقائياً
favoriten.json ← المفضلة المحلية (تُنشأ تلقائياً)
`
🧠 المميزات التقنية
الكتابة الذرية للملفات → تمنع الملفات التالفة عند الحفظ
معمارية الخدمات → المنطق والواجهة مفصولان تماماً
الترحيل التلقائي → تُكتشف تنسيقات المفضلة القديمة وتُحوَّل
معالجة أخطاء قوية → الملفات المعطوبة لا تسبب تعطلاً
تمييز بناء الجملة → الصيغ تُعرض بألوان
الوضع الداكن → مدعوم بالكامل
نظام الإضافات → Calc2 قابل للتوسعة بإضافات صيغ خاصة بك
محرك RTL → اكتشاف تلقائي للغات RTL، عكس كامل لواجهة المستخدم مع الخطوط المناسبة
النسخ الاحتياطي والاستعادة → نسخ احتياطية مشفرة بـ AES باسم وكلمة مرور، استعادة انتقائية
مدقق JSON → التحقق التلقائي وتصحيح languages.json وformula_explanations.json بما فيها أسماء الدول والحقول الإلزامية
مصدر LibreOffice → يتم تعبئة formula_explanations.json من الوثائق الرسمية لـ LibreOffice Calc (https://help.libreoffice.org)
اختصار لوحة مفاتيح عالمي → Ctrl+F12 يعمل على مستوى النظام عبر مكتبة keyboard (خيط خلفية)
الرخصة
مجاني للاستخدام الشخصي والتجاري.