• Lexical
Show / Hide Table of Contents
  • Lexical.FileSystem
    • Introduction
    • Abstractions
      • IFileSystem
        • IFileSystem
        • IFileSystemBrowse
        • IFileSystemCreateDirectory
        • IFileSystemDelete
        • IFileSystemFileAttribute
        • IFileSystemMount
        • IFileSystemMove
        • IFileSystemObserve
        • IFileSystemOpen
      • IEvent
      • IEntry
      • IOption
      • IToken
    • FileSystem
    • VirtualFileSystem
    • MemoryFileSystem
    • EmbeddedFileSystem
    • HttpFileSystem
    • Decoration
    • IFileProvider
    • Utility
      • DisposeList
      • FileScanner
      • VisitTree
      • File Operation
  • Lexical.FileProvider
    • Introduction
    • Package
    • Package.Abstractions
    • Root
    • Zip
    • Dll
    • SharpCompress
    • SharpZipLib
    • FileScanner
    • Utils
  • Lexical.Localization
    • Introduction
    • Tutorial
    • Asset
      • IAsset
      • IStringAsset
    • Line
      • ILine
      • ILineFactory
      • ILineRoot
      • ILineFormat
      • ILineLogger
      • LineComparer
    • File
      • ILineReader
      • ILineWriter
      • Ini
      • Json
      • Xml
      • Resx
      • Resources
    • Miscellaneous
      • Plurality
      • ICulturePolicy
      • IStringFormat
      • Dependency Injection
    • Practices
      • Class Library
      • Class Library DI
      • Class Library DI opt.
  • Lexical.Utilities
    • Introduction
    • UnicodeString
    • FileScanner
    • Permutation
    • Tuples
    • StructList

Plurality

Language strings with numeric arguments, for example "There are {0} cats.", can be customized for pluralized nouns.

Plural category is placed into argument placeholder, for example "There are {cardinal:0} cats.". The available cases depend on the culture and the category. The root culture "" has category "cardinal" and "ordinal", and the former has three possible cases "zero", "one" and "other". See table of case for each culture and category. Each case must be matched with a subkey N:case.

<?xml version="1.0" encoding="UTF-8"?>
<Localization xmlns:Culture="urn:lexical.fi:Culture"
              xmlns:Key="urn:lexical.fi:Key"
              xmlns:N="urn:lexical.fi:N"
              xmlns="urn:lexical.fi"
              PluralRules="Unicode.CLDR35">

  <!-- Example: Plurality for one numeric argument {0} -->
  <Key:Cats>
    {cardinal:0} cat(s)
    <N:zero>no cats</N:zero>
    <N:one>a cat</N:one>
    <N:other>{0} cats</N:other>
  </Key:Cats>

</Localization>
IAsset asset = LineReaderMap.Default.FileAsset("PluralityExample0b.xml");
ILine key = new LineRoot(asset).Key("Cats");

for (int cats = 0; cats<=2; cats++)
    Console.WriteLine(key.Value(cats));
The result
no cats
a cat
2 cats


Translator adds localized strings for different cultures. The decision whether to use pluralization is left for the translator.

IAsset asset = LineReaderMap.Default.FileAsset("PluralityExample0a.xml");
ILineRoot root = new LineRoot(asset);
ILine key = root.Key("Cats").Format("{0} cat(s)");

// Print with the default string (without culture policy)
for (int cats = 0; cats <= 2; cats++)
    Console.WriteLine(key.Value(cats));

// Print Culture "en"
for (int cats = 0; cats <= 2; cats++)
    Console.WriteLine(key.Culture("en").Value(cats));

// Print Culture "fi"
for (int cats = 0; cats <= 2; cats++)
    Console.WriteLine(key.Culture("fi").Value(cats));
  • xml
  • json
  • ini
<?xml version="1.0" encoding="UTF-8"?>
<Localization xmlns:Culture="urn:lexical.fi:Culture"
              xmlns:Key="urn:lexical.fi:Key"
              xmlns:N="urn:lexical.fi:N"
              xmlns="urn:lexical.fi"
              PluralRules="Unicode.CLDR35">

  <!-- Fallback string, for "" culture -->
  <Key:Cats>{0} cat(s)</Key:Cats>

  <!-- Translator added strings for "en" -->
  <Key:Cats Culture="en">
    {cardinal:0} cat(s)
    <N:zero>no cats</N:zero>
    <N:one>a cat</N:one>
    <N:other>{0} cats</N:other>
  </Key:Cats>
  
  <!-- Translator added strings for "fi" -->
  <Key:Cats Culture="fi">
    {cardinal:0} kissa(a)
    <N:zero>ei kissoja</N:zero>
    <N:one>yksi kissa</N:one>
    <N:other>{0} kissaa</N:other>
  </Key:Cats>

</Localization>
{
  "PluralRules:Unicode.CLDR35": {
    /* Fallback string, for "" culture */
    "Key:Cats": "{0} cat(s)",

    /* Translator added strings for en */
    "Culture:en": {
      "Key:Cats": "{cardinal:0} cat(s)",
      "Key:Cats:N:zero": "no cats",
      "Key:Cats:N:one": "a cat",
      "Key:Cats:N:other": "{0} cats"
    },

    /* Translator added strings for fi */
    "Culture:fi": {
      "Key:Cats": "{cardinal:0} kissa(a)",
      "Key:Cats:N:zero": "ei kissoja",
      "Key:Cats:N:one": "yksi kissa",
      "Key:Cats:N:other": "{0} kissaa"
    }
  }
}
; Fallback string, for "" culture
[PluralRules:Unicode.CLDR35]
Key:Cats = {0} cat(s)

; Translator added strings for en
[Culture:en:PluralRules:Unicode.CLDR35]
Key:Cats = {cardinal:0} cat(s)
Key:Cats:N:zero = no cats
Key:Cats:N:one = a cat
Key:Cats:N:other = {0} cats

