Managing suffixes

In the Esperanto language are many suffixes and endings that allow very long words to be constructed. When choosing a word from the lexical model of a touch keyboard, it would be very useful if you could add some suffixes to the word, as needed, simply by pressing a key. I then wrote a test keyboard for handling some suffixes, as shown in the image below, where the “levels” represent the position of the suffix from the end of the word, and the “keys” are the ones to press to alternate between the different suffixes :


So, for example, if you write the word “vivo”, which means “life” and press the “1” key on your keyboard, it becomes “vivon”. If you press it again, it becomes “vivoj”. Now, if you press the “2” key, it becomes “vivaj”. If you now press the “4” key, it becomes “vivantaj”. But some sequences are not possible, like “ejn”, so I had to handle them in the code.

Since there are so many possible combinations, I invented a method to manage all these suffixes, writing a relatively short code. So I would like to know if you think this is a good method or if there might be a better one.

Thanks (13.9 KB)

Hello @joshua_horton, is there any recommendation for the method for lexical model here?

@anvaolon has invented the method to manage all these suffixes. Whether this is a good method or do you suggest a better one?

At some point in the future, we’d like to add some kind of support for agglutinative models, which would be better suited to predicting words in the manner you describe for Esperanto.

[…] many suffixes and endings that allow very long words to be constructed.

Chainable part-of-speech extensions like this are pretty common with agglutinative languages, and Wikipedia does mention Esperanto as being this type of language. Unfortunately, work on those will likely not be any time soon, given all the other things that also need doing. Even then, we probably would instead allow selecting a suggestion that would then provide new suggestions corresponding to your shortcuts, rather than enabling special keyboard shortcuts like this.

At this time, we don’t have any sort of direct keyboard interaction with model functionality like what you’ve arranged with your keyboard. If you wanted to make this into a specialized keyboard for use with an Esperanto lexical model, be my guest, but functionality of this sort would need to be handled by specific keyboards… like the one you’ve put together here.

You’d probably want information about this feature either in your keyboard’s welcome page or in its main help page, since use of numbers for this is probably not immediately obvious to other speakers.

Hopefully that answers your question?

1 Like

@joshua_horton Jes, thank you very much.