LibreOffice Calc Formulu Palīgs


Python rīks LibreOffice Calc formulu ātrai izveidei, testēšanai un pārvaldībai – ar izlases sistēmu, komandas sinhronizāciju, daudzvalodību un spraudņu pārvaldnieku.

🚀 Funkcijas


  • 📑 4 cilnes ar vairāk nekā 60 funkcijām

  • 🌐 38 valodas (ieskaitot hindi ar automātisku fonta instalēšanu)

  • ⭐ Izlases sistēma (lokāla un komandas sinhronizācija caur tīkla disku)

  • 🛠 Administrēšanas panelis komandas izlasei (aizsargāts ar paroli)

  • 📋 Tieši kopējamas formulas ar sintakses izcelšanu

  • ✏️ Rediģējams izvades lauks ar Atsaukt/Atcelt atsaukšanu

  • 📖 Iebūvēta palīdzība un funkciju uzziņa (katrai valodai)

  • 💾 Automātiska saglabāšana (JSON, atomiska rakstīšana)

  • 🌙 Tumšais režīms

  • 🔌 Spraudņu pārvaldnieks pašu formulu spraudņu izveidei

  • 🔤 RTL atbalsts (no labās uz kreiso) – rakstīšanas virziena automātiska noteikšana

  • 🗄️ Dublējums un atjaunošana – saglabājiet visus iestatījumus un izlasi ar nosaukumu un paroli

  • ⌨️ Globālais īsinājumtaustiņš Ctrl+F12 minimizēšanai/atjaunošanai
  • 🔍 JSON validētājs – automātiska languages.json un formula_explanations.json pārbaude un labošana

  • 🖥️ Lietošana


    1. Datu ievade

  • Šūnu diapazons (piem. A1:A10)

  • Šūna 1 / Šūna 2 (piem. A1, B1)

  • Neobligāts parametrs (piem. teksts vai indekss)

  • Izvēlams absolūtās atsauces režīms: A1, $A1, A$1, $A$1

  • 2. Funkcijas izvēle Izvēlieties cilni un noklikšķiniet uz funkcijas – formula tiek ģenerēta uzreiz.

    3. Formulas pielāgošana Ģenerēto formulu var tieši rediģēt izvades laukā.

    4. Kopēšana Ar vienu klikšķi uz starpliktuvi (ieskaitot sintakses krāsas).

    5. Izlases izmantošana

  • ⭐ Saglabāt → saglabāt pašreizējo formulu (Ctrl+S)

  • 📂 Ielādēt → atkārtoti izmantot formulu

  • ❌ Dzēst → taustiņš Del vai poga

  • 🕐 Vēsture → nesen izmantotās formulas

  • 📊 Ciļņu pārskats


    1. cilne – Pamata funkcijas + - \* / ^ SUM, AVERAGE, MIN, MAX, MEDIAN, COUNT, COUNTA, SUMPRODUCT

    2. cilne – Papildu funkcijas IF, AND, OR, NOT SUMIF, COUNTIF, AVERAGEIF, SUMIFS, STDEV, VAR, COUNTBLANK, LARGE

    3. cilne – Datums un teksts TODAY, NOW, YEAR, MONTH, DAY, DATE, DATEDIF, WEEKDAY CONCATENATE, LEN, LEFT, RIGHT, MID, UPPER, LOWER, TRIM

    4. cilne – Meklēšana un noapaļošana VLOOKUP, HLOOKUP, INDEX, MATCH, INDEX+MATCH ROUND, ROUNDUP, ROUNDDOWN, INT, TRUNC, ABS, MOD, SQRT, RAND


    📖 Formulu paskaidrojumi no LibreOffice dokumentācijas


    Fails formula_explanations.json tiek aizpildīts tieši no LibreOffice Calc oficiālās dokumentācijas (https://help.libreoffice.org).

    Datu avots un atjaunināšana


  • Apraksti, sintakses informācija un piemēri tiek ņemti no LibreOffice oficiālās palīdzības vietnes
  • Atbalstītās valodas ir atkarīgas no vietnē pieejamajiem tulkojumiem
  • Fails katrai funkcijai satur: nosaukumu, sintaksi, aprakstu, piemēru un kategoriju
  • Papildinājumus vai labojumus var veikt manuāli (skatīt JSON validētājs)

  • formula_explanations.json struktūra


    `json
    {
    "SUM": {
    "lv": {
    "syntax": "SUM(Skaitlis1; Skaitlis2; ...)",
    "description": "Saskaita visus skaitļus šūnu diapazonā.",
    "example": "=SUM(A1:A10)"
    },
    "en": {
    "syntax": "SUM(Number1; Number2; ...)",
    "description": "Adds all numbers in a cell range.",
    "example": "=SUM(A1:A10)"
    }
    }
    }
    `

    | Lauks | Obligāts | Apraksts |
    |-------|---------|---------|
    | syntax | ✅ | Formulas sintakse ar parametriem |
    | description | ✅ | Īss funkcijas apraksts |
    | example | ✅ | Lietošanas piemērs kā gatava formula |
    | note | ❌ | Neobligāta piezīme |

    💡 Piezīme: Ja valodai nav ieraksta, lietotne automātiski atgriežas pie angļu valodas versijas.

    ---

    🔍 JSON validētājs valodu failiem


    Integrētais JSON validētājs pārbauda un labo languages.json un formula_explanations.json konsekvenci, pilnīgumu un pareizos valstu nosaukumus. Pieejams caur Iestatījumi → 🔍 JSON validētājs.

    Kas tiek pārbaudīts?


    #### languages.json

  • ✅ Visas 38 valodas ir klāt (pēc ISO 639-1 valodas koda)
  • ✅ Pareizi valstu un valodu nosaukumi (piem. "lv""Latviešu")
  • ✅ Nav dublētu valodu kodu
  • ✅ Obligātie lauki ir klāt: name, native_name, flag, rtl
  • ✅ RTL karodziņš pareizi iestatīts (Arābu, Ivritu, Persiešu, Urdu → "rtl": true)

  • #### formula_explanations.json

  • ✅ Visas 4 ciļņu funkcijas reģistrētas
  • ✅ Obligātie lauki ir klāt: syntax, description, example
  • ✅ Nav tukšu lauku ("" vai null)
  • ✅ Valodu kodi atbilst languages.json

  • Labošanas funkcijas


    | Kļūdas veids | Automātiskā labošana |
    |-------------|---------------------|
    | Nepareizs valsts nosaukums | Aizstāts ar pareizo nosaukumu pēc ISO standarta |
    | Trūkstošs valodas ieraksts | Aizpildīts ar angļu valodas rezerves versiju |
    | Tukšs obligātais lauks | Atzīmēts kā "[MISSING]" manuālai pārbaudei |
    | Dublēts ieraksts | Dublāti noņemti, pilnīgāks ieraksts saglabāts |
    | Nepareizs RTL karodziņš | Automātiski labots, pamatojoties uz zināmiem RTL kodiem |

    Lietošana


    1. Atveriet Iestatījumi → 🔍 JSON validētājs
    2. Izvēlieties failu: languages.json vai formula_explanations.json (vai abus)
    3. 🔎 Pārbaudīt – rāda visas atrastās problēmas
    4. 🛠 Automātiski labot – labo visas automātiski labojamās kļūdas
    5. 💾 Saglabāt – atomiski ieraksta laboto failu
    6. 📋 Eksportēt pārskatu (neobligāti) – saglabā teksta failu ar visiem atradumiem

    ⚠️ Piezīme: Pirms katras automātiskās labošanas tiek izveidota sākotnējā faila dublējumkopija (languages.json.bak / formula_explanations.json.bak).

    ⭐ Izlases sistēma


  • Pašu formulu saglabāšana un atkārtota izmantošana

  • Personīgās izlases un komandas izlases atdalīšana

  • Komandas izlase ir tikai lasāma (tikai administrators var rediģēt)

  • Dublikāti tiek novērsti

  • Brīva personīgās izlases kārtošana

  • Sinhronizācija caur tīkla disku (pēc izvēles konfigurējama)

  • Komandas sinhronizācija


    Caur Iestatījumi → 🌐 Tīkla ceļš var ievadīt tīkla disku (piem. \\\\Serveris\\Koplietošana\\formulas).

  • Startējot: tīkla izlase tiek saglabāta lokāli (bezsaistes rezerves kopija)

  • Saglabājot: pašu formulas tiek rakstītas tīklā, komandas formulas paliek neskartas

  • 🛠 Administrēšanas panelis


    Pieejams caur 🛠 pogu. Pirmajā klikšķī tiek iestatīta parole (PBKDF2-SHA256, tiek saglabāts tikai jaukteņkods).

  • Komandas formulu pievienošana, rediģēšana un dzēšana

  • Paroles maiņa

  • Izmaiņas tiek tieši rakstītas uz tīkla disku

  • 🔌 Spraudņu pārvaldnieks


    Spraudņu pārvaldnieks (plugin_manager.py) ir patstāvīgs rīks pašu formulu spraudņu izveidei un pārvaldībai Calc2. Tas atrodas tajā pašā mapē kā Calc2.py un tiek palaists ar 🔌 pogu Calc2.py:

    Funkcijas


  • Jauna spraudņa izveide – soli pa solim vednis (nosaukums, formulas, tulkojumi, kopsavilkums)

  • Formulu pievienošana – formulu papildināšana esošam spraudnim

  • Tulkojumu rediģēšana – formulu nosaukumu tulkošana visās 38 valodās

  • Spraudņu mapes atvēršana – tieši failu pārvaldniekā

  • Spraudņa dzēšana – ar drošības apstiprinājumu

  • Spraudņa struktūra


    Katrs spraudnis atrodas kā apakšmape plugins/ direktorijā un sastāv no diviem failiem:

    `
    plugins/
    mans_sprudnis/
    plugin.json ← metadati (nosaukums, versija, autors, apraksts)
    formulas.json ← formulas ar tulkojumiem
    `

    Piemērs plugin.json:

    `
    {
    "id": "mans_sprudnis",
    "enabled": true,
    "version": "1.0",
    "author": "Jūsu Vārds",
    "icon": "💰",
    "name": { "en": "Finance Formulas", "lv": "Finanšu formulas" },
    "description": { "en": "Useful formulas for financial calculations." }
    }
    `

    Piemērs formulas.json:

    `
    [
    {
    "formula": "=SUM(A1:A10)",
    "name": { "en": "Sum of range", "lv": "Diapazona summa" },
    "description": { "en": "Adds all values in A1:A10." },
    "category": { "en": "Basic", "lv": "Pamata" }
    }
    ]
    `

    Svarīgs paziņojums (⚠️ Important Notice)


    Spraudņu pārvaldniekā ir poga ⚠️ Important Notice. Noklikšķinot tiek atvērts logs ar visiem noteikumiem pareizai spraudņu izveidei angļu valodā. Tā pati informācija ir pieejama arī failā IMPORTANT_NOTICE.md.

    🌐 Daudzvalodība


    Pieejamas 38 valodas, maināmas tieši lietotnē.
    Jaunas valodas var pievienot caur 🌍 pogu ar valodas vedni.

    Piezīme par hindi (हिंदी): Pirmo reizi pārslēdzoties uz hindi, fonts *Noto Sans Devanagari* tiek instalēts vienu reizi sistēmas līmenī. Windows pieprasīs administratora tiesības.

    🔤 RTL atbalsts (no labās uz kreiso)


    Valodas ar rakstīšanu no labās uz kreiso tiek automātiski noteiktas un visa saskarne tiek spoguļota:

  • Arābu (عربي) – automātiska RTL noteikšana
  • Ivrits (עברית) – automātiska RTL noteikšana
  • Persiešu / Farsi (فارسی) – automātiska RTL noteikšana
  • Urdu (اردو) – automātiska RTL noteikšana

  • Kas mainās RTL režīmā: Visa UI izkārtojums tiek spoguļots, ievades lauki izmanto RTL izlīdzinājumu, fonts automātiski mainās uz RTL saderīgu (piem. *Noto Sans Arabic*, *Noto Sans Hebrew*).

    💡 Piezīme: Ģenerētās LibreOffice formulas vienmēr paliek LTR sintaksē – mainās tikai lietotāja saskarnes virziens.


    🗄️ Dublējums un atjaunošana


    Dublējuma izveide


    Caur Iestatījumi → 🗄️ Izveidot dublējumu:

    1. Nosaukums – brīvs apraksts (piem. Dublejs_Maijs_2025)
    2. Parole – dublējums tiek šifrēts ar AES; bez tās atjaunošana nav iespējama
    3. Saglabāšanas vieta – lokāla vai tīkla disks
    4. Noklikšķiniet uz 💾 Izveidot dublējumu – tiek izveidots .calc2backup fails

    Saturs: Visa izlase, iestatījumi, komandas izlase (pēc izvēles), instalētie spraudņi.

    Dublējuma atjaunošana


    Caur Iestatījumi → 📂 Atjaunot dublējumu:

    1. Izvēlieties failu (.calc2backup)
    2. Ievadiet paroli
    3. Izvēlieties apjomu: tikai izlase / tikai iestatījumi / viss
    4. Noklikšķiniet uz 🔄 Atjaunot

    ⚠️ Atjaunošanas laikā esošie dati tiek pārrakstīti. Pirms atjaunošanas tiek piedāvāts automātisks pašreizējo datu dublējums.


    💡 Padomi


  • $A$1 → absolūtā atsauce (nolaižamā izvēlne blakus šūnu laukiem)

  • Ctrl+S → saglabāt formulu izlasē

  • Ctrl+C → kopēt formulu (ārpus ievades laukiem)

  • Ctrl+Z / Ctrl+Y → Atsaukt / Atcelt atsaukšanu

  • Ctrl+F12 → minimizēt/atjaunot logu (darbojas arī tad, ja Calc2 ir minimizēts)

  • Taustiņš Del izlases sarakstā → ieraksta dzēšana

  • Formulas var pielāgot tieši izvades laukā pēc ģenerēšanas

  • 📁 Projekta struktūra


    `
    Calc2.py ← galvenā programma
    plugin_manager.py ← spraudņu pārvaldnieks
    IMPORTANT_NOTICE.md ← norādījumi spraudņu izveidei
    data/
    README_lv.md / README_en.md / ... ← palīdzība katrai valodai
    UZZIŅA_lv.md / UZZIŅA_en.md / ... ← funkciju uzziņa katrai valodai
    language/
    languages.json ← saskarnes tulkojumi (38 valodas)
    formula_explanations.json
    services/
    language_tool.py ← vednis: jaunas valodas pievienošana
    settings_service.py
    auth_service.py
    favorites_service.py
    network_sync.py
    install_service.py
    backup_service.py ← dublējums un atjaunošana
    json_validator.py ← languages.json / formula_explanations.json pārbaude un labošana
    plugins/ ← spraudņu mape (izveidota automātiski)
    mans_sprudnis/
    plugin.json
    formulas.json
    fonts/
    NotoSansDevanagari-Regular.ttf ← hindi fonts
    NotoSansArabic-Regular.ttf ← arābu fonts (RTL)
    NotoSansHebrew-Regular.ttf ← ivritu fonts (RTL)
    python/ ← iegultais Python
    python.exe
    ...
    settings.json ← izveidots automātiski
    izlase.json ← lokālā izlase (izveidots automātiski)
    `

    🧠 Tehniskie akcenti


  • Atomiska failu rakstīšana → novērš failu bojājumus saglabāšanas laikā

  • Servisu arhitektūra → loģika un lietotāja saskarne strikti atdalītas

  • Automātiska migrācija → vecie izlases formāti tiek atpazīti un konvertēti

  • Robusta kļūdu apstrāde → bojāti faili neizraisa lietotnes avāriju

  • Sintakses izcelšana → formulas tiek attēlotas krāsaini

  • Tumšais režīms → pilnībā atbalstīts

  • Spraudņu sistēma → Calc2 var paplašināt ar pašu formulu spraudņiem

  • RTL dzinējs → RTL valodu automātiska noteikšana, pilnīga UI spoguļošana ar atbilstošiem fontiem

  • Dublējums un atjaunošana → AES šifrēti dublējumi ar nosaukumu un paroli, selektīva atjaunošana

  • JSON validētājs → automātiska languages.json un formula_explanations.json pārbaude un labošana, ieskaitot valstu nosaukumus un obligātos laukus

  • LibreOffice avotsformula_explanations.json tiek aizpildīts no LibreOffice Calc oficiālās dokumentācijas (https://help.libreoffice.org)

  • Globālais īsinājumtaustiņšCtrl+F12 darbojas sistēmas līmenī caur keyboard bibliotēku (fona pavediens)

  • Licence


    Brīvi izmantojams personīgiem un komerciāliem mērķiem.