오픈 소스 제품을 만들고 있는데 현지화에 대해 생각해 본 결과 gettext에 대해 읽었지만 여러 시스템 (서버, OS 등)에서 작동하도록하는 데 많은 어려움이있는 것으로 보입니다.PHP 현지화 관련 질문
어떻게 처리할까요? 여러 시스템에서 gettext 작업을 안전하게 수행 할 수있는 방법이 있습니까? 이미 그럴거야? 스웨덴
감사합니다/토비아스
오픈 소스 제품을 만들고 있는데 현지화에 대해 생각해 본 결과 gettext에 대해 읽었지만 여러 시스템 (서버, OS 등)에서 작동하도록하는 데 많은 어려움이있는 것으로 보입니다.PHP 현지화 관련 질문
어떻게 처리할까요? 여러 시스템에서 gettext 작업을 안전하게 수행 할 수있는 방법이 있습니까? 이미 그럴거야? 스웨덴
감사합니다/토비아스
Zend_translate, Zend_locale 및 Zend_Date을 살펴 보시기 바랍니다. 나는 그들과 직접 만지기 시작했으나 나에게는 gettext라는 혼란과는 달리 국제화에 대한 이미 훌륭하고 깨끗하고 현대적인 솔루션처럼 보입니다.
Zend_translate에 대한 소개에서는 gettext를 사용하여 선택하는 이유에 대한 많은 강력한 주장을 나열합니다. 다국어 응용 프로그램에서
는 내용 여러 언어로 번역해야하며 표시 내용 는 사용자의 언어에 따라 달라집니다. PHP 가 이러한 문제를 처리하기 위해 이미 여러 가지 방법을 제공합니다, 그러나 PHP 솔루션은 몇 가지 문제가 있습니다
일관성 API는 : 다른 소스 형식에 대한 하나의 API가 없습니다. 예제의 gettext 사용은 매우 복잡합니다.
PHP는 gettext 및 native array 만 지원합니다. PHP는 array 또는 gettext에 대해서만 만 지원합니다. 네이티브가 없기 때문에 모든 다른 소스 형식을 수동으로 으로 코딩해야합니다.
기본 언어 없음 감지 다음 사용자의 기본 언어는 다른 웹 브라우저의 배경 깊은 지식없이 감지 할 수 없습니다.
Gettext는 스레드로부터 안전하지 않습니다. PHP의 gettext 라이브러리는 안전하지 않으므로 스레드 이 아니므로 다중 스레드 환경에서 사용하면 안됩니다. 이는 이 PHP가 아닌 gettext 자체에 문제가 있기 때문에 발생하지만 기존 문제입니다.
언어 블록은 프로그램의 외부에 보관해야합니다. 데이터베이스 또는 XML 파일에있을 수 있습니다. 이렇게하면 이후에 추가 언어를 추가 할 수 있습니다.
그런 다음 모든 응용 프로그램에서 사용자가 지역화를 식별하고 각 상황에 맞는 텍스트를 제공해야합니다.
젠드 프레임 워크의는 내가 본 것 중 가장 유연합니다. PHP 측에서 gettext 지원 모듈이 반드시 필요하지는 않습니다. .mo 바이너리 형식 자체를 읽습니다.
지금은 조금 큽니다. 이제 어떻게 Drupal과 WordPress가이 작업을 수행하고 있습니까? – sandelius
WP는 gettext를 사용합니다 : http://codex.wordpress.org/I18n_for_WordPress_Developers 저는 Drupal이 자체 시스템을 가지고 있다고 생각합니다. http : // drupal에 기반하고 있습니다.org/project/i18n 조금 큰 것처럼 보일지 모르지만 확실히 가장 희박하고 최고의 솔루션 중 하나입니다. 시장에 그다지 그다지 많지 않습니다. 내 질문을 확인하십시오. http://stackoverflow.com/questions/1620670/i18n-with-gettext-but-without-the-locale-hassle –
Zend_Locale을 테스트하고 번역 한 후 그것이 내가 원하는 것임을 깨달으십시오. 고맙습니다! – sandelius