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": {
"bg": {
"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 код)
✅ Правилни имена на страни и езици (напр. "bg" → "Български")
✅ Няма дублиращи се езикови кодове
✅ Присъстват задължителните полета: 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, съхранява се само хешът).
Добавяне, редактиране и изтриване на екипни формули
Промяна на паролата
Директен запис на промените в мрежовото устройство
🔌 Мениджър на плъгини
Мениджърът на плъгини (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", "bg": "Финансови формули" },
"description": { "en": "Useful formulas for financial calculations." }
}
`
Пример formulas.json:
`json
[
{
"formula": "=SUM(A1:A10)",
"name": { "en": "Sum of range", "bg": "Сума на диапазон" },
"description": { "en": "Adds all values in A1:A10." },
"category": { "en": "Basic", "bg": "Основни" }
}
]
`
Важна бележка (⚠️)
Мениджърът на плъгини разполага с бутон ⚠️ Important Notice. Кликването върху него отваря прозорец с всички правила за правилно създаване на плъгини (на английски). Същата информация е налична и в IMPORTANT_NOTICE.md.
🌐 Многоезичност
38 езика са налични, превключваеми директно в приложението.
Нови езици могат да се добавят чрез бутона 🌍, използвайки съветника за езици.
Бележка за хинди (हिंदी): При първото превключване на хинди шрифтът *Noto Sans Devanagari* се инсталира системно еднократно. Windows ще поиска администраторски права.
🔤 RTL поддръжка (отдясно наляво)
Езиците с писане отдясно наляво се разпознават автоматично и целият интерфейс се огледава:
Арабски (عربي) – автоматично разпознаване на RTL
Иврит (עברית) – автоматично разпознаване на RTL
Персийски / Фарси (فارسی) – автоматично разпознаване на RTL
Урду (اردو) – автоматично разпознаване на RTL
Какво се променя при RTL: Цялото UI оформление се огледава, полетата за въвеждане използват RTL подравняване, шрифтът автоматично се сменя с RTL-съвместим.
💡 Забележка: Генерираните формули на 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 → undo / redo
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/ ← папка с плъгини (създава се автоматично)
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 ← локални любими (създава се автоматично)
`
🧠 Технически акценти
Атомарен запис на файлове → предотвратява повредени файлове при запазване
Сервизна архитектура → логиката и UI са строго разделени
Автоматична миграция → стари формати на любими се разпознават и конвертират
Стабилна обработка на грешки → повредените файлове не предизвикват сривове
Синтактично оцветяване → формулите се показват в цвят
Тъмен режим → напълно поддържан
Система за плъгини → Calc2 е разширяем с персонализирани плъгини с формули
RTL модул → автоматично разпознаване на RTL езици, пълно огледало на UI с подходящи шрифтове
Архивиране и възстановяване → AES-криптирани архиви с име и парола, селективно възстановяване
JSON валидатор → автоматична проверка и корекция на languages.json и formula_explanations.json вкл. имена на страни и задължителни полета
Източник LibreOffice → formula_explanations.json се попълва от официалната документация на LibreOffice Calc (https://help.libreoffice.org)
Глобален клавишен пряк път → Ctrl+F12 работи системно чрез библиотеката keyboard (фонов поток)
Лиценз
Свободен за лична и търговска употреба.