Gettext не работает

Я пытаюсь заставить gettext работать на локальном сервере, но он просто не работает. Он не дает мне никакой ошибки, он просто возвращает мою строку на испанском, а не переводит ее на английский.

Это index.php

<html>
<?php
$locale = "en_US";
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", 'UTF-8');
textdomain("messages");
?>
<?= _("Volver al Panel") ?>
</htlm>

Это messages.po, расположенный в локали / en_US / LC_MESSAGES /

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""msgstr """Project-Id-Version: PACKAGE VERSION\n""Report-Msgid-Bugs-To: \n""POT-Creation-Date: 2014-10-01 11:31-0300\n""PO-Revision-Date: 2014-10-01 11:38-0300\n""Last-Translator: FULL NAME <EMAIL@ADDRESS>\n""Language-Team: LANGUAGE <[email protected]>\n""MIME-Version: 1.0\n""Content-Type: text/plain; charset=UTF-8\n""Content-Transfer-Encoding: 8bit\n""X-Generator: Poedit 1.5.4\n"
#: index.php:10
msgid "Volver al Panel"msgstr "Back to Panel"

Конечно, я также создаю messages.mo с «sudo msgfmt messages.po» без проблем.

Дело в том, что вместо «Volver al Panel» должно возвращаться «Back to Panel», я не прав?

0

Решение

Я выяснил, в чем проблема, и смог ее исправить.

Я использовал команду locale -a и понял, что у меня не установлен языковой стандарт en_US, но у меня был языковой стандарт en_US.utf8, поэтому я переключил их оба, и это сработало.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]