2009-07-18 249 views
1

我想用我的客戶的語言有我的網站的主頁。由於網站託管在一個位置,但可以通過任意n個國家/地區訪問。所以我想用所請求的客戶端瀏覽器的語言來設置主頁。多種語言的網站

還有一個很重要的一點,即如果客戶端語言不是在服務器支持那麼網站應該在後備語言可見的假設。

你有任何示例網站/良好的鏈接?

回答

5

這是不是一個真正的答案,不亞於一般的諮詢問題...如果你決定將輸出發送到該語言的用戶,你認爲最適合他/她基於GeoIP的,瀏覽器語言等。確保在任何時候都能夠非常簡單地在網站上查找語言選擇控件,即使您不知道該語言。

沒有什麼比在匈牙利展示網站更讓人討厭的了,因爲您恰好在酒店大堂使用電腦,而您無法訪問瀏覽器設置(除非您使用該語言)。

而且,儘管是一個瑞典人和瑞典有作爲我的第一語言,我幾乎總是喜歡英語或德語的英語或德語網站的翻譯之一的前面。重要的事情經常會以翻譯的方式迷失,只要語言不會阻止我,我知道我更喜歡什麼。我知道這不是大多數用戶的「正常情況」,但請記住:)

+1

優秀點(我能+100?)!這可能不是問題的確切答案,但我認爲它比答案更重要。 – Hemant 2009-07-18 09:27:07

0

這是我如何創建多語種網站。它也有備用語言選項。

代碼語言:PHP

目錄結構:

/ 
|- core 
| |- init.php 
| `- lang 
|  |- en_US.UTF-8.ini 
|  `- hi_IN.UTF-8.ini 
| 
`- dashboard.php 

語言文件名:的en_US.UTF-8.ini

[Headers] 
HEADER_DASHBOARD = "Dashboard"; 
HEADER_USERS  = "Users"; 
HEADER_GROUPS = "Groups"; 
HEADER_HELP  = "Help"; 

[MainMenu] 
MENU_DASHBOARD = "Dashboard"; 
MENU_USERS  = "Users"; 
MENU_GROUPS = "Groups"; 
MENU_HELP  = "Help"; 

文件名:的init.php

<?php 
$available_lang = [ 
     'en' => 'en_US.UTF-8', 
     'hi' => 'hi_US.UTF-8', 
     ]; 

//check if requested language is available or fallback to default. 
$language = (isset($available_lang[$_GET['ln']])) ? $available_lang[$_GET['ln']]:'en_US.UTF-8'; 

$_SESSION['language'] = $_GET['ln']; 

$ini = parse_ini_file("/core/lang/" . $language . ".ini"); 
?> 

文件名:dashboard.php LN = EN

<?php 
require_once 'core/init.php'; 

if ($_SESSION['language']) == 'en') { 
    echo '<a href="?ln=hi">Hindi</a>'; 
} else { 
    echo '<a href="?ln=en">English</span></a>'; 
} 

// example uses 
echo $ini['HEADER_GROUPS']; // Dashboard 
?>