【发布时间】:2015-03-03 15:08:13
【问题描述】:
我尝试从 gettext() 开始,但它在我的本地主机上不起作用。
我的简单代码:
<?php
$language='en';
putenv("LANG=$language");
setlocale(LC_ALL,$language);
$domain='test';
bindtextdomain($domain,"languages");
textdomain($domain);
echo _("Simple string to translate");
我有文件夹语言,在这个文件夹中还有另一个文件夹 en,但没有创建文件。感谢您的帮助
【问题讨论】:
-
在打开 PHP 标记后立即将错误报告添加到文件顶部,例如
<?php error_reporting(E_ALL); ini_set('display_errors', 1);,然后是其余代码,以查看它是否产生任何结果, -
1) 文件不应该自己创建,您必须创建 .po 文件并使用 msgfmt 命令将其编译为 .mo。 2)请准确显示您的文件夹是什么。 3) 验证您尝试使用的语言环境是否存在于您的系统中。 (在控制台中,执行“locale -a”查看列表)。
-
已添加,我没有看到任何错误,只有“要翻译的简单字符串”。在我的 xampp 文件夹中,htdocs/languages/en 是空的。
-
同时检查文件夹权限设置。
-
Naomi: i.imgur.com/RRcVB2B.png - 我的 Windows 控制台没有“locale -a”命令: