diff --git a/docs/source/internationalization.md b/docs/source/internationalization.md index 9b48cd8..e1a5317 100644 --- a/docs/source/internationalization.md +++ b/docs/source/internationalization.md @@ -13,6 +13,4 @@ This package supports the following languages specified in `conf.py` using the - ru - zh_CN -```{note} Work in progress -Not all languages listed above are support across all admonition types -``` +All admonition types (Theorem, Definition, Lemma, Proof, Assumption, Corollary, Example, etc.) are fully translated into Chinese (zh_CN). diff --git a/sphinx_proof/directive.py b/sphinx_proof/directive.py index 9d4595b..e629e86 100644 --- a/sphinx_proof/directive.py +++ b/sphinx_proof/directive.py @@ -14,10 +14,13 @@ from sphinx.util import logging from docutils.parsers.rst import directives from sphinx.util.docutils import SphinxDirective +from sphinx.locale import get_translation from .nodes import unenumerable_node, NODE_TYPES from .nodes import proof_node logger = logging.getLogger(__name__) +MESSAGE_CATALOG_NAME = "proof" +_ = get_translation(MESSAGE_CATALOG_NAME) class ElementDirective(SphinxDirective): @@ -124,7 +127,7 @@ def run(self) -> List[Node]: section = nodes.admonition(classes=classes, ids=[typ]) - self.content[0] = "{}. ".format(typ.title()) + self.content[0] + self.content[0] = "{}. ".format(_(typ.title())) + self.content[0] self.state.nested_parse(self.content, 0, section) node = proof_node() diff --git a/sphinx_proof/translations/jsons/Corollary.json b/sphinx_proof/translations/jsons/Corollary.json index 7cd9494..98c8a95 100644 --- a/sphinx_proof/translations/jsons/Corollary.json +++ b/sphinx_proof/translations/jsons/Corollary.json @@ -1,4 +1,5 @@ [ {"language":"English","symbol":"en","text":"Corollary"}, + {"language":"Chinese","symbol":"zh_CN","text":"推论"}, {"language":"German","symbol":"de","text":"Korollar"} ] diff --git a/sphinx_proof/translations/jsons/Example.json b/sphinx_proof/translations/jsons/Example.json index f4286ce..4c0b931 100644 --- a/sphinx_proof/translations/jsons/Example.json +++ b/sphinx_proof/translations/jsons/Example.json @@ -1,5 +1,6 @@ [ {"language":"English","symbol":"en","text":"Example"}, + {"language":"Chinese","symbol":"zh_CN","text":"例"}, {"language":"Czech","symbol":"cs","text":"Příklad"}, {"language":"Dutch","symbol":"nl","text":"Voorbeeld"}, {"language":"French","symbol":"fr","text":"Exemple"}, diff --git a/sphinx_proof/translations/jsons/Proof.json b/sphinx_proof/translations/jsons/Proof.json new file mode 100644 index 0000000..a0fbec1 --- /dev/null +++ b/sphinx_proof/translations/jsons/Proof.json @@ -0,0 +1,4 @@ +[ + {"language":"English","symbol":"en","text":"Proof"}, + {"language":"Chinese","symbol":"zh_CN","text":"证明"} +] diff --git a/sphinx_proof/translations/locales/zh_CN/LC_MESSAGES/proof.mo b/sphinx_proof/translations/locales/zh_CN/LC_MESSAGES/proof.mo index 7128e18..cab6a89 100644 Binary files a/sphinx_proof/translations/locales/zh_CN/LC_MESSAGES/proof.mo and b/sphinx_proof/translations/locales/zh_CN/LC_MESSAGES/proof.mo differ