2017-08-02 59 views
1

我從How to load language with gettext in PHP?如何在PHP中使用gettext在linux上?

我創建./locale/pl_PL/LC_MESSAGES/default.po有文件,請按照指示:

msgid "categories" 
msgstr "kategorie" 

我一直在使用已生成的MO文件:

msgfmt default.po -o default.mo 

,我有這樣的代碼:

$lang = 'pl_PL'; 
    $this->root = __DIR__ . DIRECTORY_SEPARATOR; 
    echo $lang . "\n" . $this->root . "locale\n"; 
    putenv("LC_ALL=$lang"); 
    setlocale(LC_ALL, $lang); 
    bindtextdomain("default", $this->root . "locale"); 
    textdomain("default"); 

    echo _("categories"); 

但我有未翻譯的文本,輸出爲:

pl_PL 
/home/kuba/projects/jcubic/cataloger/locale 
categories 

我也試過在現場結束使用斜線,但沒有幫助。

怎麼了?我如何使用gettext翻譯文本?我在GNU/Linux上從apache 2運行php。我使用苗條和枝條框架。

回答

2

我需要將.utf8添加到語言環境中(所以它的格式爲pl_PL.utf8)並且工作正常。