【问题标题】:How to use gettext on linux in php?如何在 php 中在 linux 上使用 gettext?
【发布时间】: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 框架。

【问题讨论】:

    标签: php gettext


    【解决方案1】:

    我需要将.utf8 添加到语言环境(所以它是pl_PL.utf8)并且它可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 2015-11-25
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      相关资源
      最近更新 更多