|
| 1 | +package com.urik.keyboard.dictionary |
| 2 | + |
| 3 | +/** |
| 4 | + * Bare forms present in source frequency corpora only as encoding artifacts of |
| 5 | + * apostrophe forms (e.g. "im" for "i'm", "jai" for "j'ai") plus OCR garbage |
| 6 | + * (e.g. "weii" for "well"). Filtered out of dictionary lookups, candidates and |
| 7 | + * completions at runtime so the apostrophe form wins spell check and autocorrect. |
| 8 | + * |
| 9 | + * All entries must be lowercase. |
| 10 | + */ |
| 11 | +object BareFormRemovelist { |
| 12 | + private val REMOVELIST: Map<String, Set<String>> = mapOf( |
| 13 | + "en" to setOf( |
| 14 | + "dont", "wont", "cant", "didnt", "doesnt", "wasnt", "isnt", "arent", |
| 15 | + "wouldnt", "couldnt", "shouldnt", "hadnt", "hasnt", "havent", |
| 16 | + "thats", "whats", "whos", "hows", "heres", "theres", "wheres", |
| 17 | + "hes", "shes", "youre", "theyre", "weve", "theyve", |
| 18 | + "youll", "theyll", "itll", "youve", "youd", "hed", "shed", "wed", |
| 19 | + "wouldve", "couldve", "shouldve", "werent", "aint", |
| 20 | + "howd", "whatre", "lm", "ld", "lll", "lts", "lve", "weii", |
| 21 | + "im", "ive", "theyd" |
| 22 | + ), |
| 23 | + "fr" to setOf( |
| 24 | + "jai", "cest", "tai", "lai", "nai", "quil", "nest", |
| 25 | + "aujourdhui", "taime", "cetait" |
| 26 | + ), |
| 27 | + "de" to setOf( |
| 28 | + "gibts", |
| 29 | + "gehts", |
| 30 | + "habs", |
| 31 | + "stimmts", |
| 32 | + "bins", |
| 33 | + "sies" |
| 34 | + ), |
| 35 | + "el" to setOf( |
| 36 | + "μένα", "σένα", "κάντο", "σενα", "παρόλα", "βάλτο", "δώστο", |
| 37 | + "κόφτο", "πάρτο", "γιαυτό", "βούλωστο", "σόλο", "απέξω", |
| 38 | + "πάρτα", "δώστου", "πάρτον", "δώσμου", "πάρτην", "βάλτα", |
| 39 | + "φέρτον", "απτο", "γιαυτο", "ρίξτου", "απτην", "ναναι", |
| 40 | + "σευχαριστώ", "μαρέσει", "σαυτό", "απτη", "θαναι", "σαγαπώ", |
| 41 | + "απτον", "σουπα", "γιαυτόν", "απαυτά", "απτα", "απότι", |
| 42 | + "νασαι", "σαρέσει", "απαυτό", "γιαυτήν", "σαυτή", "μαυτό", |
| 43 | + "σαγαπάω", "ναχει", "θαπρεπε", "σαυτόν", "απόλα", "ναμαι", |
| 44 | + "γιαυτά", "απτους", "γιαυτή", "θαμαι", "γιαυτούς", "θαθελα", |
| 45 | + "απτις", "απόσο", "οσι", "σαυτο", "μαρέσουν", "σόλους", |
| 46 | + "θαρθει", "ναμαστε", "σταλήθεια", "μόλα", "αποτι", "θαταν", |
| 47 | + "εφόσων", "τοχω", "γιαυτον", "θασαι", "μακούς", "γιαυτα", |
| 48 | + "μαυτόν", "σαφήσω", "απαυτούς", "σαυτά", "θαχει", "γιαυτην", |
| 49 | + "τοξερα", "μαυτή", "τόνομα", "θαχεις", "σέχω", "μαυτά", |
| 50 | + "σέναν", "τοκανες" |
| 51 | + ), |
| 52 | + "cs" to setOf("dont", "its"), |
| 53 | + "nl" to setOf("fotos", "autos"), |
| 54 | + "it" to setOf("lho", "dacqua") |
| 55 | + ) |
| 56 | + |
| 57 | + fun forLanguage(languageCode: String): Set<String> = REMOVELIST[languageCode] ?: emptySet() |
| 58 | +} |
0 commit comments