Conversation
grhoten
left a comment
There was a problem hiding this comment.
Looks OK, but you can go further and remove the pos. Case is the most important part to inflect normally.
| <test><source case="vocative" pos="noun">Стана</source><result>Стано</result></test> | ||
| <test><source case="vocative" pos="noun">Зора</source><result>Зоро</result></test> | ||
| <test><source case="vocative" pos="noun">Божа</source><result>Божо</result></test> | ||
| <test><source case="vocative" pos="noun">Љуба</source><result>Љубо</result></test> |
There was a problem hiding this comment.
You can also default to noun. Every other language assumes noun by default. Every other part of speech is an exception. That's important for quantities.
There was a problem hiding this comment.
How do you default to POS_NOUN? I looked around other languages but couldn't find an obvious solution in the codebase.
There was a problem hiding this comment.
Did you try just removing it?
Your dictionary inflector has the following. It means prioritize nouns over adjectives when there is ambiguity.
, dictionaryInflector(::inflection::util::LocaleUtils::SERBIAN(),{
{GrammemeConstants::POS_NOUN(), GrammemeConstants::POS_ADJECTIVE()},
There was a problem hiding this comment.
I did and it just works - so the system will take nouns first, then adjectives as that's the order in the dictionaryInflector. Good to know.
Don't require full lexical info about the noun (gender and number) when inflecting with rules. Update tests to reflect that.
Part of issue #172