DocSpace-buildtools/web/ASC.Web.Core/Helpers/GrammaticalHelper.cs

26 lines
943 B
C#
Raw Normal View History

2019-06-07 08:59:07 +00:00
namespace ASC.Web.Core.Helpers
{
2022-01-21 10:47:56 +00:00
public static class GrammaticalHelper
2019-06-07 08:59:07 +00:00
{
public static string ChooseNumeralCase(int number, string nominative, string genitiveSingular, string genitivePlural)
{
if (
2022-01-12 15:42:03 +00:00
System.Threading.Thread.CurrentThread.CurrentUICulture.ThreeLetterISOLanguageName.Equals("rus", StringComparison.InvariantCultureIgnoreCase))
2019-06-07 08:59:07 +00:00
{
int[] formsTable = { 2, 0, 1, 1, 1, 2, 2, 2, 2, 2 };
number = Math.Abs(number);
2022-01-21 13:46:30 +00:00
var res = formsTable[(((number % 100 / 10) != 1) ? 1 : 0) * (number % 10)];
2019-08-15 15:13:25 +00:00
return res switch
2019-06-07 08:59:07 +00:00
{
2019-08-15 15:13:25 +00:00
0 => nominative,
1 => genitiveSingular,
_ => genitivePlural,
};
2019-06-07 08:59:07 +00:00
}
else
return number == 1 ? nominative : genitivePlural;
}
}
}