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 (νήμα παρασκηνίου)
Άδεια Χρήσης
Ελεύθερα διαθέσιμο για προσωπική και εμπορική χρήση.