; Translator added strings for fi
[Culture:fi:PluralRules:Unicode.CLDR35]
Key:Cats = {cardinal:0} kissa(a)
Key:Cats:N:zero = ei kissoja
Key:Cats:N:one = yksi kissa
Key:Cats:N:other = {0} kissaa
The result
0 cat(s)
1 cat(s)
2 cat(s)
no cats
a cat
2 cats
ei kissoja
yksi kissa
2 kissaa

Some cases are optional. For example for "en" culture and "cardinal" category, the case "zero" is optional. Translator can choose whether to supply a string for an optional case, such as "N:zero". If a string is not provided, then string resolver reverts to a string from next valid case "N:other". For value 0, the string "{0} cats" would be provided, which is just as valid, but not as humanized as "no cats".
<?xml version="1.0" encoding="UTF-8"?>
<Localization xmlns:Culture="urn:lexical.fi:Culture"
              xmlns:Key="urn:lexical.fi:Key"
              xmlns:N="urn:lexical.fi:N"
              xmlns="urn:lexical.fi"
              PluralRules="Unicode.CLDR35">

  <!-- Example: One plurality case for one numeric argument {0} -->
  <Key:Cats>
    {cardinal:0} cats
    <N:one>a cat</N:one>
    <N:other>{0} cats</N:other>
  </Key:Cats>

</Localization>
Even if a required case is missing, then StringResolver will revert to default string. For example, only "N:one" is provided, and for values other than "1", the rules revert to default string "{0} cats".
<?xml version="1.0" encoding="UTF-8"?>
<Localization xmlns:Culture="urn:lexical.fi:Culture"
              xmlns:Key="urn:lexical.fi:Key"
              xmlns:N="urn:lexical.fi:N"
              xmlns="urn:lexical.fi"
              PluralRules="Unicode.CLDR35">

  <!-- Example: One plurality case for one numeric argument {0} -->
  <Key:Cats>
    {cardinal:0} cats
    <N:one>a cat</N:one>
  </Key:Cats>

</Localization>

Inlined strings are picked up by inline scanner and placed to a localization file. Add sub-key with parameter name N for argument "{0}" and value for each of "zero", "one", "other".
ILineRoot root = new LineRoot();
ILine line = root.Key("Cats")
        .PluralRules("Unicode.CLDR35")
        .Format("{cardinal:0} cat(s)")  // Default string
        .Inline("N:zero", "no cats")
        .Inline("N:one", "a cat")
        .Inline("N:other", "{0} cats");
And inlining for specific cultures too with subkey "Culture:culture:N:case".
ILineRoot root = new LineRoot();
ILine line = root.Key("Cats")
        .PluralRules("Unicode.CLDR35")
        .Format("{0} cat(s)")   // Default string
        .Inline("Culture:en", "{cardinal:0} cat(s)")
        .Inline("Culture:en:N:zero", "no cats")
        .Inline("Culture:en:N:one", "a cat")
        .Inline("Culture:en:N:other", "{0} cats")
        .Inline("Culture:fi", "{cardinal:0} kissa(a)")
        .Inline("Culture:fi:N:zero", "ei kissoja")
        .Inline("Culture:fi:N:one", "yksi kissa")
        .Inline("Culture:fi:N:other", "{0} kissaa");

for (int cats = 0; cats <= 2; cats++)
    Console.WriteLine(line.Culture("en").Value(cats));
If translator wants to supply plurality for two numeric arguments, then all permutations of required cases (for example "zero", "one" and "other") for both arguments must be covered. By default the maximum number of pluralized arguments is three arguments. This value can be modified, by creating a custom instance of StringResolver into ILineRoot.
<?xml version="1.0" encoding="UTF-8"?>
<Localization xmlns:Culture="urn:lexical.fi:Culture"
              xmlns:Key="urn:lexical.fi:Key"
              xmlns:N="urn:lexical.fi:N" xmlns:N1="urn:lexical.fi:N1"
              xmlns="urn:lexical.fi"
              PluralRules="Unicode.CLDR35">

  <!-- Example: Plurality for two numeric arguments {0} and {1} -->
  <Key:CatsDogs Culture="en">
    {cardinal:0} cat(s) and {cardinal:1} dog(s)
    <N:zero>
      <N1:zero>no cats and no dogs</N1:zero>
      <N1:one>no cats but one dog</N1:one>
      <N1:other>no cats but {1} dogs</N1:other>
    </N:zero>
    <N:one>
      <N1:zero>one cat but no dogs</N1:zero>
      <N1:one>a cat and a dog</N1:one>
      <N1:other>a cat and {1} dogs</N1:other>
    </N:one>
    <N:other>
      <N1:zero>{0} cats but no dogs</N1:zero>
      <N1:one>{0} cats and a dog</N1:one>
      <N1:other>{0} cats and {1} dogs</N1:other>
    </N:other>
  </Key:CatsDogs>

</Localization>
IAsset asset = LineReaderMap.Default.FileAsset("PluralityExample2.xml");
ILineRoot root = new LineRoot(asset);
ILine key = root.Key("CatsDogs").Format("{0} cat(s) and {1} dog(s)");

for (int cats = 0; cats <= 2; cats++)
    for (int dogs = 0; dogs <= 2; dogs++)
        Console.WriteLine(key.Culture("en").Value(cats, dogs));
The result
no cats and no dogs
no cats but one dog
no cats but 2 dogs
one cat but no dogs
a cat and a dog
a cat and 2 dogs
2 cats but no dogs
2 cats and a dog
2 cats and 2 dogs

