mirror of https://github.com/tiangolo/fastapi.git
✨ Generate automatic language names for docs translations (#5354)
Co-authored-by: Craig Blaszczyk <craig@boughtbymany.com> Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
parent
3b9a2bcb1b
commit
7eeacc9958
|
|
@ -61,12 +61,15 @@ plugins:
|
||||||
- griffe_typingdoc
|
- griffe_typingdoc
|
||||||
show_root_heading: true
|
show_root_heading: true
|
||||||
show_if_no_docstring: true
|
show_if_no_docstring: true
|
||||||
preload_modules: [httpx, starlette]
|
preload_modules:
|
||||||
|
- httpx
|
||||||
|
- starlette
|
||||||
inherited_members: true
|
inherited_members: true
|
||||||
members_order: source
|
members_order: source
|
||||||
separate_signature: true
|
separate_signature: true
|
||||||
unwrap_annotated: true
|
unwrap_annotated: true
|
||||||
filters: ["!^_"]
|
filters:
|
||||||
|
- '!^_'
|
||||||
merge_init_into_class: true
|
merge_init_into_class: true
|
||||||
docstring_section_style: spacy
|
docstring_section_style: spacy
|
||||||
signature_crossrefs: true
|
signature_crossrefs: true
|
||||||
|
|
@ -264,25 +267,25 @@ extra:
|
||||||
- link: /
|
- link: /
|
||||||
name: en - English
|
name: en - English
|
||||||
- link: /de/
|
- link: /de/
|
||||||
name: de
|
name: de - Deutsch
|
||||||
- link: /em/
|
|
||||||
name: 😉
|
|
||||||
- link: /es/
|
- link: /es/
|
||||||
name: es - español
|
name: es - español
|
||||||
- link: /fa/
|
- link: /fa/
|
||||||
name: fa
|
name: fa - فارسی
|
||||||
- link: /fr/
|
- link: /fr/
|
||||||
name: fr - français
|
name: fr - français
|
||||||
- link: /he/
|
- link: /he/
|
||||||
name: he
|
name: he - עברית
|
||||||
|
- link: /hu/
|
||||||
|
name: hu - magyar
|
||||||
- link: /id/
|
- link: /id/
|
||||||
name: id
|
name: id - Bahasa Indonesia
|
||||||
- link: /ja/
|
- link: /ja/
|
||||||
name: ja - 日本語
|
name: ja - 日本語
|
||||||
- link: /ko/
|
- link: /ko/
|
||||||
name: ko - 한국어
|
name: ko - 한국어
|
||||||
- link: /pl/
|
- link: /pl/
|
||||||
name: pl
|
name: pl - Polski
|
||||||
- link: /pt/
|
- link: /pt/
|
||||||
name: pt - português
|
name: pt - português
|
||||||
- link: /ru/
|
- link: /ru/
|
||||||
|
|
@ -290,15 +293,17 @@ extra:
|
||||||
- link: /tr/
|
- link: /tr/
|
||||||
name: tr - Türkçe
|
name: tr - Türkçe
|
||||||
- link: /uk/
|
- link: /uk/
|
||||||
name: uk
|
name: uk - українська мова
|
||||||
- link: /ur/
|
- link: /ur/
|
||||||
name: ur
|
name: ur - اردو
|
||||||
- link: /vi/
|
- link: /vi/
|
||||||
name: vi - Tiếng Việt
|
name: vi - Tiếng Việt
|
||||||
- link: /yo/
|
- link: /yo/
|
||||||
name: yo - Yorùbá
|
name: yo - Yorùbá
|
||||||
- link: /zh/
|
- link: /zh/
|
||||||
name: zh - 汉语
|
name: zh - 汉语
|
||||||
|
- link: /em/
|
||||||
|
name: 😉
|
||||||
extra_css:
|
extra_css:
|
||||||
- css/termynal.css
|
- css/termynal.css
|
||||||
- css/custom.css
|
- css/custom.css
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,182 @@
|
||||||
|
aa: Afaraf
|
||||||
|
ab: аҧсуа бызшәа
|
||||||
|
ae: avesta
|
||||||
|
af: Afrikaans
|
||||||
|
ak: Akan
|
||||||
|
am: አማርኛ
|
||||||
|
an: aragonés
|
||||||
|
ar: اللغة العربية
|
||||||
|
as: অসমীয়া
|
||||||
|
av: авар мацӀ
|
||||||
|
ay: aymar aru
|
||||||
|
az: azərbaycan dili
|
||||||
|
ba: башҡорт теле
|
||||||
|
be: беларуская мова
|
||||||
|
bg: български език
|
||||||
|
bh: भोजपुरी
|
||||||
|
bi: Bislama
|
||||||
|
bm: bamanankan
|
||||||
|
bn: বাংলা
|
||||||
|
bo: བོད་ཡིག
|
||||||
|
br: brezhoneg
|
||||||
|
bs: bosanski jezik
|
||||||
|
ca: Català
|
||||||
|
ce: нохчийн мотт
|
||||||
|
ch: Chamoru
|
||||||
|
co: corsu
|
||||||
|
cr: ᓀᐦᐃᔭᐍᐏᐣ
|
||||||
|
cs: čeština
|
||||||
|
cu: ѩзыкъ словѣньскъ
|
||||||
|
cv: чӑваш чӗлхи
|
||||||
|
cy: Cymraeg
|
||||||
|
da: dansk
|
||||||
|
de: Deutsch
|
||||||
|
dv: Dhivehi
|
||||||
|
dz: རྫོང་ཁ
|
||||||
|
ee: Eʋegbe
|
||||||
|
el: Ελληνικά
|
||||||
|
en: English
|
||||||
|
eo: Esperanto
|
||||||
|
es: español
|
||||||
|
et: eesti
|
||||||
|
eu: euskara
|
||||||
|
fa: فارسی
|
||||||
|
ff: Fulfulde
|
||||||
|
fi: suomi
|
||||||
|
fj: Vakaviti
|
||||||
|
fo: føroyskt
|
||||||
|
fr: français
|
||||||
|
fy: Frysk
|
||||||
|
ga: Gaeilge
|
||||||
|
gd: Gàidhlig
|
||||||
|
gl: galego
|
||||||
|
gu: ગુજરાતી
|
||||||
|
gv: Gaelg
|
||||||
|
ha: هَوُسَ
|
||||||
|
he: עברית
|
||||||
|
hi: हिन्दी
|
||||||
|
ho: Hiri Motu
|
||||||
|
hr: Hrvatski
|
||||||
|
ht: Kreyòl ayisyen
|
||||||
|
hu: magyar
|
||||||
|
hy: Հայերեն
|
||||||
|
hz: Otjiherero
|
||||||
|
ia: Interlingua
|
||||||
|
id: Bahasa Indonesia
|
||||||
|
ie: Interlingue
|
||||||
|
ig: Asụsụ Igbo
|
||||||
|
ii: ꆈꌠ꒿ Nuosuhxop
|
||||||
|
ik: Iñupiaq
|
||||||
|
io: Ido
|
||||||
|
is: Íslenska
|
||||||
|
it: italiano
|
||||||
|
iu: ᐃᓄᒃᑎᑐᑦ
|
||||||
|
ja: 日本語
|
||||||
|
jv: basa Jawa
|
||||||
|
ka: ქართული
|
||||||
|
kg: Kikongo
|
||||||
|
ki: Gĩkũyũ
|
||||||
|
kj: Kuanyama
|
||||||
|
kk: қазақ тілі
|
||||||
|
kl: kalaallisut
|
||||||
|
km: ខេមរភាសា
|
||||||
|
kn: ಕನ್ನಡ
|
||||||
|
ko: 한국어
|
||||||
|
kr: Kanuri
|
||||||
|
ks: कश्मीरी
|
||||||
|
ku: Kurdî
|
||||||
|
kv: коми кыв
|
||||||
|
kw: Kernewek
|
||||||
|
ky: Кыргызча
|
||||||
|
la: latine
|
||||||
|
lb: Lëtzebuergesch
|
||||||
|
lg: Luganda
|
||||||
|
li: Limburgs
|
||||||
|
ln: Lingála
|
||||||
|
lo: ພາສາ
|
||||||
|
lt: lietuvių kalba
|
||||||
|
lu: Tshiluba
|
||||||
|
lv: latviešu valoda
|
||||||
|
mg: fiteny malagasy
|
||||||
|
mh: Kajin M̧ajeļ
|
||||||
|
mi: te reo Māori
|
||||||
|
mk: македонски јазик
|
||||||
|
ml: മലയാളം
|
||||||
|
mn: Монгол хэл
|
||||||
|
mr: मराठी
|
||||||
|
ms: Bahasa Malaysia
|
||||||
|
mt: Malti
|
||||||
|
my: ဗမာစာ
|
||||||
|
na: Ekakairũ Naoero
|
||||||
|
nb: Norsk bokmål
|
||||||
|
nd: isiNdebele
|
||||||
|
ne: नेपाली
|
||||||
|
ng: Owambo
|
||||||
|
nl: Nederlands
|
||||||
|
nn: Norsk nynorsk
|
||||||
|
'no': Norsk
|
||||||
|
nr: isiNdebele
|
||||||
|
nv: Diné bizaad
|
||||||
|
ny: chiCheŵa
|
||||||
|
oc: occitan
|
||||||
|
oj: ᐊᓂᔑᓈᐯᒧᐎᓐ
|
||||||
|
om: Afaan Oromoo
|
||||||
|
or: ଓଡ଼ିଆ
|
||||||
|
os: ирон æвзаг
|
||||||
|
pa: ਪੰਜਾਬੀ
|
||||||
|
pi: पाऴि
|
||||||
|
pl: Polski
|
||||||
|
ps: پښتو
|
||||||
|
pt: português
|
||||||
|
qu: Runa Simi
|
||||||
|
rm: rumantsch grischun
|
||||||
|
rn: Ikirundi
|
||||||
|
ro: Română
|
||||||
|
ru: русский язык
|
||||||
|
rw: Ikinyarwanda
|
||||||
|
sa: संस्कृतम्
|
||||||
|
sc: sardu
|
||||||
|
sd: सिन्धी
|
||||||
|
se: Davvisámegiella
|
||||||
|
sg: yângâ tî sängö
|
||||||
|
si: සිංහල
|
||||||
|
sk: slovenčina
|
||||||
|
sl: slovenščina
|
||||||
|
sn: chiShona
|
||||||
|
so: Soomaaliga
|
||||||
|
sq: shqip
|
||||||
|
sr: српски језик
|
||||||
|
ss: SiSwati
|
||||||
|
st: Sesotho
|
||||||
|
su: Basa Sunda
|
||||||
|
sv: svenska
|
||||||
|
sw: Kiswahili
|
||||||
|
ta: தமிழ்
|
||||||
|
te: తెలుగు
|
||||||
|
tg: тоҷикӣ
|
||||||
|
th: ไทย
|
||||||
|
ti: ትግርኛ
|
||||||
|
tk: Türkmen
|
||||||
|
tl: Wikang Tagalog
|
||||||
|
tn: Setswana
|
||||||
|
to: faka Tonga
|
||||||
|
tr: Türkçe
|
||||||
|
ts: Xitsonga
|
||||||
|
tt: татар теле
|
||||||
|
tw: Twi
|
||||||
|
ty: Reo Tahiti
|
||||||
|
ug: ئۇيغۇرچە
|
||||||
|
uk: українська мова
|
||||||
|
ur: اردو
|
||||||
|
uz: Ўзбек
|
||||||
|
ve: Tshivenḓa
|
||||||
|
vi: Tiếng Việt
|
||||||
|
vo: Volapük
|
||||||
|
wa: walon
|
||||||
|
wo: Wollof
|
||||||
|
xh: isiXhosa
|
||||||
|
yi: ייִדיש
|
||||||
|
yo: Yorùbá
|
||||||
|
za: Saɯ cueŋƅ
|
||||||
|
zh: 汉语
|
||||||
|
zu: isiZulu
|
||||||
|
|
@ -274,22 +274,24 @@ def live(
|
||||||
def update_config() -> None:
|
def update_config() -> None:
|
||||||
config = get_en_config()
|
config = get_en_config()
|
||||||
languages = [{"en": "/"}]
|
languages = [{"en": "/"}]
|
||||||
alternate: List[Dict[str, str]] = config["extra"].get("alternate", [])
|
|
||||||
alternate_dict = {alt["link"]: alt["name"] for alt in alternate}
|
|
||||||
new_alternate: List[Dict[str, str]] = []
|
new_alternate: List[Dict[str, str]] = []
|
||||||
|
# Language names sourced from https://quickref.me/iso-639-1
|
||||||
|
# Contributors may wish to update or change these, e.g. to fix capitalization.
|
||||||
|
language_names_path = Path(__file__).parent / "../docs/language_names.yml"
|
||||||
|
local_language_names: Dict[str, str] = mkdocs.utils.yaml_load(
|
||||||
|
language_names_path.read_text(encoding="utf-8")
|
||||||
|
)
|
||||||
for lang_path in get_lang_paths():
|
for lang_path in get_lang_paths():
|
||||||
if lang_path.name == "en" or not lang_path.is_dir():
|
if lang_path.name in {"en", "em"} or not lang_path.is_dir():
|
||||||
continue
|
continue
|
||||||
name = lang_path.name
|
code = lang_path.name
|
||||||
languages.append({name: f"/{name}/"})
|
languages.append({code: f"/{code}/"})
|
||||||
for lang_dict in languages:
|
for lang_dict in languages:
|
||||||
name = list(lang_dict.keys())[0]
|
code = list(lang_dict.keys())[0]
|
||||||
url = lang_dict[name]
|
url = lang_dict[code]
|
||||||
if url not in alternate_dict:
|
use_name = f"{code} - {local_language_names[code]}"
|
||||||
new_alternate.append({"link": url, "name": name})
|
|
||||||
else:
|
|
||||||
use_name = alternate_dict[url]
|
|
||||||
new_alternate.append({"link": url, "name": use_name})
|
new_alternate.append({"link": url, "name": use_name})
|
||||||
|
new_alternate.append({"link": "/em/", "name": "😉"})
|
||||||
config["extra"]["alternate"] = new_alternate
|
config["extra"]["alternate"] = new_alternate
|
||||||
en_config_path.write_text(
|
en_config_path.write_text(
|
||||||
yaml.dump(config, sort_keys=False, width=200, allow_unicode=True),
|
yaml.dump(config, sort_keys=False, width=200, allow_unicode=True),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue