New submission from KINEBUCHI Tomohiko <cocoatom...@gmail.com>:

When gettext builder is invoked, deprecated-removed directive which is defined 
in Doc/tools/extensions/pyspecific.py generates overlapping msgids in .pot 
files.

For example, the following .rst source (taken from Doc/library/dmb.rst L354)::

   .. deprecated-removed:: 3.6 3.8
      Creating database in ``'r'`` and ``'w'`` modes.  Modifying database in
      ``'r'`` mode.

results to following .pot file entries::

   #: ../../library/dbm.rst:357
   msgid "Deprecated since version 3.6, will be removed in version 3.8: 
Creating database in 'r' and 'w' modes.  Modifying database in 'r' mode."
   msgstr ""

   #: ../../library/dbm.rst:357
   msgid "Creating database in ``'r'`` and ``'w'`` modes.  Modifying database 
in ``'r'`` mode."
   msgstr ""

using the command::

   sphinx-build -E -b gettext -D gettext_compact=0  -w warnings.txt -d 
build/.doctrees . locale/pot


The root cause is deprecated-removed directive constructs inappropriate 
sub-doctree for translation.
First, above .rst source is compiled into following tree structure::

   <versionmodified type="deprecated-removed" version="('3.6', '3.8')">
     <paragraph>
       <inline classes="versionmodified">
         Deprecated since version 3.6, will be removed in version 3.8:
       <inline translatable="True">
         Creating database in...

and gettext builder picks up paragraph node and the second inline node as 
translation targets.

Expected result is that two inline nodes are picked up as translation targets 
and the paragraph node is not, and expected .pot file entries are such as 
following::

   #: ../../library/dbm.rst:357
   msgid "Deprecated since version 3.6, will be removed in version 3.8:"
   msgstr ""

   #: ../../library/dbm.rst:357
   msgid "Creating database in ``'r'`` and ``'w'`` modes.  Modifying database 
in ``'r'`` mode."
   msgstr ""

----------
assignee: docs@python
components: Documentation
messages: 306546
nosy: cocoatomo, docs@python
priority: normal
severity: normal
status: open
title: deprecated-removed directive generates overlapping msgids in .pot files
versions: Python 3.6, Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue32087>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to