From 7c4e6c2fdc0c2dba0609016d38137a797e39fa53 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Sep 2025 18:40:33 +0300 Subject: [PATCH 01/32] Bump the actions group with 2 updates (#252) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lint.yml | 2 +- .github/workflows/pypi-package.yml | 4 ++-- .github/workflows/tests.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 88c0c7cb..795f7b0d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions/setup-python@v5 with: python-version: "3.x" diff --git a/.github/workflows/pypi-package.yml b/.github/workflows/pypi-package.yml index 744d49bd..e679e746 100644 --- a/.github/workflows/pypi-package.yml +++ b/.github/workflows/pypi-package.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: hynek/build-and-inspect-python-package@v2 @@ -41,7 +41,7 @@ jobs: steps: - name: Download packages built by build-and-inspect-python-package - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: Packages path: dist diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 23e6c7e6..83a33884 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,7 +14,7 @@ jobs: matrix: branch: ["3.14", "3.13", "3.12"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.branch }} @@ -59,7 +59,7 @@ jobs: # Test minimum supported and latest stable from 3.x series python-version: ["3.12", "3"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} From 4f43aded34b3509c13b2f203cd5ff1496a7eeaab Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Sun, 7 Sep 2025 18:10:55 +0100 Subject: [PATCH 02/32] Enable theme translation (#246) Co-authored-by: Maciej Olko --- .github/workflows/pypi-package.yml | 7 + .github/workflows/tests.yml | 9 +- babel_runner.py | 33 +++-- python_docs_theme/__init__.py | 11 ++ .../pl/LC_MESSAGES/python-docs-theme.po | 127 ++++++++++++++++++ 5 files changed, 170 insertions(+), 17 deletions(-) create mode 100644 python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po diff --git a/.github/workflows/pypi-package.yml b/.github/workflows/pypi-package.yml index e679e746..bec94a2b 100644 --- a/.github/workflows/pypi-package.yml +++ b/.github/workflows/pypi-package.yml @@ -22,6 +22,13 @@ jobs: steps: - uses: actions/checkout@v5 + - uses: actions/setup-python@v5 + + - name: Compile translations + run: | + pip install --upgrade pip + pip install -r requirements.txt + python babel_runner.py compile - uses: hynek/build-and-inspect-python-package@v2 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 83a33884..60257eef 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -71,7 +71,7 @@ jobs: pip install -r requirements.txt - name: Remove locale file for testing shell: bash - run: rm -rf locales/pt_BR/ + run: rm -rf python_docs_theme/locale/pt_BR/ - run: python babel_runner.py extract - run: python babel_runner.py init -l pt_BR - run: python babel_runner.py update @@ -80,10 +80,7 @@ jobs: - run: python babel_runner.py compile -l pt_BR - name: Print .pot file shell: bash - run: cat locales/messages.pot + run: cat python_docs_theme/locale/python-docs-theme.pot - name: Print .po file shell: bash - run: cat locales/pt_BR/LC_MESSAGES/messages.po - - name: list files in locales dir - shell: bash - run: ls -R locales/ + run: cat python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po diff --git a/babel_runner.py b/babel_runner.py index 0785ae2f..677f6da2 100755 --- a/babel_runner.py +++ b/babel_runner.py @@ -1,5 +1,5 @@ -#!/usr/bin/venv python3 """Script for handling translations with Babel""" + from __future__ import annotations import argparse @@ -8,18 +8,18 @@ import tomllib from pathlib import Path -PROJECT_DIR = Path(__file__).resolve().parent -PYPROJECT_TOML = PROJECT_DIR / "pyproject.toml" -INIT_PY = PROJECT_DIR / "python_docs_theme" / "__init__.py" - # Global variables used by pybabel below (paths relative to PROJECT_DIR) -DOMAIN = "messages" +DOMAIN = "python-docs-theme" COPYRIGHT_HOLDER = "Python Software Foundation" -LOCALES_DIR = "locales" -POT_FILE = Path(LOCALES_DIR, f"{DOMAIN}.pot") SOURCE_DIR = "python_docs_theme" MAPPING_FILE = ".babel.cfg" +PROJECT_DIR = Path(__file__).resolve().parent +PYPROJECT_TOML = Path(PROJECT_DIR, "pyproject.toml") +INIT_PY = PROJECT_DIR / SOURCE_DIR / "__init__.py" +LOCALES_DIR = Path(f"{SOURCE_DIR}", "locale") +POT_FILE = Path(LOCALES_DIR, f"{DOMAIN}.pot") + def get_project_info() -> dict: """Retrieve project's info to populate the message catalog template""" @@ -75,13 +75,24 @@ def init_locale(locale: str) -> None: if pofile.exists(): print(f"There is already a message catalog for locale {locale}, skipping.") return - cmd = ["pybabel", "init", "-i", POT_FILE, "-d", LOCALES_DIR, "-l", locale] + cmd = [ + "pybabel", + "init", + "-i", + POT_FILE, + "-d", + LOCALES_DIR, + "-D", + DOMAIN, + "-l", + locale, + ] subprocess.run(cmd, cwd=PROJECT_DIR, check=True) def update_catalogs(locale: str) -> None: """Update translations from existing message catalogs""" - cmd = ["pybabel", "update", "-i", POT_FILE, "-d", LOCALES_DIR] + cmd = ["pybabel", "update", "-i", POT_FILE, "-d", LOCALES_DIR, "-D", DOMAIN] if locale: cmd.extend(["-l", locale]) subprocess.run(cmd, cwd=PROJECT_DIR, check=True) @@ -89,7 +100,7 @@ def update_catalogs(locale: str) -> None: def compile_catalogs(locale: str) -> None: """Compile existing message catalogs""" - cmd = ["pybabel", "compile", "-d", LOCALES_DIR] + cmd = ["pybabel", "compile", "-d", LOCALES_DIR, "-D", DOMAIN] if locale: cmd.extend(["-l", locale]) subprocess.run(cmd, cwd=PROJECT_DIR, check=True) diff --git a/python_docs_theme/__init__.py b/python_docs_theme/__init__.py index 2336dc1e..6b80ad0a 100644 --- a/python_docs_theme/__init__.py +++ b/python_docs_theme/__init__.py @@ -2,6 +2,8 @@ from pathlib import Path +from sphinx.locale import get_translation + TYPE_CHECKING = False if TYPE_CHECKING: from sphinx.application import Sphinx @@ -10,12 +12,21 @@ __version__ = "2025.5" THEME_PATH = Path(__file__).resolve().parent +LOCALE_DIR = THEME_PATH / "locale" +MESSAGE_CATALOG_NAME = "python-docs-theme" def setup(app: Sphinx) -> ExtensionMetadata: app.require_sphinx("7.3") app.add_html_theme("python_docs_theme", str(THEME_PATH)) + app.add_message_catalog(MESSAGE_CATALOG_NAME, LOCALE_DIR) + + def add_translation_to_context(app, pagename, templatename, context, doctree): + _ = get_translation(MESSAGE_CATALOG_NAME) + context["_"] = context["gettext"] = context["ngettext"] = _ + + app.connect("html-page-context", add_translation_to_context) return { "version": __version__, diff --git a/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..cb74d912 --- /dev/null +++ b/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,127 @@ +# Polish (Poland) translations for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# Stan Ulbrych, 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-08-07 19:09+0200\n" +"PO-Revision-Date: 2025-08-07 15:11+0200\n" +"Last-Translator: Stan Ulbrych \n" +"Language: pl\n" +"Language-Team: pl \n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && " +"(n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Python Software Foundation jest organizacją non-profit." + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "Prosimy o wsparcie." + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Nawigacja" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "Szybkie wyszukiwanie" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Szukaj" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "Motyw" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "auto" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "jasny" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "ciemny" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "Menu" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Prawa autorskie" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License " +"Version 2." +msgstr "" +"Ta strona jest objęta licencją Python Software " +"Foundation w wersji 2." + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "" +"Przykłady, przepisy i inny kod w dokumentacji są dodatkowo objęte " +"licencją Zero Clause BSD." + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "" +"Zobacz Historię i licencję aby uzyskać " +"więcej informacji." + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "Hostowane na %(hosted_on)s." + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "Ostatnia aktualizacja %(last_updated)s." + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "Znalazłeś(-aś) błąd?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Stworzone za pomocą Sphinx " +"%(sphinx_version)s." + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "Kopiuj" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "Skopiuj do schowka" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "Skopiowano!" From 663d34655eabb6379355b6b442485a8ee4e218cc Mon Sep 17 00:00:00 2001 From: Daniel Nylander Date: Sun, 7 Sep 2025 19:44:50 +0200 Subject: [PATCH 03/32] Adding Swedish translation (#250) --- .../locales/sv_SE/LC_MESSAGES/messages.po | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 python_docs_theme/locales/sv_SE/LC_MESSAGES/messages.po diff --git a/python_docs_theme/locales/sv_SE/LC_MESSAGES/messages.po b/python_docs_theme/locales/sv_SE/LC_MESSAGES/messages.po new file mode 100644 index 00000000..7bf73ef1 --- /dev/null +++ b/python_docs_theme/locales/sv_SE/LC_MESSAGES/messages.po @@ -0,0 +1,128 @@ +# Swedish translations for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# Daniel Nylander, 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/" +"issues\n" +"POT-Creation-Date: 2025-08-07 19:09+0200\n" +"PO-Revision-Date: 2025-08-29 07:03+0200\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: sv\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.7\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Python Software Foundation är ett icke-vinstdrivande företag." + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "Donera." + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Navigering" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "Snabbsök" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Start" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "Tema" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "Auto" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "Ljus" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "Mörk" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "Meny" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Upphovsrätt" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License " +"Version 2." +msgstr "" +"Denna sida är licensierad enligt Python Software Foundation License " +"version 2." + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "" +"Exempel, recept och annan kod i dokumentationen är dessutom " +"licensierade under Zero Clause BSD-licensen." + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "" +"Se Historik och licens för mer " +"information." + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "Hosting %(hosted_on)s." + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "Senast uppdaterad %(last_updated)s." + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "Har du hittat ett fel?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Skapad med hjälp av Sphinx " +"%(sphinx_version)s." + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "Kopiera" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "Kopiera till urklipp" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "Kopierad!" From 2518cd7d7bac6c2b888914984c886e0b5f06e056 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Sun, 7 Sep 2025 19:18:58 +0100 Subject: [PATCH 04/32] Pull translations from Transifex (#253) --- .../pt_BR/LC_MESSAGES/python-docs-theme.po | 131 ++++++++++++++++++ .../sv/LC_MESSAGES/python-docs-theme.po} | 0 .../zh_CN/LC_MESSAGES/python-docs-theme.po | 123 ++++++++++++++++ .../zh_TW/LC_MESSAGES/python-docs-theme.po | 123 ++++++++++++++++ 4 files changed, 377 insertions(+) create mode 100644 python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po rename python_docs_theme/{locales/sv_SE/LC_MESSAGES/messages.po => locale/sv/LC_MESSAGES/python-docs-theme.po} (100%) create mode 100644 python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po create mode 100644 python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po diff --git a/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..2ce0936d --- /dev/null +++ b/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,131 @@ +# Translations template for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# FIRST AUTHOR , 2025. +# +# Translators: +# Alexsey Batista da Silva, 2025 +# Rafael Fontenelle , 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-06 07:41+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/teams/5390/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "A Python Software Foundation é uma corporação sem fins lucrativos." + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "Por favor, faça sua doação." + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Navegação" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "Pesquisa rápida" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Ir" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "Tema" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "Automático" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "Claro" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "Escuro" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "Menu" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Direitos autorais" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "" +"Esta página está licenciada sob a Licença da Python Software Foundation " +"Versão 2." + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "" +"Exemplos, receitas e outros códigos na documentação são licenciados " +"adicionalmente sob a licença BSD Zero Clause." + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "" +"Consulte Histórico e licença para obter " +"mais informações." + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "Hospedado em %(hosted_on)s." + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "Última atualização em %(last_updated)s." + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "Encontrou um erro?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Criado usando o Sphinx " +"%(sphinx_version)s." + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "Copiar" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "Copiar para a área de transferência" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "Copiado!" diff --git a/python_docs_theme/locales/sv_SE/LC_MESSAGES/messages.po b/python_docs_theme/locale/sv/LC_MESSAGES/python-docs-theme.po similarity index 100% rename from python_docs_theme/locales/sv_SE/LC_MESSAGES/messages.po rename to python_docs_theme/locale/sv/LC_MESSAGES/python-docs-theme.po diff --git a/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..8fb52a40 --- /dev/null +++ b/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,123 @@ +# Translations template for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# FIRST AUTHOR , 2025. +# +# Translators: +# 汇民 王 , 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-06 07:41+0000\n" +"Last-Translator: 汇民 王 , 2025\n" +"Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Python 软件基金会是一家非营利性公司。" + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "请进行捐赠。" + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "导航" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "快速搜索" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "转到" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "主题" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "自动" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "明亮" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "黑暗" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "菜单" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "版权" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "本页面采用 Python 软件基金会许可证第 2 版授权。" + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "文档中的示例、代码片段及其他代码内容额外采用零条款 BSD 许可证授权。" + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "更多信息请参阅《 历史与许可 》。" + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "托管在%(hosted_on)s 上。" + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "最后更新于%(last_updated)s 。" + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "发现了错误?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"使用Sphinx %(sphinx_version)s 创建。" + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "复制" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "复制到剪贴板" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "已复制!" diff --git a/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..719074c6 --- /dev/null +++ b/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,123 @@ +# Translations template for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# FIRST AUTHOR , 2025. +# +# Translators: +# W. H. Wang , 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-06 07:41+0000\n" +"Last-Translator: W. H. Wang , 2025\n" +"Language-Team: Chinese (Taiwan) (https://app.transifex.com/python-doc/teams/5390/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Python 軟體基金會是一家非營利法人。" + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "敬請捐贈。" + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "導航" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "快速搜索" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Go" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "主題" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "自動" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "淺色模式" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "深色模式" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "選單" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "版權所有" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "此頁面採用 Python 軟體基金會授權條款第 2 版。" + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "文件中的範例、應用技巧與其他程式碼額外採用了 Zero Clause BSD 授權條款。" + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "更多訊息請見歷史與授權條款。" + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "託管於 %(hosted_on)s。" + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "最後更新於 %(last_updated)s。" + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "發現 bug?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"以 Sphinx%(sphinx_version)s建立。 " + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "複製" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "複製到剪貼板" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "已複製!" From 24457674506a7ad3ceab5cb65b2e89b42a035dc0 Mon Sep 17 00:00:00 2001 From: Lysandros Nikolaou Date: Mon, 8 Sep 2025 10:39:48 +0300 Subject: [PATCH 05/32] Add Greek translation (#256) --- .../el/LC_MESSAGES/python-docs-theme.po | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po diff --git a/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..c7127f55 --- /dev/null +++ b/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,126 @@ +# Greek translations for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# Lysandros Nikolaou , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-08 10:23+0300\n" +"PO-Revision-Date: 2025-09-08 10:23+0300\n" +"Last-Translator: Lysandros Nikolaou \n" +"Language: el\n" +"Language-Team: PyGreece \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Το Python Software Foundation είναι ένας μη κερδοσκοπικός οργανισμός." + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "Παρακαλώ κάντε μια δωρεά." + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Πλοήγηση" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "Γρήγορη αναζήτηση" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Πήγαινε" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "Θέμα" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "Αυτόματα" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "Ανοιχτό" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "Σκούρο" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "Μενού" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Πνευματικά δικαιώματα" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License " +"Version 2." +msgstr "" +"Η σελίδα αυτή διατίθεται υπό την άδεια χρήσης του Python Software " +"Foundation, 2η έκδοση." + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "" +"Παραδείγματα, οδηγοί και λοιπά κομμάτια κώδικα στην τεκμηρίωση διατίθενται " +"επιπλέον υπό την άδεια χρήσης Zero Clause BSD." + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "" +"Δες την Ιστορία και Άδεια χρήσης για " +"περισσότερες πληροφορίες." + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "Φιλοξενείται στο %(hosted_on)s." + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "Τελευταία ενημέρωση στις %(last_updated)s." + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "Βρήκες ένα bug?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Δημιουργήθηκε με την χρήση του Sphinx " +"%(sphinx_version)s." + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "Αντιγραφή" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "Αντιγραφή στο πρόχειρο" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "Αντιγράφηκε!" From 803833f38cd1b1b6b8b853f2c1df6790d09b42c0 Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Mon, 8 Sep 2025 11:13:01 +0300 Subject: [PATCH 06/32] Minor fixes for Greek translation (#257) --- python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po index c7127f55..5ade8b82 100644 --- a/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po @@ -37,7 +37,7 @@ msgstr "Γρήγορη αναζήτηση" #: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 msgid "Go" -msgstr "Πήγαινε" +msgstr "Μετάβαση" #: python_docs_theme/layout.html:60 msgid "Theme" @@ -49,7 +49,7 @@ msgstr "Αυτόματα" #: python_docs_theme/layout.html:63 msgid "Light" -msgstr "Ανοιχτό" +msgstr "Φωτεινό" #: python_docs_theme/layout.html:64 msgid "Dark" From 44303e12a75c6d5e1319774a258f1d05b4c2518b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Mon, 8 Sep 2025 20:54:18 +0300 Subject: [PATCH 07/32] Prepare 2025.9 release (#254) Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> --- CHANGELOG.rst | 8 ++++++++ python_docs_theme/__init__.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 07b2735e..696bb883 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,14 @@ Changelog ========= +`2025.9 `_ +--------------------------------------------------------------------------- + +* Enable theme translation and add Polish by @StanFromIreland in https://github.com/python/python-docs-theme/pull/246 +* Add Greek translation by @lysnikolaou and @skpanagiotis in https://github.com/python/python-docs-theme/pull/256 and https://github.com/python/python-docs-theme/pull/257 +* Add Swedish translation by @yeager in https://github.com/python/python-docs-theme/pull/250 +* Pull Brazilian Portuguese, Simplified Chinese, Traditional Chinese, Japanese, Turkish and Spanish translations from `Transifex `_ in https://github.com/python/python-docs-theme/pull/253 and https://github.com/python/python-docs-theme/pull/259 + `2025.5 `_ --------------------------------------------------------------------------- diff --git a/python_docs_theme/__init__.py b/python_docs_theme/__init__.py index 6b80ad0a..cc11f5e9 100644 --- a/python_docs_theme/__init__.py +++ b/python_docs_theme/__init__.py @@ -9,7 +9,7 @@ from sphinx.application import Sphinx from sphinx.util.typing import ExtensionMetadata -__version__ = "2025.5" +__version__ = "2025.9" THEME_PATH = Path(__file__).resolve().parent LOCALE_DIR = THEME_PATH / "locale" From a955b8c4e69e843d4b079e950e08122901aa4a10 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Mon, 8 Sep 2025 20:15:06 +0100 Subject: [PATCH 08/32] Adds, Spanish, Turkish and Japanese from Transifex (#259) --- .../es/LC_MESSAGES/python-docs-theme.po | 128 +++++++++++++++++ .../ja/LC_MESSAGES/python-docs-theme.po | 124 +++++++++++++++++ .../pl/LC_MESSAGES/python-docs-theme.po | 35 ++--- .../tr/LC_MESSAGES/python-docs-theme.po | 130 ++++++++++++++++++ 4 files changed, 400 insertions(+), 17 deletions(-) create mode 100644 python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po create mode 100644 python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po create mode 100644 python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po diff --git a/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..34fc30ef --- /dev/null +++ b/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,128 @@ +# Translations template for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# FIRST AUTHOR , 2025. +# +# Translators: +# Cristián Maureira-Fredes, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-06 07:41+0000\n" +"Last-Translator: Cristián Maureira-Fredes, 2025\n" +"Language-Team: Spanish (https://app.transifex.com/python-doc/teams/5390/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" +"Language: es\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "La Python Software Foundation es una corporación sin fines de lucro." + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "Por favor dona." + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Navegación" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "Búsqueda rápida" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Ir" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "Tema" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "Auto" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "Claro" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "Oscuro" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "Menú" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Derechos de autor" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "Ésta página tiene la licencia Python Software Foundation Versión 2." + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "" +"Ejemplos, guías, y otro código en la documentación están bajo la licencia " +"adicional Zero Clause BSD." + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "" +"Ver Historia y Licencia para más " +"información." + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "Hospedado en %(hosted_on)s." + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "Última actualización en %(last_updated)s." + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "Encontraste un bug?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Creado usando Sphinx%(sphinx_version)s." + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "Copiar" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "Copiar al portapapeles" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "¡Copiado!" diff --git a/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..dfea8575 --- /dev/null +++ b/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,124 @@ +# Translations template for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# FIRST AUTHOR , 2025. +# +# Translators: +# Inada Naoki , 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-06 07:41+0000\n" +"Last-Translator: Inada Naoki , 2025\n" +"Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Pythonソフトウェア財団は非営利法人です。" + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "寄付をするには" + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Navigation" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "検索" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Go" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "テーマ" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "自動" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "ライト" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "ダーク" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "メニュー" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Copyright" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "このページはPython Software Foundation License Version 2でライセンスされています。" + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "ドキュメント内のサンプル、レシピ等のコードは、Zero Clause BSDライセンスの下で追加的にライセンスされています。" + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "詳しくは歴史とライセンスを参照してください。" + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "%(hosted_on)sにてホストされています。" + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "最終更新日: %(last_updated)s" + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "バグを報告する" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Sphinx%(sphinx_version)sを使って構築されています。" + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "コピー" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "クリップボードにコピーする" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "コピーされました。" diff --git a/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po index cb74d912..461c4c95 100644 --- a/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po @@ -1,24 +1,27 @@ -# Polish (Poland) translations for python-docs-theme. +# Translations template for python-docs-theme. # Copyright (C) 2025 Python Software Foundation # This file is distributed under the same license as the python-docs-theme # project. -# Stan Ulbrych, 2025. +# FIRST AUTHOR , 2025. # +# Translators: +# Stan Ulbrych, 2025 +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" "Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" -"POT-Creation-Date: 2025-08-07 19:09+0200\n" -"PO-Revision-Date: 2025-08-07 15:11+0200\n" -"Last-Translator: Stan Ulbrych \n" -"Language: pl\n" -"Language-Team: pl \n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && " -"(n%100<10 || n%100>=20) ? 1 : 2);\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-06 07:41+0000\n" +"Last-Translator: Stan Ulbrych, 2025\n" +"Language-Team: Polish (https://app.transifex.com/python-doc/teams/5390/pl/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: python_docs_theme/footerdonate.html:1 msgid "The Python Software Foundation is a non-profit corporation." @@ -66,19 +69,17 @@ msgstr "Prawa autorskie" #: python_docs_theme/layout.html:147 msgid "" -"This page is licensed under the Python Software Foundation License " -"Version 2." -msgstr "" -"Ta strona jest objęta licencją Python Software " -"Foundation w wersji 2." +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "Ta strona jest objęta licencją Python Software Foundation w wersji 2." #: python_docs_theme/layout.html:149 msgid "" "Examples, recipes, and other code in the documentation are additionally " "licensed under the Zero Clause BSD License." msgstr "" -"Przykłady, przepisy i inny kod w dokumentacji są dodatkowo objęte " -"licencją Zero Clause BSD." +"Przykłady, przepisy i inny kod w dokumentacji są dodatkowo objęte licencją " +"Zero Clause BSD." #: python_docs_theme/layout.html:152 #, python-format diff --git a/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..90afb861 --- /dev/null +++ b/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,130 @@ +# Translations template for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# FIRST AUTHOR , 2025. +# +# Translators: +# Ege Akman, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-06 07:41+0000\n" +"Last-Translator: Ege Akman, 2025\n" +"Language-Team: Turkish (https://app.transifex.com/python-doc/teams/5390/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Python Software Foundation kâr amacı gütmeyen bir kuruluştur." + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "Lütfen bağış yapın." + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Navigasyon" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "Hızlı arama" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Ara" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "Tema" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "Otomatik" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "Açık" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "Koyu" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "Menü" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Telif Hakkı" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "" +"Bu sayfa, Python Software Foundation License Version 2 kapsamında " +"lisanslanmıştır." + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "" +"Dokümantasyondaki örnekler, tarifler ve diğer kodlar ek olarak Zero Clause " +"BSD License kapsamında lisanslanmıştır." + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "" +"Daha fazla bilgi için Geçmiş ve Lisans " +"bölümüne bakın. " + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "%(hosted_on)s üzerinde barındırılmaktadır." + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "En son %(last_updated)s tarihinde güncellendi." + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "Bir bug mı buldunuz?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Sphinx %(sphinx_version)s ile " +"oluşturuldu. " + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "Kopyala" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "Panoya kopyala" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "Kopyalandı!" From 413eb45152b1277f3f5725706271a55db1624226 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Mon, 8 Sep 2025 22:28:15 +0300 Subject: [PATCH 09/32] Prepare 2025.9.1 release (#261) Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> --- CHANGELOG.rst | 7 ++++++- python_docs_theme/__init__.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 696bb883..c411e71f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,13 +1,18 @@ Changelog ========= +`2025.9.1 `_ +------------------------------------------------------------------------------- + +* Add Japanese, Turkish and Spanish translations from Transifex in https://github.com/python/python-docs-theme/pull/259 + `2025.9 `_ --------------------------------------------------------------------------- * Enable theme translation and add Polish by @StanFromIreland in https://github.com/python/python-docs-theme/pull/246 * Add Greek translation by @lysnikolaou and @skpanagiotis in https://github.com/python/python-docs-theme/pull/256 and https://github.com/python/python-docs-theme/pull/257 * Add Swedish translation by @yeager in https://github.com/python/python-docs-theme/pull/250 -* Pull Brazilian Portuguese, Simplified Chinese, Traditional Chinese, Japanese, Turkish and Spanish translations from `Transifex `_ in https://github.com/python/python-docs-theme/pull/253 and https://github.com/python/python-docs-theme/pull/259 +* Add Brazilian Portuguese, Simplified Chinese and Traditional Chinese translations from `Transifex `_ in https://github.com/python/python-docs-theme/pull/253 `2025.5 `_ --------------------------------------------------------------------------- diff --git a/python_docs_theme/__init__.py b/python_docs_theme/__init__.py index cc11f5e9..d9281fff 100644 --- a/python_docs_theme/__init__.py +++ b/python_docs_theme/__init__.py @@ -9,7 +9,7 @@ from sphinx.application import Sphinx from sphinx.util.typing import ExtensionMetadata -__version__ = "2025.9" +__version__ = "2025.9.1" THEME_PATH = Path(__file__).resolve().parent LOCALE_DIR = THEME_PATH / "locale" From d2ceb99b1a34a83ca56d90b49f970fca8efce2dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 9 Sep 2025 18:59:29 +0200 Subject: [PATCH 10/32] Add German translation (#262) --- .../de/LC_MESSAGES/python-docs-theme.po | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 python_docs_theme/locale/de/LC_MESSAGES/python-docs-theme.po diff --git a/python_docs_theme/locale/de/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/de/LC_MESSAGES/python-docs-theme.po new file mode 100644 index 00000000..49dddf78 --- /dev/null +++ b/python_docs_theme/locale/de/LC_MESSAGES/python-docs-theme.po @@ -0,0 +1,132 @@ +# Translations template for python-docs-theme. +# Copyright (C) 2025 Python Software Foundation +# This file is distributed under the same license as the python-docs-theme +# project. +# FIRST AUTHOR , 2025. +# +# Translators: +# Cristián Maureira-Fredes, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-docs-theme 2025.5\n" +"Report-Msgid-Bugs-To: https://github.com/python/python-docs-theme/issues\n" +"POT-Creation-Date: 2025-09-06 08:40+0100\n" +"PO-Revision-Date: 2025-09-09 10:20+0200\n" +"Last-Translator: Cristián Maureira-Fredes, 2025\n" +"Language-Team: \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? " +"1 : 2;\n" +"Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.6\n" + +#: python_docs_theme/footerdonate.html:1 +msgid "The Python Software Foundation is a non-profit corporation." +msgstr "Die Python Software Foundation ist eine gemeinnützige Organisation." + +#: python_docs_theme/footerdonate.html:2 +msgid "Please donate." +msgstr "Spenden Sie bitte." + +#: python_docs_theme/layout.html:6 +msgid "Navigation" +msgstr "Navigation" + +#: python_docs_theme/layout.html:51 python_docs_theme/layout.html:111 +msgid "Quick search" +msgstr "Schnellsuche" + +#: python_docs_theme/layout.html:52 python_docs_theme/layout.html:112 +msgid "Go" +msgstr "Los" + +#: python_docs_theme/layout.html:60 +msgid "Theme" +msgstr "Thema" + +#: python_docs_theme/layout.html:62 +msgid "Auto" +msgstr "Auto" + +#: python_docs_theme/layout.html:63 +msgid "Light" +msgstr "Hell" + +#: python_docs_theme/layout.html:64 +msgid "Dark" +msgstr "Dunkel" + +#: python_docs_theme/layout.html:96 +msgid "Menu" +msgstr "Menü" + +#: python_docs_theme/layout.html:142 +msgid "Copyright" +msgstr "Copyright" + +#: python_docs_theme/layout.html:147 +msgid "" +"This page is licensed under the Python Software Foundation License Version " +"2." +msgstr "" +"Diese Seite ist unter der Python Software Foundation License Version 2 " +"lizenziert." + +#: python_docs_theme/layout.html:149 +msgid "" +"Examples, recipes, and other code in the documentation are additionally " +"licensed under the Zero Clause BSD License." +msgstr "" +"Beispiele, Rezepte und anderer Code in der Dokumentation sind zusätzlich " +"unter der Zero Clause BSD-Lizenz lizenziert." + +#: python_docs_theme/layout.html:152 +#, python-format +msgid "" +"See History and License for more " +"information." +msgstr "" +"Weitere Informationen finden Sie unter Verlauf und Lizenz." + +#: python_docs_theme/layout.html:155 +#, python-format +msgid "Hosted on %(hosted_on)s." +msgstr "Gehostet auf %(hosted_on)s." + +#: python_docs_theme/layout.html:163 +#, python-format +msgid "Last updated on %(last_updated)s." +msgstr "Zuletzt aktualisiert am %(last_updated)s." + +#: python_docs_theme/layout.html:166 +#, python-format +msgid "Found a bug?" +msgstr "Fehler gefunden?" + +#: python_docs_theme/layout.html:170 +#, python-format +msgid "" +"Created using Sphinx " +"%(sphinx_version)s." +msgstr "" +"Erstellt mit Sphinx%(sphinx_version)s." + +#: python_docs_theme/static/copybutton.js:30 +#: python_docs_theme/static/copybutton.js:55 +msgid "Copy" +msgstr "Kopieren" + +#: python_docs_theme/static/copybutton.js:31 +msgid "Copy to clipboard" +msgstr "In die Zwischenablage kopieren" + +#: python_docs_theme/static/copybutton.js:53 +msgid "Copied!" +msgstr "Kopiert!" From d742571723effb29ebacae8864e1a64e82ff5f83 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Mon, 15 Sep 2025 14:05:44 +0100 Subject: [PATCH 11/32] commit (#267) --- python_docs_theme/static/py.png | Bin 695 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 python_docs_theme/static/py.png diff --git a/python_docs_theme/static/py.png b/python_docs_theme/static/py.png deleted file mode 100644 index 93e4a02c3d321c545898a2ebb8873c26dd8a9e5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 695 zcmV;o0!aOdP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOD~ z5jY_RGbdgE00K8jL_t(I%Vm>KNL4`;hrfH@vv+$Uln|xSCTLTOHmzE;5FTwpDtJ)a zz)exE-2_34AR^i+ZCXeh7m*-F5k*FrmbSHs%rX_!{PXUec{69`w(#D(>Vd<+%=bIz zH_V)XUD5sE?K5ebbKaSDu}#Dnq^Y!3`tis9>wSO*T+WBP3wS3NNBU~*PAtw^yjZ+< zQ5yK0z%d{y@_Pz6YdL>s7$6Y^hI$}5GUX?Ns>+iCUiRP z7h|*&%kQa?wQA%pYzqpaf*4?WM!x_ygY0K@07rplx^QhGhnE)r4wbx0x11<&3V?63 z=F8ch)p6iQ88E;iumPmSZif%JIwIgKh$T3)*ab8ImGLVf;IoYtVAb11Z&@wm>96=S z)!B&hojbAPoik&f)Lp;=N!HK;X~5oyfJ49$pbcorTyADv dm$H!t;2#0MumAjv0Ga>*002ovPDHLkV1gIiH5UK? From b87195c6719643c779a04d17866eaad230ab1c54 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Mon, 15 Sep 2025 17:19:00 +0100 Subject: [PATCH 12/32] Stretch search button to text width (#268) Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- Makefile | 3 ++- python_docs_theme/static/pydoctheme.css | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index bae89325..dda3c238 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ CPYTHON_PATH = ../cpython PYTHON = python3 PACKAGE_ABS_PATH = $(shell pwd)/$(shell find dist/python-docs-theme-*.tar.gz) +SPHINXOPTS = .PHONY: help @@ -22,7 +23,7 @@ venv: .PHONY: html html: venv cd $(CPYTHON_PATH)/Doc && \ - make html + make SPHINXOPTS="$(SPHINXOPTS)" html .PHONY: htmlview htmlview: html diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css index 48731163..d7b729f7 100644 --- a/python_docs_theme/static/pydoctheme.css +++ b/python_docs_theme/static/pydoctheme.css @@ -123,7 +123,9 @@ form.inline-search input { } form.inline-search input[type='submit'] { - width: 40px; + /* In some languages, more than 40px is required */ + width: auto; + min-width: 40px; } div.document { From fee2ae0dbf6251e5df36f621a605085d9f6aa0ec Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Mon, 15 Sep 2025 17:35:03 +0100 Subject: [PATCH 13/32] Fix translation of html pages (#263) --- python_docs_theme/__init__.py | 26 +++++++++++++++---- .../es/LC_MESSAGES/python-docs-theme.po | 1 - .../ja/LC_MESSAGES/python-docs-theme.po | 1 - .../pl/LC_MESSAGES/python-docs-theme.po | 1 - .../pt_BR/LC_MESSAGES/python-docs-theme.po | 1 - .../tr/LC_MESSAGES/python-docs-theme.po | 1 - .../zh_CN/LC_MESSAGES/python-docs-theme.po | 1 - .../zh_TW/LC_MESSAGES/python-docs-theme.po | 1 - 8 files changed, 21 insertions(+), 12 deletions(-) diff --git a/python_docs_theme/__init__.py b/python_docs_theme/__init__.py index d9281fff..875206b4 100644 --- a/python_docs_theme/__init__.py +++ b/python_docs_theme/__init__.py @@ -6,6 +6,8 @@ TYPE_CHECKING = False if TYPE_CHECKING: + from typing import Any + from sphinx.application import Sphinx from sphinx.util.typing import ExtensionMetadata @@ -16,16 +18,30 @@ MESSAGE_CATALOG_NAME = "python-docs-theme" +def add_translation_to_context( + app: Sphinx, + pagename: str, + templatename: str, + context: dict[str, Any], + doctree: None, +) -> None: + theme_gettext = get_translation(MESSAGE_CATALOG_NAME) + sphinx_gettext = get_translation("sphinx") + + def combined(message: str) -> str: + translation = theme_gettext(message) + if translation == message: + return sphinx_gettext(message) + return translation + + context["_"] = context["gettext"] = context["ngettext"] = combined + + def setup(app: Sphinx) -> ExtensionMetadata: app.require_sphinx("7.3") app.add_html_theme("python_docs_theme", str(THEME_PATH)) app.add_message_catalog(MESSAGE_CATALOG_NAME, LOCALE_DIR) - - def add_translation_to_context(app, pagename, templatename, context, doctree): - _ = get_translation(MESSAGE_CATALOG_NAME) - context["_"] = context["gettext"] = context["ngettext"] = _ - app.connect("html-page-context", add_translation_to_context) return { diff --git a/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po index 34fc30ef..5ac9ab30 100644 --- a/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po @@ -7,7 +7,6 @@ # Translators: # Cristián Maureira-Fredes, 2025 # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" diff --git a/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po index dfea8575..f0683c22 100644 --- a/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po @@ -7,7 +7,6 @@ # Translators: # Inada Naoki , 2025 # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" diff --git a/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po index 461c4c95..5249a260 100644 --- a/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po @@ -7,7 +7,6 @@ # Translators: # Stan Ulbrych, 2025 # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" diff --git a/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po index 2ce0936d..1006ae92 100644 --- a/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po @@ -8,7 +8,6 @@ # Alexsey Batista da Silva, 2025 # Rafael Fontenelle , 2025 # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" diff --git a/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po index 90afb861..f79742f1 100644 --- a/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po @@ -7,7 +7,6 @@ # Translators: # Ege Akman, 2025 # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" diff --git a/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po index 8fb52a40..73cc2937 100644 --- a/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po @@ -7,7 +7,6 @@ # Translators: # 汇民 王 , 2025 # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" diff --git a/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po b/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po index 719074c6..c65766be 100644 --- a/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po +++ b/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po @@ -7,7 +7,6 @@ # Translators: # W. H. Wang , 2025 # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: python-docs-theme 2025.5\n" From 6ea8ff6de596ce8b33f37336aac33b68fa2095d1 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Tue, 16 Sep 2025 14:48:19 +0100 Subject: [PATCH 14/32] Remove trailing space from link (#269) --- python_docs_theme/layout.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/python_docs_theme/layout.html b/python_docs_theme/layout.html index a74517c9..1903fad4 100644 --- a/python_docs_theme/layout.html +++ b/python_docs_theme/layout.html @@ -136,13 +136,13 @@

{{ _('Navigation') }}

{% block footer %}