Some languages, especially Slavic languages, change the ending of the names of people in accordance with the grammatical context. (For those of you who know grammar or learn languages that do this with words like German or Russian, and to help with search keywords, I'm talking about a noun.)
This is perhaps the easiest way with a set of examples (in Polish to save the whole problem with different alphabets):
- Dorothy saw the cat - Dorota zobaczyła kota li>
- The cat saw Dorothy - Cat zobaczył Dorotę
- This is Dorothy's Cat - To Joke Dorothy's Cat
- I gave the cat Dorothy - Dałam kota Dorotie
- I went for a walk with Dorothy - Poszłam na spacer z Dorotą
- "Hello Dorothy!" - "Vitam, Doroto!"
Now, if the name is to be entered by the user in these examples, this introduces the world of nightmares in grammar. It is important to note that if I go for Katie (Kasya), the examples are not directly comparable - 3 and 4 are both Kasi and Kasi and * Kasie - and the male names will be completely different again .
I assume that someone has dealt with this situation before, but my Google-fu is weak today. I can find many references to natural language processing, but I do not understand what I want. To be clear: I will only have one user name for each user, and I will need to abandon them in known configurations. I will have localized text that will have placeholders, for example, {name nominative}and {name dative}, for the sake of argument. I really do not want to do lexical analysis of the text to work, I will only need to refuse that one name entered by the user.
Does anyone have any recommendations on how to do this, or I need to start calling localization agencies, o)
Further reading (all on Wikipedia) for those interested:
: , ; , , , .