问题标签 [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.
django - Webpack TypeScript 和 xgettext 翻译
我有一个 Django 应用程序,并且正在使用 Django 的 i18n 模块来帮助翻译我的字符串。为了翻译 JavaScript,我运行
它将所有标记的字符串添加到 .po 文件中。这对于我静态文件夹中所有无聊的 .js 文件都非常有效。但是,我们开始使用 webpack 将一些 typescript(.tsx 文件)打包到 bundle.js 文件中。该文件在构建后被复制到静态文件夹中,所以我希望 Django也能从makemessages
中获取字符串。但是,似乎没有正确解析字符串,因为 bundle.js 中的大部分代码只是简单地用eval()
.
我相信这意味着我需要 webpack - 除了 bundle.js 文件之外 - 为每个 .tsx 文件创建一个 .js 文件,而不是所有eval()
废话,以便 djangomakemessages
可以正确解析它。但是,我不知道该怎么做。我当前的配置看起来像这样
- 那么如何让 webpack 吐出这些文件呢?
- 这是正确的做法,还是有办法让 Django 正确解析 bundle.js?
php - 使用 zend-framework3 和 gettext 处理 textDomains
我们将 ZF3 用于具有国际化的大型应用程序。
i18n 是使用 zend-i18n、zend-mvc-i18n 和 xgettext cli 完成的,用于提取/编译 pot/po/mo 文件。
对于某些Contact
可能是动词或名词的词,我们指定了$textDomain
:$this->translate('Contact', 'Verb')
或$this->translate('Contact', 'Noun')
。
问题是,当我们提取这些字符串时,它们都在同一个 pot 文件中。
由于 Zend 通过 textDomain 加载翻译文件,如果我们可以pot
通过 textDomain 拆分文件会更好,但似乎 xgettext 不能这样做。
有人可以帮助我们使用 Zend 和 gettext 正确管理 textDomains 吗?
poedit - 没有位置注释的 Poedit
我想要没有路径注释(位置)的 .po 文件。由于他们,我们的团队在 git-merge 期间遇到了很多麻烦。
我可以使用命令获取不带注释的文件:
但!它也会删除文件开头的标题。如果没有这些头条新闻,PoEdit 将无法正常工作。
如何删除所有路径注释但将标题存储在 *.po 文件中?
python - 无法为 Windows 10 安装 gettext
我已按照所有 stackoverflow 和其他问题中共享的所有步骤为 Windows (10) 安装 gettext,但仍然出现错误:“找不到 msguniq,请确保您已安装 gettext 工具”使用国际化时在django。我曾尝试直接下载文件并将它们添加到PATH,甚至是已经编译所有内容并自动添加到路径的安装程序,但它仍然不起作用,我不知道还能做什么。 .. 请帮忙!
感谢您的时间。
python-3.x - xgettext 不只从特定目录中获取字符串
我有使用龙卷风的 python 3.5 应用程序。我将我的应用程序分成了 4 个目录:
app/
--- admin
--- server
--- admin_static
--- server_static
并且为 .po 文件收集字符串很奇怪,因为永远不会进入 app/admin 文件夹来收集字符串。
当我为 app/server 运行并且 app/server_static 从两个目录中收集时,但是当我为 app/admin 运行时 app/admin_static 只是从 app/admin_static 中收集并忽略此目录 app/admin
当我只运行这个 find ../../admin 正在工作但两个目录都不起作用
提前感谢您的推荐或任何帮助
internationalization - 具有自定义输入格式的 xgettext
xgettext 能够从各种源语言中提取字符串进行翻译。
(您的确切列表可能因平台而异)
它还根据文件扩展名猜测类型,因此:
将使用 PHP 解析器而不需要-L PHP
.
但是,我希望翻译不是这些语言的文件。是否可以直接将字符串列表提交到 xgettext 中?还是教它一门新语言?
例如,考虑一些使用自定义辅助函数的 Handlebars 模板__
,如下所示:
可以使用 grep 从文件中提取所有字符串:
但是有什么方法可以将此信息输入 xgettext 以生成有效的 pot 文件?
注意:虽然我很欣赏这种特定情况的解决方案,但问题实际上是关于未知语言的一般情况。
internationalization - 如何从静态 HTML 文件生成 *.pot 文件
有没有一种简单直接的方法可以从静态 HTML 页面生成 *.pot 文件?
xml - 使用命名空间转换 XML 属性的 ITS 规则
我正在尝试使用它的工具从像这样的 XML 文件中转换一些属性:
这里可翻译的部分是dlg:value
。
目前,我尝试的不选择任何要翻译的句子的规则是:
似乎我的 xpath 选择器在这里不正确。
编辑:问题似乎来自dlg
这里的命名空间。
javascript - 如何使用 xgettext 在 JS 中调用 xgettext 程序?
如何使用 xgettext 在 window10 中调用 xgettext 程序?
我试过这个代码:xgettext --language=JavaScript --from-code=utf-8 --keyword=gettext --sort-output --join-existing --no-wrap -f videobanner.js -d snapmaker -o输出.po。我不工作!
错误信息:不管videobanner.js是什么,结果是:xgettext: error while opening "export default {" for reading: No such file or directory
javascript - xgettext 没有找到所有翻译的字符串
我有一个 bundle.js,来自一个更大的 react/typescript webpack 项目的输出。
如果我运行:xgettext bundle.js --from-code=utf-8 --language=JavaScript
它会找到一些已翻译的字符串,但不是全部。
我试图将 --language 更改为不同的其他语言:PHP、Python、Perl、C 等,但我仍然缺少翻译。
有没有办法调试 xgettext 以逐步查看它在做什么?
或者有人想在我的 bundle.js 中找到所有翻译的字符串?
更新 1
Bundle.js - https://paste.ee/p/XmML7
跳过的字符串之一是字符串:“控制信息”
我可以在包中找到 gettext("...") 和 gettext('...') 352 次。但是在运行上面的 xgettext 命令后,我的 message.po 文件中只得到了 216 个字符串。
更新 2
这是完整 bundle.js 的一部分,其中包含字符串:“控制信息”