2011-12-14 100 views
1

流利,您如何推薦治療多語言網站?治療多語言網站的建議

進出口完成如下工作:

1 - 有變量的所有文字/ imgpath(郎/ es.php,朗/ en.php)。

2 - 保持文件分開考慮到相似之處。

/ 
css/ 
es/ 
en/ 
images/ 

3 - 用CMS(wordpres)

現在的問題是,並非總是與CMS工作作爲前述。大多數情況下都是手工製作

我已經評論過使用XML,但最終我認爲它與xml應該被轉儲到一個變量,保持會話(或任何形式)中的語言ID相同。

我認爲必須是一個更好的方法來做到這一點。

舉個例子,我把情況:

Screenshoot = http://i.stack.imgur.com/yOQM5.jpg 

希望你能幫助我:d。

THanks

回答

2

解決方案取決於需求。我已經爲大型多語言網站實施了複雜的翻譯工具,併爲非常小的英語/西班牙語解決方案提供了非常基本的解決方案。

較大的是後端數據庫驅動,但前端是靜態的。我們根據用戶的會話加載適當語言的文件。由於大量的查詢是不可取的,我們寫了翻譯內容的HTML到純文本文件,並要求他們像這樣:

<?php 
if(file_exists($_SESSION['lang'].'/path-to-file.html')) 
{ 
    include($_SESSION['lang'].'/path-to-file.html'); 
} 
else 
{ 
    //call some helper to fetch it on the fly 
} 
?> 

然而,並非所有網站的需求,一個龐大的數據庫驅動的語言工具。您可能有可以很容易地通過一個簡單的配置文件來處理一個基本的網站:

$lang = [ 
    'en' => [ 
     'title' => 'the title in english', 
     'header_1' => 'header 1 in english' 
    ], 
    'sp' => [ 
     'title' => 'the title in spanish', 
     'header_1' => 'header 1 in spanish' 
    ] 
]; 

,你將包括有在每一頁上這個變種的文件,然後調用需要的語言字符串:

<h1><?php echo $lang['en']['title']; ?></h1> 

如果您需要一個更適合您的例子,您應該修改您的問題以包含翻譯的預期大小以及語言如何影響您網站的佈局和設計。

0

您可能也有興趣gettext

它照顧複數,它很容易使用。
某些語言可能非常難以使用數組或靜態文件進行管理。

+0

`gettext`是整個站點確定爲小段文字,但不是。 – ComFreek 2011-12-14 20:23:59