New lexical model doesn’t offer predictions on iPhone


I am working on some keyboard prototypes for nahuatl. And I just built a lexical model for one variety of Nahuatl, following the tutorial. When I test the lexical model in the browser using the “test model” button in the Keyman developer app, I see suggestions when i choose a mobile device (eg iphone 5 or pixel) and select “system keyboard.” However when I install the .kpm file on my mobile phone (iphone 10), and select the Nahuatl variant (nhi) as my language, no predictions are visible in the Keyman keyboard.

Is there perhaps some language/script code mismatch? When building the lexical model I chose “nhi” as the language code and “euro” s the script code, and leave the region code blank, and use the “sil_euro_latin” keyboard.

Hi Robert. Welcome!
Yes, you must match the language tag in the lexical model with the language tag in the keyboard.
sil_euro_latin uses nhi so that’s what the lexical model needs.

FYI: nhi_euro wouldn’t be valid anyway. The script codes follow ISO 15924 and nhi uses Latin script anyway which is Latn in ISO 15924.

Thanks for your reply. I created a new model this time with language code “nhi” and script code “Latn”, but I have the same issue.

Specifically, it is weird because in the “test model” env in the browser, prediction/suggestion works, but not in my keyman mobile app. I’ve added screenshots of both of these cases for clarity.

I’m sure there is some other minor detail that I’m missing, but I can’t figure out what it is!

Thanks again!

I’m sorry I wasn’t clear. The language tag is simply nhi. There is no need for the script code because the default for this language is Latin so you don’t need to list Latn.

Thanks, okay that worked. Just out of curiosity, where would I be able to see the script (and script code) used by a specific keyboard?

I don’t know that there’s an obvious place if you just have the .kmp file.

If the keyboard is on our website, for example: Bengali-Assamese Phonetic (SIL) keyboard
You can look off to the right and hover your mouse over a language in “Supported Languages” and see the language code:

In the case of Sylheti it does indicate Bengali script because that’s not the default script for Sylheti. The Assamese and Bengali languages don’t show the script code because Bengali is the default.

However, if you go to the help page you can generally see the keyboard layout.


Also, the description under “Keyboard Details” sometimes tells what script is used. That is usually up to the keyboard author though what is included in the description.