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"