다른 언어로 작업 할 수 있도록 사이트를 업그레이드하고 있습니다.번역 된 텍스트 - 데이터베이스 또는 플랫 파일을 저장하고 검색하는 가장 빠른 방법은 무엇입니까?
내 계획은 텍스트 단락을 여러 언어로 저장하고 각 단락에 식별자를 제공하는 것입니다.
예
ID => '1'
간단한 => 'welcome_paragraph'
EN => '에 오신 것을 환영합니다 우리의 웹 사이트!'
de => '웹 사이트가 비어 있습니다!' 빨리
-
요구 사항
은 새로운 언어
그래서 데이터베이스 테이블에이를 저장하는 가장 좋은 솔루션입니다
한 테이블, 각 언어에 대한 열 및 각 간단한에 대한 행 :
ID, brief, en, de, es
또는 두 개의 테이블, breifs 하나, 번역과 하나 그리고 만약 그렇다면, 다음 중 가장 좋은 테이블 설정입니다 :
각 페이지에서ID, brief
ID, language, translation
, 나는 .... 할 의도
는 에코 $ 페이지 -> ($ 언어, $ 개요)를 번역; 각 페이지에
SELECT translation FROM translations
WHERE language = 'es' AND brief = 'welcome_paragraph'
LIMIT 1
여러 번 :
여러 번이있는 데이터베이스를 계속 전화하는 속도가 느린 것입니다 .... 텍스트의 요구 조각을 가져다? 그러므로 이것을 플랫 파일로 저장하는 더 좋은 방법이 있습니까? 또는 많은 번역이 들어있는에 업데이트 된 의 PHP 파일이 생성 되었습니까? 내가 젠드이 시간에 번역을 사용하여 고려하지 않고있어 Zend Translate page 의 예와 같이 많은
$english = array(
'message1' => 'message1',
'message2' => 'message2',
'message3' => 'message3');
$german = array(
'message1' => 'Nachricht1',
'message2' => 'Nachricht2',
'message3' => 'Nachricht3');
... 나는 그것에 비용이 가정?
왜 'on the fly'가 생성 되었습니까? 런타임에 번역이 바뀔 것으로 예상하지 않습니까? 정상적인 정적 PHP가 포함되어 있지 않은 이유는 무엇입니까? – bobince
"나는 지금 Zend Translate를 사용하여 돈을 지불하고 있다고 생각하지 않는다. 달러와 같은 비용을 의미한다면, 비용은 없습니다. Zend 프레임 워크는 BSD 라이센스에 따라 무료이며 오픈 소스입니다. 그것은 거의 무료입니다. –
나는 "on the fly"를 바 꾸었습니다. 업데이 트해야합니다. 감사합니다. –