pybabel veya PHP için diğer l10n kütüphaneler

1 Cevap php

Babel or pybabel Python CLDR (Ortak Yerel Veri Deposu) için bir arayüz. Bunun gibi, PHP'nin i18n fonksiyonları ve sınıfları (uygun yerel ayarlar ana yüklüyse) gibi aynı 'bilgi' var, ama gibi işlem çapında ayarları kullanarak uğraşmadan setlocale().

PHP için benzer bir kitaplık ya da araç var mı? Özellikle elde etmek için:

  1. dil ve bölgeye özgü biçimleri ve sağa sola numaraları dönüştürmek

  2. aynı şekilde tarihleri ​​dönüştürme

  3. Belirli bir yerdeyseniz isimleri, parasal ve diğer bilgilerine erişmek (gibi, örneğin

    >>> from babel import Locale
    >>> locale = Locale('en', 'US')
    >>> locale.territories['US']
    u'United States'
    >>> locale = Locale('es', 'MX')
    >>> locale.territories['US']
    u'Estados Unidos'
    

1 Cevap

PHP 5.3 intl uzantısı ile geliyor:

Internationalization extension (further is referred as Intl) is a wrapper for ICU library, enabling PHP programmers to perform UCA-conformant collation and date/time/number/currency formatting in their scripts.

  1. Numaralarını dönüştürme NumberFormatter sınıfı ile mümkündür:

    $fmt = new NumberFormatter("de_DE", NumberFormatter::DECIMAL);
    echo $fmt->format(1234567.891234567890000);
    
  2. Tarihleri ​​dönüştürme IntlDateFormatter sınıfı ile mümkündür:

    $fmt = new IntlDateFormatter("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN);
    echo $fmt->format(0);
    
  3. Belirli bir yerdeyseniz isimleri, parasal ve diğer bilgileri erişme Locale sınıfı ile mümkündür:

    echo Locale::getRegion('de-CH-1901');
    

Buna ek olarak, Collation ve MessageFormatter sınıflar vardır.