2013-08-14 2 views
2

PHP에 익숙하지 않고 다국어 지원이 필요한 사이트를 만들고 있습니다. PHP에서 하나의 언어 콘텐츠를 다른 언어로 변환/변환 할 수있는 최상의 기능이 있습니까?PHP에서 로캘의 다중 언어 사이트

+0

utf-8 인코딩 및 멀티 바이트 함수 사용 : http://php.net/manual/en/book.mbstring.php –

+2

* 현지화 * 용 표준 도구는 [gettext] (http://php.net/)입니다. gettext), http://www.gnu.org/software/gettext/. 당신은 그것을 좋아할 수도 있고 그렇지 않을 수도 있습니다. L10n은 어렵다. 조사 좀 해봐. – deceze

+0

다른 코멘트에도 불구하고 최상의 결과는 사람이 수행 한 것입니다 – allen213

답변

1

글쎄 : "문자열의 길이는 얼마나됩니까?"도 비슷한 질문입니다. ;-)

아니요, 기본적으로 모든 메시지와 텍스트 콘텐츠를 매개 변수화하고 두 언어로 사용할 수 있도록해야합니다. 이 작업은 언어 키를 사용하여 전환 할 수있는 사이 두 (아마도 연관) 배열함으로써 수행 할 수 있습니다 (: 0 : 영어, 1 : 그것은 최초의 인덱스이 예에서는 독일어) :

: 예를 들어

$msg=array(// first language English 
      array('login'->'Please enter your user name', 
        'bye'->'Thank you for visiting this site'). 
      // then a second language (German) 
      array('login'->'Bitte egeben Sie Ihren Benutzernamen ein', 
        'bye'->'Vielen Dank für Ihren Besuch') 
      // and possibly other languages to follow .. 
     //,array('login'->'...'),'bye'->'...') 
      ); 
+0

키 - 값 배열 변환은 가장 간단한 경우에만 사용할 수 있습니다. 번역사 나 다른 사람들과 함께 번역을 아웃소싱하기 시작하면 실제 프로세스를 처리 할 수있는 더 많은 도구가 필요합니다. 자동 추출기, 병합 도구 및 양방향 주석 처리는 최소한의 일종입니다. 또한 도메인, 컨텍스트 및 카테고리 (gettext 용어 사용)를 사용하여 번역을 구성 할 수 있습니다. – deceze

+0

@deceze 매우 사실입니다. 그리고 네, 큰 프로젝트에서는 모든 언어 데이터를 하나 또는 여러 개의 데이터베이스 테이블에 정리해야합니다. 번역을 아웃소싱하려면 번역사가 전체 웹 페이지 (또는 적어도 관련 스크린 샷)를 볼 필요가있어서 컨텍스트를 제대로 이해할 수 있어야합니다. 이것은 매우 자주 잊혀져 우스운 결과를 초래할 수 있습니다. – cars10m

+0

* 데이터베이스 *가 필요하지 않습니다. 파일은 정상적으로 처리됩니다. 하지만 번역에서 * 프로세스 *는 종종 구현보다 중요합니다 * 당신은 언어와 그 복잡한 차이점과 코드와 단어를 다루는 인간을 적절하게 지원하는 툴체인이 필요합니다. – deceze