Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/burnkng/dynmic-woocommerce-product-category-translate/archive/refs/heads/main.zipWordPress için ChatGPT destekli dinamik çeviri eklentisi. WooCommerce ürün kategorilerini ve diğer içerikleri otomatik olarak Türkçe'ye (veya istediğiniz dile) çevirir.
🚀 Özellikler
- ✅ ChatGPT API (OpenAI) ile güçlü çeviri
- ✅ WooCommerce ürün kategorilerini otomatik çeviri
- ✅ Direkt veritabanı güncellemesi - Kategori isimleri doğrudan değiştirilir
- ✅ Toplu çeviri desteği
- ✅ Geri yükleme özelliği - Orijinal isimlere tek tıkla geri dön
- ✅ Çeviri önbelleği (cache) ile maliyet tasarrufu
- ✅ Çeviri geçmişi ve log sistemi
- ✅ Kullanıcı dostu admin paneli
- ✅ Tek tıkla tüm kategorileri çevir
- ✅ Her kategori için tekil çeviri seçeneği
- ✅ API bağlantı test aracı
📋 Gereksinimler
- WordPress 5.8 veya üzeri
- PHP 7.4 veya üzeri
- WooCommerce eklentisi (kategori çevirisi için)
- OpenAI API anahtarı
🔧 Kurulum
- Bu eklentiyi
wp-content/plugins/dizinine yükleyin - WordPress admin panelinden eklentiyi aktifleştirin
- Dynamic Translate menüsüne giderek OpenAI API anahtarınızı girin
- API bağlantısını test edin
- Kategori Çevirileri sayfasından çevirilerinizi başlatın
🔑 OpenAI API Anahtarı Alma
- OpenAI Platform adresine gidin
- Hesabınızla giriş yapın (yoksa oluşturun)
- API Keys sayfasına gidin
- "Create new secret key" butonuna tıklayın
- Oluşan anahtarı kopyalayın ve eklenti ayarlarına yapıştırın
Not: API kullanımı ücretlidir. Fiyatlandırma için OpenAI Pricing sayfasını ziyaret edin.
🎯 Kullanım
Ayarlar
- WordPress admin panelinde Dynamic Translate > Ayarlar sayfasına gidin
- OpenAI API anahtarınızı girin
- Kullanmak istediğiniz modeli seçin:
- GPT-3.5 Turbo: Hızlı ve ekonomik (önerilen)
- GPT-4 Turbo: Daha kaliteli ama pahalı
- GPT-4: En kaliteli ama en pahalı
- Hedef dili seçin (varsayılan: Türkçe)
- Otomatik çeviri ve diğer ayarları yapılandırın
- "Ayarları Kaydet" butonuna tıklayın
Kategori Çevirileri
- Dynamic Translate > Kategori Çevirileri sayfasına gidin
- Tüm kategorilerinizi göreceksiniz
- Seçenekler:
- Tüm Kategorileri Çevir: Çevrilmemiş tüm kategorileri toplu olarak çevirir
- Tek Kategori Çevir: Her kategorinin yanındaki "Çevir" butonuyla tek tek çeviri yapın
- Yeniden Çevir: Daha önce çevrilmiş kategorileri güncelleyin
- Geri Yükle: Çevrilmiş bir kategoriyi orijinal diline geri yükleyin
- Tümünü Geri Yükle: Tüm çevrilmiş kategorileri orijinal hallerine döndürün
🔄 Çeviri Nasıl Çalışır?
- Çeviri yapıldığında, kategori adı direkt olarak veritabanında güncellenir
- Örnek: "Electronics" → "Elektronik" olarak değişir
- Orijinal isim (
Electronics) güvenli bir şekilde meta verisi olarak saklanır - İstediğiniz zaman "Geri Yükle" butonu ile orijinal isme dönebilirsiniz
- Tüm çeviriler ayrıca log tablosunda kayıt altına alınır
📊 Veritabanı
Tablolar
Eklenti aktivasyonunda otomatik olarak şu tablo oluşturulur:
wp_dynamic_translate_log: Tüm çeviri işlemlerinin kaydını tutar
Çeviri Yapısı
Direkt Güncelleme:
- Kategori adı (
wp_terms.name) direkt olarak çevrilir - Kategori açıklaması (
wp_term_taxonomy.description) direkt olarak çevrilir - Frontend'de ve backend'de her yerde çevrilmiş isim görünür
Yedekleme (Meta Veriler):
_original_name_en: Orijinal İngilizce kategori adı (yedek)_original_description_en: Orijinal kategori açıklaması (yedek)_translated_name_tr: Çevrilmiş ad (referans)_translated_description_tr: Çevrilmiş açıklama (referans)_translation_date: Çeviri tarihi_is_translated: Çeviri durumu (1 veya 0)
Bu sayede:
- ✅ Çeviriler her yerde otomatik görünür
- ✅ Orijinal isimler kaybolmaz
- ✅ İstediğiniz zaman geri yükleyebilirsiniz
💰 Maliyet Tahmini
GPT-3.5 Turbo ile yaklaşık maliyetler:
- Kısa kategori adı (~5 kelime): ~$0.0001
- Orta kategori adı (~10 kelime): ~$0.0002
- Uzun açıklama (~100 kelime): ~$0.001
Cache sistemi sayesinde aynı metin tekrar çevrilmez, bu da maliyeti düşürür.
🛠️ Teknik Detaylar
Dosya Yapısı
dynamic-translate/
├── dynamic-translate.php # Ana eklenti dosyası
├── README.md # Dokümantasyon
├── uninstall.php # Kaldırma işlemleri
├── admin/
│ └── class-admin-settings.php # Admin ayarlar sınıfı
├── includes/
│ ├── class-chatgpt-translator.php # ChatGPT API entegrasyonu
│ └── class-category-translator.php # Kategori çeviri yöneticisi
├── assets/
│ ├── css/
│ │ ├── admin.css # Admin stil dosyası
│ │ └── categories.css # Kategori sayfası stilleri
│ └── js/
│ ├── admin.js # Admin JavaScript
│ └── categories.js # Kategori sayfası JavaScript
└── languages/
└── dynamic-translate.pot # Eklenti arayüzünün dil dosyası*
*Not: .pot dosyası sadece eklentinin kendi arayüzünün (menüler, butonlar) çevirisi içindir. WooCommerce kategori çevirileri direkt veritabanında saklanır.
Önemli Sınıflar
Dynamic_Translate_ChatGPT_Translator: OpenAI API ile iletişimDynamic_Translate_Category_Translator: Kategori çeviri işlemleriDynamic_Translate_Admin_Settings: Admin panel yönetimi
Hooks ve Filtreler
// Aktivasyon
register_activation_hook(__FILE__, 'dynamic_translate_activate');
// Deaktivasyon
register_deactivation_hook(__FILE__, 'dynamic_translate_deactivate');
// Plugin yükleme
add_action('plugins_loaded', 'dynamic_translate_init');
🔒 Güvenlik
- Tüm AJAX istekleri nonce ile korunur
- API anahtarları güvenli şekilde saklanır
- SQL injection koruması
- XSS koruması
- Yetki kontrolleri (
manage_options)
🌐 Çoklu Dil Desteği
Eklenti şu dilleri destekler:
- 🇹🇷 Türkçe (varsayılan)
- 🇬🇧 İngilizce
- 🇩🇪 Almanca
- 🇫🇷 Fransızca
- 🇪🇸 İspanyolca
- 🇮🇹 İtalyanca
- 🇸🇦 Arapça
- 🇷🇺 Rusça
📝 Sık Sorulan Sorular
S: API anahtarım çalışmıyor, ne yapmalıyım? C: "API Bağlantısını Test Et" butonunu kullanarak bağlantıyı test edin. Anahtarınızın doğru olduğundan ve OpenAI hesabınızda bakiye bulunduğundan emin olun.
S: Çeviriler ne kadar sürede tamamlanır? C: Her çeviri yaklaşık 1-3 saniye sürer. Toplu çevirilerde kategoriler arası 1 saniye beklenir (rate limiting).
S: Çeviriler cache'leniyor mu? C: Evet, her çeviri 24 saat süreyle cache'lenir. Aynı metin tekrar çevrilmez.
S: Mevcut çevirileri güncelleyebilir miyim? C: Evet, "Yeniden Çevir" butonu ile mevcut çevirileri güncelleyebilirsiniz.
S: Çeviriler nerede saklanıyor?
C: Kategori adı direkt olarak wp_terms tablosunda güncellenir. Orijinal isim wp_termmeta tablosunda yedeklenir.
S: Geri yükleme özelliği nasıl çalışır? C: Her çeviri yapıldığında orijinal isim yedeklenir. "Geri Yükle" butonuyla kategori orijinal haline döndürülür.
S: WooCommerce zorunlu mu? C: Kategori çeviri özelliği için WooCommerce gereklidir. Gelecek sürümlerde diğer özellikler eklenecektir.
🔄 Gelecek Güncellemeler
- [ ] Ürün adı ve açıklama çevirisi
- [ ] Blog yazıları çevirisi
- [ ] Özel yazı türleri desteği
- [ ] WPML entegrasyonu
- [ ] Polylang entegrasyonu
- [ ] Çeviri kalitesi puanlama
- [ ] Toplu çeviri zamanlaması
- [ ] CSV içe/dışa aktarma
📞 Destek
Sorun bildirmek veya öneride bulunmak için:
- GitHub Issues
- WordPress.org Support Forum
📄 Lisans
GPL v2 veya üzeri
👨💻 Geliştirici
Burak Binmar
Not: Bu eklenti OpenAI API'sini kullanır ve kullanım ücretlidir. API maliyetleri kullanıcıya aittir.