From 41b20afb7a3b4583a2d7830aefb3b5f565244623 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Sun, 10 Dec 2023 19:17:07 +0000 Subject: [PATCH] [3.11] GH-101986: Support translation for Limited/Unstable API & Stable ABI (GH-107680) (cherry picked from commit 9cdf05bc28c5cd8b000b9541a907028819b3d63e) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Ezio Melotti Co-authored-by: Hugo van Kemenade --- Doc/tools/extensions/c_annotations.py | 14 +++++++------- Doc/tools/templates/dummy.html | 7 +++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Doc/tools/extensions/c_annotations.py b/Doc/tools/extensions/c_annotations.py index 7cb6bd87103f64..26202228d8756e 100644 --- a/Doc/tools/extensions/c_annotations.py +++ b/Doc/tools/extensions/c_annotations.py @@ -126,7 +126,7 @@ def add_annotations(self, app, doctree): f"Object type mismatch in limited API annotation " f"for {name}: {record['role']!r} != {objtype!r}") stable_added = record['added'] - message = ' Part of the ' + message = sphinx_gettext(' Part of the ') emph_node = nodes.emphasis(message, message, classes=['stableabi']) ref_node = addnodes.pending_xref( @@ -134,25 +134,25 @@ def add_annotations(self, app, doctree): reftype='ref', refexplicit="False") struct_abi_kind = record['struct_abi_kind'] if struct_abi_kind in {'opaque', 'members'}: - ref_node += nodes.Text('Limited API') + ref_node += nodes.Text(sphinx_gettext('Limited API')) else: - ref_node += nodes.Text('Stable ABI') + ref_node += nodes.Text(sphinx_gettext('Stable ABI')) emph_node += ref_node 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': - emph_node += nodes.Text(' (including all members)') + emph_node += nodes.Text(sphinx_gettext(' (including all members)')) if record['ifdef_note']: emph_node += nodes.Text(' ' + record['ifdef_note']) if stable_added == '3.2': # Stable ABI was introduced in 3.2. pass 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('.') if struct_abi_kind == 'members': 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) # Return value annotation diff --git a/Doc/tools/templates/dummy.html b/Doc/tools/templates/dummy.html index bab4aaeb4604b8..4cbc75cb66d1ba 100644 --- a/Doc/tools/templates/dummy.html +++ b/Doc/tools/templates/dummy.html @@ -9,6 +9,13 @@ 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 %}Return value: Always NULL.{% endtrans %} {% trans %}Return value: New reference.{% endtrans %} {% trans %}Return value: Borrowed reference.{% endtrans %}