GetText kullanmak için adam programcılar ikna nasıl?

3 Cevap php

Ben çalıştım birçok projeyi başarıyla GNU gettext kullanmış, ama benim en son iş de aniden kendimi gerçekten çok garip yerelleştirme sistemi ile çalışmak zorunda bulduk.

Mevcut sistem veritabanında çeviriler saklar ve yeni bir çeviri eklemek böyle bir şey gider:

  • kaynak koduna çeviri tuşu ile, örneğin işlev çağrısı eklemek print translate('foo');
  • translations.sql dosyasına birkaç SQL INSERT ifadeleri ekleyin.
  • adı ile dosya oluşturmak (current revision nr + 1).sql
  • yürütmek. veritabanında sql dosyası.
  • (başkası işlemek ve güncel revizyon numarasını değiştirmek için yönetir önce) değişiklikleri işlemek.

Bütün bu süreç tamamen manuel ve size küçük bir yazım hatası düzeltilmesi gereken zaman bile neredeyse her şeyi tekrar etmek zorunda. Çoğul formlar için destek yoktur. Sadece eklendi ve güncellendi - çeviriler ondan silinmiş olsun neredeyse hiç olarak bütün çeviriler veritabanı oldukça bir karmaşa.

Diğer geliştiricileri (özellikle belli bir dev) ikna için çeşitli argümanlar denedim:

  • Ben Gettext kurulmuş standart olmak ve PO dosyaları ile çalışmak için pek çok araç olduğunu konuştuk.
  • Ben veritabanında çeviriler saklamak metin dosyasına saklayarak üzerinde hiçbir faydası olduğunu anlatmaya çalıştık - biz sadece anahtar ile veritabanından çeviriler, başka bir şey alınıyor.
  • Diğer geliştirici bizim app PHP parçası üzerinde çalışıyor ve PHP ben Gettext desteği yok JavaScript tarafında, üzerinde çalışıyorum, ama ben geçmişte bunun için kendi araçları inşa etmişlerdir içeri Gettext inşa etti.
  • Bizim app elle yapılması bile GetText eski sistemden dönüştürme çok zaman alacağını, çok büyük değil ve ben kolayca otomatik olabilir eminim.
  • Hatta şirketimizin başarıyla bir küçük app için GetText kullandık.

Ama insanlar hala ikna olmuş değiller. Ne yanlış yapıyor olabilir?

Edit:

Bir kaç ay bu soruyu yazdıktan sonra şimdi nihayet GetText geçiş vardır. Biz fazla iki dilleri desteklemek için gerektiğinde mevcut sistemin dezavantajları şimdiye kadar direnerek bu daha belirgin bacame.

3 Cevap

Ne senin yanlış yaptığını nasıl onların aklında var olmayan bir sorunu çözmek için bunları söylüyorum.

Onları aslında çözülmesi gereken bir sorun olduğunu görmek yapmak gerekir.

Edit:
Glad to see you got there in the end, the second lanuage appears to have made them acknowledge the elephant in the room!

Senin için çeşitli seçenekler görebilirsiniz:

  • Siz yöntemini kullanarak kaydedilen zaman (para) tahmin deneyebilirsiniz.
  • Sen (demo?) Gösterebilir (daha az baş ağrısı) korumak için ne kadar çok daha kolay.
  • Siz devam edin ve yerde zaten sistemini kullanabilirsiniz.

Bazı konular olabilir:

GetText bilinç eksikliği. Geliştiriciler kütüphane hakkında bilmiyorsanız bunu kullanmaz.

GPL ile Uyumsuz lisans. O kullanılamaz neden yasal nedenleri olabilir.

Yeniden yazmak gerek görmüyorlar. Geliştiriciler mevcut sistem ile yeterince mutlu iseniz, o zaman GetText hareketli hiçbir yarar görebilirsiniz.