백엔드 용 PHP 및 MYSQL을 사용하여 CMS를 만들었습니다. 문제는 사이트를 여러 언어로 사용할 수있게하려는 것입니다. 그래서 난 이미 CMS 자체를 번역하고 같은 파일에 넣어했습니다내 CMS 다국어 작성 방법
- en.ini
- nl.ini 관리처럼 CMS '내용 자체를 잘 작동
실제 문제는 웹 사이트를 더 번역하려고 할 때 발생합니다. blogposts 및 페이지는 데이터베이스에 저장되므로 동적입니다. 내 페이지 테이블의 구조는 다음과 같습니다 : I 예를 들어,로 페이지를 번역한다면
urlname | name | id | content | position | hidden | redirect | type | permission
그래서, 네덜란드어, 나는 새 테이블을 생성하지 않으려는, 예를 들어 pages_nl
라는 대부분 때문에 정보는 다른 표와 동일합니다.
페이지의 사용 가능한 언어가 포함 된 행을 추가하고 php가 배열을 읽고 현재 $lang
이 페이지의 사용 가능한 언어 중 하나와 일치하면 구문을 분석 한 다음 content_nl
및 name_nl
행을 예로들 수 있습니다.
내 블로그 게시물에 동일한 문제가 발생할 수 있으며 솔루션을 검색했지만 대부분의 결과는 특정 CMS 및 플러그인에 대한 것입니다.
번역 된 버전이없는 경우 언어를 동적으로 추가 할 수있는 다국어 페이지/게시물을 저장하는 가장 좋은 방법 (및 데이터베이스 구조)이 무엇인지 물어보고 있습니다.
나는'language' 또는 다른 것으로 불리는 다른 컬럼을 추가 할 것이다. 언어 당 표가 아닙니다. 다른 CMS가 어떻게하는지보십시오. – putvande