I made a keyboard and Lexical Model, copied the two packages to my Android phone, downloaded Keyman from the Play Store, loaded both packages. The keyboard works, ( but predictive text is still in English. Here are the details:
I followed the instructions to make a Lexical Model for the Rossel language of Papua New Guinea (YLE), along with a keyboard for the special characters, using Keyman Developer 15.0.267. The phone is a Samsung Galaxy S7, running Android 8.0.0. The version of Keyman that I just downloaded from the Play Store is also 15.0.267. The TSV file containing the wordlist has 4247 entries. When I did Build All in the Developer, I got green messages for success.
When I was setting up Keyman on the phone, I went through the steps, as I had read about in the documentation, and loaded both the keyboard file and the dictionary file from the SD card in my phone, where they had synchronized with Resilio Sync from my Macbook. (I run Windows 10 in a virtual machine over VirtualBox, and that’s how I could run Keyman Developer.)
Is there another step that I need to do so that the predictions will come from the Rossel dictionary instead of from the English dictionary?
Is there something missing in the documentation?
Thanks for thinking about this,
The link between the keyboard and the lexical model is the language tag (BCP 47 code), which is “yle” in this case. The language tag is specified in the .kps file (the “Packaging” source file used to make the .kmp package).
For the keyboard package, use the “Keyboards” tab on the left. For the lexical model package, use the “Lexical Models” tab on the left.
If those packages don’t have a language tag in common, then the keyboard can’t use the lexical model.
If you find a language tag match, then the problem is elsewhere!
Thanks, @drowe , for that suggestion.
I looked in the android app and couldn’t find any tabs on the left, so I guessed you meant inside Keyman Developer, and then I saw them.
I opened the .kps file for the keyboard (rossel_u_1_5_colon.kps) and clicked on the Keyboard tab on the left and saw “yle” in the Languages box:
Then I opened the kps file for the Lexical Model (jim_henderson.yle.rossel_yle.model.kps), clicked Lexical Model and saw “yle” again in the Languages box:
So I guess the problem must be elsewhere
Any other ideas?
You might find the “Test on Web” functionality in Keyman Developer is very helpful here. It allows you to test your keyboard and model together on your local machine in a web browser before you deploy to a phone.
You can also use it to deploy packages pretty easily to your phone, avoiding the whole Resilio Sync juggle.
Read more on the “Test on Web” and Keyman Developer Server at https://help.keyman.com/developer/current-version/context/server.
In terms of the issue you are experiencing on your Android device, if you are getting English predictions, that suggests your keyboard was installed with ‘en’ and not ‘yle’. Make sure you have installed the packaged keyboard with the correct code.
Also, does the model show as installed in Keyman on your Android device? You’d see it listed under Settings / Installed languages / Rossel: