Ejemplo n.º 1
0
        public void Language_Cache()
        {
            var a = Plural.Create(Locale.Create("en-US"));
            var b = Plural.Create(Locale.Create("en-NZ"));

            Assert.AreSame(a, b);
        }
Ejemplo n.º 2
0
        public void Category_No_Language_Rules()
        {
            var locale = Locale.Create("zza");
            var plural = Plural.Create(locale);

            Assert.IsNotNull(plural);

            Assert.AreEqual("other", plural.Category(1));
        }
Ejemplo n.º 3
0
        public void Example()
        {
            var en = Plural.Create(Locale.Create("en"));
            var cy = Plural.Create(Locale.Create("cy"));

            for (int i = 0; i <= 10; ++i)
            {
                Console.WriteLine($"| {i} | {en.Category(i)} | {cy.Category(i)} |");
            }
        }
Ejemplo n.º 4
0
        public void Category_en()
        {
            var locale = Locale.Create("en");
            var plural = Plural.Create(locale);

            Assert.IsNotNull(plural);

            Assert.AreEqual("one", plural.Category(1));
            Assert.AreEqual("other", plural.Category(2));
        }
Ejemplo n.º 5
0
        /// <summary>
        ///   Creates or reuses plural informmation for the specified <see cref="Locale"/>.
        /// </summary>
        /// <param name="locale">
        ///   The locale.
        /// </param>
        /// <returns>
        ///   The best for the <paramref name="locale"/>.
        /// </returns>
        public static Plural Create(Locale locale)
        {
            var lang = locale.Id.Language.ToLowerInvariant();

            return(Cache.GetOrAdd(lang, key =>
            {
                var plural = new Plural
                {
                    Locale = locale
                };
                plural.LoadRules();

                return plural;
            }));
        }
Ejemplo n.º 6
0
        public void Category_ar()
        {
            var locale = Locale.Create("ar");
            var plural = Plural.Create(locale);

            Assert.IsNotNull(plural);

            Assert.AreEqual("zero", plural.Category(0));
            Assert.AreEqual("one", plural.Category(1));
            Assert.AreEqual("two", plural.Category(2));
            Assert.AreEqual("few", plural.Category(3));
            Assert.AreEqual("few", plural.Category(10));
            Assert.AreEqual("many", plural.Category(11));
            Assert.AreEqual("many", plural.Category(99));
            Assert.AreEqual("other", plural.Category(100));
            Assert.AreEqual("other", plural.Category(101));
            Assert.AreEqual("other", plural.Category(102));
        }