2010-03-04 11 views
4

Babel or pybabel은 Python의 CLDR (Common Locale Data Repository)에 대한 인터페이스입니다. 따라서 PHP의 i18n 함수 및 클래스 (해당 로케일이 호스트에 설치된 경우)와 동일한 '지식'을 갖지만 setlocale()과 같은 프로세스 전반의 설정을 사용하는 번거 로움이 없습니다.PHP 용 pybabel 또는 기타 l10n 라이브러리

PHP와 비슷한 라이브러리 또는 툴킷이 있습니까? 특히 달성하기 :

  1. 를 예를 들어 마찬가지로

  2. 접근 이름, 특정 지역에 따라 통화 및 기타 정보 (같은

  3. 변환 날짜에 이리저리 언어와 지역의 특정 형식을 숫자로 변환

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

답변

2

PHP 5.3 (더 국제 공항으로 함)

국제화 확장 정렬 및 날짜/시간/숫자/통화 형식 UCA 준수 '를 수행하기 위해 PHP 프로그래머를 가능하게 ICU 라이브러리에 대한 래퍼입니다 : intl 확장과 함께 제공 스크립트에 IntlDateFormatter 클래스

$fmt = new NumberFormatter("de_DE", NumberFormatter::DECIMAL); 
echo $fmt->format(1234567.891234567890000); 
  • 날짜를 변환하는 가능합니다 :

    $fmt = new IntlDateFormatter("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN); 
    echo $fmt->format(0); 
    
  • 액세스 이름, 통화

    1. 변환 번호는 NumberFormatter는 함께 클래스 가능하다 및 특정 지역에 따라 다른 정보는 로케일 클래스 수있다 :

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

    정렬 MessageFormatter 과 클래스가있다.

    +0

    'Locale :: getRegion()'메소드는 파이썬'territories' 속성과 같은 종류의 것을 반환하지 않는다는 것을 명심하십시오. –