language-scripts-map
Version:
[DEPRECATED] A reliable mapping of language codes to their default writing scripts (Latin, Cyrillic, Arabic, Devanagari, etc.).
406 lines (403 loc) • 6.39 kB
JavaScript
;
// src/data.ts
var languageScriptsMap = {
// Latin script languages
en: "Latn",
// English
fr: "Latn",
// French
de: "Latn",
// German
es: "Latn",
// Spanish
it: "Latn",
// Italian
pt: "Latn",
// Portuguese
nl: "Latn",
// Dutch
pl: "Latn",
// Polish
tr: "Latn",
// Turkish
sv: "Latn",
// Swedish
da: "Latn",
// Danish
no: "Latn",
// Norwegian
fi: "Latn",
// Finnish
cs: "Latn",
// Czech
sk: "Latn",
// Slovak
hu: "Latn",
// Hungarian
ro: "Latn",
// Romanian
bg: "Latn",
// Bulgarian
hr: "Latn",
// Croatian
sl: "Latn",
// Slovenian
et: "Latn",
// Estonian
lv: "Latn",
// Latvian
lt: "Latn",
// Lithuanian
ga: "Latn",
// Irish
cy: "Latn",
// Welsh
gd: "Latn",
// Scottish Gaelic
is: "Latn",
// Icelandic
fo: "Latn",
// Faroese
mt: "Latn",
// Maltese
ca: "Latn",
// Catalan
gl: "Latn",
// Galician
eu: "Latn",
// Basque
id: "Latn",
// Indonesian
ms: "Latn",
// Malay
vi: "Latn",
// Vietnamese
tl: "Latn",
// Tagalog
sw: "Latn",
// Swahili
zu: "Latn",
// Zulu
af: "Latn",
// Afrikaans
st: "Latn",
// Southern Sotho
xh: "Latn",
// Xhosa
ss: "Latn",
// Swati
nr: "Latn",
// Southern Ndebele
tn: "Latn",
// Tswana
ts: "Latn",
// Tsonga
ve: "Latn",
// Venda
ny: "Latn",
// Chichewa
yo: "Latn",
// Yoruba
ig: "Latn",
// Igbo
ha: "Latn",
// Hausa
ff: "Latn",
// Fulah
wo: "Latn",
// Wolof
dy: "Latn",
// Dyula
bm: "Latn",
// Bambara
sg: "Latn",
// Sango
ln: "Latn",
// Lingala
rw: "Latn",
// Kinyarwanda
rn: "Latn",
// Rundi
ki: "Latn",
// Kikuyu
lu: "Latn",
// Luba-Katanga
lg: "Latn",
// Ganda
nyn: "Latn",
// Nyankole
cgg: "Latn",
// Chiga
teo: "Latn",
// Teso
kln: "Latn",
// Kalenjin
kam: "Latn",
// Kamba
mer: "Latn",
// Meru
om: "Latn",
// Oromo
ti: "Latn",
// Tigrinya
so: "Latn",
// Somali
am: "Latn",
// Amharic
wal: "Latn",
// Wolaytta
sid: "Latn",
// Sidamo
guz: "Latn",
// Gusii
dav: "Latn",
// Taita
// Cyrillic script languages
ru: "Cyrl",
// Russian
uk: "Cyrl",
// Ukrainian
be: "Cyrl",
// Belarusian
sr: "Cyrl",
// Serbian
mk: "Cyrl",
// Macedonian
kk: "Cyrl",
// Kazakh
ky: "Cyrl",
// Kyrgyz
tg: "Cyrl",
// Tajik
mn: "Cyrl",
// Mongolian
uz: "Cyrl",
// Uzbek
tt: "Cyrl",
// Tatar
ba: "Cyrl",
// Bashkir
cv: "Cyrl",
// Chuvash
sah: "Cyrl",
// Yakut
os: "Cyrl",
// Ossetic
ce: "Cyrl",
// Chechen
av: "Cyrl",
// Avaric
kbd: "Cyrl",
// Kabardian
ady: "Cyrl",
// Adyghe
ab: "Cyrl",
// Abkhazian
// Arabic script languages
ar: "Arab",
// Arabic
fa: "Arab",
// Persian
ur: "Arab",
// Urdu
ps: "Arab",
// Pashto
ku: "Arab",
// Kurdish
sd: "Arab",
// Sindhi
pa: "Arab",
// Punjabi (Gurmukhi script is also used)
he: "Hebr",
// Hebrew
yi: "Hebr",
// Yiddish
// Indic scripts
hi: "Deva",
// Hindi
bn: "Beng",
// Bengali
te: "Telu",
// Telugu
ta: "Taml",
// Tamil
ml: "Mlym",
// Malayalam
kn: "Knda",
// Kannada
gu: "Gujr",
// Gujarati
mr: "Deva",
// Marathi
ne: "Deva",
// Nepali
si: "Sinh",
// Sinhala
dz: "Tibt",
// Dzongkha
bo: "Tibt",
// Tibetan
// East Asian scripts
zh: "Hans",
// Chinese (Simplified)
zh_TW: "Hant",
// Chinese (Traditional)
ja: "Jpan",
// Japanese
ko: "Kore",
// Korean
th: "Thai",
// Thai
lo: "Laoo",
// Lao
km: "Khmr",
// Khmer
my: "Mymr",
// Burmese
// Other scripts
el: "Grek",
// Greek
ka: "Geor",
// Georgian
hy: "Armn"
// Armenian
};
var SCRIPT_GROUPS = {
RTL: ["Arab", "Hebr", "Syrc", "Thaa", "Nkoo", "Mend", "Adlm", "Rohg"],
LTR: [
"Latn",
"Cyrl",
"Deva",
"Beng",
"Guru",
"Gujr",
"Orya",
"Taml",
"Telu",
"Knda",
"Mlym",
"Sinh",
"Thai",
"Laoo",
"Tibt",
"Mymr",
"Khmr",
"Mong",
"Hani",
"Hira",
"Kana",
"Hang",
"Ethi",
"Cher",
"Cans",
"Ojib",
"Runr",
"Tfng",
"Vaii",
"Bamu",
"Lisu",
"Visp",
"Osge",
"Osma",
"Elba",
"Aghb",
"Cauc",
"Vith",
"Phnx",
"Lydi",
"Mero",
"Narb",
"Palm",
"Nbat",
"Hatr",
"Phli",
"Prti",
"Avst",
"Pcun",
"Phlp",
"Phlv",
"Phnx",
"Plrd",
"Prti",
"Qaak",
"Rjng",
"Roro",
"Runr",
"Samr",
"Sara",
"Saur",
"Sgnw",
"Shaw",
"Shrd",
"Sidd",
"Sind",
"Sinh",
"Sora",
"Sund",
"Sylo",
"Syrc",
"Tagb",
"Takr",
"Tale",
"Talu",
"Taml",
"Tang",
"Tavt",
"Telu",
"Teng",
"Tfng",
"Tglg",
"Thaa",
"Thai",
"Tibt",
"Tirh",
"Ugar",
"Vaii",
"Visp",
"Wara",
"Wcho",
"Xpeo",
"Xsux",
"Yiii",
"Zanb",
"Zinh",
"Zmth",
"Zsye",
"Zsym",
"Zxxx",
"Zyyy",
"Zzzz"
]
};
// src/index.ts
var languageScriptsMap2 = Object.freeze(languageScriptsMap);
var SCRIPT_GROUPS2 = Object.freeze(SCRIPT_GROUPS);
function getScriptByLanguageCode(languageCode) {
if (!languageCode) return void 0;
return languageScriptsMap2[languageCode.toLowerCase()];
}
function getLanguagesByScript(scriptCode) {
if (!scriptCode) return [];
const normalizedScript = scriptCode.toUpperCase();
return Object.entries(languageScriptsMap2).filter(([_, script]) => script.toUpperCase() === normalizedScript).map(([lang]) => lang);
}
function isValidScript(scriptInput) {
if (!scriptInput) return false;
const normalizedScript = scriptInput.toUpperCase();
return Object.values(languageScriptsMap2).some(
(script) => script.toUpperCase() === normalizedScript
);
}
function isScriptMatch(languageCode, scriptInput) {
if (!languageCode || !scriptInput) return false;
const langScript = getScriptByLanguageCode(languageCode);
return langScript?.toUpperCase() === scriptInput.toUpperCase();
}
exports.SCRIPT_GROUPS = SCRIPT_GROUPS2;
exports.getLanguagesByScript = getLanguagesByScript;
exports.getScriptByLanguageCode = getScriptByLanguageCode;
exports.isScriptMatch = isScriptMatch;
exports.isValidScript = isValidScript;
exports.languageScriptsMap = languageScriptsMap2;
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map