Pluralization is applied only to the arguments that have "{category:arg}".
<?xml version="1.0" encoding="UTF-8"?>
<Localization xmlns:Culture="urn:lexical.fi:Culture"
              xmlns:Key="urn:lexical.fi:Key"
              xmlns:N="urn:lexical.fi:N" xmlns:N1="urn:lexical.fi:N1" 
              xmlns:N2="urn:lexical.fi:N2" xmlns:N3="urn:lexical.fi:N3"
              xmlns="urn:lexical.fi"
              PluralRules="Unicode.CLDR35">

  <!-- Example: Plurality for one numeric argument {2} -->
  <Key:CatsDogsPoniesHorses>
    {0} cat(s), {1} dog(s), {cardinal:2} poni(es) and {3} horse(s)

    <N2:zero>{0} cat(s), {1} dog(s), no ponies and {3} horse(s)</N2:zero>
    <N2:one>{0} cat(s), {1} dog(s), a pony and {3} horse(s)</N2:one>
    <N2:other>{0} cat(s), {1} dog(s), {2} ponies and {3} horse(s)</N2:other>
    
  </Key:CatsDogsPoniesHorses>

</Localization>
IAsset asset = LineReaderMap.Default.FileAsset("PluralityExample4.xml");
ILine key = new LineRoot(asset).Key("CatsDogsPoniesHorses");

for (int cats = 0; cats <= 2; cats++)
    for (int dogs = 0; dogs <= 2; dogs++)
        for (int ponies = 0; ponies <= 2; ponies++)
            for (int horses = 0; horses <= 2; horses++)
                Console.WriteLine(key.Value(cats, dogs, ponies, horses));
The result
0 cat(s), 0 dog(s), no ponies and 0 horse(s)
0 cat(s), 0 dog(s), no ponies and 1 horse(s)
0 cat(s), 0 dog(s), no ponies and 2 horse(s)
0 cat(s), 0 dog(s), a pony and 0 horse(s)
0 cat(s), 0 dog(s), a pony and 1 horse(s)
0 cat(s), 0 dog(s), a pony and 2 horse(s)
0 cat(s), 0 dog(s), 2 ponies and 0 horse(s)
0 cat(s), 0 dog(s), 2 ponies and 1 horse(s)
0 cat(s), 0 dog(s), 2 ponies and 2 horse(s)
0 cat(s), 1 dog(s), no ponies and 0 horse(s)
0 cat(s), 1 dog(s), no ponies and 1 horse(s)
0 cat(s), 1 dog(s), no ponies and 2 horse(s)
0 cat(s), 1 dog(s), a pony and 0 horse(s)
0 cat(s), 1 dog(s), a pony and 1 horse(s)
0 cat(s), 1 dog(s), a pony and 2 horse(s)
0 cat(s), 1 dog(s), 2 ponies and 0 horse(s)
0 cat(s), 1 dog(s), 2 ponies and 1 horse(s)
0 cat(s), 1 dog(s), 2 ponies and 2 horse(s)
0 cat(s), 2 dog(s), no ponies and 0 horse(s)
0 cat(s), 2 dog(s), no ponies and 1 horse(s)
0 cat(s), 2 dog(s), no ponies and 2 horse(s)
0 cat(s), 2 dog(s), a pony and 0 horse(s)
0 cat(s), 2 dog(s), a pony and 1 horse(s)
0 cat(s), 2 dog(s), a pony and 2 horse(s)
0 cat(s), 2 dog(s), 2 ponies and 0 horse(s)
0 cat(s), 2 dog(s), 2 ponies and 1 horse(s)
0 cat(s), 2 dog(s), 2 ponies and 2 horse(s)
1 cat(s), 0 dog(s), no ponies and 0 horse(s)
1 cat(s), 0 dog(s), no ponies and 1 horse(s)
1 cat(s), 0 dog(s), no ponies and 2 horse(s)
1 cat(s), 0 dog(s), a pony and 0 horse(s)
1 cat(s), 0 dog(s), a pony and 1 horse(s)
1 cat(s), 0 dog(s), a pony and 2 horse(s)
1 cat(s), 0 dog(s), 2 ponies and 0 horse(s)
1 cat(s), 0 dog(s), 2 ponies and 1 horse(s)
1 cat(s), 0 dog(s), 2 ponies and 2 horse(s)
1 cat(s), 1 dog(s), no ponies and 0 horse(s)
1 cat(s), 1 dog(s), no ponies and 1 horse(s)
1 cat(s), 1 dog(s), no ponies and 2 horse(s)
1 cat(s), 1 dog(s), a pony and 0 horse(s)
1 cat(s), 1 dog(s), a pony and 1 horse(s)
1 cat(s), 1 dog(s), a pony and 2 horse(s)
1 cat(s), 1 dog(s), 2 ponies and 0 horse(s)
1 cat(s), 1 dog(s), 2 ponies and 1 horse(s)
1 cat(s), 1 dog(s), 2 ponies and 2 horse(s)
1 cat(s), 2 dog(s), no ponies and 0 horse(s)
1 cat(s), 2 dog(s), no ponies and 1 horse(s)
1 cat(s), 2 dog(s), no ponies and 2 horse(s)
1 cat(s), 2 dog(s), a pony and 0 horse(s)
1 cat(s), 2 dog(s), a pony and 1 horse(s)
1 cat(s), 2 dog(s), a pony and 2 horse(s)
1 cat(s), 2 dog(s), 2 ponies and 0 horse(s)
1 cat(s), 2 dog(s), 2 ponies and 1 horse(s)
1 cat(s), 2 dog(s), 2 ponies and 2 horse(s)
2 cat(s), 0 dog(s), no ponies and 0 horse(s)
2 cat(s), 0 dog(s), no ponies and 1 horse(s)
2 cat(s), 0 dog(s), no ponies and 2 horse(s)
2 cat(s), 0 dog(s), a pony and 0 horse(s)
2 cat(s), 0 dog(s), a pony and 1 horse(s)
2 cat(s), 0 dog(s), a pony and 2 horse(s)
2 cat(s), 0 dog(s), 2 ponies and 0 horse(s)
2 cat(s), 0 dog(s), 2 ponies and 1 horse(s)
2 cat(s), 0 dog(s), 2 ponies and 2 horse(s)
2 cat(s), 1 dog(s), no ponies and 0 horse(s)
2 cat(s), 1 dog(s), no ponies and 1 horse(s)
2 cat(s), 1 dog(s), no ponies and 2 horse(s)
2 cat(s), 1 dog(s), a pony and 0 horse(s)
2 cat(s), 1 dog(s), a pony and 1 horse(s)
2 cat(s), 1 dog(s), a pony and 2 horse(s)
2 cat(s), 1 dog(s), 2 ponies and 0 horse(s)
2 cat(s), 1 dog(s), 2 ponies and 1 horse(s)
2 cat(s), 1 dog(s), 2 ponies and 2 horse(s)
2 cat(s), 2 dog(s), no ponies and 0 horse(s)
2 cat(s), 2 dog(s), no ponies and 1 horse(s)
2 cat(s), 2 dog(s), no ponies and 2 horse(s)
2 cat(s), 2 dog(s), a pony and 0 horse(s)
2 cat(s), 2 dog(s), a pony and 1 horse(s)
2 cat(s), 2 dog(s), a pony and 2 horse(s)
2 cat(s), 2 dog(s), 2 ponies and 0 horse(s)
2 cat(s), 2 dog(s), 2 ponies and 1 horse(s)
2 cat(s), 2 dog(s), 2 ponies and 2 horse(s)

