2010-02-13 4 views
1

다국어 웹 페이지를 구축하는 가장 좋은 방법은 무엇입니까? CSS 및 자바 스크립트 파일을 수정하지 않고 다국어 웹 페이지를 작성하는 방법을 알고 있습니다. 그러나 HTML 및 PHP 파일에 대한 깔끔한 솔루션을 생각할 수 없습니다. 각 언어에 HTML 또는 PHP 파일이 있으면 예를 들어 div 나 기타 요소를 추가하는 경우 각각을 수정해야합니다. 나는 이런 식으로 뭔가를 할 생각 :다국어 웹 페이지를 구축하는 가장 좋은 방법은 무엇입니까? (반복 코드 수정을 피하기 위해)

<div id="multilingual div"> 
<p><?php echo($multilingual-paragraph); ?></p> 
</div> 

(그래서 다른 언어에있는 텍스트가 변수에서 표시하기 때문에, 나는 이러한 요소를 수정하는 경우에도, 내가 한 번 그것을 할 만합니다).

내가 PHP를 모르는, 그래서 언어에 따라 다른 변수를 표시하기 위해 빌에게 방법을 모르는

이 좋은가요 (나는 그것이 조건 IF 함께 할 수있는 뭔가가 생각) 다국어 웹 페이지를 만드는 방법 또는 다른 방법이 있습니까? 당신이 말했듯이

답변

1

, 당신은 PHP와 HTML 언어 파일이 함께 하나의 방법은 다음과 같이 이동하는 것입니다 그래서

(:.

$lang = ''; 

switch ($lang_file) 
{ 
    case 'en.php': $lang = 'whatever'; break; 
    case 'fr.php': $lang = 'whatever'; break; 
    // etc 
} 

<div id="multilingual div"> 
<p><?php echo $lang; ?></p> 

// or you may include files 
<p><?php include_once ($lang); ?></p> 
</div> 
2

출력 메시지에 대해 상수 솔루션을 구현할 수 있습니다. APC's cache functions을 사용하면 캐시에 여러 메시지를 저장하고로드 할 수 있습니다 그들은 당신이보고있는 페이지에 따라 (이것은 쉬운 해결책이 아닐 수도 있습니다, 당신은 이것에 대해 PHP를 알아야합니다).

이렇게하면 캐시의 각 언어에 대한 값을 가진 배열을 유지 관리 할 수 ​​있습니다. 예 :

apc_constants_define('en',array('welcomeMessage'=>'Welcome!')); 
apc_constants_define('es',array('welcomeMessage'=>'Bienvenidos!')); 
apc_constants_define('de',array('welcomeMessage'=>'Willkommen!')); 

(AJAX/select 양식)을 통해 사용자가 페이지를보고 싶은 언어를 선택할 수 있도록 허용 할 수 있습니다. 이 언어는 세션 내부에 저장됩니다 :

$_SESSION['language'] = 'en'; 

다음, 모든 페이지의 상단에, 당신은 세션 (단순 switch 문)을 확인해야하고 그에 따라 캐시에서 상수를로드합니다.

apc_load_constants($_SESSION['language']); 

다음 HTML 페이지는 다음과 같이 보일 것이다 :

<h1><?php echo welcomeMessage; ?></h1> 

내가하고 쉽게 유지 보수 시스템, 그것은 귀하의 웹 사이트를 국제화의 가장 효율적인 방법을 참조로 이것은이다, 즉 '아무튼 루마니아어로 페이지를 번역하고자 할 때 코드를 탐구해야합니다.

+0

다음을 시도했지만 작동하지 않았습니다. 잘못하고 있다고 생각합니다. '환영!'))); apc_define_constants ('es', array ('welcomeMessage'=> 'Bienvenidos!')); apc_define_constants ('de', array ('welcomeMessage'=> 'Willkommen!')); $ _SESSION [ 'language'] = 'en'; apc_load_constants ($ _ SESSION [ 'language']); ?>

alexchenco

+0

먼저 dll 파일로 APC 라이브러리를 다운로드하고 php.ini 파일을로드하여로드해야합니다. 수동/배 웹 사이트에서 다운로드 할 수있는 파일을 찾을 수 있습니다. 거기서 찾을 수 없다면 Google 검색을 실행하거나 스택 오버플로를 실행하십시오. – Gal

+0

@janoChen, 사이드 노트로 APC의 문서를 읽으시기 바랍니다. 단지 코드를 복사하여 붙여 넣는 것 이상의 의미가 있기 때문에 통찰력이 있습니다. – Gal

관련 문제