UNPKG

taraskevizer

Version:

Канвэртацыя акадэмічнага правапісу ў клясычны

143 lines (142 loc) 4.63 kB
import { iwords } from '../iwords.js'; import { callableDict } from '../lib.js'; import { re } from '../../lib/index.js'; const common = { lower: [ [ [/(?<=[аеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)е/g, 'je'], [/(?<=[eаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)ё/g, 'jo'], [/(?<=[eoаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)ю/g, 'ju'], [/(?<=[eouаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)я/g, 'ja'], ], [ [/ʼ/g, ''], [/ць/g, 'ć'], [/зь/g, 'ź'], [/сь/g, 'ś'], [/нь/g, 'ń'], [/ль/g, 'l'], [/лі/g, 'li'], [/ля/g, 'la'], [/лё/g, 'lo'], [/лю/g, 'lu'], [/ле/g, 'le'], [/а/g, 'a'], [/б/g, 'b'], [/в/g, 'v'], [/г/g, 'h'], [/ґ/g, 'g'], [/д/g, 'd'], [/е/g, 'ie'], [/ё/g, 'io'], [/ж/g, 'ž'], [/з/g, 'z'], [/і/g, 'i'], [/й/g, 'j'], [/к/g, 'k'], [/л/g, 'ł'], [/м/g, 'm'], [/н/g, 'n'], [/о/g, 'o'], [/п/g, 'p'], [/р/g, 'r'], [/с/g, 's'], [/т/g, 't'], [/у/g, 'u'], [/ў/g, 'ŭ'], [/ф/g, 'f'], [/х/g, 'ch'], [/ц/g, 'c'], [/ч/g, 'č'], [/ш/g, 'š'], [/ы/g, 'y'], [/э/g, 'e'], [/ю/g, 'iu'], [/я/g, 'ia'], ], ], upper: [ [ [/ Е(?=[ \p{P}\d]*\p{Lu}?\p{Ll})/gu, ' Je'], [/ Ё(?=[ \p{P}\d]*\p{Lu}?\p{Ll})/gu, ' Jo'], [/ Ю(?=[ \p{P}\d]*\p{Lu}?\p{Ll})/gu, ' Ju'], [/ Я(?=[ \p{P}\d]*\p{Lu}?\p{Ll})/gu, ' Ja'], ], [ [/([АЕЁІОУЎЫЭЮЯЬ| ]\(?)Е/g, '$1JE'], [/([EАЕЁІОУЎЫЭЮЯЬ| ]\(?)Ё/g, '$1JO'], [/([EOАЕЁІОУЎЫЭЮЯЬ| ]\(?)Ю/g, '$1JU'], [/([EOUАЕЁІОУЎЫЭЮЯЬ| ]\(?)Я/g, '$1JA'], ], [ [/Е/g, 'IE'], [/Ё/g, 'IO'], [/Ю/g, 'IU'], [/Я/g, 'IA'], [/Ц[Ьь]/g, 'Ć'], [/З[Ьь]/g, 'Ź'], [/С[Ьь]/g, 'Ś'], [/Н[Ьь]/g, 'Ń'], [/Л[Ьь]/g, 'L'], [/А/g, 'A'], [/Б/g, 'B'], [/В/g, 'V'], [/Г/g, 'H'], [/Ґ/g, 'G'], [/Д/g, 'D'], [/Ж/g, 'Ž'], [/З/g, 'Z'], [/І/g, 'I'], [/Й/g, 'J'], [/К/g, 'K'], [/Л/g, 'Ł'], [/М/g, 'M'], [/Н/g, 'N'], [/О/g, 'O'], [/П/g, 'P'], [/Р/g, 'R'], [/С/g, 'S'], [/Т/g, 'T'], [/У/g, 'U'], [/Ў/g, 'Ŭ'], [/Ф/g, 'F'], [/ Х(?=[\p{Ll} ])/gu, ' Ch'], [/Х/g, 'CH'], [/Ц/g, 'C'], [/Ч/g, 'Č'], [/Ш/g, 'Š'], [/Ы/g, 'Y'], [/Э/g, 'E'], [/Ł[Ii](?=[AEOUaeou])/g, 'L'], [/Ł(?=[Ii])/g, 'L'], ], ], }; export const latin = { lower: callableDict([...common.lower[0], [/ʼі/g, 'ji'], ...common.lower[1]]), upper: callableDict(common.upper.flat()), }; export const latinJi = { lower: callableDict([ [/([аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і Ў/g, '$1j U'], [/([аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і ў/g, '$1j u'], [/([аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і /g, '$1j '], [/([аеёіоуыэюяАЕЁІОУЫЭЮЯ] )І Ў/g, '$1J U'], [/([аеёіоуыэюяАЕЁІОУЫЭЮЯ] )І ў/g, '$1J u'], [/([аеёіоуыэюяАЕЁІОУЫЭЮЯ] )І /g, '$1J '], [re.g(` і(?=${iwords})`), ' ji'], [re.g(` І(?=${iwords})`), ' Ji'], [re.g(` І(?=${iwords.toUpperCase()})`), ' JI'], ...common.lower[0], [/([eouaаеёіоуыэюяʼАЕЁІОУЫЭЮЯЬ] *)і/g, '$1ji'], ...common.lower[1], ]), upper: callableDict([ ...common.upper[0], [/([eoua] *)І(?=[ \p{P}\d]*\p{Lu}?\p{Ll})/gu, '$1Ji'], ...common.upper[1], [/([AOEUАЕЁІОУЎЫЭЮЯ][( ]*)І/g, '$1JI'], ...common.upper[2], [/ JIŁ -/g, ' IŁ -'], ]), };