为什么我的代码无法在php中使用gettext进行翻译?

时间:2019-08-07 11:52:11

标签: php gettext php-7.2

我在安装了{strong> gettext 扩展名的情况下使用php version 7.2。 我已经使用POEdit创建了.po文件,并拥有了.mo文件。 我在文件中添加了1个转换以对其进行测试,并尊重所需的文件夹路径。 我的项目根目录下的文件夹路径: Locale\en_US\LC_MESSAGES。 然后,我创建了以下跟踪代码,并且翻译不起作用。 我只有每次:

  

这是一个文本字符串!

但是我需要检索:

  

已翻译!

我尝试更改文件夹位置,更改POEdit上的某些设置,尝试获取有关test.php上功能的信息,它们显然还不错。 尝试调用其他调用方法,但无法进行任何更改。

根目录中的文件:test.php

$Langue = "en_US";
$fest = putenv('LC_ALL='.$Langue);
$mest = setlocale(LC_ALL, $Langue);

$domaine = "messages";
$test = bindtextdomain($domaine, "./Locale/en_US/LC_MESSAGES");
$pest = textdomain($domaine);

var_dump($fest);
var_dump($mest);
var_dump($test);
var_dump($pest);

echo _('This is a text string!');
echo "<br />";
echo gettext('This is a text string!');

文件messages.po在:区域设置\ en_US \ LC_MESSAGES \ messages.po

msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2019-08-07 12:14+0200\n"
"PO-Revision-Date: 2019-08-07 13:02+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: en_US\n"
"X-Poedit-KeywordsList: _;gettext\n"

# test1
msgid "This is a text string!"
msgstr "Translated !"

用于转储$ fest

C:\wamp64\www\project\test.php:23:boolean true

转储$ mest

C:\wamp64\www\project\test.php:24:string 'en_US'

用于转储$ test

C:\wamp64\www\project\test.php:23:string 
'C:\wamp64\www\project\Locale\en_US\LC_MESSAGES'

用于转存$ pest

C:\wamp64\www\project\test.php:24:string 'messages'

0 个答案:

没有答案