问题描述
我使用的是翻译系统,对于非英语复数形式,它具有“一,多,很少”的概念。
非英语语言的复数形式可能很复杂,但是documented here很复杂,所以我可以写点东西,但是已经有一种C#的方法可以根据数字和文化来知道使用哪种复数形式?
我看过Enitiy Framework,但这仅适用于英语。我也看过Humanizer,但似乎没有支持。
解决方法
您可能想看看messageformat,它是MessageFormat的nuget包。
Messageformat是一种用于处理应用程序中的复数形式和性别的机制。由于它旨在支持Unicode CLDR中包含的所有语言,因此它也可以带来更好的翻译。
我已经有一段时间没有使用它了,但是看起来很坚固。