Overview
Flexible localization support is an important part of a software keyboard. A keyboard should be able to easily change the locale without major code changes.
In KeyboardKit, all keyboardKitSupported
locales define localized strings, assets, and locale-specific information. KeyboardKit also extends the native Locale
with additional capabilities.
KeyboardKit Pro unlocks localized input sets, layouts, callout actions & services for all locales.
Supported locales
KeyboardKit supports 70 locales:
๐บ๐ธ ๐ฆ๐ฑ ๐ฆ๐ช ๐ฆ๐ฒ ๐ง๐พ ๐ง๐ฌ ๐ฆ๐ฉ ๐ณ๏ธ ๐ญ๐ท ๐จ๐ฟ ๐ฉ๐ฐ ๐ณ๐ฑ ๐ง๐ช ๐ฆ๐บ ๐จ๐ฆ ๐ฌ๐ง ๐บ๐ธ ๐ช๐ช ๐ซ๐ด ๐ต๐ญ ๐ซ๐ฎ ๐ซ๐ท ๐จ๐ฆ ๐ง๐ช ๐จ๐ญ ๐ฌ๐ช ๐ฉ๐ช ๐ฆ๐น ๐จ๐ญ ๐ฌ๐ท ๐บ๐ธ ๐ฎ๐ฑ ๐ญ๐บ ๐ฎ๐ธ ๐ณ๏ธ ๐ฎ๐ฉ ๐ฎ๐ช ๐ฎ๐น ๐ฐ๐ฟ ๐น๐ฏ ๐น๐ฏ ๐น๐ฏ ๐ฑ๐ป ๐ฑ๐น ๐ฒ๐ฐ ๐ฒ๐พ ๐ฒ๐น ๐ฒ๐ณ ๐ณ๏ธ ๐ณ๐ด ๐ณ๐ด ๐ฎ๐ท ๐ต๐ฑ ๐ต๐น ๐ง๐ท ๐ท๐ด ๐ท๐บ ๐ท๐ธ ๐ท๐ธ ๐ธ๐ฐ ๐ธ๐ฎ ๐ช๐ธ ๐ฆ๐ท ๐ฒ๐ฝ ๐ธ๐ช ๐ฐ๐ช ๐น๐ท ๐บ๐ฆ ๐บ๐ฟ ๐ด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ
Locale capabilities
Each keyboard supported Locale
has additional keyboard-specific information and capabilities, as well as localized assets and strings that can be translated with the KKL10n
enum.
You can use the KeyboardContext
to get and set the current locale and all available locales. If it has multiple locales, you can use selectNextLocale()
or the .nextLocale
action to quickly change locale.
Setting the locale updates the controllerโs primaryLanguage
, which controls things like spellchecking and text direction. It will also set the display name in the system keyboard switcher.
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 automatically adjusts the keyboard.
Views
The locale ContextMenu
lets you select locales from a context menu. The KeyboardView
applies it to every key that triggers the nextLocale
action, as well as to space when itโs set up to open the menu.
You can also add this menu to any view with the .keyboardLocaleContextMenu(for:...)
view modifier.
๐ KeyboardKit Pro
KeyboardKit Pro unlocks a localized InputSet
, KeyboardLayoutService
& KeyboardCalloutService
for every KeyboardLocale
that your license unlocks.
KeyboardKit Pro can this create fully localized KeyboardView
for all locales, with no additional code.
Documentation
The information on this page is shortened to be easier to overview. For more information see the online documentation, or the KeyboardKit Pro documentation.
Core Features
KeyboardKit is packed with features. You can upgrade to KeyboardKit Pro to unlock pro features.
Essentials
KeyboardKit provides essential features, utilities & views.
Actions
KeyboardKit makes it easy to handle keyboard actions.
App
KeyboardKit makes it easy to set up your app and its keyboard.
Callouts
KeyboardKit can show input and secondary action callouts.
Emojis
KeyboardKit defines emojis, emoji categories, skin tones, etc.
Feedback
KeyboardKit can trigger audio & haptic feedback.
Gestures
KeyboardKit can trigger & handle rich keyboard gestures.
Layout
KeyboardKit has fully dynamic & customizable layout engine.
Localization
KeyboardKit supports 70 locales, with localized resources.
Navigation
KeyboardKit lets you open urls and apps from the keyboard.
Previews
KeyboardKit has built-in support for SwiftUI previews.
Proxy Utilities
KeyboardKit lets the document proxy do a LOT more.
Settings
KeyboardKit has tools for in-app settings & System Settings.
Status
KeyboardKit detects if a keyboard is enabled, has full access, etc.
Styling
KeyboardKit lets you style your keyboards to great extent.
๐ Pro Features
KeyboardKit Pro unlocks powerful pro features to take your keyboard extension to the next level.
Essentials
KeyboardKit Pro unlocks more essential views & utilities.
AI Support
KeyboardKit Pro unlocks features that are needed for AI.
App
KeyboardKit Pro unlocks app-specific screens & views.
Autocomplete
KeyboardKit Pro unlocks local & remote autocomplete.
Callouts
KeyboardKit Pro unlocks callout actions for all locales.
Dictation
KeyboardKit Pro can trigger dictation from the keyboard.
Emoji Keyboard
KeyboardKit Pro unlocks an emoji keyboard & search capabilities.
External Keyboards
KeyboardKit Pro can detect if an external keyboard is being used.
Host
KeyboardKit Pro can identify and open specific host applications.
Layout
KeyboardKit Pro unlocks input sets & layouts for all locales.
Localization
KeyboardKit Pro unlocks support for 70 locales.
Previews
KeyboardKit Pro unlocks in-app keyboard & theme previews.
Proxy Utilities
KeyboardKit Pro makes the proxy able to read the full document.
Text Input
KeyboardKit Pro unlocks tools to let you type within the keyboard
Themes
KeyboardKit Pro unlocks a theme engine & many standard themes.