【发布时间】:2014-10-01 14:56:12
【问题描述】:
我试图让 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,位于 locale/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 <LL@li.org>\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"
当然,我也可以毫无问题地使用“sudo msgfmt messages.po”创建messages.mo。
问题是它应该返回“返回面板”而不是“Volver al Panel”,我错了吗?
【问题讨论】:
标签: php internationalization gettext