From 2c1fe1c09bc24cca8dc0cdf2a70fc3563749c0cd Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:07:33 +0000 Subject: [PATCH 1/5] Include languages' translated names in the switcher --- build_docs.py | 11 ++++++++++- config.toml | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/build_docs.py b/build_docs.py index a6b08bb..8b7f3f9 100755 --- a/build_docs.py +++ b/build_docs.py @@ -196,6 +196,7 @@ def __gt__(self, other): class Language: iso639_tag: str name: str + translated_name: str in_prod: bool sphinxopts: tuple html_only: bool = False @@ -204,6 +205,12 @@ class Language: def tag(self): return self.iso639_tag.replace("_", "-").lower() + @property + def switcher_label(self): + if self.translated_name: + return f"{self.name} | {self.translated_name}" + return self.name + @staticmethod def filter(languages, language_tags=None): """Filter a sequence of languages according to --languages.""" @@ -388,7 +395,7 @@ def setup_switchers( - Cross-link various languages in a language switcher - Cross-link various versions in a version switcher """ - language_pairs = sorted((l.tag, l.name) for l in languages if l.in_prod) + language_pairs = sorted((l.tag, l.switcher_label) for l in languages if l.in_prod) version_pairs = [(v.name, v.picker_label) for v in reversed(versions)] switchers_template_file = HERE / "templates" / "switchers.js" @@ -1151,6 +1158,7 @@ def parse_languages_from_config() -> list[Language]: """Read config.toml to discover languages to build.""" config = tomlkit.parse((HERE / "config.toml").read_text(encoding="UTF-8")) defaults = config["defaults"] + default_translated_name = defaults.get("translated_name", "") default_in_prod = defaults.get("in_prod", True) default_sphinxopts = defaults.get("sphinxopts", []) default_html_only = defaults.get("html_only", False) @@ -1158,6 +1166,7 @@ def parse_languages_from_config() -> list[Language]: Language( iso639_tag=iso639_tag, name=section["name"], + translated_name=section.get("translated_name", default_translated_name), in_prod=section.get("in_prod", default_in_prod), sphinxopts=section.get("sphinxopts", default_sphinxopts), html_only=section.get("html_only", default_html_only), diff --git a/config.toml b/config.toml index b0994ad..74c55c7 100644 --- a/config.toml +++ b/config.toml @@ -1,5 +1,12 @@ +# name: the English name for the language. +# translated_name: the 'local' name for the language. +# in_prod: If true, include in the language switcher. +# html_only: If true, only create HTML files. +# sphinxopts: Extra options to pass to SPHINXOPTS in the Makefile. + [defaults] # name has no default, it is mandatory. +translated_name = "" in_prod = true html_only = false sphinxopts = [ @@ -13,6 +20,7 @@ name = "English" [languages.es] name = "Spanish" +translated_name = "Español" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', @@ -21,6 +29,7 @@ sphinxopts = [ [languages.fr] name = "French" +translated_name = "Français" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', @@ -29,13 +38,16 @@ sphinxopts = [ [languages.id] name = "Indonesian" +translated_name = "Indonesia" in_prod = false [languages.it] name = "Italian" +translated_name = "Italiano" [languages.ja] name = "Japanese" +translated_name = "日本語" sphinxopts = [ '-D latex_engine=lualatex', '-D latex_elements.inputenc=', @@ -59,6 +71,7 @@ sphinxopts = [ [languages.ko] name = "Korean" +translated_name = "한국어" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', @@ -68,20 +81,25 @@ sphinxopts = [ [languages.pl] name = "Polish" +translated_name = "Polski" [languages.pt_BR] name = "Brazilian Portuguese" +translated_name = "Português Brasileiro" [languages.tr] name = "Turkish" +translated_name = "Türkçe" [languages.uk] name = "Ukrainian" +translated_name = "Українська" in_prod = false html_only = true [languages.zh_CN] name = "Simplified Chinese" +translated_name = "简化字" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', @@ -90,6 +108,7 @@ sphinxopts = [ [languages.zh_TW] name = "Traditional Chinese" +translated_name = "簡化字" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', From 7758e8118979e90bb7874e79f922fdee0d8bc85a Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:00:39 +0000 Subject: [PATCH 2/5] Update config.toml Co-authored-by: Ezio Melotti --- config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.toml b/config.toml index 74c55c7..6ff6263 100644 --- a/config.toml +++ b/config.toml @@ -108,7 +108,7 @@ sphinxopts = [ [languages.zh_TW] name = "Traditional Chinese" -translated_name = "簡化字" +translated_name = "繁體字" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', From 80aeef27a1ff91e6bd3bb5a44971d475c0fce68d Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Fri, 24 Jan 2025 23:11:32 +0000 Subject: [PATCH 3/5] Update config.toml Co-authored-by: Rafael Fontenelle --- config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.toml b/config.toml index 6ff6263..f320348 100644 --- a/config.toml +++ b/config.toml @@ -85,7 +85,7 @@ translated_name = "Polski" [languages.pt_BR] name = "Brazilian Portuguese" -translated_name = "Português Brasileiro" +translated_name = "Português brasileiro" [languages.tr] name = "Turkish" From b63de594b2476446b357198eb760088c2ab85e91 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Fri, 24 Jan 2025 23:53:28 +0000 Subject: [PATCH 4/5] capitalisation, or lack thereof --- config.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config.toml b/config.toml index f320348..7ed595c 100644 --- a/config.toml +++ b/config.toml @@ -20,7 +20,7 @@ name = "English" [languages.es] name = "Spanish" -translated_name = "Español" +translated_name = "español" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', @@ -29,7 +29,7 @@ sphinxopts = [ [languages.fr] name = "French" -translated_name = "Français" +translated_name = "français" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', @@ -43,7 +43,7 @@ in_prod = false [languages.it] name = "Italian" -translated_name = "Italiano" +translated_name = "italiano" [languages.ja] name = "Japanese" @@ -81,7 +81,7 @@ sphinxopts = [ [languages.pl] name = "Polish" -translated_name = "Polski" +translated_name = "polski" [languages.pt_BR] name = "Brazilian Portuguese" @@ -93,7 +93,7 @@ translated_name = "Türkçe" [languages.uk] name = "Ukrainian" -translated_name = "Українська" +translated_name = "українська" in_prod = false html_only = true From 40b78099ac8624ea26abae957703b7f62ea951b6 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Sat, 25 Jan 2025 02:44:41 +0000 Subject: [PATCH 5/5] Apply suggestions from code review Co-authored-by: W. H. Wang --- config.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.toml b/config.toml index 7ed595c..489c774 100644 --- a/config.toml +++ b/config.toml @@ -99,7 +99,7 @@ html_only = true [languages.zh_CN] name = "Simplified Chinese" -translated_name = "简化字" +translated_name = "简体中文" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=', @@ -108,7 +108,7 @@ sphinxopts = [ [languages.zh_TW] name = "Traditional Chinese" -translated_name = "繁體字" +translated_name = "繁體中文" sphinxopts = [ '-D latex_engine=xelatex', '-D latex_elements.inputenc=',