2011-06-10 1 views
0

그래서 사이트를 다른 언어로 제공해야합니다. PHP 5.x 및 MySQL 5.x 사용. 나는 사이트 전체 정적 텍스트에 대한 괜찮아 보이는 gettext를 사용하지만 DB에 저장된 동적 데이터는 어떨까요? 이야기, 이벤트 비즈니스 목록 등을 언급하는 Im. 어떻게 다른 언어로 표시 할 수 있습니까? 나의 초기 생각은 그들이 사이트에서 사용하고자하는 각 언어에 대한 스토리, 이벤트 또는 목록의 여러 버전을 입력 할 수 있도록 백엔드에있었습니다. 그러나 얼마나 많은 언어를 보여주고 싶은지에 대해 수천 개의 항목이있을 수 있습니다. 누군가가 나를 가리킬 수있는 더 나은 해결책/아이디어가 있습니까?PHP 현지화 및 동적 데이터

또 다른 문제는 현재 사이트에서 이벤트/이야기/목록을 검색 할 수 있다는 것입니다. 어떻게 다른 언어로 작동합니까? 나는 누군가가 사이트를 스페인어로 보여주기 위해 선택했다면 스페인어 단어를 사용하여 사이트를 검색 할 것입니다. 그러나 db의 정보가 영어로되어 있다면 잘 작동하지 않을 것입니다. 그것에 관한 어떤 제안?

답변

0

이야기가 모든 언어로 정확하도록하려면 모든 언어로 저장된 이야기가 필요하며 번역을 수행하거나 백엔드에서 제공 한 내용을 처음에 생각한대로 다른 언어로 입력해야합니다.

마음에 들지 않으면 페이지에 google translate element을 추가하여 자동 (올바르지 않은) 번역을 제공 할 수 있습니다.

검색 질문의 경우 사용자와 동일한 언어로 된 데이터베이스 필드에서만 키워드를 검색합니다. Joe가 영어로 페이지를 방문하는 경우 데이터베이스의 title_en, content_en, description_en 필드 (또는 기사 당 행이 하나 있고 데이터베이스의 번역이있는 경우 language = 'en'이있는 필드)에서 검색 용어를 찾아보십시오. 한 기사 당 한 행 (모든 번역이 내부에 있음). 모든 번역을 데이터베이스에 저장하는 경우에만 가능합니다.

+0

실제로 그 아이디어는 나에게 줬다. 백엔드 관리 도구에서 수동으로 이야기와 같은 항목을 번역하고 싶지 않다면 google api를 사용하여 자동으로 원하는 언어로 번역하십시오. 분명히 번역은 좋지는 않지만 적어도 두 가지 장점을 모두 누릴 수 있다고 생각합니다. – John

0

내가 본 최고의 해결책은 이것입니다.

설명대로 i18n CMS 사이트는 새로운 기사가 ​​추가되어 유동적 인 상태로 변함에 따라 일부 언어는 일부 언어로 번역되어 있습니다.

선택한 언어의 기사가 아직 번역되지 않은 경우 기본 언어 (영어?)를 표시하십시오.

그런 다음 귀하의 경우에 호소 아이디어를 선택 : 영어의 기본 문서를 보여주는 경우

A) 또한 페이지의 입력 상자에 던져 당신을 위해 그것을 번역하는 청중을 초대합니다.

b)는 또한 제공하는 페이지에 넣어 영어의 기본 문서를 보여주는 것은 할 optionaly 번역에 넣어)

C 이상) 현상금을 일뿐만 아니라 Google 번역 할 수있는 내용을 전송하고 경우) 및/또는 b).