language-codes-collection
Version:
[DEPRECATED] A clean, typed, and reliable dataset of ISO 639-1 and 639-2 language codes — complete with English names, native names, and writing scripts.
131 lines (128 loc) • 3.01 kB
JavaScript
;
// src/data/languages.json
var languages_default = [
{
code6391: "en",
code6392: "eng",
englishName: "English",
nativeName: "English",
script: "Latn"
},
{
code6391: "es",
code6392: "spa",
englishName: "Spanish",
nativeName: "Espa\xF1ol",
script: "Latn"
},
{
code6391: "fr",
code6392: "fra",
englishName: "French",
nativeName: "Fran\xE7ais",
script: "Latn"
},
{
code6391: "de",
code6392: "deu",
englishName: "German",
nativeName: "Deutsch",
script: "Latn"
},
{
code6391: "it",
code6392: "ita",
englishName: "Italian",
nativeName: "Italiano",
script: "Latn"
},
{
code6391: "pt",
code6392: "por",
englishName: "Portuguese",
nativeName: "Portugu\xEAs",
script: "Latn"
},
{
code6391: "ru",
code6392: "rus",
englishName: "Russian",
nativeName: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439",
script: "Cyrl"
},
{
code6391: "zh",
code6392: "zho",
englishName: "Chinese",
nativeName: "\u4E2D\u6587",
script: "Hans"
},
{
code6391: "ja",
code6392: "jpn",
englishName: "Japanese",
nativeName: "\u65E5\u672C\u8A9E",
script: "Jpan"
},
{
code6391: "ko",
code6392: "kor",
englishName: "Korean",
nativeName: "\uD55C\uAD6D\uC5B4",
script: "Hang"
},
{
code6391: "ar",
code6392: "ara",
englishName: "Arabic",
nativeName: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629",
script: "Arab"
},
{
code6391: "hi",
code6392: "hin",
englishName: "Hindi",
nativeName: "\u0939\u093F\u0928\u094D\u0926\u0940",
script: "Deva"
}
];
// src/index.ts
var languages = languages_default;
var languageMap = Object.freeze(
languages.reduce((acc, lang) => {
acc[lang.code6391] = lang;
return acc;
}, {})
);
function getLanguageByCode(code) {
if (!code) return void 0;
const normalizedCode = code.toLowerCase();
const by6391 = languageMap[normalizedCode];
if (by6391) return by6391;
return languages.find((lang) => lang.code6392.toLowerCase() === normalizedCode);
}
function getNativeName(code) {
return getLanguageByCode(code)?.nativeName;
}
function getScript(code) {
return getLanguageByCode(code)?.script;
}
function isValidLanguageCode(code) {
return getLanguageByCode(code) !== void 0;
}
function searchLanguageByName(query) {
if (!query) return [];
const normalizedQuery = query.toLowerCase();
return languages.filter(
(lang) => lang.englishName.toLowerCase().includes(normalizedQuery) || lang.nativeName.toLowerCase().includes(normalizedQuery)
);
}
exports.getLanguageByCode = getLanguageByCode;
exports.getNativeName = getNativeName;
exports.getScript = getScript;
exports.isValidLanguageCode = isValidLanguageCode;
exports.languageMap = languageMap;
exports.languages = languages;
exports.searchLanguageByName = searchLanguageByName;
//# sourceMappingURL=index.cjs.map
//# sourceMappingURL=index.cjs.map