2014-11-08 2 views
1

나는 이것이 벌써 묻을 수도 있지만 나는 그것이 ... 어떻게 불려지는지 잘 모르겠다는 것을 안다. ....

내가 필요한 것은 모든 텍스트가있는 PHP 파일이다. 바꿔 놓음.

E.G.하나의 PHP 페이지 (다국 언어 웹 사이트)에있는 웹 사이트 텍스트

$logo = MY Website Logo; 
$vTitle1 = Video Tile First; 


이 내가 앞으로 여러 언어의 웹 사이트에 있어야합니다 것입니다.

+0

당신이 사용할 수 있습니다 될 수 있습니다 http://stackoverflow.com/questions/6953528/best-way-to-internationalize-simple-php-website –

답변

1

당신은 파일의 수 (예를 들어 en.php, fr.php)를 만들 수 있습니다 후 사용하고 그 중 하나를 포함 할 수 있습니다 제안에 대한 @Timothy에 (감사

include_once("en.php"); 

이상의 일반적이고 안전한 방법) :

$langArray = array("en" => "en.php", "es" => "es.php", "fr" => "fr.php"); 
if (isset($langArray[$_POST['lang']])); 
    include_once($langArray[$_POST['lang']]); 
else // default language 
    include_once("en.php") 

위의 코드는 파일 이름 (언어 이름)에 따라 변수를로드하므로 동일한 변수는 다른 (언어 별) 값을 참조 할 수 있습니다.

en.php

$welcome = "Hello"; 
$submit = "Submit"; 
$cancel = "Cancel"; 

es.php

$welcome = "Hola"; 
$submit = "Bla bla"; 
$cancel = "bla bla2"; 

그리고 사용 : 예를 들어

<?php include_once("en.php"); ?> 
<html> 
... 
<div id='greetings'> <?php echo $welcome . " " . $username; ?> </div> 
+0

$ _POST에 들어있는 데이터를 사용하여 $ lang. ". php"를 포함하는 대신 $ langfile = array ("en"=> "en.php", "ru"=> "ru.php", "es"=> "es.php와 같이 파일명을 가리키는 배열을 만드는 것이 조금 더 안전합니다. "); $ langfile [$ _ POST [ 'lang']]을 물어볼 수 있습니다. 찾을 수 없다면, 예를 들어 영어로 기본값을 설정하십시오. –

+0

여기에 주어진 대답은 효과가 있습니다. 웹 사이트를 현지화하는 적절한 방법이 아닙니다. [gettext()] (http://php.net/manual/en/function.gettext.php)를보십시오. – dotancohen