2017-05-03 49 views
0

通過gettext進行文本翻譯不起作用。請幫助我gettext問題php

$translate = 'messages'; 

putenv("LC_ALL=en_US"); 
T_setlocale(LC_ALL, "en_US"); 

bindtextdomain($translate, _ROOT_DIR_."locale/"); 
textdomain($translate); 
bind_textdomain_codeset($translate, 'UTF-8'); 

文件夾結構:

區域設置 - > EN_US - > LC_MESSAGES - > messages.mo messages.po

腳本messages.po:

msgid "" 
msgstr "" 
"POT-Creation-Date: 2017-05-03 15:53+0300\n" 
"PO-Revision-Date: 2017-05-03 15:54+0300\n" 
"Last-Translator: \n" 
"Language-Team: \n" 
"MIME-Version: 1.0\n" 
"Content-Type: text/plain; charset=UTF-8\n" 
"Content-Transfer-Encoding: 8bit\n" 
"X-Generator: Poedit 2.0.1\n" 
"X-Poedit-Basepath: .\n" 
"Plural-Forms: nplurals=2; plural=(n != 1);\n" 
"Language: en_US\n" 

#: index.php:5 
msgid "Bonjour tout le monde" 
msgstr "Hello world" 
+1

歡迎來到SO。請澄清在哪個方面gettext「不起作用」。包含任何錯誤消息並解釋您想要達到的目標。 –

+0

如果你在Windows上,我敢肯定你會成爲SOL ......如果你在* nix中,記住你需要在.po文件中進行任何修改後重新啓動Apache。 – CD001

+0

我調整了:.po和.mo文件,語言環境,域名和文本仍然沒有翻譯 沒有錯誤顯示 每次修改.po後,我重新啓動打開的服務器 –

回答

0

您只需在php.ini文件中註釋掉一行即可。像這樣 -

;extension=php_gettext.dll