2011-08-25 2 views
1

Im는 CakePHP 1.3에 웹 사이트를 구축합니다. 내 요구 사항은 아랍어 및 영어 지원 웹 사이트를 갖는 것입니다. 영어 사용자가 동일한 정보를 볼 때 아랍어로 정보를 입력하는 경우 영어로 입력해야하며 영어로도 입력해야합니다.동일한 데이터베이스에 대한 영어와 아랍어 지원이있는 Cakephp 웹 사이트

po 파일을 사용하여 레이블의 위치를 ​​지정하는 것까지. 꽤 똑바로. 그러나 Cakephp의 번역 동작 (Built-in Translate Behavior)을 사용하는 데이터베이스 인 경우. 그러나 다시는 아무것도 변환하지 않고 현재 사용중인 로케일로 다른 데이터 사본을 만듭니다.

이동해야하는 방향으로 도와주세요.

이런 종류의 시나리오에서 따라야 할 모범 사례를 알고 싶습니다. db 값을 변환하는 것이 최선의 해결책이 아니므로 값이 저장 될 때마다 값을 저장해야합니다.

어떤 도움이나 제안을 주시면 감사하겠습니다.

+0

사용자가 입력 할 수있는 * anything *의 자동 번역을 원하십니까? – deceze

+0

예, 웹 사이트에서 아랍어 및 영어 지원이있는 경우 그런 다음 사용자가 아랍어로 텍스트를 입력하면 해당 영어 번역도 저장되어야하며 그 반대의 경우도 마찬가지입니다. –

+6

Cake TranslateBehavior가하는 것 이상의 * 길 *입니다. 먼저 도서관이나 실제 번역을하는 Google 번역 API를 찾아야합니다. 기계 번역은 ** 어려운 ** 문제입니다. 기대치를 높이 지 마십시오. – deceze

답변

1

실제로 CakePHP가 입력 된 데이터를 자동으로 번역하도록하는 것은 불가능합니다.

번역 동작을 사용하면 동일한 콘텐츠를 여러 언어로 입력 한 다음 구성에서 현재 설정 한 언어를 기반으로 데이터베이스에서 적절한 언어를 검색 할 수 있습니다. 그것은 실제로 당신을 위해 아무것도 번역하지 않습니다.

이론적으로 Google 번역과 같은 서비스에 아랍어 텍스트를 제출하고 아랍어와 영어 버전을 적절한 테이블에 저장하는 Model :: beforeSave() 콜백 함수를 추가 할 수 있지만 ' 필연적으로 아주 좋다. @deceze가 귀하의 질문에 대한 그의 코멘트에서 말했듯이 기계 번역은 어려운 문제입니다.

관련 문제