2013-08-31 29 views
1

我正在設計一個需要兩種語言的小型簡單網站。我想保持簡單。我想在代碼中使用佔位符/變量,這些佔位符/變量將具有用戶可見的文本。然後,允許用戶選擇他選擇的語言(使用簡單的鏈接),並使整個網站的文本切換到該語言。我更喜歡類似於語言文件的東西,當用戶選擇他的語言時,代碼中的值將被簡單地切換。下面是一個小例子來說明我所指的是什麼。根據用戶語言選擇動態切換網站中的內容

<div class='title'> 
    [$siteTitleGoesHere] 
</div> 

我希望這是有道理的。我對PHP和JavaScript足夠熟悉,如果有方向,我可以用它們來做到這一點。謝謝你的幫助。

+1

鏈接看看[gettext的(HTTP ://php.net/manual/en/function.gettext.php) – keune

回答

3

這裏有一個方法..

創建一個名爲lang

此文件夾中創建你的語言的文件夾,可以說en.phpfr.php

這些文件包含一個名爲$lang數組,其中包含所有的可交換的文本爲您的網站。

例如en.php

$lang['header'] = 'Welcome to my site!'; 

fr.php

$lang['header'] = 'Bonjour!'; // my french is awesome 

然後,您可以根據加載正確的文件(例如)會話值

session_start(); 
if (! isset($_SESSION['lang'])) $_SESSION['lang'] = 'en'; 
require ("lang/{$_SESSION['lang']}.php"); 

echo $lang['header']; 

如果您想要改變語言,你可以這樣做

在你的PHP

您需要會話郎值切換到新的語言

if (isset($_GET['lang'])) 
{ 
    $_SESSION['lang'] = $_GET['lang']; 
    header("Location: {$_SERVER['PHP_SELF']}"); 
    exit; 
} 

而且你會使用這樣

<a href="<?php echo $_SERVER['PHP_SELF']; ?>?lang=fr">French Language</a> 
+0

好的,謝謝。如何通過鏈接切換語言? – preahkumpii

+1

讓我來給我的答案添加一個例子 – Dale

+0

你能告訴我以'if(isset($ _ GET ['lang']))''開頭的代碼塊在代碼中嗎?我很困惑。 – preahkumpii