2012-11-05 55 views
1

我希望有人可以幫助我解決這個問題。我的網站被本地化爲德語,法語,西班牙語和英語。一切似乎都正常工作,但在測試過程中並且經常是零星的,本地化的文本不會出現,除了字符串代碼出現。變量$ language被正確設置,因爲這些圖像是特定於語言的,並且它們始終顯示。PHP - bindtextdomain停止在本地化網站的某些頁面上工作

我使用的代碼如下:

// I18N support information here 
putenv("LANG=" . $language); 
setlocale(LC_ALL, $language); 

// Set the text domain as "messages" 
$domain = "messages"; 
bindtextdomain($domain, "./locale"); 
bind_textdomain_codeset($domain, 'UTF-8'); 

textdomain($domain); 

的一件事我似乎通知書是這個問題只發生在格式的網頁: http://example.com/product/product_name.php 它始終工作在格式http://example.com/page.php

誰能幫助,甚至給我,我怎麼能調試

+0

您需要添加更多代碼。例如,如何調用文本? – jtheman

回答

0

細節你需要確保你給bindtextdomain路徑是正確的。我會在引導文件表明這一點:

define('ROOT_PATH', dirname(__FILE__)); 

,然後在你的腳本

bindtextdomain($domain, ROOT_PATH . '/locale'); 

這樣,如果你進入一個子文件夾,例如product/product_name.phpbindtextdomain不會試圖找到在該locale文件夾product文件夾。

+0

感謝一百萬人 - 工作完美 – user1801579