【发布时间】:2017-08-02 08:13:30
【问题描述】:
我已按照How to load language with gettext in PHP? 的指示进行操作
我创建了 ./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。我正在使用 slim 和 twig 框架。
【问题讨论】: