עוזר הנוסחאות של LibreOffice Calc


כלי Python ליצירה, בדיקה וניהול מהיר של נוסחאות LibreOffice Calc – עם מערכת מועדפים, סנכרון צוות, תמיכה רב-לשונית ומנהל תוספים.

🚀 תכונות


  • 📑 4 לשוניות עם למעלה מ-60 פונקציות

  • 🌐 38 שפות (כולל הינדי עם התקנת גופן אוטומטית)

  • ⭐ מערכת מועדפים (מקומי וסנכרון צוות דרך כונן רשת)

  • 🛠 לוח ניהול למועדפי הצוות (מוגן בסיסמה)

  • 📋 נוסחאות להעתקה ישירה עם הדגשת תחביר

  • ✏️ שדה פלט הניתן לעריכה עם ביטול/שחזור

  • 📖 עזרה משולבת ועיון בפונקציות (לכל שפה)

  • 💾 שמירה אוטומטית (JSON, כתיבה אטומית)

  • 🌙 מצב כהה

  • 🔌 מנהל תוספים ליצירת תוספי נוסחאות משלך

  • 🔤 תמיכת 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": {
    "he": {
    "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)
  • שמות מדינה ושפה נכונים (למשל "he""עברית")
  • ✅ אין קודי שפה כפולים
  • ✅ שדות חובה קיימים: name, native_name, flag, rtl
  • ✅ דגל RTL מוגדר נכון (ערבית, עברית, פרסית, אורדו → "rtl": true)

  • #### formula_explanations.json

  • ✅ כל הפונקציות מ-4 הלשוניות רשומות
  • ✅ שדות חובה קיימים: syntax, description, example
  • ✅ אין שדות ריקים ("" או null)
  • ✅ קודי שפה תואמים ל-languages.json

  • פונקציות תיקון


    | סוג שגיאה | תיקון אוטומטי |
    |-----------|--------------|
    | שם מדינה שגוי | מוחלף בשם הנכון לפי תקן ISO |
    | ערך שפה חסר | מתמלא בגרסת ברירת מחדל אנגלית |
    | שדה חובה ריק | מסומן כ-"[MISSING]" לבדיקה ידנית |
    | ערך כפול | כפולים מוסרים, הערך המלא יותר נשמר |
    | דגל RTL שגוי | מתוקן אוטומטית לפי קודי 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", "he": "נוסחאות פיננסיות" },
    "description": { "en": "Useful formulas for financial calculations." }
    }
    `

    דוגמה formulas.json:

    `json
    [
    {
    "formula": "=SUM(A1:A10)",
    "name": { "en": "Sum of range", "he": "סכום טווח" },
    "description": { "en": "Adds all values in A1:A10." },
    "category": { "en": "Basic", "he": "בסיסי" }
    }
    ]
    `

    הודעה חשובה (⚠️ 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. שם – תווית חופשית (לדוגמה גיבוי_מאי_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_he.md / README_en.md / ... ← עזרה לפי שפה
    REFERENZ_he.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 כולל שמות מדינות ושדות חובה

  • מקור LibreOfficeformula_explanations.json מתמלא מהתיעוד הרשמי של LibreOffice Calc (https://help.libreoffice.org)

  • קיצור מקשים גלובליCtrl+F12 פועל ברמת המערכת דרך ספריית keyboard (thread רקע)

  • רישיון


    שימוש חופשי למטרות אישיות ומסחריות.