Plural Rules Table

PluralRules="Unicode.CLDR35" (click here)
CultureCategoryCaseRequiredRuleSamples
""cardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
afcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
akcardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
amcardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
arcardinalzero☑n=0@integer 0
@decimal 0.0, 0.00, 0.000, 0.0000
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
few☑n % 100=3..10@integer 3~10, 103~110, 1003, …
@decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …
many☑n % 100=11..99@integer 11~26, 111, 1011, …
@decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …
other☑@integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
arscardinalzero☑n=0@integer 0
@decimal 0.0, 0.00, 0.000, 0.0000
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
few☑n % 100=3..10@integer 3~10, 103~110, 1003, …
@decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …
many☑n % 100=11..99@integer 11~26, 111, 1011, …
@decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …
other☑@integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ascardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1,5,7,8,9,10@integer 1, 5, 7~10
two☑n=2,3@integer 2, 3
few☑n=4@integer 4
many☑n=6@integer 6
other☑@integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, …
asacardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
astcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
azcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑i % 10=1,2,5,7,8 or i % 100=20,50,70,80@integer 1, 2, 5, 7, 8, 11, 12, 15, 17, 18, 20~22, 25, 101, 1001, …
few☑i % 10=3,4 or i % 1000=100,200,300,400,500,600,700,800,900@integer 3, 4, 13, 14, 23, 24, 33, 34, 43, 44, 53, 54, 63, 64, 73, 74, 100, 1003, …
many☑i=0 or i % 10=6 or i % 100=40,60,90@integer 0, 6, 16, 26, 36, 40, 46, 56, 106, 1006, …
other☑@integer 9, 10, 19, 29, 30, 39, 49, 59, 69, 79, 109, 1000, 10000, 100000, 1000000, …
becardinalzero☐n=0
one☑n % 10=1 and n % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0, 101.0, 1001.0, …
few☑n % 10=2..4 and n % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
@decimal 2.0, 3.0, 4.0, 22.0, 23.0, 24.0, 32.0, 33.0, 102.0, 1002.0, …
many☑n % 10=0 or n % 10=5..9 or n % 100=11..14@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …
ordinalone☐n=1
few☑n % 10=2,3 and n % 100!=12,13@integer 2, 3, 22, 23, 32, 33, 42, 43, 52, 53, 62, 63, 72, 73, 82, 83, 102, 1002, …
other☑@integer 0, 1, 4~17, 100, 1000, 10000, 100000, 1000000, …
bemcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
bezcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
bgcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
bhcardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
bmcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
bncardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1,5,7,8,9,10@integer 1, 5, 7~10
two☑n=2,3@integer 2, 3
few☑n=4@integer 4
many☑n=6@integer 6
other☑@integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, …
bocardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
brcardinalzero☐n=0
one☑n % 10=1 and n % 100!=11,71,91@integer 1, 21, 31, 41, 51, 61, 81, 101, 1001, …
@decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 81.0, 101.0, 1001.0, …
two☑n % 10=2 and n % 100!=12,72,92@integer 2, 22, 32, 42, 52, 62, 82, 102, 1002, …
@decimal 2.0, 22.0, 32.0, 42.0, 52.0, 62.0, 82.0, 102.0, 1002.0, …
few☑n % 10=3..4,9 and n % 100!=10..19,70..79,90..99@integer 3, 4, 9, 23, 24, 29, 33, 34, 39, 43, 44, 49, 103, 1003, …
@decimal 3.0, 4.0, 9.0, 23.0, 24.0, 29.0, 33.0, 34.0, 103.0, 1003.0, …
many☑n!=0 and n % 1000000=0@integer 1000000, …
@decimal 1000000.0, 1000000.00, 1000000.000, …
other☑@integer 0, 5~8, 10~20, 100, 1000, 10000, 100000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, …
brxcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
bscardinalzero☐n=0
one☑v=0 and i % 10=1 and i % 100!=11 or f % 10=1 and f % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
few☑v=0 and i % 10=2..4 and i % 100!=12..14 or f % 10=2..4 and f % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
@decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
cacardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1,3@integer 1, 3
two☑n=2@integer 2
few☑n=4@integer 4
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
cecardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
cebcardinalzero☐n=0
one☑v=0 and i=1,2,3 or v=0 and i % 10!=4,6,9 or v!=0 and f % 10!=4,6,9@integer 0~3, 5, 7, 8, 10~13, 15, 17, 18, 20, 21, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.3, 0.5, 0.7, 0.8, 1.0~1.3, 1.5, 1.7, 1.8, 2.0, 2.1, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, …
@decimal 0.4, 0.6, 0.9, 1.4, 1.6, 1.9, 2.4, 2.6, 10.4, 100.4, 1000.4, …
cggcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
chrcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ckbcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
cscardinalzero☐n=0
one☑i=1 and v=0@integer 1
few☑i=2..4 and v=0@integer 2~4
many☑v!=0@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
cycardinalzero☑n=0@integer 0
@decimal 0.0, 0.00, 0.000, 0.0000
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
few☑n=3@integer 3
@decimal 3.0, 3.00, 3.000, 3.0000
many☑n=6@integer 6
@decimal 6.0, 6.00, 6.000, 6.0000
other☑@integer 4, 5, 7~20, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalzero☑n=0,7,8,9@integer 0, 7~9
one☑n=1@integer 1
two☑n=2@integer 2
few☑n=3,4@integer 3, 4
many☑n=5,6@integer 5, 6
other☑@integer 10~25, 100, 1000, 10000, 100000, 1000000, …
dacardinalzero☐n=0
one☑n=1 or t!=0 and i=0,1@integer 1
@decimal 0.1~1.6
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 2.0~3.4, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
decardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
dsbcardinalzero☐n=0
one☑v=0 and i % 100=1 or f % 100=1@integer 1, 101, 201, 301, 401, 501, 601, 701, 1001, …
@decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
two☑v=0 and i % 100=2 or f % 100=2@integer 2, 102, 202, 302, 402, 502, 602, 702, 1002, …
@decimal 0.2, 1.2, 2.2, 3.2, 4.2, 5.2, 6.2, 7.2, 10.2, 100.2, 1000.2, …
few☑v=0 and i % 100=3..4 or f % 100=3..4@integer 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, …
@decimal 0.3, 0.4, 1.3, 1.4, 2.3, 2.4, 3.3, 3.4, 4.3, 4.4, 5.3, 5.4, 6.3, 6.4, 7.3, 7.4, 10.3, 100.3, 1000.3, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
dvcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
dzcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
eecardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
elcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
encardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n % 10=1 and n % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
two☑n % 10=2 and n % 100!=12@integer 2, 22, 32, 42, 52, 62, 72, 82, 102, 1002, …
few☑n % 10=3 and n % 100!=13@integer 3, 23, 33, 43, 53, 63, 73, 83, 103, 1003, …
other☑@integer 0, 4~18, 100, 1000, 10000, 100000, 1000000, …
eocardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
escardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
etcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
eucardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
facardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
ffcardinalzero☐n=0
one☑i=0,1@integer 0, 1
@decimal 0.0~1.5
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ficardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
filcardinalzero☐n=0
one☑v=0 and i=1,2,3 or v=0 and i % 10!=4,6,9 or v!=0 and f % 10!=4,6,9@integer 0~3, 5, 7, 8, 10~13, 15, 17, 18, 20, 21, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.3, 0.5, 0.7, 0.8, 1.0~1.3, 1.5, 1.7, 1.8, 2.0, 2.1, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, …
@decimal 0.4, 0.6, 0.9, 1.4, 1.6, 1.9, 2.4, 2.6, 10.4, 100.4, 1000.4, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
focardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
frcardinalzero☐n=0
one☑i=0,1@integer 0, 1
@decimal 0.0~1.5
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
furcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
fycardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
gacardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
few☑n=3..6@integer 3~6
@decimal 3.0, 4.0, 5.0, 6.0, 3.00, 4.00, 5.00, 6.00, 3.000, 4.000, 5.000, 6.000, 3.0000, 4.0000, 5.0000, 6.0000
many☑n=7..10@integer 7~10
@decimal 7.0, 8.0, 9.0, 10.0, 7.00, 8.00, 9.00, 10.00, 7.000, 8.000, 9.000, 10.000, 7.0000, 8.0000, 9.0000, 10.0000
other☑@integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
gdcardinalzero☐n=0
one☑n=1,11@integer 1, 11
@decimal 1.0, 11.0, 1.00, 11.00, 1.000, 11.000, 1.0000
two☑n=2,12@integer 2, 12
@decimal 2.0, 12.0, 2.00, 12.00, 2.000, 12.000, 2.0000
few☑n=3..10,13..19@integer 3~10, 13~19
@decimal 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 3.00
other☑@integer 0, 20~34, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1,11@integer 1, 11
two☑n=2,12@integer 2, 12
few☑n=3,13@integer 3, 13
other☑@integer 0, 4~10, 14~21, 100, 1000, 10000, 100000, 1000000, …
glcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
gswcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
gucardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
two☑n=2,3@integer 2, 3
few☑n=4@integer 4
many☑n=6@integer 6
other☑@integer 0, 5, 7~20, 100, 1000, 10000, 100000, 1000000, …
guwcardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
gvcardinalzero☐n=0
one☑v=0 and i % 10=1@integer 1, 11, 21, 31, 41, 51, 61, 71, 101, 1001, …
two☑v=0 and i % 10=2@integer 2, 12, 22, 32, 42, 52, 62, 72, 102, 1002, …
few☑v=0 and i % 100=0,20,40,60,80@integer 0, 20, 40, 60, 80, 100, 120, 140, 1000, 10000, 100000, 1000000, …
many☑v!=0@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 3~10, 13~19, 23, 103, 1003, …
hacardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
hawcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
hecardinalzero☐n=0
one☑i=1 and v=0@integer 1
two☑i=2 and v=0@integer 2
many☑v=0 and n!=0..10 and n % 10=0@integer 20, 30, 40, 50, 60, 70, 80, 90, 100, 1000, 10000, 100000, 1000000, …
other☑@integer 0, 3~17, 101, 1001, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
hicardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
two☑n=2,3@integer 2, 3
few☑n=4@integer 4
many☑n=6@integer 6
other☑@integer 0, 5, 7~20, 100, 1000, 10000, 100000, 1000000, …
hrcardinalzero☐n=0
one☑v=0 and i % 10=1 and i % 100!=11 or f % 10=1 and f % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
few☑v=0 and i % 10=2..4 and i % 100!=12..14 or f % 10=2..4 and f % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
@decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
hsbcardinalzero☐n=0
one☑v=0 and i % 100=1 or f % 100=1@integer 1, 101, 201, 301, 401, 501, 601, 701, 1001, …
@decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
two☑v=0 and i % 100=2 or f % 100=2@integer 2, 102, 202, 302, 402, 502, 602, 702, 1002, …
@decimal 0.2, 1.2, 2.2, 3.2, 4.2, 5.2, 6.2, 7.2, 10.2, 100.2, 1000.2, …
few☑v=0 and i % 100=3..4 or f % 100=3..4@integer 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, …
@decimal 0.3, 0.4, 1.3, 1.4, 2.3, 2.4, 3.3, 3.4, 4.3, 4.4, 5.3, 5.4, 6.3, 6.4, 7.3, 7.4, 10.3, 100.3, 1000.3, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
hucardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1,5@integer 1, 5
other☑@integer 0, 2~4, 6~17, 100, 1000, 10000, 100000, 1000000, …
hycardinalzero☐n=0
one☑i=0,1@integer 0, 1
@decimal 0.0~1.5
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
iacardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
idcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
igcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
iicardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
incardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
iocardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
iscardinalzero☐n=0
one☑t=0 and i % 10=1 and i % 100!=11 or t!=0@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1~1.6, 10.1, 100.1, 1000.1, …
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
itcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
many☑n=11,8,80,800@integer 8, 11, 80, 800
other☑@integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …
iucardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
iwcardinalzero☐n=0
one☑i=1 and v=0@integer 1
two☑i=2 and v=0@integer 2
many☑v=0 and n!=0..10 and n % 10=0@integer 20, 30, 40, 50, 60, 70, 80, 90, 100, 1000, 10000, 100000, 1000000, …
other☑@integer 0, 3~17, 101, 1001, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
jacardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
jbocardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
jgocardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
jicardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
jmccardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
jvcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
jwcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kacardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑i=1@integer 1
many☑i=0 or i % 100=2..20,40,60,80@integer 0, 2~16, 102, 1002, …
other☑@integer 21~36, 100, 1000, 10000, 100000, 1000000, …
kabcardinalzero☐n=0
one☑i=0,1@integer 0, 1
@decimal 0.0~1.5
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kajcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kcgcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kdecardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
keacardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kkcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
many☑n % 10=6 or n % 10=9 or n % 10=0 and n!=0@integer 6, 9, 10, 16, 19, 20, 26, 29, 30, 36, 39, 40, 100, 1000, 10000, 100000, 1000000, …
other☑@integer 0~5, 7, 8, 11~15, 17, 18, 21, 101, 1001, …
kkjcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
klcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kmcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
kncardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
kocardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
kscardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ksbcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kshcardinalzero☑n=0@integer 0
@decimal 0.0, 0.00, 0.000, 0.0000
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kucardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
kwcardinalzero☑n=0@integer 0
@decimal 0.0, 0.00, 0.000, 0.0000
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n % 100=2,22,42,62,82 or n % 1000=0 and n % 100000=1000..20000,40000,60000,80000 or n!=0 and n % 1000000=100000@integer 2, 22, 42, 62, 82, 102, 122, 142, 1002, …
@decimal 2.0, 22.0, 42.0, 62.0, 82.0, 102.0, 122.0, 142.0, 1002.0, …
few☑n % 100=3,23,43,63,83@integer 3, 23, 43, 63, 83, 103, 123, 143, 1003, …
@decimal 3.0, 23.0, 43.0, 63.0, 83.0, 103.0, 123.0, 143.0, 1003.0, …
many☑n!=1 and n % 100=1,21,41,61,81@integer 21, 41, 61, 81, 101, 121, 141, 161, 1001, …
@decimal 21.0, 41.0, 61.0, 81.0, 101.0, 121.0, 141.0, 161.0, 1001.0, …
other☑@integer 4~19, 100, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000000.0, …
ordinalone☑n=1..4 or n % 100=1..4,21..24,41..44,61..64,81..84@integer 1~4, 21~24, 41~44, 61~64, 101, 1001, …
many☑n=5 or n % 100=5@integer 5, 105, 205, 305, 405, 505, 605, 705, 1005, …
other☑@integer 0, 6~20, 100, 1000, 10000, 100000, 1000000, …
kycardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
lagcardinalzero☑n=0@integer 0
@decimal 0.0, 0.00, 0.000, 0.0000
one☑i=0,1 and n!=0@integer 1
@decimal 0.1~1.6
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
lbcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
lgcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
lktcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
lncardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
locardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
ltcardinalzero☐n=0
one☑n % 10=1 and n % 100!=11..19@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0, 101.0, 1001.0, …
few☑n % 10=2..9 and n % 100!=11..19@integer 2~9, 22~29, 102, 1002, …
@decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 22.0, 102.0, 1002.0, …
many☑f!=0@decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …
other☑@integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
lvcardinalzero☑n % 10=0 or n % 100=11..19 or v=2 and f % 100=11..19@integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
one☑n % 10=1 and n % 100!=11 or v=2 and f % 10=1 and f % 100!=11 or v!=2 and f % 10=1@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1, 1.0, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
other☑@integer 2~9, 22~29, 102, 1002, …
@decimal 0.2~0.9, 1.2~1.9, 10.2, 100.2, 1000.2, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
mascardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
mgcardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
mgocardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
mkcardinalzero☐n=0
one☑v=0 and i % 10=1 and i % 100!=11 or f % 10=1 and f % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑i % 10=1 and i % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
two☑i % 10=2 and i % 100!=12@integer 2, 22, 32, 42, 52, 62, 72, 82, 102, 1002, …
many☑i % 10=7,8 and i % 100!=17,18@integer 7, 8, 27, 28, 37, 38, 47, 48, 57, 58, 67, 68, 77, 78, 87, 88, 107, 1007, …
other☑@integer 0, 3~6, 9~19, 100, 1000, 10000, 100000, 1000000, …
mlcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
mncardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
mocardinalzero☐n=0
one☑i=1 and v=0@integer 1
few☑v!=0 or n=0 or n % 100=2..19@integer 0, 2~16, 102, 1002, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 20~35, 100, 1000, 10000, 100000, 1000000, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
mrcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
two☑n=2,3@integer 2, 3
few☑n=4@integer 4
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
mscardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
mtcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
few☑n=0 or n % 100=2..10@integer 0, 2~10, 102~107, 1002, …
@decimal 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 102.0, 1002.0, …
many☑n % 100=11..19@integer 11~19, 111~117, 1011, …
@decimal 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …
other☑@integer 20~35, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
mycardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
nahcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
naqcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nbcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
ndcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
necardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1..4@integer 1~4
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
nlcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
nncardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nnhcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nocardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nqocardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nrcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nsocardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nycardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
nyncardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
omcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
orcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1,5,7..9@integer 1, 5, 7~9
two☑n=2,3@integer 2, 3
few☑n=4@integer 4
many☑n=6@integer 6
other☑@integer 0, 10~24, 100, 1000, 10000, 100000, 1000000, …
oscardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
pacardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
papcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
plcardinalzero☐n=0
one☑i=1 and v=0@integer 1
few☑v=0 and i % 10=2..4 and i % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
many☑v=0 and i!=1 and i % 10=0..1 or v=0 and i % 10=5..9 or v=0 and i % 100=12..14@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
other☑@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
prgcardinalzero☑n % 10=0 or n % 100=11..19 or v=2 and f % 100=11..19@integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
one☑n % 10=1 and n % 100!=11 or v=2 and f % 10=1 and f % 100!=11 or v!=2 and f % 10=1@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1, 1.0, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
other☑@integer 2~9, 22~29, 102, 1002, …
@decimal 0.2~0.9, 1.2~1.9, 10.2, 100.2, 1000.2, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
pscardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
ptcardinalzero☐n=0
one☑i=0..1@integer 0, 1
@decimal 0.0~1.5
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
pt-PTcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
rmcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
rocardinalzero☐n=0
one☑i=1 and v=0@integer 1
few☑v!=0 or n=0 or n % 100=2..19@integer 0, 2~16, 102, 1002, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 20~35, 100, 1000, 10000, 100000, 1000000, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
rofcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
rucardinalzero☐n=0
one☑v=0 and i % 10=1 and i % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
few☑v=0 and i % 10=2..4 and i % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
many☑v=0 and i % 10=0 or v=0 and i % 10=5..9 or v=0 and i % 100=11..14@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
other☑@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
rwkcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sahcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
saqcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sccardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
many☑n=11,8,80,800@integer 8, 11, 80, 800
other☑@integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …
scncardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
many☑n=11,8,80,800@integer 8, 11, 80, 800
other☑@integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …
sdcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
sdhcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
secardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sehcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sescardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sgcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
shcardinalzero☐n=0
one☑v=0 and i % 10=1 and i % 100!=11 or f % 10=1 and f % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
few☑v=0 and i % 10=2..4 and i % 100!=12..14 or f % 10=2..4 and f % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
@decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
shicardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
few☑n=2..10@integer 2~10
@decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00
other☑@integer 11~26, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~1.9, 2.1~2.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sicardinalzero☐n=0
one☑n=0,1 or i=0 and f=1@integer 0, 1
@decimal 0.0, 0.1, 1.0, 0.00, 0.01, 1.00, 0.000, 0.001, 1.000, 0.0000, 0.0001, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.2~0.9, 1.1~1.8, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
skcardinalzero☐n=0
one☑i=1 and v=0@integer 1
few☑i=2..4 and v=0@integer 2~4
many☑v!=0@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
slcardinalzero☐n=0
one☑v=0 and i % 100=1@integer 1, 101, 201, 301, 401, 501, 601, 701, 1001, …
two☑v=0 and i % 100=2@integer 2, 102, 202, 302, 402, 502, 602, 702, 1002, …
few☑v=0 and i % 100=3..4 or v!=0@integer 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
smacardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
smicardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
smjcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
smncardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
smscardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
two☑n=2@integer 2
@decimal 2.0, 2.00, 2.000, 2.0000
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sncardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
socardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
sqcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
many☑n % 10=4 and n % 100!=14@integer 4, 24, 34, 44, 54, 64, 74, 84, 104, 1004, …
other☑@integer 0, 2, 3, 5~17, 100, 1000, 10000, 100000, 1000000, …
srcardinalzero☐n=0
one☑v=0 and i % 10=1 and i % 100!=11 or f % 10=1 and f % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
@decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …
few☑v=0 and i % 10=2..4 and i % 100!=12..14 or f % 10=2..4 and f % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
@decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, …
other☑@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
sscardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ssycardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
stcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
svcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n % 10=1,2 and n % 100!=11,12@integer 1, 2, 21, 22, 31, 32, 41, 42, 51, 52, 61, 62, 71, 72, 81, 82, 101, 1001, …
other☑@integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …
swcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
syrcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
tacardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
tecardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
teocardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
thcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
ticardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
tigcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
tkcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
few☑n % 10=6,9 or n=10@integer 6, 9, 10, 16, 19, 26, 29, 36, 39, 106, 1006, …
other☑@integer 0~5, 7, 8, 11~15, 17, 18, 20, 100, 1000, 10000, 100000, 1000000, …
tlcardinalzero☐n=0
one☑v=0 and i=1,2,3 or v=0 and i % 10!=4,6,9 or v!=0 and f % 10!=4,6,9@integer 0~3, 5, 7, 8, 10~13, 15, 17, 18, 20, 21, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.3, 0.5, 0.7, 0.8, 1.0~1.3, 1.5, 1.7, 1.8, 2.0, 2.1, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
other☑@integer 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, …
@decimal 0.4, 0.6, 0.9, 1.4, 1.6, 1.9, 2.4, 2.6, 10.4, 100.4, 1000.4, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
tncardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
tocardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
trcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
tscardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
tzmcardinalzero☐n=0
one☑n=0..1 or n=11..99@integer 0, 1, 11~24
@decimal 0.0, 1.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0
other☑@integer 2~10, 100~106, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ugcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ukcardinalzero☐n=0
one☑v=0 and i % 10=1 and i % 100!=11@integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
few☑v=0 and i % 10=2..4 and i % 100!=12..14@integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …
many☑v=0 and i % 10=0 or v=0 and i % 10=5..9 or v=0 and i % 100=11..14@integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …
other☑@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
few☑n % 10=3 and n % 100!=13@integer 3, 23, 33, 43, 53, 63, 73, 83, 103, 1003, …
other☑@integer 0~2, 4~16, 100, 1000, 10000, 100000, 1000000, …
urcardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
uzcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
wacardinalzero☐n=0
one☑n=0..1@integer 0, 1
@decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
waecardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
vecardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
vicardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☑n=1@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
vocardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
wocardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
vuncardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
xhcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
xogcardinalzero☐n=0
one☑n=1@integer 1
@decimal 1.0, 1.00, 1.000, 1.0000
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
yicardinalzero☐n=0
one☑i=1 and v=0@integer 1
other☑@integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
yocardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
yuecardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
zhcardinalzero☐n=0
one☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
@decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …
zucardinalzero☐n=0
one☑i=0 or n=1@integer 0, 1
@decimal 0.0~1.0, 0.00~0.04
other☑@integer 2~17, 100, 1000, 10000, 100000, 1000000, …
@decimal 1.1~2.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …
ordinalone☐n=1
other☑@integer 0~15, 100, 1000, 10000, 100000, 1000000, …

