gpt4 book ai didi

PHP GetText 命令在命令行上不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 20:38:30 29 4
gpt4 key购买 nike

我正在尝试在网站上使用 gettext,为此我正在关注 O'Reilly Media tutorial .在第一页的末尾,它说我需要使用命令 xgettext -n *.php,但我的命令行返回以下内容:'xgettext' is not recognized as an内部或外部命令、可运行程序或批处理文件。我在 XAMPP 上运行我的网站,所以我的整个目录是这样的:xampp/htdocs/gettext/locale/en/lc_messages/

我的 test.php 在 gettext 文件夹中,messages.po 在 en 文件夹中。即使我尝试使用 poedit,它也不起作用。这是我的 test.php 代码:

<?php
// I18N support information here
$language = 'en';
putenv("LANG=$language");
setlocale(LC_ALL, $language);

// Set the text domain as 'messages'
$domain = 'messages';
bindtextdomain($domain, "localhost/gettext/locale");
textdomain($domain);
echo "<br>";
echo gettext("A string to be translated would go here");
?>

我不确定 bindtextdomain 函数中的字符串是否正确。有人知道吗?

编辑:我忘了说我用的是 Windows。我已经检查了 php 目录,gettext 扩展在那里,并且在 php.ini 配置文件中启用。

最佳答案

我找到了解决方案!尝试添加这一行

putenv("LANGUAGE=$language"); 

根据 Ubuntu wiki :

(Note that previously Ubuntu used the LANG variable for translation language. Now LANGUAGE is used for this, and LANG is used to specify other types of locale information, such as date formats, number formats, etc.)

关于PHP GetText 命令在命令行上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29626096/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com