Bir php kod temeli i18n için iyi araçlardır / çerçeveler nelerdir?

5 Cevap php

Ben dinamik bir php uygulama lokalizasyonu ve uluslararasılaşma etkinleştirmek için birkaç seçenek bakarak edilmiştir. Orada böyle gettext ve Yahoo'nun R3 gibi araçlar mevcut çeşitli görünüyor ve ben araçları kullanmak için iyi ve ne işlevsellik uygulanması ve çeviri görevi yumuşatılmasında önemli olduğu konusunda hem geliştiriciler ve çevirmenler işitme ilgileniyorum.

5 Cevap

PHP gettext uygulama çok sorunsuz çalışıyor. Ve po düzenlemek ve gettext ile po dosyaları bu tür çözüm tamamen farklı dillerin karmaşıklığı işleyebilir akılda yerelleştirme rulman ile başa alabilirsiniz olarak iyi bir yol üzeresiniz. Örneğin, gettext yöntem çoğul formları çok iyi, ama gördüğüm şey çekimleri gibi şeyler işleyebilir.

Daha fazla bilgi Burada benim yazı için bkz: http://stackoverflow.com/questions/39562/how-do-you-build-a-multi-language-web-site#41379

Biz zaten Zend Framework kullanmak beri Biz, Zend_Translate ile müdahalesi oldum. Çok iyi belgelenmiş ve bugüne kadar son derece katı bulunuyor.

Geçmişte, ben hemen hemen çoğunlukla benim kendi home-grown çözümü kullandım. Hangi sabitler ya da tüm metin parçaları tutmak ve sadece daha sonra view / şablonda echo'ed değişkenler ile dil dosyalarını içerir.

Gettext gelince, geçmişte ben PHP'nin gettext uygulama hatalı olma konusunda referanslar duydum, ama ben olamaz gerçekten geri bu kadar ne ben şu anda herhangi bir referans var.

There are a number of useful extensions in pecl: http://pecl.php.net/packages.php?catpid=28&catname=Internationalization

Özellikle, Unicode için Uluslararası Components (YBÜ) gelen anahtar i18n fonksiyonlarının çoğunu sağlar php-intl, kontrol etmek isteyebilirsiniz

mesajları göstermek için veritabanı odaklı bir çözüm her zaman iyi biri değil, ben daha 15 dilde olan bir site çalıştı ve çeviriler bir sorunu vardı.

yani bizim tasarım oldu:

  • php-mysql çeviri uygulaması (çeviri erişim, vb)
  • sonra çeviriler php arrrays yazılır
  • Bu diziler de siteyi hızlandırmak için APC önbelleğe alınır.

çok farklı dilleri lokalize etmek sadece bir dahil edebilirim gerekir

gibi

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>

Xataface oldukça kolay keyfi bir PHP / MySQL uygulama uluslar için kullanılabilir. Bu statik metin hem de çeviri ve veritabanı verilerini destekler. Yapmanız gereken tek şey, uygulama yerlerde bir çift için bir kod satırı veya 2 ekleyin ve gitmek için iyi.

http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6