需要帮助来解决这个谜团:我在 Windows 机器上使用 XAMPP 并使用“echo _("message")”方式翻译成希伯来语。语言环境目录已打开root/locale/Hebrew_Israel.1255/LC_MESSAGES
翻译在位于站点根目录中的 index.php 文件上运行良好。
但是,翻译不适用于位于 /php 目录下的另一个 php 文件。您可能会猜测这是由于相对路径问题,但即使我将其置于根目录,它也无法翻译。
我不确定 Locale 的工作原理以及所有这些行的含义。找不到合适的文档。我想运行它每个 php 还是只运行一次?
无论如何,这是我在每个 php 文件之前包含的“config.php”文件,注意路径是绝对的。
// language stuff:
$locale = "Hebrew_Israel.1255"; // this might change on server
$domain = "messages";
putenv("LANG=$locale");
putenv("LANGUAGE=$locale");
putenv("LC_ALL={$locale}"); // Returns TRUE
putenv("LC_MESSAGES=$locale");
setlocale(LC_ALL, $locale);
$path = $_SERVER['DOCUMENT_ROOT'] . "/locale";
bindtextdomain($domain, $path);
textdomain($domain);