2014-11-08 43 views
1

我知道這是可能已經問過,但我不知道它是怎麼叫....

與所有文本所有我需要的是PHP文件替代。

E.G.網站的文本(多國語言網站)

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


這就是我需要在今後的多語言網站。

+0

可能是你可以使用這個http://stackoverflow.com/questions/6953528/best-way-to-internationalize-simple-php-website – 2014-11-08 14:53:07

回答

1

您可以創建文件的數量(例如en.php,fr.php),那麼你可以使用包括任何人:

include_once("en.php"); 

或多個通用和安全的方式(感謝@Timothy您的建議):

$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']],如果找不到,則默認爲英語。 – 2014-11-08 15:13:54

+0

這裏給出的答案將起作用,這不是本地化網站的正確方法。看看[gettext()](http://php.net/manual/en/function.gettext.php)。 – dotancohen 2014-11-08 15:22:36