【发布时间】:2021-07-15 13:23:34
【问题描述】:
除了PluralizationService 的标准初始化之外,我没有进行任何特殊设置。
PluralizationService ps = PluralizationService.CreateService(CultureInfo.GetCultureInfo("en-us"));
// they may have said pigS, so we will singularize it
if (ps.IsPlural(temp_word))
temp_word = ps.Singularize(temp_word);```
我的程序允许我的游戏中的玩家搜索动物。当他们搜索goats 或sheep 或pigs 时,系统工作正常。 ps.Singularize 函数在所有情况下都能正常工作。 (对象类是pig 不是pigs、sheep 和goat 不是goats。)
当有人搜索horses 时,乐趣就开始了。 ps.Singularize 函数返回 hors。
是否有某种我忘记初始化的规则或其他什么,或者这是一个直接的错误。
我真的不希望每次奇异化失败都特例。
【问题讨论】:
-
记住类型的命名空间。它的绝大多数用途是为复数/单数提供默认猜测,在这种情况下,如果猜测错误,开发人员可以覆盖它。
-
如果nuget.org/packages/Pluralize.NET.Core 效果更好,你可以试试。 PS 尽管有“Core”包名称,但页面显示它与.NET Standard 2.0 兼容。