확인. I18n (국제화)은 아주 이상한 일입니다. 다국어로 작성하려면 코드를 많이 변경해야합니다.
나를 위해, 가장 좋은 해결책은 이미 많은 레이어에서 I18n을 지원하는 CakePHP로 옮기는 것입니다. 그러나이 솔루션을 사용하면 많은 시간을 할애 할 수 있습니다. 그래서 ....
echo "Hello World"
또는
<p>Hello World</p>
같은 내부 텍스트를 변환하는 빠른 방법은 (각 언어 PHP 확장하여 적절한 언어 파일을 만드는 것입니다 예 : 말이지. php, el.php, en.php 등)에 다음과 같은 키와 값이 포함 된 배열이 포함됩니다.
$l = array(
'WEB_TITLE' => 'My web site title',
'GEN_HELLO' => 'Hello World',
'MENU_HOME' => 'Home',
'MENU_PRODUCTS' => 'Products',
...
);
echo $l['GEN_HELLO'];
및
<p><?php echo $l['GEN_HELLO']; ?></p>
은 다음과 같습니다
는 다음 웹 사이트에 당신은 당신이 그런 일을 할 필요가 각 페이지의 맨 처음에 당신의 페이지에 해당 언어 파일을로드해야 애플리케이션의 프런트 엔드 측. 이제 다국어로 데이터를 만들려면 어떻게 데이터베이스 구조를 변경해야합니다.
당신이 제목 및 내용 국제화 호환되도록해야 위의 구조에서 해당 테이블을
ARTICLES
id Title Content Date Active
이 있다고 할 수 있습니다. 제목 : 위의 표에서 그
ARTICLES_L
ID POST_ID COLUMN LANGUAGE CONTENT
같은 것입니다 외모가 당신이 번역이 속해있는 열을 문서 ID를 저장해야 예제 ARTICLES_L에서 호출 다른 테이블을 만들어야 할 열 것을 (예를 번역하기 위해) 언어 및 번역 된 내용.
그래서 당신은 기사의 레코드가
ARTICLES
id Title Content Date Active
1 Title 1 This is content 1 2011-10-01 13:28:45 1
2 Title 2 This is content 2 2011-10-01 13:28:45 1
3 Title 3 This is content 3 2011-10-01 13:28:45 1
테이블 ARTICLES_L 현실에서 기록
ARTICLES_L
ID POST_ID COLUMN LANGUAGE CONTENT
1 1 title es_ES Título 1
2 1 content es_ES Este es el contenido 1
3 1 title el_GR Τίτλος 1
4 1 content el_GR Αυτό είναι το περιεχόμενο 1
5 2 title es_ES Título 2
6 2 content es_ES Este es el contenido 1
....
당신이해야 할 많은 많은 다른 작업이 있다는 것을 포함 할 것이다, 그러나 이것은 경우 내가 당신에게주는 해결책 뒤에있는 아이디어 :
굿 럭
PN : 응용 프로그램의 프론트 엔드에서 더 나은 점은 그 것을 사용하는 것입니다. http://php.net/manual/en/book.gettext.php 이 방법은 WordPress 및 CakePHP에서 사용되는 방법이지만 매우 낮은 수준입니다. 한번보세요. 이것은 각 언어에 대한 파일을 만드는 것보다 낫습니다.
도움이 되었습니까? –
정말로 감사합니다 !! – Ivan
당신은 환영합니다 :) –