mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
[3.12] GH-101986: Support translation for Limited/Unstable API & Stable ABI (GH-107680) (#112940)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
This commit is contained in:
parent
68657e2b73
commit
78a5010a4e
2 changed files with 20 additions and 10 deletions
|
@ -126,7 +126,7 @@ class Annotations:
|
||||||
f"Object type mismatch in limited API annotation "
|
f"Object type mismatch in limited API annotation "
|
||||||
f"for {name}: {record['role']!r} != {objtype!r}")
|
f"for {name}: {record['role']!r} != {objtype!r}")
|
||||||
stable_added = record['added']
|
stable_added = record['added']
|
||||||
message = ' Part of the '
|
message = sphinx_gettext(' Part of the ')
|
||||||
emph_node = nodes.emphasis(message, message,
|
emph_node = nodes.emphasis(message, message,
|
||||||
classes=['stableabi'])
|
classes=['stableabi'])
|
||||||
ref_node = addnodes.pending_xref(
|
ref_node = addnodes.pending_xref(
|
||||||
|
@ -134,40 +134,40 @@ class Annotations:
|
||||||
reftype='ref', refexplicit="False")
|
reftype='ref', refexplicit="False")
|
||||||
struct_abi_kind = record['struct_abi_kind']
|
struct_abi_kind = record['struct_abi_kind']
|
||||||
if struct_abi_kind in {'opaque', 'members'}:
|
if struct_abi_kind in {'opaque', 'members'}:
|
||||||
ref_node += nodes.Text('Limited API')
|
ref_node += nodes.Text(sphinx_gettext('Limited API'))
|
||||||
else:
|
else:
|
||||||
ref_node += nodes.Text('Stable ABI')
|
ref_node += nodes.Text(sphinx_gettext('Stable ABI'))
|
||||||
emph_node += ref_node
|
emph_node += ref_node
|
||||||
if struct_abi_kind == 'opaque':
|
if struct_abi_kind == 'opaque':
|
||||||
emph_node += nodes.Text(' (as an opaque struct)')
|
emph_node += nodes.Text(sphinx_gettext(' (as an opaque struct)'))
|
||||||
elif struct_abi_kind == 'full-abi':
|
elif struct_abi_kind == 'full-abi':
|
||||||
emph_node += nodes.Text(' (including all members)')
|
emph_node += nodes.Text(sphinx_gettext(' (including all members)'))
|
||||||
if record['ifdef_note']:
|
if record['ifdef_note']:
|
||||||
emph_node += nodes.Text(' ' + record['ifdef_note'])
|
emph_node += nodes.Text(' ' + record['ifdef_note'])
|
||||||
if stable_added == '3.2':
|
if stable_added == '3.2':
|
||||||
# Stable ABI was introduced in 3.2.
|
# Stable ABI was introduced in 3.2.
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
emph_node += nodes.Text(f' since version {stable_added}')
|
emph_node += nodes.Text(sphinx_gettext(' since version %s') % stable_added)
|
||||||
emph_node += nodes.Text('.')
|
emph_node += nodes.Text('.')
|
||||||
if struct_abi_kind == 'members':
|
if struct_abi_kind == 'members':
|
||||||
emph_node += nodes.Text(
|
emph_node += nodes.Text(
|
||||||
' (Only some members are part of the stable ABI.)')
|
sphinx_gettext(' (Only some members are part of the stable ABI.)'))
|
||||||
node.insert(0, emph_node)
|
node.insert(0, emph_node)
|
||||||
|
|
||||||
# Unstable API annotation.
|
# Unstable API annotation.
|
||||||
if name.startswith('PyUnstable'):
|
if name.startswith('PyUnstable'):
|
||||||
warn_node = nodes.admonition(
|
warn_node = nodes.admonition(
|
||||||
classes=['unstable-c-api', 'warning'])
|
classes=['unstable-c-api', 'warning'])
|
||||||
message = 'This is '
|
message = sphinx_gettext('This is ')
|
||||||
emph_node = nodes.emphasis(message, message)
|
emph_node = nodes.emphasis(message, message)
|
||||||
ref_node = addnodes.pending_xref(
|
ref_node = addnodes.pending_xref(
|
||||||
'Unstable API', refdomain="std",
|
'Unstable API', refdomain="std",
|
||||||
reftarget='unstable-c-api',
|
reftarget='unstable-c-api',
|
||||||
reftype='ref', refexplicit="False")
|
reftype='ref', refexplicit="False")
|
||||||
ref_node += nodes.Text('Unstable API')
|
ref_node += nodes.Text(sphinx_gettext('Unstable API'))
|
||||||
emph_node += ref_node
|
emph_node += ref_node
|
||||||
emph_node += nodes.Text('. It may change without warning in minor releases.')
|
emph_node += nodes.Text(sphinx_gettext('. It may change without warning in minor releases.'))
|
||||||
warn_node += emph_node
|
warn_node += emph_node
|
||||||
node.insert(0, warn_node)
|
node.insert(0, warn_node)
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,16 @@ In extensions/pyspecific.py:
|
||||||
|
|
||||||
In extensions/c_annotations.py:
|
In extensions/c_annotations.py:
|
||||||
|
|
||||||
|
{% trans %} Part of the {% endtrans %}
|
||||||
|
{% trans %}Limited API{% endtrans %}
|
||||||
|
{% trans %}Stable ABI{% endtrans %}
|
||||||
|
{% trans %} (as an opaque struct){% endtrans %}
|
||||||
|
{% trans %} (including all members){% endtrans %}
|
||||||
|
{% trans %} since version %s{% endtrans %}
|
||||||
|
{% trans %} (Only some members are part of the stable ABI.){% endtrans %}
|
||||||
|
{% trans %}This is {% endtrans %}
|
||||||
|
{% trans %}Unstable API{% endtrans %}
|
||||||
|
{% trans %}. It may change without warning in minor releases.{% endtrans %}
|
||||||
{% trans %}Return value: Always NULL.{% endtrans %}
|
{% trans %}Return value: Always NULL.{% endtrans %}
|
||||||
{% trans %}Return value: New reference.{% endtrans %}
|
{% trans %}Return value: New reference.{% endtrans %}
|
||||||
{% trans %}Return value: Borrowed reference.{% endtrans %}
|
{% trans %}Return value: Borrowed reference.{% endtrans %}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue