feat: added additional data

This commit is contained in:
amnesia 2025-04-11 12:08:24 +02:00
parent d2d2628e56
commit 523402d3ad
4 changed files with 821 additions and 152 deletions

View File

@ -1,3 +1,5 @@
meow
# Abstrahere reddita celebrare in ossa # Abstrahere reddita celebrare in ossa
## Usque de celebrabant puer ## Usque de celebrabant puer

57
src/example_page_1/ku.md Normal file
View File

@ -0,0 +1,57 @@
meow
# Abstrahere reddita celebrare in ossa
## Usque de celebrabant puer
Lorem markdownum, nec ora et vero me nec natae suadent. Nec damno ignorat
propiore aliquid temptata decipienda habetur. Vulnera lacrimis aequoreo madidos,
copia uvae, herbosaque quoque, per harenas, canos fui monstro Peleus.
Et fuge cum liquidum puer Herculis arentis, tantum caudaque et generi vilior, in
rubore. Caeli modo palmis, suo tria accipe visus non similis qui remittat
retentus porrigit fluxit ubi testis.
> Sulphura et color reliquit dextera: quid summa continuere obductos egesto
> moriens **fluentia vult iunctamque**, mihi patres spiro. Est Iovis **imperat
> quem est** putavi annis *omnis*; flumina, leporem constabat grave pelagi,
> insiluit, igne invito? Auctor circuit quod.
## Rhoetus gravis
Parari modo in sustulerat: ora sic verba meruit, uti. Pignora citus facto
amplectimur cupido amentes foedantem multoque datura.
[Quid](http://www.prima.net/se) ex tanti armaque exhibita descenderat!
1. Alis ima
2. Mirantur nive sit
3. Maris ut adlabimur humana fine quam vultusque
## A idonea miserum
Montes tibi deorum igitur. Poterat nunc porrigitur perdidimus *sidereos animi
praesepia* nihil praeferri functa, in **Pleias removete** oculos sollemni
Tatius: **modo**. Inde dedit! Atque in matrem spinae foret ponti quam dixit,
aras. Gladii addendum fiducia magno, se quo fata humo esse **tellure corpora
discederet** sucis manibus, parentem ante, Iovem.
Laqueique honore sequentia tyranni Harpalos, paelex, foedat tempestiva nomen.
Sit ter indiciumque requirit utrumque in nil et *suspectus*, quaerite patriam
nec facta [securi](http://heuqua.io/adhaut). Confessa ut per sit nostro futura
metaque oblitae fameque exit adspiciens. Morte flectere invidiam certe cum
vixque *nubes clamor viderunt* praeceps infamis collo percussis axem plena saxum
urbes ferre undae. Totoque utuntur ore lupus inplet sibila ullam, qui corpore
*contermina aera*?
Convocat ipse abeunt sententia concolor a Auguste epops solent iubet qui
aequora. In illi, solvente resecare violentam nescio accipit multarum [aureus
exspectatus](http://oris-tibi.io/nasci) ergo ora. Positis **inquit**, sit iamque
hederae ulterius, pontus linguae matutina terra sic isse Graium passosque
sanguinis secus petit!
Adfore dei volucrum Lydas; [hoc](http://similemnescitve.net/ipsamquee) quam
[superosque](http://www.quoqueabit.com/cumqueiam.html) caligine vulnera quoque
corpus foedaque mentis qui nectare, fatendo sensit! Rursus nulli miraris nuda
*Acrisio*. Cum modo, satis dissuadet luce; cum *freta* ab et diu, labor *tenuata
ieiunia*? Caesosque thalamique precor, dedit nulla loca [arce
et](http://viscera-rerum.com/mixta) tinguit aera.

View File

@ -5,7 +5,7 @@ import os
import markdown import markdown
from typing import Optional from typing import Optional
from .config import SOURCE_DIRECTORY, DIST_DIRECTORY, STATIC_DIRECTORY from .config import SOURCE_DIRECTORY, DIST_DIRECTORY, LANGUAGE_INFORMATION
logger = logging.getLogger("stsg.build") logger = logging.getLogger("stsg.build")
@ -96,9 +96,28 @@ class CustomLanguageCode:
def __repr__(self) -> str: def __repr__(self) -> str:
return f"{self.language_code}" return f"{self.language_code}"
def _get_additional_data(self) -> dict:
parsed_language_code = self.language_code.lower().replace("-", "_")
if parsed_language_code in LANGUAGE_INFORMATION:
return LANGUAGE_INFORMATION[parsed_language_code]
parsed_language_code = parsed_language_code.split("_")[0]
if parsed_language_code in LANGUAGE_INFORMATION:
return LANGUAGE_INFORMATION[parsed_language_code]
return {}
@property
def flag(self) -> str:
return self._get_additional_data()["flag"]
@property
def native_name(self) -> str:
return self._get_additional_data()["native_name"]
@property @property
def html_code(self) -> str: def html_code(self) -> str:
return f'<ul><a href="{self.relative_url}"><bold>{self.language_code}</bold></a></ul>' return f'<ul><a href="{self.relative_url}"><bold>{self.flag} {self.native_name}</bold></a></ul>'
def walk_directory(root): def walk_directory(root):

View File

@ -9,154 +9,745 @@ STATIC_DIRECTORY = "static"
CODE_DIRECTORY = "stsg" CODE_DIRECTORY = "stsg"
# LANGUAGE INFORMATION # LANGUAGE INFORMATION
LANGUAGE_INFORMATION = {
LANGUAGES = { "af": {
af: { flag: '🇿🇦', name: 'Afrikaans', native_name: 'Afrikaans' }, "flag": "🇿🇦",
am: { flag: '🇪🇹', name: 'Amharic', native_name: 'አማርኛ' }, "name": "Afrikaans",
an: { flag: '🇪🇸', name: 'Aragonese', native_name: 'aragonés' }, "native_name": "Afrikaans"
ar: { flag: '🇸🇦', name: 'Arabic', native_name: 'العربية' }, },
ar_ae: { flag: '🇦🇪', name: 'Arabic (UAE)', native_name: 'العربية (الإمارات)' }, "am": {
ar_bh: { flag: '🇧🇭', name: 'Arabic (Bahrain)', native_name: 'العربية (البحرين)' }, "flag": "🇪🇹",
ar_dz: { flag: '🇩🇿', name: 'Arabic (Algeria)', native_name: 'العربية (الجزائر)' }, "name": "Amharic",
ar_eg: { flag: '🇪🇬', name: 'Arabic (Egypt)', native_name: 'العربية (مصر)' }, "native_name": "አማርኛ"
ar_iq: { flag: '🇮🇶', name: 'Arabic (Iraq)', native_name: 'العربية (العراق)' }, },
ar_jo: { flag: '🇯🇴', name: 'Arabic (Jordan)', native_name: 'العربية (الأردن)' }, "an": {
ar_kw: { flag: '🇰🇼', name: 'Arabic (Kuwait)', native_name: 'العربية (الكويت)' }, "flag": "🇪🇸",
ar_lb: { flag: '🇱🇧', name: 'Arabic (Lebanon)', native_name: 'العربية (لبنان)' }, "name": "Aragonese",
ar_ly: { flag: '🇱🇾', name: 'Arabic (Libya)', native_name: 'العربية (ليبيا)' }, "native_name": "aragonés"
ar_ma: { flag: '🇲🇦', name: 'Arabic (Morocco)', native_name: 'العربية (المغرب)' }, },
ar_om: { flag: '🇴🇲', name: 'Arabic (Oman)', native_name: 'العربية (عُمان)' }, "ar": {
ar_qa: { flag: '🇶🇦', name: 'Arabic (Qatar)', native_name: 'العربية (قطر)' }, "flag": "🇸🇦",
ar_sa: { flag: '🇸🇦', name: 'Arabic (Saudi Arabia)', native_name: 'العربية (السعودية)' }, "name": "Arabic",
ar_sd: { flag: '🇸🇩', name: 'Arabic (Sudan)', native_name: 'العربية (السودان)' }, "native_name": "العربية"
ar_sy: { flag: '🇸🇾', name: 'Arabic (Syria)', native_name: 'العربية (سوريا)' }, },
ar_tn: { flag: '🇹🇳', name: 'Arabic (Tunisia)', native_name: 'العربية (تونس)' }, "ar_ae": {
ar_ye: { flag: '🇾🇪', name: 'Arabic (Yemen)', native_name: 'العربية (اليمن)' }, "flag": "🇦🇪",
ars_ae: { flag: '🇦🇪', name: 'Najdi Arabic (UAE)', native_name: 'نَجْدِيّ' }, "name": "Arabic (UAE)",
ars_arab_sa: { flag: '🇸🇦', name: 'Najdi Arabic (Saudi Arabia, Arabic Script)', native_name: 'نَجْدِيّ' }, "native_name": "العربية (الإمارات)"
ars_sa: { flag: '🇸🇦', name: 'Najdi Arabic (Saudi Arabia)', native_name: 'نَجْدِيّ' }, },
as: { flag: '🇮🇳', name: 'Assamese', native_name: 'অসমীয়া' }, "ar_bh": {
az: { flag: '🇦🇿', name: 'Azerbaijani', native_name: 'Azərbaycan' }, "flag": "🇧🇭",
be: { flag: '🇧🇾', name: 'Belarusian', native_name: 'Беларуская' }, "name": "Arabic (Bahrain)",
bg: { flag: '🇧🇬', name: 'Bulgarian', native_name: 'Български' }, "native_name": "العربية (البحرين)"
bm: { flag: '🇲🇱', name: 'Bambara', native_name: 'bamanankan' }, },
bn: { flag: '🇧🇩', name: 'Bengali', native_name: 'বাংলা' }, "ar_dz": {
bn_in: { flag: '🇮🇳', name: 'Bengali (India)', native_name: 'বাংলা (ভারত)' }, "flag": "🇩🇿",
br: { flag: '🏴', name: 'Breton', native_name: 'brezhoneg' }, "name": "Arabic (Algeria)",
bs: { flag: '🇧🇦', name: 'Bosnian', native_name: 'Bosanski' }, "native_name": "العربية (الجزائر)"
ca: { flag: '🇪🇸', name: 'Catalan', native_name: 'Català' }, },
crh: { flag: '🇺🇦', name: 'Crimean Tatar', native_name: 'qırımtatarca' }, "ar_eg": {
cs: { flag: '🇨🇿', name: 'Czech', native_name: 'Čeština' }, "flag": "🇪🇬",
cv: { flag: '🇷🇺', name: 'Chuvash', native_name: 'чӑваш чӗлхи' }, "name": "Arabic (Egypt)",
cy: { flag: '🏴', name: 'Welsh', native_name: 'Cymraeg' }, "native_name": "العربية (مصر)"
da: { flag: '🇩🇰', name: 'Danish', native_name: 'Dansk' }, },
de: { flag: '🇩🇪', name: 'German', native_name: 'Deutsch' }, "ar_iq": {
de_at: { flag: '🇦🇹', name: 'German (Austria)', native_name: 'Deutsch (Österreich)' }, "flag": "🇮🇶",
de_be: { flag: '🇧🇪', name: 'German (Belgium)', native_name: 'Deutsch (Belgien)' }, "name": "Arabic (Iraq)",
de_ch: { flag: '🇨🇭', name: 'German (Switzerland)', native_name: 'Deutsch (Schweiz)' }, "native_name": "العربية (العراق)"
dv: { flag: '🇲🇻', name: 'Dhivehi', native_name: 'ދިވެހި' }, },
dz: { flag: '🇧🇹', name: 'Dzongkha', native_name: 'རྫོང་ཁ' }, "ar_jo": {
el: { flag: '🇬🇷', name: 'Greek', native_name: 'Ελληνικά' }, "flag": "🇯🇴",
en: { flag: '🇺🇸', name: 'English', native_name: 'English' }, "name": "Arabic (Jordan)",
en_au: { flag: '🇦🇺', name: 'English (Australia)', native_name: 'English (Australia)' }, "native_name": "العربية (الأردن)"
en_ca: { flag: '🇨🇦', name: 'English (Canada)', native_name: 'English (Canada)' }, },
en_gb: { flag: '🇬🇧', name: 'English (UK)', native_name: 'English (UK)' }, "ar_kw": {
en_ie: { flag: '🇮🇪', name: 'English (Ireland)', native_name: 'English (Ireland)' }, "flag": "🇰🇼",
en_in: { flag: '🇮🇳', name: 'English (India)', native_name: 'English (India)' }, "name": "Arabic (Kuwait)",
en_nz: { flag: '🇳🇿', name: 'English (New Zealand)', native_name: 'English (New Zealand)' }, "native_name": "العربية (الكويت)"
en_us: { flag: '🇺🇸', name: 'English (US)', native_name: 'English (US)' }, },
es: { flag: '🇪🇸', name: 'Spanish', native_name: 'Español' }, "ar_lb": {
es_ar: { flag: '🇦🇷', name: 'Spanish (Argentina)', native_name: 'Español (Argentina)' }, "flag": "🇱🇧",
es_mx: { flag: '🇲🇽', name: 'Spanish (Mexico)', native_name: 'Español (México)' }, "name": "Arabic (Lebanon)",
et: { flag: '🇪🇪', name: 'Estonian', native_name: 'Eesti' }, "native_name": "العربية (لبنان)"
fa: { flag: '🇮🇷', name: 'Persian', native_name: 'فارسی' }, },
ff: { flag: '🌍', name: 'Fula', native_name: 'Fulfulde' }, "ar_ly": {
fi: { flag: '🇫🇮', name: 'Finnish', native_name: 'Suomi' }, "flag": "🇱🇾",
fo: { flag: '🇫🇴', name: 'Faroese', native_name: 'føroyskt' }, "name": "Arabic (Libya)",
fr: { flag: '🇫🇷', name: 'French', native_name: 'Français' }, "native_name": "العربية (ليبيا)"
fr_ca: { flag: '🇨🇦', name: 'French (Canada)', native_name: 'Français (Canada)' }, },
fr_ch: { flag: '🇨🇭', name: 'French (Switzerland)', native_name: 'Français (Suisse)' }, "ar_ma": {
ga: { flag: '🇮🇪', name: 'Irish', native_name: 'Gaeilge' }, "flag": "🇲🇦",
gl: { flag: '🇪🇸', name: 'Galician', native_name: 'Galego' }, "name": "Arabic (Morocco)",
gn: { flag: '🇵🇾', name: 'Guarani', native_name: "Avañe'" }, "native_name": "العربية (المغرب)"
gu: { flag: '🇮🇳', name: 'Gujarati', native_name: 'ગુજરાતી' }, },
ha: { flag: '🇳🇬', name: 'Hausa', native_name: 'هَوُسَ' }, "ar_om": {
he: { flag: '🇮🇱', name: 'Hebrew', native_name: 'עברית' }, "flag": "🇴🇲",
hi: { flag: '🇮🇳', name: 'Hindi', native_name: 'हिन्दी' }, "name": "Arabic (Oman)",
hr: { flag: '🇭🇷', name: 'Croatian', native_name: 'Hrvatski' }, "native_name": "العربية (عُمان)"
ht: { flag: '🇭🇹', name: 'Haitian Creole', native_name: 'Kreyòl ayisyen' }, },
hu: { flag: '🇭🇺', name: 'Hungarian', native_name: 'Magyar' }, "ar_qa": {
id: { flag: '🇮🇩', name: 'Indonesian', native_name: 'Bahasa Indonesia' }, "flag": "🇶🇦",
io: { flag: '🌍', name: 'Ido', native_name: 'Ido' }, "name": "Arabic (Qatar)",
is: { flag: '🇮🇸', name: 'Icelandic', native_name: 'Íslenska' }, "native_name": "العربية (قطر)"
it: { flag: '🇮🇹', name: 'Italian', native_name: 'Italiano' }, },
ja: { flag: '🇯🇵', name: 'Japanese', native_name: '日本語' }, "ar_sa": {
jv_id: { flag: '🇮🇩', name: 'Javanese (Indonesia)', native_name: 'basa jawa' }, "flag": "🇸🇦",
ka: { flag: '🇬🇪', name: 'Georgian', native_name: 'ქართული' }, "name": "Arabic (Saudi Arabia)",
kg: { flag: '🇨🇬', name: 'Kongo', native_name: 'KiKongo' }, "native_name": "العربية (السعودية)"
kj: { flag: '🇳🇦', name: 'Kuanyama', native_name: 'Oshikwanyama' }, },
kk: { flag: '🇰🇿', name: 'Kazakh', native_name: 'Қазақ' }, "ar_sd": {
kl: { flag: '🇬🇱', name: 'Kalaallisut', native_name: 'kalaallisut' }, "flag": "🇸🇩",
km: { flag: '🇰🇭', name: 'Khmer', native_name: 'ខ្មែរ' }, "name": "Arabic (Sudan)",
ko: { flag: '🇰🇷', name: 'Korean', native_name: '한국어' }, "native_name": "العربية (السودان)"
ks: { flag: '🇮🇳', name: 'Kashmiri', native_name: 'کٲشُر' }, },
ku: { flag: '🇮🇶', name: 'Kurdish', native_name: 'Kurdî' }, "ar_sy": {
lo: { flag: '🇱🇦', name: 'Lao', native_name: 'ລາວ' }, "flag": "🇸🇾",
lt: { flag: '🇱🇹', name: 'Lithuanian', native_name: 'Lietuvių' }, "name": "Arabic (Syria)",
lv: { flag: '🇱🇻', name: 'Latvian', native_name: 'Latviešu' }, "native_name": "العربية (سوريا)"
mg: { flag: '🇲🇬', name: 'Malagasy', native_name: 'Malagasy' }, },
mg_mg: { flag: '🇲🇬', name: 'Malagasy (Madagascar)', native_name: 'malagasy' }, "ar_tn": {
mh: { flag: '🇲🇭', name: 'Marshallese', native_name: 'Kajin M̧ajeļ' }, "flag": "🇹🇳",
mk: { flag: '🇲🇰', name: 'Macedonian', native_name: 'Македонски' }, "name": "Arabic (Tunisia)",
mn_mn: { flag: '🇲🇳', name: 'Mongolian (Mongolia)', native_name: 'Монгол хэл' }, "native_name": "العربية (تونس)"
mr_in: { flag: '🇮🇳', name: 'Marathi (India)', native_name: 'मराठी' }, },
ms: { flag: '🇲🇾', name: 'Malay', native_name: 'Bahasa Melayu' }, "ar_ye": {
my: { flag: '🇲🇲', name: 'Burmese', native_name: 'မြန်မာဘာသာ' }, "flag": "🇾🇪",
na: { flag: '🇳🇷', name: 'Nauruan', native_name: 'Dorerin Naoero' }, "name": "Arabic (Yemen)",
nb: { flag: '🇳🇴', name: 'Norwegian Bokmål', native_name: 'Norsk Bokmål' }, "native_name": "العربية (اليمن)"
ng: { flag: '🇳🇦', name: 'Ndonga', native_name: 'Oshindonga' }, },
nl: { flag: '🇳🇱', name: 'Dutch', native_name: 'Nederlands' }, "ars_ae": {
om: { flag: '🇪🇹', name: 'Oromo', native_name: 'Afaan Oromoo' }, "flag": "🇦🇪",
os: { flag: '🇷🇺', name: 'Ossetian', native_name: 'ирон æвзаг' }, "name": "Najdi Arabic (UAE)",
pl: { flag: '🇵🇱', name: 'Polish', native_name: 'Polski' }, "native_name": "نَجْدِيّ"
pt: { flag: '🇵🇹', name: 'Portuguese', native_name: 'Português' }, },
pt_br: { flag: '🇧🇷', name: 'Portuguese (Brazil)', native_name: 'Português (Brasil)' }, "ars_arab_sa": {
qu: { flag: '🇵🇪', name: 'Quechua', native_name: 'Runa Simi' }, "flag": "🇸🇦",
ro: { flag: '🇷🇴', name: 'Romanian', native_name: 'Română' }, "name": "Najdi Arabic (Saudi Arabia, Arabic Script)",
ru: { flag: '🇷🇺', name: 'Russian', native_name: 'Русский' }, "native_name": "نَجْدِيّ"
rw: { flag: '🇷🇼', name: 'Kinyarwanda', native_name: 'Ikinyarwanda' }, },
sc: { flag: '🇮🇹', name: 'Sardinian', native_name: 'sardu' }, "ars_sa": {
sg: { flag: '🇨🇫', name: 'Sango', native_name: 'yângâ tî sängö' }, "flag": "🇸🇦",
sk: { flag: '🇸🇰', name: 'Slovak', native_name: 'Slovenčina' }, "name": "Najdi Arabic (Saudi Arabia)",
sl: { flag: '🇸🇮', name: 'Slovenian', native_name: 'Slovenščina' }, "native_name": "نَجْدِيّ"
sm: { flag: '🇼🇸', name: 'Samoan', native_name: 'Gagana Samoa' }, },
sn: { flag: '🇿🇼', name: 'Shona', native_name: 'chiShona' }, "as": {
so: { flag: '🇸🇴', name: 'Somali', native_name: 'Soomaaliga' }, "flag": "🇮🇳",
sr: { flag: '🇷🇸', name: 'Serbian', native_name: 'Српски' }, "name": "Assamese",
ss: { flag: '🇸🇿', name: 'Swati', native_name: 'SiSwati' }, "native_name": "অসমীয়া"
st: { flag: '🇱🇸', name: 'Southern Sotho', native_name: 'Sesotho' }, },
su_id: { flag: '🇮🇩', name: 'Sundanese (Indonesia)', native_name: 'basa sunda' }, "az": {
sv: { flag: '🇸🇪', name: 'Swedish', native_name: 'Svenska' }, "flag": "🇦🇿",
th: { flag: '🇹🇭', name: 'Thai', native_name: 'ไทย' }, "name": "Azerbaijani",
tk: { flag: '🇹🇲', name: 'Turkmen', native_name: 'Türkmen' }, "native_name": "Azərbaycan"
tn: { flag: '🇧🇼', name: 'Tswana', native_name: 'Setswana' }, },
to: { flag: '🇹🇴', name: 'Tongan', native_name: 'faka-Tonga' }, "be": {
tr: { flag: '🇹🇷', name: 'Turkish', native_name: 'Türkçe' }, "flag": "🇧🇾",
ts: { flag: '🇿🇦', name: 'Tsonga', native_name: 'Xitsonga' }, "name": "Belarusian",
ts_zw: { flag: '🇿🇼', name: 'Tsonga (Zimbabwe)', native_name: 'xitsonga' }, "native_name": "Беларуская"
ty: { flag: '🇵🇫', name: 'Tahitian', native_name: 'Reo Tahiti' }, },
uk: { flag: '🇺🇦', name: 'Ukrainian', native_name: 'Українська' }, "bg": {
ur: { flag: '🇵🇰', name: 'Urdu', native_name: 'اردو' }, "flag": "🇧🇬",
uz: { flag: '🇺🇿', name: 'Uzbek', native_name: 'oʻzbek' }, "name": "Bulgarian",
ve: { flag: '🇿🇦', name: 'Venda', native_name: 'Tshivenda' }, "native_name": "Български"
vi: { flag: '🇻🇳', name: 'Vietnamese', native_name: 'Tiếng Việt' }, },
vo: { flag: '🌍', name: 'Volapük', native_name: 'Volapük' }, "bm": {
wa: { flag: '🇧🇪', name: 'Walloon', native_name: 'walon' }, "flag": "🇲🇱",
xh: { flag: '🇿🇦', name: 'Xhosa', native_name: 'isiXhosa' }, "name": "Bambara",
yi: { flag: '🌍', name: 'Yiddish', native_name: 'ייִדיש' }, "native_name": "bamanankan"
yo: { flag: '🇳🇬', name: 'Yoruba', native_name: 'Yorùbá' }, },
zh: { flag: '🇨🇳', name: 'Chinese', native_name: '中文' }, "bn": {
zh_hk: { flag: '🇭🇰', name: 'Chinese (Hong Kong)', native_name: '中文(香港)' }, "flag": "🇧🇩",
zh_tw: { flag: '🇹🇼', name: 'Chinese (Taiwan)', native_name: '中文(台灣)' }, "name": "Bengali",
zu: { flag: '🇿🇦', name: 'Zulu', native_name: 'isiZulu' }, "native_name": "বাংলা"
},
"bn_in": {
"flag": "🇮🇳",
"name": "Bengali (India)",
"native_name": "বাংলা (ভারত)"
},
"br": {
"flag": "🏴",
"name": "Breton",
"native_name": "brezhoneg"
},
"bs": {
"flag": "🇧🇦",
"name": "Bosnian",
"native_name": "Bosanski"
},
"ca": {
"flag": "🇪🇸",
"name": "Catalan",
"native_name": "Català"
},
"crh": {
"flag": "🇺🇦",
"name": "Crimean Tatar",
"native_name": "qırımtatarca"
},
"cs": {
"flag": "🇨🇿",
"name": "Czech",
"native_name": "Čeština"
},
"cv": {
"flag": "🇷🇺",
"name": "Chuvash",
"native_name": "чӑваш чӗлхи"
},
"cy": {
"flag": "🏴",
"name": "Welsh",
"native_name": "Cymraeg"
},
"da": {
"flag": "🇩🇰",
"name": "Danish",
"native_name": "Dansk"
},
"de": {
"flag": "🇩🇪",
"name": "German",
"native_name": "Deutsch"
},
"de_at": {
"flag": "🇦🇹",
"name": "German (Austria)",
"native_name": "Deutsch (Österreich)"
},
"de_be": {
"flag": "🇧🇪",
"name": "German (Belgium)",
"native_name": "Deutsch (Belgien)"
},
"de_ch": {
"flag": "🇨🇭",
"name": "German (Switzerland)",
"native_name": "Deutsch (Schweiz)"
},
"dv": {
"flag": "🇲🇻",
"name": "Dhivehi",
"native_name": "ދިވެހި"
},
"dz": {
"flag": "🇧🇹",
"name": "Dzongkha",
"native_name": "རྫོང་ཁ"
},
"el": {
"flag": "🇬🇷",
"name": "Greek",
"native_name": "Ελληνικά"
},
"en": {
"flag": "🇺🇸",
"name": "English",
"native_name": "English"
},
"en_au": {
"flag": "🇦🇺",
"name": "English (Australia)",
"native_name": "English (Australia)"
},
"en_ca": {
"flag": "🇨🇦",
"name": "English (Canada)",
"native_name": "English (Canada)"
},
"en_gb": {
"flag": "🇬🇧",
"name": "English (UK)",
"native_name": "English (UK)"
},
"en_ie": {
"flag": "🇮🇪",
"name": "English (Ireland)",
"native_name": "English (Ireland)"
},
"en_in": {
"flag": "🇮🇳",
"name": "English (India)",
"native_name": "English (India)"
},
"en_nz": {
"flag": "🇳🇿",
"name": "English (New Zealand)",
"native_name": "English (New Zealand)"
},
"en_us": {
"flag": "🇺🇸",
"name": "English (US)",
"native_name": "English (US)"
},
"es": {
"flag": "🇪🇸",
"name": "Spanish",
"native_name": "Español"
},
"es_ar": {
"flag": "🇦🇷",
"name": "Spanish (Argentina)",
"native_name": "Español (Argentina)"
},
"es_mx": {
"flag": "🇲🇽",
"name": "Spanish (Mexico)",
"native_name": "Español (México)"
},
"et": {
"flag": "🇪🇪",
"name": "Estonian",
"native_name": "Eesti"
},
"fa": {
"flag": "🇮🇷",
"name": "Persian",
"native_name": "فارسی"
},
"ff": {
"flag": "🌍",
"name": "Fula",
"native_name": "Fulfulde"
},
"fi": {
"flag": "🇫🇮",
"name": "Finnish",
"native_name": "Suomi"
},
"fo": {
"flag": "🇫🇴",
"name": "Faroese",
"native_name": "føroyskt"
},
"fr": {
"flag": "🇫🇷",
"name": "French",
"native_name": "Français"
},
"fr_ca": {
"flag": "🇨🇦",
"name": "French (Canada)",
"native_name": "Français (Canada)"
},
"fr_ch": {
"flag": "🇨🇭",
"name": "French (Switzerland)",
"native_name": "Français (Suisse)"
},
"ga": {
"flag": "🇮🇪",
"name": "Irish",
"native_name": "Gaeilge"
},
"gl": {
"flag": "🇪🇸",
"name": "Galician",
"native_name": "Galego"
},
"gn": {
"flag": "🇵🇾",
"name": "Guarani",
"native_name": "Avañe'"
},
"gu": {
"flag": "🇮🇳",
"name": "Gujarati",
"native_name": "ગુજરાતી"
},
"ha": {
"flag": "🇳🇬",
"name": "Hausa",
"native_name": "هَوُسَ"
},
"he": {
"flag": "🇮🇱",
"name": "Hebrew",
"native_name": "עברית"
},
"hi": {
"flag": "🇮🇳",
"name": "Hindi",
"native_name": "हिन्दी"
},
"hr": {
"flag": "🇭🇷",
"name": "Croatian",
"native_name": "Hrvatski"
},
"ht": {
"flag": "🇭🇹",
"name": "Haitian Creole",
"native_name": "Kreyòl ayisyen"
},
"hu": {
"flag": "🇭🇺",
"name": "Hungarian",
"native_name": "Magyar"
},
"id": {
"flag": "🇮🇩",
"name": "Indonesian",
"native_name": "Bahasa Indonesia"
},
"io": {
"flag": "🌍",
"name": "Ido",
"native_name": "Ido"
},
"is": {
"flag": "🇮🇸",
"name": "Icelandic",
"native_name": "Íslenska"
},
"it": {
"flag": "🇮🇹",
"name": "Italian",
"native_name": "Italiano"
},
"ja": {
"flag": "🇯🇵",
"name": "Japanese",
"native_name": "日本語"
},
"jv_id": {
"flag": "🇮🇩",
"name": "Javanese (Indonesia)",
"native_name": "basa jawa"
},
"ka": {
"flag": "🇬🇪",
"name": "Georgian",
"native_name": "ქართული"
},
"kg": {
"flag": "🇨🇬",
"name": "Kongo",
"native_name": "KiKongo"
},
"kj": {
"flag": "🇳🇦",
"name": "Kuanyama",
"native_name": "Oshikwanyama"
},
"kk": {
"flag": "🇰🇿",
"name": "Kazakh",
"native_name": "Қазақ"
},
"kl": {
"flag": "🇬🇱",
"name": "Kalaallisut",
"native_name": "kalaallisut"
},
"km": {
"flag": "🇰🇭",
"name": "Khmer",
"native_name": "ខ្មែរ"
},
"ko": {
"flag": "🇰🇷",
"name": "Korean",
"native_name": "한국어"
},
"ks": {
"flag": "🇮🇳",
"name": "Kashmiri",
"native_name": "کٲشُر"
},
"ku": {
"flag": "🇮🇶",
"name": "Kurdish",
"native_name": "Kurdî"
},
"lo": {
"flag": "🇱🇦",
"name": "Lao",
"native_name": "ລາວ"
},
"lt": {
"flag": "🇱🇹",
"name": "Lithuanian",
"native_name": "Lietuvių"
},
"lv": {
"flag": "🇱🇻",
"name": "Latvian",
"native_name": "Latviešu"
},
"mg": {
"flag": "🇲🇬",
"name": "Malagasy",
"native_name": "Malagasy"
},
"mg_mg": {
"flag": "🇲🇬",
"name": "Malagasy (Madagascar)",
"native_name": "malagasy"
},
"mh": {
"flag": "🇲🇭",
"name": "Marshallese",
"native_name": "Kajin M̧ajeļ"
},
"mk": {
"flag": "🇲🇰",
"name": "Macedonian",
"native_name": "Македонски"
},
"mn_mn": {
"flag": "🇲🇳",
"name": "Mongolian (Mongolia)",
"native_name": "Монгол хэл"
},
"mr_in": {
"flag": "🇮🇳",
"name": "Marathi (India)",
"native_name": "मराठी"
},
"ms": {
"flag": "🇲🇾",
"name": "Malay",
"native_name": "Bahasa Melayu"
},
"my": {
"flag": "🇲🇲",
"name": "Burmese",
"native_name": "မြန်မာဘာသာ"
},
"na": {
"flag": "🇳🇷",
"name": "Nauruan",
"native_name": "Dorerin Naoero"
},
"nb": {
"flag": "🇳🇴",
"name": "Norwegian Bokmål",
"native_name": "Norsk Bokmål"
},
"ng": {
"flag": "🇳🇦",
"name": "Ndonga",
"native_name": "Oshindonga"
},
"nl": {
"flag": "🇳🇱",
"name": "Dutch",
"native_name": "Nederlands"
},
"om": {
"flag": "🇪🇹",
"name": "Oromo",
"native_name": "Afaan Oromoo"
},
"os": {
"flag": "🇷🇺",
"name": "Ossetian",
"native_name": "ирон æвзаг"
},
"pl": {
"flag": "🇵🇱",
"name": "Polish",
"native_name": "Polski"
},
"pt": {
"flag": "🇵🇹",
"name": "Portuguese",
"native_name": "Português"
},
"pt_br": {
"flag": "🇧🇷",
"name": "Portuguese (Brazil)",
"native_name": "Português (Brasil)"
},
"qu": {
"flag": "🇵🇪",
"name": "Quechua",
"native_name": "Runa Simi"
},
"ro": {
"flag": "🇷🇴",
"name": "Romanian",
"native_name": "Română"
},
"ru": {
"flag": "🇷🇺",
"name": "Russian",
"native_name": "Русский"
},
"rw": {
"flag": "🇷🇼",
"name": "Kinyarwanda",
"native_name": "Ikinyarwanda"
},
"sc": {
"flag": "🇮🇹",
"name": "Sardinian",
"native_name": "sardu"
},
"sg": {
"flag": "🇨🇫",
"name": "Sango",
"native_name": "yângâ tî sängö"
},
"sk": {
"flag": "🇸🇰",
"name": "Slovak",
"native_name": "Slovenčina"
},
"sl": {
"flag": "🇸🇮",
"name": "Slovenian",
"native_name": "Slovenščina"
},
"sm": {
"flag": "🇼🇸",
"name": "Samoan",
"native_name": "Gagana Samoa"
},
"sn": {
"flag": "🇿🇼",
"name": "Shona",
"native_name": "chiShona"
},
"so": {
"flag": "🇸🇴",
"name": "Somali",
"native_name": "Soomaaliga"
},
"sr": {
"flag": "🇷🇸",
"name": "Serbian",
"native_name": "Српски"
},
"ss": {
"flag": "🇸🇿",
"name": "Swati",
"native_name": "SiSwati"
},
"st": {
"flag": "🇱🇸",
"name": "Southern Sotho",
"native_name": "Sesotho"
},
"su_id": {
"flag": "🇮🇩",
"name": "Sundanese (Indonesia)",
"native_name": "basa sunda"
},
"sv": {
"flag": "🇸🇪",
"name": "Swedish",
"native_name": "Svenska"
},
"th": {
"flag": "🇹🇭",
"name": "Thai",
"native_name": "ไทย"
},
"tk": {
"flag": "🇹🇲",
"name": "Turkmen",
"native_name": "Türkmen"
},
"tn": {
"flag": "🇧🇼",
"name": "Tswana",
"native_name": "Setswana"
},
"to": {
"flag": "🇹🇴",
"name": "Tongan",
"native_name": "faka-Tonga"
},
"tr": {
"flag": "🇹🇷",
"name": "Turkish",
"native_name": "Türkçe"
},
"ts": {
"flag": "🇿🇦",
"name": "Tsonga",
"native_name": "Xitsonga"
},
"ts_zw": {
"flag": "🇿🇼",
"name": "Tsonga (Zimbabwe)",
"native_name": "xitsonga"
},
"ty": {
"flag": "🇵🇫",
"name": "Tahitian",
"native_name": "Reo Tahiti"
},
"uk": {
"flag": "🇺🇦",
"name": "Ukrainian",
"native_name": "Українська"
},
"ur": {
"flag": "🇵🇰",
"name": "Urdu",
"native_name": "اردو"
},
"uz": {
"flag": "🇺🇿",
"name": "Uzbek",
"native_name": "oʻzbek"
},
"ve": {
"flag": "🇿🇦",
"name": "Venda",
"native_name": "Tshivenda"
},
"vi": {
"flag": "🇻🇳",
"name": "Vietnamese",
"native_name": "Tiếng Việt"
},
"vo": {
"flag": "🌍",
"name": "Volapük",
"native_name": "Volapük"
},
"wa": {
"flag": "🇧🇪",
"name": "Walloon",
"native_name": "walon"
},
"xh": {
"flag": "🇿🇦",
"name": "Xhosa",
"native_name": "isiXhosa"
},
"yi": {
"flag": "🌍",
"name": "Yiddish",
"native_name": "ייִדיש"
},
"yo": {
"flag": "🇳🇬",
"name": "Yoruba",
"native_name": "Yorùbá"
},
"zh": {
"flag": "🇨🇳",
"name": "Chinese",
"native_name": "中文"
},
"zh_hk": {
"flag": "🇭🇰",
"name": "Chinese (Hong Kong)",
"native_name": "中文(香港)"
},
"zh_tw": {
"flag": "🇹🇼",
"name": "Chinese (Taiwan)",
"native_name": "中文(台灣)"
},
"zu": {
"flag": "🇿🇦",
"name": "Zulu",
"native_name": "isiZulu"
}
} }