UNPKG

sentencex

Version:
258 lines (248 loc) 3.06 kB
import BaseLanguage from '../base.js' const MONTHS = new Set([ 'Január', 'Február', 'Marec', 'Apríl', 'Máj', 'Jún', 'Júl', 'August', 'September', 'Október', 'November', 'December', 'Januára', 'Februára', 'Marca', 'Apríla', 'Mája', 'Júna', 'Júla', 'Augusta', 'Septembra', 'Októbra', 'Novembra', 'Decembra' ]) const romanNumerals = 'i ii iii iv v vi vii viii ix x xi xii xiii xiv x xi xii xiii xv xvi xvii xviii xix xx' const romanNumeralsSet = new Set([...romanNumerals.split(' '), ...romanNumerals.toUpperCase().split(' ')]) const abbreviations = new Set([ ...romanNumeralsSet, 'a. d', 'a. g. p', 'a. i. i', 'a. k. a', 'a. m', 'a. r. k', 'a. s. a. p', 'a. s', 'a. v', 'a.d', 'a.g.p', 'a.i.i', 'a.k.a', 'a.m', 'a.s.a.p', 'a.s', 'a.v', 'akad', 'al', 'apod', 'arm', 'atď.', 'atd', 'atď', 'bc', 'bros', 'c. k', 'c.k', 'č', 'cca', 'co', 'corp', 'čs', 'csc', 'čsl', 'd. c', 'd.c', 'doc', 'dr', 'drsc', 'e. t', 'e.t', 'el', 'etc', 'ev', 'gen', 'hl', 'hod', 'i. b', 'i.b', 'ii', 'iii', 'inc', 'ind', 'ing', 'iv', 'jr', 'judr', 'k. o', 'k.o', 'kol', 'konkr', 'kt', 'll. m', 'll.m', 'ltd', 'm. n. m', 'm.n.m', 'm.o', 'max', 'mgr', 'mil', 'min', 'ml', 'mld', 'mr', 'mudr', 'mvdr', 'n. a', 'n. o', 'n. w. a', 'n.a', 'n.o', 'n.w.a', 'nám', 'napr', 'např', 'naprk', 'nár', 'nešp', 'no', 'nr', 'o. c. p', 'o. f. i', 'o. k', 'o. z', 'o.c.p', 'o.f.i', 'o.i', 'o.k', 'o.z', 'obr', 'obv', 'odd', 'ods', 'os', 'p. a', 'p. n. l', 'p. s', 'p.a', 'p.n.l', 'p.s', 'p', 'paeddr', 'pedg', 'ph. d', 'ph.d', 'phd', 'phdr', 'písm', 'plgr', 'pod', 'pok', 'pol. pr', 'pol.pr', 'por', 'pozn', 'pp', 'pr', 'prek', 'príp', 'prof', 'r. o', 'r.o', 'red', 'resp', 'rndr', 'roz', 'rozh', 'rsdr', 'rtg', 's. a', 's. e. g', 'š. p', 's. r. o', 's.a', 's.e.g', 'š.p', 's.r.o', 'skr', 'sl', 'slov', 'soc', 'sp', 'spol', 'sr', 'st', 'št', 'stor', 'str', 'stred', 'súkr', 'sv', 'sz', 't. č', 't. j', 't. z', 't.č', 't.j', 't.z', 'tel', 'tis', 'tj', 'tr', 'tu', 'tvz', 'tz', 'tzn', 'tzv', 'ú. p. v. o', 'u. s', 'ú.p.v.o', 'u.s', 'ul', 'v. sp', 'v.sp', 'var', 'vi', 'viď', 'vs', 'vyd', 'vz', 'xx', 'z. z', 'z.z', 'zák', 'zb', 'zdravot', 'zs', 'zz' ]) export default class Slovak extends BaseLanguage { static abbreviations = abbreviations continueInNextWord (textAfterBoundary) { if (textAfterBoundary.match(/^\W*[0-9a-z]/)) { return true } const nextWord = textAfterBoundary.trim().split(' ')[0] if (!nextWord.length) { return false } if (MONTHS.has(nextWord) || MONTHS.has(nextWord[0].toUpperCase() + nextWord.slice(1))) { return true } return false } }