This table is derived from plurals.xml and ordinals.xml of Unicode CLDR, and licensed as "Data files". Unicode CLDR is copyright of Unicode, Inc.

unicode-license.txt
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE

See Terms of Use for definitions of Unicode Inc.'s
Data Files and Software.

NOTICE TO USER: Carefully read the following legal agreement.
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT.
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
THE DATA FILES OR SOFTWARE.

COPYRIGHT AND PERMISSION NOTICE

Copyright © 1991-2019 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.

Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software
without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files
or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies
of the Data Files or Software, or
(b) this copyright and permission notice appear in associated
Documentation.

THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THE DATA FILES OR SOFTWARE.

Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.

PluralRules Parameter

To use plurality, the key must have "PluralRules" parameter either in the ILine or in the localization file. There are five ways to configure the plurality rule:

  1. Add class name of plural rules into the localization file (recommended way). The value "Unicode.CLDR35" uses Unicode CLDR35 plural rules.

    PluralRules="Unicode.CLDR35"

    <?xml version="1.0" encoding="UTF-8"?>
    <Localization xmlns:Culture="urn:lexical.fi:Culture"
                  xmlns:Key="urn:lexical.fi:Key"
                  xmlns:N="urn:lexical.fi:N"
                  xmlns="urn:lexical.fi"
                  PluralRules="Unicode.CLDR35">
    
      <!-- Fallback string, for "" culture -->
      <Key:Cats>{0} cat(s)</Key:Cats>
    
      <!-- Translator added strings for "en" -->
      <Key:Cats Culture="en">
        {cardinal:0} cat(s)
        <N:zero>no cats</N:zero>
        <N:one>a cat</N:one>
        <N:other>{0} cats</N:other>
      </Key:Cats>
      
      <!-- Translator added strings for "fi" -->
      <Key:Cats Culture="fi">
        {cardinal:0} kissa(a)
        <N:zero>ei kissoja</N:zero>
        <N:one>yksi kissa</N:one>
        <N:other>{0} kissaa</N:other>
      </Key:Cats>
    
    </Localization>
    


  2. Add plural rules expression to localization file. See Unicode CLDR Plural Rule Syntax.

    PluralRules="[Category=cardinal,Case=one]n=1[Category=cardinal,Case=other]true"

    <?xml version="1.0" encoding="UTF-8"?>
    <Localization xmlns:Culture="urn:lexical.fi:Culture"
                  xmlns:Key="urn:lexical.fi:Key"
                  xmlns:N="urn:lexical.fi:N" xmlns:N1="urn:lexical.fi:N1" 
                  xmlns:N2="urn:lexical.fi:N2" xmlns:N3="urn:lexical.fi:N3"
                  xmlns="urn:lexical.fi"
                  PluralRules="[Category=cardinal,Case=zero,Optional=1]n=0[Category=cardinal,Case=one]n=1[Category=cardinal,Case=other]true">
      <!-- Example: Plurality expression in the localization file ^^^ -->
    
      <Key:CatsDogs>
        {cardinal:0} cat(s) and {cardinal:1} dog(s)
        <N:zero>
          <N1:zero>no cats and no dogs</N1:zero>
          <N1:one>no cats but one dog</N1:one>
          <N1:other>no cats but {1} dogs</N1:other>
        </N:zero>
        <N:one>
          <N1:zero>one cat but no dogs</N1:zero>
          <N1:one>a cat and a dog</N1:one>
          <N1:other>a cat and {1} dogs</N1:other>
        </N:one>
        <N:other>
          <N1:zero>{0} cats but no dogs</N1:zero>
          <N1:one>{0} cats and a dog</N1:one>
          <N1:other>{0} cats and {1} dogs</N1:other>
        </N:other>
    
      </Key:CatsDogs>
    
    
    </Localization>
    


  3. Add instance of IPluralRules to line.

    IPluralRules rules = PluralRulesResolver.Default.Resolve("Unicode.CLDR35");
    ILine root = LineRoot.Global.PluralRules(rules);
    
  4. Add class name of IPluralRules to line.

    ILine root = LineRoot.Global.PluralRules("Unicode.CLDR35");
    
  5. Add unicode plural rules expression to line. (Unicode CLDR Plural Rule Syntax)

    ILine root = LineRoot.Global.PluralRules("[Category=cardinal,Case=zero,Optional=1]n=0[Category=cardinal,Case=one]n=1[Category=cardinal,Case=other]true");
    



Back to top Copyright © 2015-2020 Toni Kalajainen