Xgettext在安装了apache2和gettext的Debian 10上不能工作



给定:debian10 + apache2 + gettext软件包已安装。有一个.php文件与一些php+html代码。我尝试使用xgettext从这个.php文件中获取要翻译的字符串,并将它们保存到.pot文件中。从指令(https://www.systutorials.com/docs/linux/man/1-xgettext/):

)

xgettext testfile.php -o locale/pot/testfile.pot

"locale"文件夹和testfile.php"文件在同一目录下。还"地区/pot"文件夹是777可写的,也"testfile.php"也是777。当我从shell(从root)运行上面提到的命令时,没有testfile。锅生成。我还尝试添加——debug选项,但在shell中没有信息/没有错误。原因是什么呢?

UPD: i have just also tried:

xgettext testfile.php -o locale/pot/testfile. php

并使用——force-po创建一个文件"testfile.pot"但没有用于翻译的字符串-只有内容:

的模板
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSIONn"
"Report-Msgid-Bugs-To: n"
"POT-Creation-Date: 2021-08-06 14:51+0300n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONEn"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>n"
"Language-Team: LANGUAGE <LL@li.org>n"
"Language: n"
"MIME-Version: 1.0n"
"Content-Type: text/plain; charset=CHARSETn"
"Content-Transfer-Encoding: 8bitn"

So still no luck…

是的,现在我猜出了这个谜语。Xgettext只从gettext("some text string")抓取字符串,不从echoprint_r抓取文本。哈哈!所以最后我不得不重写我的代码,改变echo->gettext或找到另一个乐器来抓取字符串。谢谢=)

最新更新