2012-10-16 4 views
1

나는 웹 사이트를 만들고 다국어 여야합니다. 번역은 (자동 번역 번역 안 함)의 접두어로 작성해야합니다. 제 질문은 무엇보다 효율적입니까? :다국어 웹 사이트 만들기 - 정적 또는 동적?

  • 각 언어에 대해 하나의 파일 세트를 만듭니다.
  • 하나의 파일 세트를 만들고 PHP 상수를 통해 텍스트를 표시하십시오.
  • 또한 MySql 쿼리를 만들어 문서의 시작 부분에 모든 번역이 포함 된 배열을 가져 오는 것으로 생각했습니다.

참고 : * 실제로는 큰 텍스트가 없습니다.

답변

2

장기적으로, 각 언어에 대해 하나의 파일 세트를 사용하는 것이 가장 좋습니다. GNU gettext와 같은 산업 표준 형식을 사용하는 경우 PHP는 built in support입니다. 또한 타사 번역 회사와 번역 도구가 일반적으로 형식을 지원하므로 장기간 사이트 유지 관리가 개발자에게 더 적은 의존성을 요구합니다.

+0

나는 그것에 대해 연구 할 것이다. 예를 들어, 어떻게 페이스 북과 같은 시스템이 만들어 졌다고 생각합니까? 단일 파일? – Kenedy

+0

이 질문에 대해 자세히 알아 보려면 http://stackoverflow.com/questions/18468018/php-menu-setting-for-language-settings/18468242#comment27145336_18468242 –

0

저는 현재 작업하고있는 웹 사이트에 Zend Translate을 사용하고 있습니다.

젠드 프레임 워크의 대부분의 구성 요소는 독립 실행 형 구성 요소로 사용할 수 있습니다. 전체 스택을 사용하고 있지만 Zend Translate 만 사용하면 안됩니다.

데이터베이스를 사용하여 번역을 얻는 방법은 귀하가 다루는 콘텐츠의 유형에 달려 있다고 생각합니다. 예를 들어, Joomla! 다른 언어로 같은 기사의 다른 버전을 저장하는 구성 요소가 있습니다.

PHP 배열, INI 파일, gettext, xml 등의 번역본을 가져올 수있는 옵션이 있으므로 Zend Translate를 사용하는 것이 좋습니다.

이벤트 클래스를 사용하여 데이터베이스 클래스를 확장하여 데이터베이스 백엔드 어댑터를 만들 수 있습니다.

희망이 있습니다.

+0

이 옵션을 사용할 수 있습니다. 그러나 나는 큰 번역을 다루지 않기 때문에 이런 종류의 해결책이 정말로 필요하지 않습니다. 큰 내용은 해당 언어로 직접 표시됩니다 (변환되지 않습니다) – Kenedy

+0

제가 말했듯이 Zend Translate를 독립형 구성 요소로 사용하는 것은 문제가됩니다. 파일이있는 위치의 어댑터에 알려 주어야합니다. 이들은 다음과 같은 형식의 일반 텍스트 INI 파일 일 수 있습니다. TRANSLATION_MESSAGE_ID = "안녕하세요, 번역 될 예정입니다" 실제로 폴더 구조를 감지 할 수 있습니다. 그렇지 않으면 간단한 함수로 간단한 PHP 배열 접근 방식을 구현할 수 있습니다. –

+0

완벽합니다. 그리고 Zend Translate와 같은 프레임 워크를 사용하는 것과 자체 어레이로 작업하는 것의 차이점은 무엇입니까? 간단히 말해 프레임 워크가 너무 복잡하지 않습니까? – Kenedy

-1

는 나는 당신을 도울 것입니다 생각 : http://www.youtube.com/watch?v=v7vCp_TFcdU
그것은 선택한 언어를 저장하고 각 언어에 대한 배열을 사용하는 session를 사용합니다.

+0

이 질문은 무엇이 더 효율적인지 질문합니다. youtube video가 대답한다면, 여기에 텍스트를 집어 넣을 수 있습니까? – Chris