LibreOffice Calc Βοηθός Τύπων


Ένα εργαλείο Python για γρήγορη δημιουργία, δοκιμή και διαχείριση τύπων LibreOffice Calc – με σύστημα αγαπημένων, συγχρονισμό ομάδας, πολυγλωσσία και διαχειριστή πρόσθετων.

🚀 Κύρια Χαρακτηριστικά


  • 📑 4 καρτέλες με πάνω από 60 συναρτήσεις
  • 🌐 38 γλώσσες (συμπ. αυτόματη εγκατάσταση γραμματοσειράς για Χίντι)
  • ⭐ Σύστημα αγαπημένων (τοπικά & συγχρονισμός ομάδας μέσω δικτυακής μονάδας)
  • 🛠 Πίνακας διαχειριστή για αγαπημένα ομάδας (προστατευμένος με κωδικό)
  • 📋 Άμεσα αντιγράψιμοι τύποι με επισήμανση σύνταξης
  • ✏️ Επεξεργάσιμο πεδίο εξόδου με Undo/Redo
  • 📖 Ενσωματωμένη βοήθεια & αναφορά συναρτήσεων (ανά γλώσσα)
  • 💾 Αυτόματη αποθήκευση (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)
  • 📂 Φόρτωση → επαναχρησιμοποίηση τύπου
  • ❌ Διαγραφή → πλήκτρο Delete ή κουμπί
  • 🕐 Ιστορικό → πρόσφατα χρησιμοποιημένοι τύποι

  • 📊 Επισκόπηση Καρτελών


    Καρτέλα 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": {
    "el": {
    "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)
  • ✅ Σωστές ονομασίες χωρών και γλωσσών (π.χ. "el""Ελληνικά")
  • ✅ Χωρίς διπλότυπους κωδικούς γλώσσας
  • ✅ Υποχρεωτικά πεδία παρόντα: 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\\formeln).

  • Κατά την εκκίνηση: τα αγαπημένα δικτύου αποθηκεύονται τοπικά (εφεδρεία εκτός σύνδεσης)
  • Κατά την αποθήκευση: οι δικοί σας τύποι γράφονται στο δίκτυο, οι τύποι ομάδας παραμένουν ανέπαφοι

  • 🛠 Πίνακας Διαχειριστή


    Προσβάσιμος μέσω του κουμπιού 🛠. Κατά την πρώτη χρήση ορίζεται κωδικός πρόσβασης (PBKDF2-SHA256, αποθηκεύεται μόνο το hash).

  • Προσθήκη, επεξεργασία, διαγραφή τύπων ομάδας
  • Αλλαγή κωδικού πρόσβασης
  • Άμεση αποθήκευση αλλαγών στη δικτυακή μονάδα

  • 🔌 Διαχειριστής Πρόσθετων


    Ο Διαχειριστής Πρόσθετων (plugin_manager.py) είναι ένα αυτόνομο εργαλείο για δημιουργία και διαχείριση δικών σας πρόσθετων τύπων για το Calc2. Βρίσκεται στον ίδιο φάκελο με το Calc2.py και εκκινείται από το κουμπί 🔌.

    Λειτουργίες


  • Δημιουργία νέου πρόσθετου – Βήμα-προς-βήμα οδηγός (όνομα, τύποι, μεταφράσεις, σύνοψη)
  • Προσθήκη τύπων – Προσθήκη τύπων σε υπάρχον πρόσθετο
  • Επεξεργασία μεταφράσεων – Μετάφραση ονομάτων τύπων και στις 38 γλώσσες
  • Άνοιγμα φακέλου πρόσθετου – Απευθείας στην Εξερεύνηση αρχείων
  • Διαγραφή πρόσθετου – Με επιβεβαίωση ασφαλείας

  • Δομή Πρόσθετου


    Κάθε πρόσθετο βρίσκεται ως υποφάκελος στο plugins/ και αποτελείται από δύο αρχεία:

    `
    plugins/
    mein_plugin/
    plugin.json ← Μεταδεδομένα (όνομα, έκδοση, συγγραφέας, περιγραφή)
    formulas.json ← Τύποι με μεταφράσεις
    `

    Παράδειγμα plugin.json:

    `json
    {
    "id": "mein_plugin",
    "enabled": true,
    "version": "1.0",
    "author": "Το Όνομά σας",
    "icon": "💰",
    "name": { "en": "Finance Formulas", "el": "Οικονομικοί Τύποι" },
    "description": { "en": "Useful formulas for financial calculations." }
    }
    `

    Παράδειγμα formulas.json:

    `json
    [
    {
    "formula": "=SUM(A1:A10)",
    "name": { "en": "Sum of range", "el": "Άθροισμα εύρους" },
    "description": { "en": "Adds all values in A1:A10." },
    "category": { "en": "Basic", "el": "Βασικά" }
    }
    ]
    `

    Σημαντική Σημείωση (⚠️ Important Notice)


    Στον Διαχειριστή Πρόσθετων υπάρχει το κουμπί ⚠️ Important Notice. Με κλικ ανοίγει παράθυρο με όλους τους κανόνες για σωστή δημιουργία πρόσθετων στα αγγλικά. Οι ίδιες πληροφορίες υπάρχουν και στο IMPORTANT_NOTICE.md.

    🌐 Πολυγλωσσία


    38 γλώσσες διαθέσιμες, άμεσα εναλλάξιμες μέσα στην εφαρμογή.
    Νέες γλώσσες μπορούν να προστεθούν μέσω του οδηγού 🌍.

    Σημείωση για Χίντι (हिंदी): Κατά την πρώτη εναλλαγή στα Χίντι εγκαθίσταται μια φορά η γραμματοσειρά *Noto Sans Devanagari* σε επίπεδο συστήματος. Τα Windows θα ζητήσουν δικαιώματα διαχειριστή.

    🔤 Υποστήριξη RTL (δεξιά προς αριστερά)


    Οι γλώσσες με γραφή από δεξιά προς αριστερά αναγνωρίζονται αυτόματα και το σύνολο της διεπαφής αντικατοπτρίζεται:

  • Αραβικά (عربي) – αυτόματη αναγνώριση RTL
  • Εβραϊκά (עברית) – αυτόματη αναγνώριση RTL
  • Περσικά / Φαρσί (فارسی) – αυτόματη αναγνώριση RTL
  • Ουρντού (اردو) – αυτόματη αναγνώριση RTL

  • Τι αλλάζει σε λειτουργία RTL: Το συνολικό διάταξη UI αντικατοπτρίζεται, τα πεδία εισαγωγής χρησιμοποιούν στοίχιση 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 είναι ελαχιστοποιημένο)
  • Πλήκτρο Delete στη λίστα αγαπημένων → Διαγραφή εγγραφής
  • Οι τύποι μπορούν να τροποποιηθούν απευθείας στο πεδίο εξόδου μετά τη δημιουργία τους

  • 📁 Δομή Έργου


    `
    Calc2.py ← Κύριο πρόγραμμα
    plugin_manager.py ← Διαχειριστής πρόσθετων
    IMPORTANT_NOTICE.md ← Οδηγίες δημιουργίας πρόσθετων
    data/
    README_de.md / README_en.md / ... ← Βοήθεια ανά γλώσσα
    REFERENZ_de.md / REFERENZ_en.md / ... ← Αναφορά συναρτήσεων ανά γλώσσα
    language/
    languages.json ← Μεταφράσεις UI (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/ ← Φάκελος πρόσθετων (δημιουργείται αυτόματα)
    mein_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 ← Τοπικά αγαπημένα (δημιουργείται αυτόματα)
    `

    🧠 Τεχνικά Χαρακτηριστικά


  • Ατομική Εγγραφή Αρχείων → Αποτροπή καταστροφής αρχείων κατά την αποθήκευση
  • Αρχιτεκτονική Υπηρεσιών → Αυστηρός διαχωρισμός λογικής και UI
  • Αυτόματη Μετανάστευση → Παλιές μορφές αγαπημένων αναγνωρίζονται και μετατρέπονται
  • Ισχυρή Διαχείριση Σφαλμάτων → Ελαττωματικά αρχεία δεν προκαλούν κατάρρευση
  • Επισήμανση Σύνταξης → Οι τύποι εμφανίζονται με χρώματα
  • Σκοτεινή Λειτουργία → Πλήρης υποστήριξη
  • Σύστημα Πρόσθετων → Το Calc2 επεκτείνεται με δικά σας πρόσθετα τύπων
  • Επικυρωτής JSON → αυτόματος έλεγχος και διόρθωση languages.json και formula_explanations.json συμπ. ονομασιών χωρών και υποχρεωτικών πεδίων

  • Πηγή LibreOffice → το formula_explanations.json τροφοδοτείται από την επίσημη τεκμηρίωση LibreOffice Calc (https://help.libreoffice.org)

  • Μηχανισμός RTL → αυτόματη αναγνώριση RTL γλωσσών, πλήρης αντικατοπτρισμός UI με κατάλληλες γραμματοσειρές

  • Δημιουργία αντιγράφων ασφαλείας & επαναφορά → κρυπτογραφημένα αντίγραφα AES με όνομα και κωδικό, επιλεκτική επαναφορά

  • Καθολική ΣυντόμευσηCtrl+F12 λειτουργεί σε επίπεδο συστήματος μέσω της βιβλιοθήκης keyboard (νήμα παρασκηνίου)

  • Άδεια Χρήσης


    Ελεύθερα διαθέσιμο για προσωπική και εμπορική χρήση.