Working with the Keyman Cloud Lexical Models Repository
The Keyman Cloud repository is the master source for all lexical models distributed within the Keyman mobile apps. The use of these dictionaries started with Keyman 12.
The Keyman Lexical Models Repository
Keyman can automatically download lexical models that are shared through our open source lexical model repository on github.com:
From these source files, we build the lexical models that can be downloaded from the Keyman mobile apps.
These lexical models are open source. This means that you can download the dictionaries yourself and improve them, and we hope you will contribute your own lexical models to this repository for all to use.
Why You Should Contribute
- Version Control:
- Automatic Lexical Model Updates
Configuring your lexical model in the lexical-models repository helps ensure that users can find and download your lexical model from their Keyman mobile apps. The source files for your lexical model will remain in the GitHub repository mentioned above so you'll be able to find the source for future updates.
Configuring your lexical model source in GitHub helps lexical model maintainers track the history of changes in your dictionary.
The catalog of Keyman lexical models is automatically rebuilt when updates to the lexical-models repo are made, and your lexical-model users will receive notifications in their Keyman mobile apps when newer lexical model versions become available.
How the Repository is Organized
The "release" section of the repository (contained in the "release" folder) contains lexical models that have complete source files and documentation. These are made available to the Keyman mobile apps.
The "example" section of the repository (in the "sample" folder) contains shorter lexical models (sub 1000 entries) that are intended for demonstration purposes. They may be bundled with KMSample apps as a guide on adding and associating a lexical model with a keyboard.
Within each section of the folders, models are further grouped by the template author / author.bcp47.uniq.
For example, the folder structure may be:
The components must be lower case and are:
- author: a shortened string/abbreviation of the author or group, such as nrc or sil
- bcp47: the canonical BCP 47 language tag for the model. For example str for SENĆOŦEN
- uniq: an optional unique identifier that can be provided when a language has multiple models from a single author. For example, example.en.custom vs example.en.wordlist. We do recommend always using a unique string even if there are no current plans to produce more than one for a language.