Loco Translate — uyumluluk notları

Loco Translate — uyumluluk notları

> Son güncelleme: 2026-05-06 (Hafta 17) > Durum: Native uyumlu — POT dosyamız languages/invum-pos.pot Loco Translate tarafından otomatik tanınır.

Loco Translate, WordPress admin panelinde plugin/theme stringlerini doğrudan çevirmek için en yaygın eklenti (1M+ aktif kullanıcı). POS Entegratör'ün tüm kullanıcı-yüzeyi mesajları invum-pos text-domain'i altında olduğu için Loco Translate hiçbir ek yapılandırma gerektirmeden tüm stringleri görür.

Kurulum sonrası akış

  1. WP admin → Eklentiler → Yeni Ekle → "Loco Translate" kur ve aktive et.
  2. WP admin → Loco Translate → Eklentiler ekranında "Invum POS" otomatik listede görünür (POT dosyamız languages/invum-pos.pot üzerinden detect edilir).
  3. "Yeni dil" → istediğin dili seç (Türkçe varsayılan; Arapça/Almanca/İngilizce gibi ek dilleri ekleyebilirsin).
  4. Loco editöründe sayfa sayfa çevir, Kaydet ile .po + .mo dosyaları wp-content/languages/plugins/invum-pos-<locale>.po altında oluşur — eklenti güncellemelerinde silinmez.

POT dosyasının yenilenmesi (yalnızca geliştirici)

Eklenti yeni string eklediğinde POT dosyasını yeniden üretmek gerekir. Composer/CI script'i değil, doğrudan WP-CLI kullanan basit bir bash wrapper:

bin/build-pot.sh           # languages/invum-pos.pot dosyasını yeniden üret
bin/build-pot.sh --check   # CI-friendly: POT stale ise exit 1

Script wp i18n make-pot komutunu çağırır, vendor/tests/node_modules/bin/docs dizinlerini hariç tutar. Çıktı languages/invum-pos.pot — repo'da tutuluyor, bu yüzden Loco Translate fresh checkout'ta da çalışır.

CI doğrulaması

Değiştirilen string'ler POT'a yansımayı unutmasın diye bir CI gate önerilir:

# .github/workflows/i18n.yml (öneri)
- name: POT freshness check
  run: bin/build-pot.sh --check

Bu, PR'larda yeni string eklenmiş ama POT yenilenmemişse build'i kırar.

.po / .mo dosyalarını repo'ya koymama kararı

languages/.gitignore .po ve .mo dosyalarını dışarıda bırakır. Sebep:

  • Çevirinin "kanonik" hâli yok — her merchant Loco veya GlotPress üzerinden kendi kullanıcı kitlesine uygun varyantı yapabilir.
  • Eklenti zip'inin boyutunu küçük tutar (her dil eklenmiş bir POT dosyası 50-200 KB).
  • Üst-düzey katkılar WP-Polyglots üzerinden translate.wordpress.org mirror'ına düşürülebilir (Faz 2 hedefi).

Üçüncü-parti modüller

Pro/Module/SmartRuleEngine/... ve gelecekteki tüm Pro modüller aynı invum-pos text-domain'i altında olduğu için tek bir Loco proje içinde toplu çevrilirler — her modül için ayrı domain açmadık.

Bilinen sorunlar

| Sorun | Çözüm | |——-|——-| | "Loco POT bulamıyor" uyarısı | languages/invum-pos.pot dosyasının eklenti dizininde olduğunu doğrula. Eksikse bin/build-pot.sh çalıştır. | | Yeni eklenen string Loco'da görünmüyor | POT yenilenmemiş. bin/build-pot.sh çalıştır + plugin'i yeniden yükle. | | load_textdomain_just_in_time notice'ı WP-CLI çıktısında | Bilinen erken-yükleme uyarısı (Faz 1.5 backlog'da). Loco üzerinde etki yok, çevirileri kıracak bir şey değil. |

Polylang ile birlikte kullanım

Loco Translate statik plugin string'lerini çevirir — yani kodda __( 'Yeni kart kullan', 'invum-pos' ) gibi geçen literallar. Merchant'ın WC settings ekranında girdiği dinamik string'ler (gateway description copy, vb.) için Polylang String Translation gerekir — ayrı doc: docs/integrations/polylang.md.

İki eklenti birlikte kurulduğunda çakışma yok — farklı katmanları çevirirler.

Alışveriş Sepeti