我在安装了{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'