UNPKG

kiril-lotin

Version:

O'zbek tilida kiril va lotin o'rtasida konvertatsiya qilish uchun oddiy modul

93 lines (92 loc) 1.57 kB
const kirilToLotinMap = { А: "A", а: "a", Б: "B", б: "b", В: "V", в: "v", Г: "G", г: "g", Д: "D", д: "d", Е: "E", е: "e", Ё: "Yo", ё: "yo", Ж: "J", ж: "j", З: "Z", з: "z", И: "I", и: "i", Й: "Y", й: "y", К: "K", к: "k", Л: "L", л: "l", М: "M", м: "m", Н: "N", н: "n", О: "O", о: "o", П: "P", п: "p", Р: "R", р: "r", С: "S", с: "s", Т: "T", т: "t", У: "U", у: "u", Ф: "F", ф: "f", Х: "X", х: "x", Ц: "Ts", ц: "ts", Ч: "Ch", ч: "ch", Ш: "Sh", ш: "sh", Щ: "Sh", щ: "sh", Ъ: "", ъ: "", Ы: "I", ы: "i", Ь: "", ь: "", Э: "E", э: "e", Ю: "Yu", ю: "yu", Я: "Ya", я: "ya", Ў: "O‘", ў: "o‘", Ғ: "G‘", ғ: "g‘", Қ: "Q", қ: "q", Ҳ: "H", ҳ: "h", }; const lotinToKirilMap = Object.fromEntries(Object.entries(kirilToLotinMap).map(([k, v]) => [v, k])); function kirilToLotin(text) { return text .split("") .map((ch) => kirilToLotinMap[ch] || ch) .join(""); } function lotinToKiril(text) { const patterns = Object.entries(lotinToKirilMap).sort((a, b) => b[0].length - a[0].length); // uzunroq match birinchi let result = text; for (let [lt, kr] of patterns) { result = result.split(lt).join(kr); } return result; } export { kirilToLotin, lotinToKiril };