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
|
||||
show_root_heading: true
|
||||
show_if_no_docstring: true
|
||||
preload_modules: [httpx, starlette]
|
||||
preload_modules:
|
||||
- httpx
|
||||
- starlette
|
||||
inherited_members: true
|
||||
members_order: source
|
||||
separate_signature: true
|
||||
unwrap_annotated: true
|
||||
filters: ["!^_"]
|
||||
filters:
|
||||
- '!^_'
|
||||
merge_init_into_class: true
|
||||
docstring_section_style: spacy
|
||||
signature_crossrefs: true
|
||||
|
|
@ -264,25 +267,25 @@ extra:
|
|||
- link: /
|
||||
name: en - English
|
||||
- link: /de/
|
||||
name: de
|
||||
- link: /em/
|
||||
name: 😉
|
||||
name: de - Deutsch
|
||||
- link: /es/
|
||||
name: es - español
|
||||
- link: /fa/
|
||||
name: fa
|
||||
name: fa - فارسی
|
||||
- link: /fr/
|
||||
name: fr - français
|
||||
- link: /he/
|
||||
name: he
|
||||
name: he - עברית
|
||||
- link: /hu/
|
||||
name: hu - magyar
|
||||
- link: /id/
|
||||
name: id
|
||||
name: id - Bahasa Indonesia
|
||||
- link: /ja/
|
||||
name: ja - 日本語
|
||||
- link: /ko/
|
||||
name: ko - 한국어
|
||||
- link: /pl/
|
||||
name: pl
|
||||
name: pl - Polski
|
||||
- link: /pt/
|
||||
name: pt - português
|
||||
- link: /ru/
|
||||
|
|
@ -290,15 +293,17 @@ extra:
|
|||
- link: /tr/
|
||||
name: tr - Türkçe
|
||||
- link: /uk/
|
||||
name: uk
|
||||
name: uk - українська мова
|
||||
- link: /ur/
|
||||
name: ur
|
||||
name: ur - اردو
|
||||
- link: /vi/
|
||||
name: vi - Tiếng Việt
|
||||
- link: /yo/
|
||||
name: yo - Yorùbá
|
||||
- link: /zh/
|
||||
name: zh - 汉语
|
||||
- link: /em/
|
||||
name: 😉
|
||||
extra_css:
|
||||
- css/termynal.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:
|
||||
config = get_en_config()
|
||||
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]] = []
|
||||
# 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():
|
||||
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
|
||||
name = lang_path.name
|
||||
languages.append({name: f"/{name}/"})
|
||||
code = lang_path.name
|
||||
languages.append({code: f"/{code}/"})
|
||||
for lang_dict in languages:
|
||||
name = list(lang_dict.keys())[0]
|
||||
url = lang_dict[name]
|
||||
if url not in alternate_dict:
|
||||
new_alternate.append({"link": url, "name": name})
|
||||
else:
|
||||
use_name = alternate_dict[url]
|
||||
code = list(lang_dict.keys())[0]
|
||||
url = lang_dict[code]
|
||||
use_name = f"{code} - {local_language_names[code]}"
|
||||
new_alternate.append({"link": url, "name": use_name})
|
||||
new_alternate.append({"link": "/em/", "name": "😉"})
|
||||
config["extra"]["alternate"] = new_alternate
|
||||
en_config_path.write_text(
|
||||
yaml.dump(config, sort_keys=False, width=200, allow_unicode=True),
|
||||
|
|
|
|||
Loading…
Reference in New Issue