LibreOffice Calc Formül Yardımcısı


LibreOffice Calc formüllerini hızlıca oluşturmak, test etmek ve yönetmek için bir Python aracı – favoriler sistemi, takım senkronizasyonu, çok dil desteği ve eklenti yöneticisi ile birlikte.

🚀 Özellikler


  • 📑 60'tan fazla fonksiyonlu 4 sekme

  • 🌐 38 dil (otomatik yazı tipi kurulumu ile Hintçe dahil)

  • ⭐ Favoriler sistemi (yerel & ağ sürücüsü üzerinden takım senkronizasyonu)

  • 🛠 Takım favorileri için yönetici paneli (şifre korumalı)

  • 📋 Sözdizimi vurgulama ile doğrudan kopyalanabilir formüller

  • ✏️ Geri al/Yinele destekli düzenlenebilir çıktı alanı

  • 📖 Entegre yardım & fonksiyon referansı (her dil için)

  • 💾 Otomatik kayıt (JSON, atomik yazım)

  • 🌙 Karanlık mod

  • 🔌 Kendi formül eklentilerini oluşturmak için Eklenti Yöneticisi

  • 🔤 RTL desteği (sağdan sola) – yazı yönünün otomatik algılanması

  • 🗄️ Yedekleme ve Geri Yükleme – tüm ayarları ve favorileri ad ve şifre ile kaydedin

  • ⌨️ Küçültmek/Geri yüklemek için global kısayol Ctrl+F12
  • 🔍 JSON Doğrulayıcı – languages.json ve formula_explanations.json otomatik denetim ve düzeltme

  • 🖥️ Kullanım


    1. Giriş yapın

  • Hücre aralığı (ör. A1:A10)

  • Hücre 1 / Hücre 2 (ör. A1, B1)

  • İsteğe bağlı parametre (ör. metin veya indeks)

  • Mutlak referans modu seçilebilir: A1, $A1, A$1, $A$1

  • 2. Fonksiyon seçin Bir sekme seçin ve bir fonksiyona tıklayın – formül anında oluşturulur.

    3. Formülü özelleştirin Oluşturulan formül, çıktı alanında doğrudan düzenlenebilir.

    4. Kopyalayın Tek tıkla panoya alın (sözdizimi renkleri dahil).

    5. Favorileri kullanın

  • ⭐ Kaydet → mevcut formülü sakla (Ctrl+S)

  • 📂 Yükle → formülü yeniden kullan

  • ❌ Sil → Del tuşu veya buton

  • 🕐 Geçmiş → son kullanılan formüller

  • 📊 Sekme Özeti


    Sekme 1 – Temel Fonksiyonlar + - * / ^ SUM, AVERAGE, MIN, MAX, MEDIAN, COUNT, COUNTA, SUMPRODUCT

    Sekme 2 – Gelişmiş Fonksiyonlar IF, AND, OR, NOT SUMIF, COUNTIF, AVERAGEIF, SUMIFS, STDEV, VAR, COUNTBLANK, LARGE

    Sekme 3 – Tarih & Metin TODAY, NOW, YEAR, MONTH, DAY, DATE, DATEDIF, WEEKDAY CONCATENATE, LEN, LEFT, RIGHT, MID, UPPER, LOWER, TRIM

    Sekme 4 – Arama & Yuvarlama VLOOKUP, HLOOKUP, INDEX, MATCH, INDEX+MATCH ROUND, ROUNDUP, ROUNDDOWN, INT, TRUNC, ABS, MOD, SQRT, RAND


    📖 LibreOffice Belgelerinden Formül Açıklamaları


    formula_explanations.json dosyası doğrudan LibreOffice Calc resmi belgeleri (https://help.libreoffice.org) üzerinden doldurulmaktadır.

    Veri Kaynağı ve Güncelleme


  • Açıklamalar, sözdizimi bilgileri ve örnekler LibreOffice'in resmi yardım sitesinden alınmaktadır
  • Desteklenen diller sitedeki mevcut çevirilere bağlıdır
  • Dosya her fonksiyon için içerir: ad, sözdizimi, açıklama, örnek ve kategori
  • Eklemeler veya düzeltmeler manuel olarak yapılabilir (JSON Doğrulayıcı'ya bakın)

  • formula_explanations.json Yapısı


    `json
    {
    "SUM": {
    "tr": {
    "syntax": "SUM(Sayı1; Sayı2; ...)",
    "description": "Bir hücre aralığındaki tüm sayıları toplar.",
    "example": "=SUM(A1:A10)"
    },
    "en": {
    "syntax": "SUM(Number1; Number2; ...)",
    "description": "Adds all numbers in a cell range.",
    "example": "=SUM(A1:A10)"
    }
    }
    }
    `

    | Alan | Zorunlu | Açıklama |
    |------|---------|---------|
    | syntax | ✅ | Parametreli formül sözdizimi |
    | description | ✅ | Fonksiyonun kısa açıklaması |
    | example | ✅ | Hazır formül olarak kullanım örneği |
    | note | ❌ | İsteğe bağlı not |

    💡 Not: Bir dil için giriş yoksa uygulama otomatik olarak İngilizce sürüme geri döner.

    ---

    🔍 Dil Dosyaları için JSON Doğrulayıcı


    Entegre JSON Doğrulayıcı, languages.json ve formula_explanations.json dosyalarını tutarlılık, tamlık ve doğru ülke isimleri açısından denetler ve düzeltir. Ayarlar → 🔍 JSON Doğrulayıcı üzerinden erişilebilir.

    Ne Denetlenir?


    #### languages.json

  • ✅ Tüm 38 dil mevcut (ISO 639-1 dil koduna göre)
  • ✅ Doğru ülke ve dil isimleri (ör. "tr""Türkçe")
  • ✅ Yinelenen dil kodu yok
  • ✅ Zorunlu alanlar mevcut: name, native_name, flag, rtl
  • ✅ RTL bayrağı doğru ayarlı (Arapça, İbranice, Farsça, Urduca → "rtl": true)

  • #### formula_explanations.json

  • ✅ 4 sekmedeki tüm fonksiyonlar kayıtlı
  • ✅ Zorunlu alanlar mevcut: syntax, description, example
  • ✅ Boş alan yok ("" veya null)
  • ✅ Dil kodları languages.json ile eşleşiyor

  • Düzeltme İşlevleri


    | Hata Türü | Otomatik Düzeltme |
    |----------|------------------|
    | Yanlış ülke adı | ISO standardına göre doğru isimle değiştirildi |
    | Eksik dil girişi | İngilizce yedek sürümle dolduruldu |
    | Boş zorunlu alan | Manuel inceleme için "[MISSING]" olarak işaretlendi |
    | Yinelenen giriş | Kopyalar kaldırıldı, daha eksiksiz giriş tutuldu |
    | Yanlış RTL bayrağı | Bilinen RTL kodlarına göre otomatik düzeltildi |

    Nasıl Kullanılır


    1. Ayarlar → 🔍 JSON Doğrulayıcı'yı açın
    2. Dosya seçin: languages.json veya formula_explanations.json (veya her ikisi)
    3. 🔎 Denetle – bulunan tüm sorunları gösterir
    4. 🛠 Otomatik Düzelt – otomatik çözülebilen tüm hataları düzeltir
    5. 💾 Kaydet – düzeltilmiş dosyayı atomik olarak yazar
    6. 📋 Rapor Dışa Aktar (isteğe bağlı) – tüm bulguları içeren bir metin dosyası kaydeder

    ⚠️ Not: Her otomatik düzeltme öncesinde orijinal dosyanın yedek kopyası oluşturulur (languages.json.bak / formula_explanations.json.bak).

    ⭐ Favoriler Sistemi


  • Kendi formüllerinizi kaydedin ve yeniden kullanın

  • Kişisel ve takım favorileri arasında ayrım

  • Takım favorileri salt okunur (yalnızca yönetici düzenleyebilir)

  • Yinelenen girişler engellenir

  • Kişisel favorilerin sıralaması serbestçe değiştirilebilir

  • Ağ sürücüsü üzerinden senkronizasyon (isteğe bağlı yapılandırılabilir)

  • Takım Senkronizasyonu


    Ayarlar → 🌐 Ağ Yolu üzerinden bir ağ sürücüsü girilebilir (ör. \\\\Server\\Paylasim\\formuller).

  • Başlangıçta: Ağ favorileri yerel olarak kaydedilir (çevrimdışı yedek)

  • Kaydederken: kişisel formüller ağa yazılır, takım formülleri değişmez

  • 🛠 Yönetici Paneli


    🛠 butonu ile erişilir. İlk tıklamada bir şifre belirlenir (PBKDF2-SHA256, yalnızca hash kaydedilir).

  • Takım formülleri ekle, düzenle, sil

  • Şifre değiştir

  • Değişiklikleri doğrudan ağ sürücüsüne yaz

  • 🔌 Eklenti Yöneticisi


    Eklenti Yöneticisi (plugin_manager.py), Calc2 için kendi formül eklentilerinizi oluşturmak ve yönetmek için bağımsız bir araçtır. Calc2.py ile aynı klasörde bulunur ve Calc2.py içindeki 🔌 butonu ile başlatılır.

    Özellikler


  • Yeni eklenti oluştur – Adım adım sihirbaz (ad, formüller, çeviriler, özet)

  • Formül ekle – Mevcut bir eklentiye formül ekle

  • Çevirileri düzenle – Formül adlarını 38 dile çevir

  • Eklenti klasörünü aç – Doğrudan Dosya Gezgini'nde

  • Eklenti sil – Onay sorusu dahil

  • Eklenti Yapısı


    Her eklenti plugins/ altında bir alt klasör olarak bulunur ve iki dosyadan oluşur:

    `
    plugins/
    benim_eklentim/
    plugin.json ← Meta veriler (ad, sürüm, yazar, açıklama)
    formulas.json ← Çevirili formüller
    `

    Örnek plugin.json:

    `json
    {
    "id": "benim_eklentim",
    "enabled": true,
    "version": "1.0",
    "author": "Adınız",
    "icon": "💰",
    "name": { "en": "Finance Formulas", "tr": "Finans Formülleri" },
    "description": { "en": "Useful formulas for financial calculations." }
    }
    `

    Örnek formulas.json:

    `json
    [
    {
    "formula": "=SUM(A1:A10)",
    "name": { "en": "Sum of range", "tr": "Aralık toplamı" },
    "description": { "en": "Adds all values in A1:A10." },
    "category": { "en": "Basic", "tr": "Temel" }
    }
    ]
    `

    Önemli Uyarı (⚠️ Important Notice)


    Eklenti Yöneticisi'nde ⚠️ Important Notice butonu bulunur. Tıklandığında, doğru eklenti oluşturma kurallarını İngilizce olarak gösteren bir pencere açılır. Aynı bilgiler IMPORTANT_NOTICE.md dosyasında da yer alır.

    🌐 Çok Dil Desteği


    38 dil mevcut, uygulama içinde doğrudan değiştirilebilir.
    Yeni diller, 🌍 butonu ile Dil Sihirbazı aracılığıyla eklenebilir.

    Hintçe (हिंदी) notu: Hintçe'ye ilk geçişte, *Noto Sans Devanagari* yazı tipi bir kez sistem genelinde kurulur. Windows bu işlem için yönetici hakları isteyebilir.

    🔤 RTL Desteği (Sağdan Sola)


    Sağdan sola yazılan diller otomatik olarak algılanır ve tüm arayüz yansıtılır:

  • Arapça (عربي) – otomatik RTL algılama
  • İbranice (עברית) – otomatik RTL algılama
  • Farsça / Farsi (فارسی) – otomatik RTL algılama
  • Urduca (اردو) – otomatik RTL algılama

  • RTL modunda neler değişir: Tüm UI düzeni yansıtılır, giriş alanları RTL hizalaması kullanır, yazı tipi otomatik olarak RTL uyumlu bir yazı tipine geçer (örn. *Noto Sans Arabic*, *Noto Sans Hebrew*).

    💡 Not: Oluşturulan LibreOffice formülleri her zaman LTR sözdiziminde kalır – yalnızca kullanıcı arayüzü yön değiştirir.


    🗄️ Yedekleme ve Geri Yükleme


    Yedek Oluşturma


    Ayarlar → 🗄️ Yedek Oluştur üzerinden:

    1. Ad – serbest etiket (örn. Yedek_Mayis_2025)
    2. Şifre – yedek AES ile şifrelenir; şifre olmadan geri yükleme mümkün değildir
    3. Kayıt konumu – yerel veya ağ sürücüsü
    4. 💾 Yedek Oluştur butonuna tıklayın – .calc2backup dosyası oluşturulur

    İçerik: Tüm favoriler, ayarlar, takım favorileri (isteğe bağlı), yüklü eklentiler.

    Yedeği Geri Yükleme


    Ayarlar → 📂 Yedeği Geri Yükle üzerinden:

    1. Yedek dosyasını seçin (.calc2backup)
    2. Şifreyi girin
    3. Kapsam seçin: yalnızca favoriler / yalnızca ayarlar / her şey
    4. 🔄 Geri Yükle butonuna tıklayın

    ⚠️ Geri yükleme sırasında mevcut veriler üzerine yazılır. Geri yüklemeden önce mevcut verilerin otomatik yedeği önerilir.


    💡 İpuçları


  • $A$1 → mutlak referans (hücre alanlarının yanındaki açılır menü)

  • Ctrl+S → formülü favorilere kaydet

  • Ctrl+C → formülü kopyala (giriş alanlarının dışında)

  • Ctrl+Z / Ctrl+Y → Geri al / Yinele

  • Ctrl+F12 → pencereyi küçült / geri yükle (Calc2 küçültülmüşken de çalışır)

  • Del tuşu favori listesinde → girişi sil

  • Formüller oluşturulduktan sonra çıktı alanında doğrudan düzenlenebilir

  • 📁 Proje Yapısı


    `
    Calc2.py ← Ana program
    plugin_manager.py ← Eklenti Yöneticisi
    IMPORTANT_NOTICE.md ← Eklenti oluşturma notları
    data/
    README_tr.md / README_en.md / ... ← Dile göre yardım
    REFERENZ_tr.md / REFERENZ_en.md / ... ← Dile göre fonksiyon referansı
    language/
    languages.json ← UI çevirileri (38 dil)
    formula_explanations.json
    services/
    language_tool.py ← Sihirbaz: yeni dil ekle
    settings_service.py
    auth_service.py
    favorites_service.py
    network_sync.py
    install_service.py
    backup_service.py ← yedekleme ve geri yükleme
    json_validator.py ← languages.json / formula_explanations.json denetim ve düzeltme
    plugins/ ← Eklenti klasörü (otomatik oluşturulur)
    benim_eklentim/
    plugin.json
    formulas.json
    fonts/
    NotoSansDevanagari-Regular.ttf ← Hintçe yazı tipi
    NotoSansArabic-Regular.ttf ← Arapça yazı tipi (RTL)
    NotoSansHebrew-Regular.ttf ← İbranice yazı tipi (RTL)
    python/ ← gömülü Python
    python.exe
    ...
    settings.json ← otomatik oluşturulur
    favoriten.json ← yerel favoriler (otomatik oluşturulur)
    `

    🧠 Teknik Öne Çıkanlar


  • Atomik Dosya Yazımı → kayıt sırasında bozuk dosyaları önler

  • Servis Mimarisi → mantık ve arayüz tamamen ayrılmış

  • Otomatik Geçiş → eski favori formatları tanınır ve dönüştürülür

  • Sağlam Hata Yönetimi → hatalı dosyalar çökmeye neden olmaz

  • Sözdizimi Vurgulama → formüller renkli gösterilir

  • Karanlık Mod → tamamen destekleniyor

  • Eklenti Sistemi → Calc2, kendi formül eklentileriyle genişletilebilir

  • RTL Motoru → RTL dillerinin otomatik algılanması, uygun yazı tipleriyle tam UI yansıması

  • Yedekleme ve Geri Yükleme → ad ve şifre ile AES şifreli yedekler, seçici geri yükleme

  • JSON Doğrulayıcılanguages.json ve formula_explanations.json otomatik denetim ve düzeltme, ülke isimleri ve zorunlu alanlar dahil

  • LibreOffice Kaynağıformula_explanations.json, LibreOffice Calc resmi belgelerinden doldurulmaktadır (https://help.libreoffice.org)

  • Global KısayolCtrl+F12, keyboard kütüphanesi aracılığıyla sistem genelinde çalışır (arka plan iş parçacığı)

  • Lisans


    Kişisel ve ticari kullanım için serbestçe kullanılabilir.