FrankenKeys · thirty dictionaries, in the box

FrankenKeys in 30 languages, all on device

The thirty languages FrankenKeys ships with prediction, autocorrect and swipe, every dictionary inside the app, no download. Also the ones it lacks.

Thirty languages, each with a frequency-ranked dictionary and a word-pair table inside the package, so there is nothing to download and no server that learns which language you speak. Prediction, autocorrect and swipe work in all of them, and you can type in two at once.

The thirty

Language Native name Also known here as
English English English keyboard
Afrikaans Afrikaans Afrikaans keyboard
Basque Euskara Basque keyboard
Catalan Català Catalan keyboard
Croatian Hrvatski Croatian keyboard
Czech Čeština Czech keyboard
Danish Dansk Danish keyboard
Dutch Nederlands Dutch keyboard
Estonian Eesti Estonian keyboard
Filipino Filipino Tagalog keyboard
Finnish Suomi Finnish keyboard
French Français French keyboard
Galician Galego Galician keyboard
German Deutsch German keyboard
Hungarian Magyar Hungarian keyboard
Icelandic Íslenska Icelandic keyboard
Indonesian Bahasa Indonesia Indonesian keyboard
Italian Italiano Italian keyboard
Latvian Latviešu Latvian keyboard
Lithuanian Lietuvių Lithuanian keyboard
Malay Bahasa Melayu Malay keyboard
Norwegian Norsk Norwegian keyboard
Polish Polski Polish keyboard
Portuguese Português Portuguese keyboard
Romanian Română Romanian keyboard
Slovak Slovenčina Slovak keyboard
Slovenian Slovenščina Slovenian keyboard
Spanish Español Spanish keyboard
Swedish Svenska Swedish keyboard
Turkish Türkçe Turkish keyboard

Each language brings its own accented letters to the long-press popups when it is your primary or your "also type in" language, and suggests the layout it naturally types on: QWERTZ for Czech and Croatian, the Spanish QWERTY variant for Catalan and Basque, the Nordic layout for Danish and Norwegian. The language key cycles through whichever of the thirty you have chosen.

What is in a dictionary

Two plain-text files: a word list ranked by frequency, and a word-pair list. Twenty-seven of the thirty carry exactly 25,000 words and 30,000 pairs. English carries 25,008 and 27,434. Tagalog carries 9,877 and 5,012, Afrikaans 17,576 and 15,494, because their source lists are shorter and were not padded. English is packed from Peter Norvig's web n-gram counts; the other twenty-nine from the MIT-licensed hermitdave/FrequencyWords lists, derived from the OpenSubtitles 2018 corpus. All thirty together are about 6.5 megabytes compressed in the package, and the engine opens only the one or two you have selected. The build log.

N/I

The dictionaries are readable files. Pull the APK and list assets/dict/: sixty text files, two per language. Open any one; it is a lowercase word list, one per line, most frequent first. How to pull the package.

Two at once

Since 3.13.0 the engine ranks candidates across two active languages together, so a Spanish speaker texting in English does not have to switch to type "mañana". Learned words are kept per language, in app-private storage on the phone, and never uploaded because nothing is.

Voice in these languages

Dictation tells Android's recogniser which language you are typing in. Whether the phone has an offline model for that language is the system's business, not the keyboard's: on Android 12 and later, FrankenKeys only uses the on-device recogniser, and if it reports the language unavailable, dictation stops. The voice page.

The languages it does not have

Arabic, Vietnamese, Hindi, Chinese, Japanese, Korean, Russian, Greek, Hebrew, Thai, and every other non-Latin script. The thirty above are the Latin-script languages for which a clean public frequency corpus and a testable layout existed. Non-Latin scripts need an input method, not only a dictionary, and shipping a bad one would be worse than shipping none. If your language is on this list, FrankenKeys is not yet the keyboard for you, and this page will change before the listing does.

Languages

30

Words per language

25000 for 27 of 30

Word pairs per language

30000 for 27 of 30

Downloads required

None

The thirtieth language cost the same as the second: two text files and a layout. A thirty-first Latin-script language is a pull of a public corpus away.