Localization
KeyboardKit makes it easy to create multi-language keyboards, and provides many language-specific features.
The main KeyboardView and other features like keyboard layouts and callouts are all automatically localized when you change the selected locale.
Languages
KeyboardKit supports 117 languages, where each supported language defines locale-specific keyboard layouts, secondary callout actions, and localized strings and resources.
Autocomplete
KeyboardKit uses on-device system capabilities to provide autocomplete for some languages, which is also used to power autocorrections, predictions, and predictive typing.
Dictation
KeyboardKit uses on-device system capabilities to implement dictation for some languages. A dictation session can be started in the keyboard, by opening the main app to initialize dictation, then returning to the keyboard.
Diacritics
KeyboardKit support diacritics, which can be defined with Unicode combination marks or explicit replacement dictionaries. Some languages share diacritics like .acute, while languages like Khmer define their own.
Extensions
KeyboardKit extends Foundation.Locale with keyboard-specific functionality. For a full list of extensions, see the online documentation.
Input Engines
KeyboardKit has language-specific input engines for some languages, like Korean (Hangul), Kurdish (key replacements), and Vietnamese (TELEX, VIQR, and VNI).
Text Directions
KeyboardKit supports LTR (Left-To-Right) and RTL locales. You don’t need to do anything to support RTL. Just change the locale and KeyboardKit will automatically adjusts the keyboard.
KeyboardKit Pro
KeyboardKit Pro unlocks localized keyboard layouts and callouts for every locale in your license, which lets you create fully localized keyboards with no additional code. It also unlocks language-specific tools for some locales.
Documentation
The information on this page has been shortened to be easier to overview and keep up to date. For a complete feature description, see the online documentation.