taha1901

Gelişen
Katılım
23 Ekim 2025
Mesajlar
40
Beğeniler
42
Yer
Türkiye
Merhaba Techolay!

Python kodlama deneyimini Türkçeleştirmeyi amaçlayan python-turkish projemizin kaynak kodunu, söz verdiğimiz gibi v1.0.0 Kararlı Sürümü ile birlikte GitHub'da yayımladığımı duyurmaktan mutluluk duyuyorum!

Neden GitHub?
Bu adım, projemizin sadece kodunun değil, yönetimsel süreçlerinin de en yüksek standartlarda olduğunu göstermektedir. Projemiz artık:

  1. Tamamen Şeffaf: Herkes kodun yapısını, işleyişini ve mimarisini inceleyebilir.

2. Sürdürülebilir: Geliştirme süreci, Git versiyon kontrol sistemi ile şeffafça yönetilecektir.

Yeni İş Akışı: Nasıl Katkıda Bulunabilirsiniz?
Topluluğumuzun bu projeye katılımını en profesyonel şekilde yönetmek için, artık tüm hata bildirimleri ve özellik istekleri için GitHub'ı kullanacağız.

Proje Bağlantıları:
Projenin kaynak koduna, iş akışına, tüm sürümlerine ve sürüm notlarında aşağıdaki adreslerden ulaşabilirsiniz:

GitHub Deposu (Kaynak Kod): https://github.com/TurkishPython/pyt

PyPI Sayfası (Kurulum): https://pypi.org/project/python-turkish/

Sürüm Notları: https://techolay.net/sosyal/blog/blog/python-turkish-surum-notlari.98/

Desteğinizle birlikte projemizin geleceğini inşa etmeye devam ediyoruz!

Saygılarımla,

taha1901
python-turkish geliştiricisi
 
@electro, ilginiz için teşekkür ederim. Bu, projenin başından beri en çok konuşulan konulardan biriydi ve haklısınız, if --> eğer yapabilmek çok akıcı olurdu.

Konunun Teknik Gerçeği:

  • Doğrudan İmkansız: Maalesef, if, def, while gibi anahtar kelimeler (keywords), Python yorumlayıcısının temelini oluşturur ve bir paket veya kütüphane ile değiştirilemez. Bu, dilin yapısını (Syntax) değiştirir ve SyntaxError hatasına yol açar.

  • Paketin Sınırı: Benim projem olan python-turkish, yalnızca fonksiyonları (print(), len()) Türkçeleştirebilir.
Ancak, Bir İstisna Var (Yaratıcı Çözüm):

Bu kısıtlamayı aşmak için, bazı yaratıcı projeler Python kodunu çalıştırmadan önce Türkçe kelimeleri otomatik olarak İngilizce karşılığına çeviren bir ön-işlemci (pre-processor) kullanır.

  • Örneğin, Pyturk gibi projeler, yazdığınız eğer a > 10: kodunu otomatik olarak if a > 10: koduna çevirir ve sonra bu düzeltilmiş kodu çalıştırır.
Bu tür bir ön-işlemci eklemek, projenin mimarisini çok karmaşıklaştıracağı için şimdilik python-turkish'in vizyonunda değildir. Ben, kullanıcıları gereksiz karmaşadan korumak adına, mevcut fonksiyonel çeviri çözümünü en iyi hale getirmeye odaklandım.

Öneriniz için teşekkür ederim. Bu kısıtlamayı aşmanın yolu, maalesef Python paketinin sınırlarını aşıyor.

Saygılarımla,
taha1901 python-turkish geliştiricisi

@duranforreal, güzel sözleriniz ve geri bildiriminiz için çok teşekkür ederim!Özellikle repo düzeni ve genel mimari üzerinde çok çalıştım. v1.1.0 sürümünde de topluluktan gelen istekler üzerine komut isimlerini daha kısa hale getirerek (örneğin yazdır --> yaz) akıcılığı artırdık. Projemizin geldiği bu profesyonel seviyeyi fark etmeniz benim için büyük motivasyon kaynağı oldu. Deneyimlerinizi ve varsa karşılaştığınız bug'ları GitHub Issues üzerinden (veya buradan) bildirmenizi rica ederim. İyi kodlamalar dilerim!

Saygılarımla,
taha1901
python-turkish geliştiricisi
 
Python:
def yaz(*args, **kwargs):
    """ print() fonksiyonunun Türkçe karşılığıdır. """
    return print(*args, sep=kwargs.get('ayırıcı', ' '), end=kwargs.get('sonlandırıcı', '\n'))

Bu fonksiyon yarim. Sadece ayrici (sep) ve sonlandirici (end) destekleniyor. print ayni zamanda dogrudan bir dosyaya yazdirmayi ve altinda yatan buffer'i bosaltmayi isteyebildigin bi argumana da sahip. file ve flush.

Sadece bu fonksiyon degil boyle problemli olan.
Python:
def sil(yol):
    """ os.remove() fonksiyonunun Türkçe karşılığıdır. """
    try:
        os.remove(yol); yaz(f"Dosya başarıyla silindi: '{yol}'"); return True
    except FileNotFoundError:
        yaz(f"Hata: Silinmek istenen dosya bulunamadı: '{yol}'"); return False
    except Exception as e:
        yaz(f"Hata: Dosya silinemedi: {e}"); return False

Davranisini degistirmissin. Silemedigi zaman adamlarin farkli bi yol izleme imkanini ellerinden aliyorsun.

Eger amac ceviriyse, sadece ceviri yapin. Davranislarini degistirmeyin.

Bunda da yan etki var, dolayisiyla davranis farkli;
Python:
def oluştur(yol):
    """ os.makedirs() fonksiyonunun Türkçe karşılığıdır. """
    try:
        os.makedirs(yol, exist_ok=True); yaz(f"Dizin başarıyla oluşturuldu: '{yol}'"); return True
    except Exception as e:
        yaz(f"Hata: Dizin oluşturulamadı: {e}"); return False

Bilgisayar bilimlerinde ceviri yapilirken, yapilan ceviri sadece kullanim seklini degistirir. Kullanilan fonksiyonun davranisini degistirmek kullanicilarin programlarindaki calisma mantigini bozacagi gibi dokumente edilmemis bu degisikler insanlarin bosluguna gelecek, algilamayacaklar neden calismadigini.