Hi!
There are multiple solutions I can recommend, depending on your requirements.
1. Using the Synonyms interface. This is a global solution, not too difficult to configure, the documentation describes all the neccessary steps and pre-requesites. No coding is required in this case, however it only works for Post Type results (Posts, pages, products, etc..)
2. Using the additional keywords meta-box feautre. It is very easy to use, however it must be defined for each post individually.
3. Using this custom code. This lets you define keyword replacements for the input search phrase itself. It can be used in this case as well, as you can define either the singular -> plural, or the plural->singular definitiions, whichever you prefer.
There is no better ‘automatic’ resolution, as this is a language dependend feature, and unfortunately there is no usable/compact library that we could include within the plugin.
I hope this helps!