From 957b952ee1cc3ef48d84796cda76b2a4d88ba6aa Mon Sep 17 00:00:00 2001 From: foster999 Date: Fri, 1 Oct 2021 22:30:11 +0100 Subject: [PATCH] Change tabs to subclass addnodes.translatable --- sphinx_tabs/tabs.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sphinx_tabs/tabs.py b/sphinx_tabs/tabs.py index 2bd52ef..e752343 100644 --- a/sphinx_tabs/tabs.py +++ b/sphinx_tabs/tabs.py @@ -12,6 +12,7 @@ from sphinx.highlighting import lexer_classes from sphinx.util.docutils import SphinxDirective from sphinx.directives.code import CodeBlock +from sphinx.addnodes import translatable FILES = [ @@ -49,9 +50,22 @@ class SphinxTabsPanel(nodes.container): tagname = "div" -class SphinxTabsTab(nodes.paragraph): +class SphinxTabsTab(nodes.paragraph, translatable): tagname = "button" + def preserve_original_messages(self): + if self.children[0].rawsource: + self["raw_text"] = self.children[0].rawsource + + def apply_translated_message(self, original_message, translated_message): + if self.get("raw_text") == original_message: + self.children[0].rawsource = translated_message + + def extract_original_messages(self): + if "raw_text" in self: + return [self["raw_text"]] + return [] + class SphinxTabsTablist(nodes.container): tagname = "div"