Php Gettext在我的本地主机上不工作

Php Gettext在我的本地主机上不工作,php,localhost,gettext,Php,Localhost,Gettext,我试图从gettext开始,但它在本地主机上不起作用 我的简单代码: <?php $language='en'; putenv("LANG=$language"); setlocale(LC_ALL,$language); $domain='test'; bindtextdomain($domain,"languages"); textdomain($domain); echo _("Simple string to translate"); 我有文件夹语言,在此文件夹中有另一个

我试图从gettext开始,但它在本地主机上不起作用

我的简单代码:

<?php
$language='en';
putenv("LANG=$language"); 
setlocale(LC_ALL,$language);

$domain='test';
bindtextdomain($domain,"languages"); 
textdomain($domain);

echo _("Simple string to translate");

我有文件夹语言,在此文件夹中有另一个文件夹en,但没有创建文件。感谢您的帮助

这是一个很好的解决方案,可以设置您的语言并从.po文件调用翻译。PHP是只读的.po,所以请确保具有该文件的扩展名。此外,如果您的区域设置系统支持xy_xy格式或xy格式,请测试它:在linux下使用此行:locale-a,您将检查区域设置是如何编写和支持的。在windows下:检查system.io文件


在打开PHP标记后立即将错误报告添加到文件顶部。例如,1文件不应自行创建,您必须创建.po文件并使用msgfmt命令将其编译为.mo。2请准确显示您的文件夹。3验证系统上是否存在您尝试使用的区域设置。在控制台中,执行locale-a以查看列表。添加后,我看不到任何错误,只有要翻译的简单字符串。在我的xampp文件夹中,htdocs/languages/en为空。还要检查文件夹权限设置。Naomi:-我的windows控制台没有区域设置-命令:<| Fred-ii-如何在windows上检查它?其他创建文件的脚本没有任何问题
//get the location and set the languages
define('SESSION_LOCALE_KEY', 'ix_locale');
define('DEFAULT_LOCALE', 'en_US');
define('LOCALE_REQUEST_PARAM', 'lang');
define('WEBSITE_DOMAIN', 'messages');

if (array_key_exists(LOCALE_REQUEST_PARAM, $_REQUEST)) {
    $current_locale = $_REQUEST[LOCALE_REQUEST_PARAM];
    $_SESSION[SESSION_LOCALE_KEY] = $current_locale;
} elseif (array_key_exists(SESSION_LOCALE_KEY, $_SESSION)) {
    $current_locale = $_SESSION[SESSION_LOCALE_KEY];
} else {
    $current_locale = DEFAULT_LOCALE;
}

putenv("LC_ALL=$current_locale");
setlocale(LC_ALL, $current_locale);
bindtextdomain(WEBSITE_DOMAIN, dirname(__FILE__) . '/lang');
bind_textdomain_codeset(WEBSITE_DOMAIN, 'UTF-8');
textdomain(WEBSITE_DOMAIN);