在 PHP 5.6.11 上使用 Smarty 2.6.28,我正在尝试创建一个多语言网站。为此,我正在尝试使用“smarty-gettext”(https://github.com/smarty-gettext/smarty-gettext)。我的网络服务器的根目录是'/foo'。
我按照说明安装它,并“简单地复制block.t.php
到function.locale.php
我的 Smarty 插件目录”(即“foo/Smarty-2.6.28/libs/plugins”)。
我使用“messages.po”文件创建了“foo/locale/de/LC_MESSAGES”目录:
msgid "Hello_World"
msgstr "Hallo Welt!"
我将其转换为“messages.mo”文件。
我创建了一个 .php 文件
<?php
putenv('LC_ALL=de');
setlocale(LC_ALL, 'de');
require_once("Smarty-2.6.28/libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->display("test.html");
?>
并创建了一个模板“test.html”:
<h1>
{t}Hello_World{/t}
</h1>
然而,文本“你好世界!” 未显示,而仅显示“Hello_World”。
我究竟做错了什么?非常感谢您提前。