问题标签 [xgettext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何从翻译的 .po 文件生成新的 .pot 模板
从不完整的 gettext .pot文件开始,生成的.po翻译文件现在包含大量原本不在.pot文件中的翻译字符串。
如何从翻译的.po文件向后生成其他语言的.pot文件(带有空白翻译条目的字符串)?
谢谢你的帮助。
python - gettext : 修改源后如何更新po和pot文件
我有一个带有国际化字符串的 python 项目。我修改了源代码,字符串的行也发生了变化,即在 pot 和 po 文件中,字符串的行没有指向正确的行。
那么如何将 po 和 pot 文件更新为文件中的新字符串位置。
python - Django MakeMessages 在 Windows 中缺少 xgettext
在 Windows 7 上运行 Django。
我目前正在尝试使用 django 书第 19 章中的说明翻译几个 Django 模板。我在模板中添加了一个翻译标签,加载了 I18N,并修改了 django 设置。然后我运行 django-admin.py makemessages -l en 来创建 po 文件。创建了所有文件夹,但随后 django 终止并出现以下错误:
错误:在init上运行 xgettext 时发生错误.py 'xgettext' 未被识别为内部或外部命令、可运行程序或批处理文件。
阅读该问题后,我发现 django 将 gnu gettext 库用于基于 unix 的系统。为了解决这个问题,我安装了 cygwin,它下载并安装了 gettext 包版本 0.18.1.0,然后我将其添加到我的 PATH 中。可悲的是,这并没有解决任何问题。Cygwin 没有添加任何 xgettext 文件。
我现在的问题是这个。有没有一种简单的方法(或教程)来安装 xgettext 和 django 的国际化在 Windows 7 上需要的其他功能,而无需下载大量的各种 gnu 包。到目前为止,Django 在减少不必要的困难方面表现出色,而这些突如其来的困难根本不是 django 的特点。
php - 使用 POEdit/xgettext 翻译变量
我正在使用PHP、Zend Framework和 Zend_Translate(gettext 适配器)。为了编辑翻译,我使用POEdit,它利用xgettext来获取要翻译的字符串。
POEdit (xgettext) 将搜索关键字以查找要翻译的字符串。因此,如果搜索关键字,当文本直接传递给翻译函数时translate
,POEdit 将没有问题找到字符串,如:'Text to translate'
但是,在其他情况下,字符串将被传递给 Zend 函数,这些函数将为我进行翻译,调用带有变量作为参数的 translate 函数:
这将导致 POEdit (xgettext) 无法找到要翻译的字符串。在上面的示例中,我希望 POEdit 查找的字符串是'Another text to translate'
,但由于它没有直接传递给translate
函数,因此找不到。
那么,如何解决问题呢?
我当前的解决方案是创建一个虚拟文件,其中包含 POEdit 未找到的所有字符串的长列表:
但是这个解决方案的缺点是更新字符串时,我都需要更改虚拟文件并找到原始字符串。这将使其更难维护。
我想到的另一个解决方案是在调用后将翻译字符串添加到评论中SomeZendFunction
(参见上面的示例),但我无法让 xgettext 接受它,因为它忽略了评论。
那么,任何人都知道如何让 xgettext 接受评论中的字符串?或者任何人有任何其他可能更好的解决方案?
谢谢你的帮助!
编辑:
我不知道为什么我被否决了。但我试图澄清这个问题。
php - 让xgettext在评论中查找关键字
默认情况下,xgettext 会忽略在注释块中找到的任何关键字。
是否可以覆盖此行为?我尝试过添加//_
为关键字,但这也失败了。似乎评论优先于关键字:
xgettext -o output.po --language=PHP -k_ -k//_ file.php
感谢帮助!
java - xgettext 提取错误的文字
我用它来提取所有需要翻译的字符串文字:
这些应该被提取:
这些不是:
但两者都出现在我的 .pot 文件中:
有什么办法可以解决这个问题吗?
gtk - 如何从 glade (Builder) 文件中提取可翻译的字符串?
在命令提示符下,我写道:
此版本是在没有外籍人士的情况下构建的。
我试图找到 libexpat,它与 xgettext.exe 一起存在,但仍然出现此错误,谁能指导我如何从 gade 文件中提取可翻译字符串?
我知道我做得对,但是这个错误很奇怪,在任何教程中都没有提到:(
我在 Windows 上使用带有 GTK+ - 2.0 的 Netbeans IDE 和带有 MSYS 的 MinGW。
php - OSX 中的 xgettext 从 PHP 代码创建 .po 文件
我在 Mac OSX 上,我找不到解析 PHP 代码和提取可翻译字符串的好解决方案。
我已经尝试过 PoEdit,但它因反冗长的中继错误而失败:
我也尝试过 Virtaal,但是当我单击“打开”时,应用程序崩溃,事件发生在浏览窗口出现之前。
我试过 OmegaT,但我认为它不支持 .po 文件。我不知道它是如何工作的:(
我也尝试过 xgettext.pl,它工作得非常好,只是它没有检测到 PHP dgettext() 函数,并且似乎没有像 poEdit 那样提供任何额外的选项来配置额外的关键字。手册页在这里:http ://www.unix.com/man-page/OSX/1/xgettext.pl/
到目前为止有什么解决方案吗?
php - PoEdit 关键字 - 复数
我在我的应用程序中加入了类似 gettext 的本地化系统,但我的翻译功能如下所示:
我的 PoEdit 关键字:
- t:2 告诉 PoEdit 解析
$string
,它显然工作 - t:2,3 应该告诉 PoEdit 解析两者
$string
和$plural_string
- 但它不是:(
它只看到$string
,所以我没有解析复数形式......我该如何解决这个问题?我不想将我的函数切换为不同的参数格式,因为我喜欢这个:(
此外,此函数的作用类似于 sprintf 替换:
- 如果第三个参数 ($plural_string) 是一个数组,那么函数会将数组中的值视为 vsprintf 的参数
- 如果第三个参数是字符串并且提供了 $number,该函数将考虑 $vprintf_arguments 作为 vsprintf 的参数(如果提供了),并且 $plural_string 作为 $string 的复数形式
无论如何,PoEdit 不应该干扰未引用的论点,对吧?我的意思是它只会将 $plural_string 解析为字符串,如果它看起来像'abc abc'
gettext - 如何自动删除未使用的 gettext 字符串?
我有一个 Web 应用程序,其中我有几个使用 gettext 的翻译。但是现在我已经对应用程序进行了重大重写,虽然大多数字符串是相同的,但也有相当多的字符串被显着更改或删除。
我使用 xgettext 创建 .po 文件,很高兴能够在代码中找到新字符串并将它们添加到 .po 文件中,但我没有看到删除在代码中找不到的字符串的选项.
是否有一种自动方法可以从 .po 文件中删除不再在代码中的字符串?