首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xgettext无法提取标签属性

xgettext无法提取标签属性
EN

Stack Overflow用户
提问于 2021-10-20 10:05:49
回答 1查看 23关注 0票数 0

我被xgettext模板中缺少标签属性所困扰,例如:

代码语言:javascript
复制
xgettext --keyword=_ --language=Python -o - - <<EOF
<!DOCTYPE html>
<html>
  <head>
    % msg = _('A translatable string')
    <title>{{ _('Page title') }}</title>
  </head>
  <body>
    <a href="#" title="{{ _('title') }}">_('Link text')</a>
  </body>
</html>
EOF

返回

代码语言:javascript
复制
# 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 VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-20 11:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: standard input:4
msgid "A translatable string"
msgstr ""

#: standard input:5
msgid "Page title"
msgstr ""

#: standard input:8
msgid "Link text"
msgstr ""

跳过atitle属性。

模板语言是Python bottleSimpleTemplate Engine,与标准的pybabel不兼容。

(说实话,你会得到同样的结果--比如忽略标签属性--使用pybabel的javascript提取器,我更喜欢使用下面的babel.cfg)

代码语言:javascript
复制
[python: **/**.py]
[javascript: views/**.html]

我做了其他试探性的工作:使用与SimpleTemplate引擎的模板继承语法{{!base}}不兼容的Jinja2提取器

EN

回答 1

Stack Overflow用户

发布于 2021-10-22 07:45:35

我最终修改了jinja2.Environment初始化,因此将{{!base}}命令视为注释。

代码语言:javascript
复制
[python: **/**.py]
[jinja2: views/**.html]
comment_start_string = {{!
comment_end_string = }}
silent=False

这样它将不会在转义打印中找到任何翻译-这就是{{! ... }}在SimpleTemplate Engine中的作用,应该是极少数情况下您想要转义翻译文本。

此外,python %<% ... %>中的翻译也被以某种方式跳过,我还没有找到修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69644033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档