Esempio n. 1
0
        public void TestBasics()
        {
            var localizer = new XmlStringLocalizerTester();

            var doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("B", "", "XB");
            doc.AddTranslation("C", "", "XC");
            localizer.AddLocalizedStrings(doc);

            doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y"); //duplicate original and context and translation
            doc.AddTranslation("B", "ContextZ", "Z"); //duplicate original, but different context
            doc.AddTranslation("D", "", "XD");
            doc.AddTranslation("E", "ContextE1", "XE"); //test multiple contexts with identical translations
            doc.AddTranslation("E", "ContextE2", "XE");
            localizer.AddLocalizedStrings(doc);

            Assert.AreEqual(localizer.Localize("A", "ContextY"), "Y");
            Assert.AreEqual(localizer.Localize("A", ""), "Y"); // Omit context
            Assert.AreEqual(localizer.Localize("B", ""), "XB");
            Assert.AreEqual(localizer.Localize("C", ""), "XC");
            Assert.AreEqual(localizer.Localize("B", "ContextZ"), "Z");
            Assert.AreEqual(localizer.Localize("D", ""), "XD");
            Assert.AreEqual(localizer.Localize("?", ""), "?"); //no translation available
            Assert.AreEqual(localizer.Localize("E", "unknown context"), "XE"); //context is unknown, but both translations are available
            Assert.AreEqual(localizer.Localize("F", "unknown context"), "F"); //unknown English word
        }
        public void TestBasics()
        {
            var localizer = new XmlStringLocalizerTester();

            var doc = new TranslationXmlDocument();

            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("B", "", "XB");
            doc.AddTranslation("C", "", "XC");
            localizer.AddLocalizedStrings(doc);

            doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y");   //duplicate original and context and translation
            doc.AddTranslation("B", "ContextZ", "Z");   //duplicate original, but different context
            doc.AddTranslation("D", "", "XD");
            doc.AddTranslation("E", "ContextE1", "XE"); //test multiple contexts with identical translations
            doc.AddTranslation("E", "ContextE2", "XE");
            localizer.AddLocalizedStrings(doc);

            Assert.AreEqual(localizer.Localize("A", "ContextY"), "Y");
            Assert.AreEqual(localizer.Localize("A", ""), "Y"); // Omit context
            Assert.AreEqual(localizer.Localize("B", ""), "XB");
            Assert.AreEqual(localizer.Localize("C", ""), "XC");
            Assert.AreEqual(localizer.Localize("B", "ContextZ"), "Z");
            Assert.AreEqual(localizer.Localize("D", ""), "XD");
            Assert.AreEqual(localizer.Localize("?", ""), "?");                 //no translation available
            Assert.AreEqual(localizer.Localize("E", "unknown context"), "XE"); //context is unknown, but both translations are available
            Assert.AreEqual(localizer.Localize("F", "unknown context"), "F");  //unknown English word
        }
Esempio n. 3
0
        public void TestBasics()
        {
            var localizer = new XmlStringLocalizerTester();

            var doc = new TranslationXmlDocument();

            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("B", "", "XB");
            doc.AddTranslation("C", "", "XC");
            localizer.AddLocalizedStrings(doc);

            doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y"); //duplicate original and context and translation
            doc.AddTranslation("B", "ContextZ", "Z"); //duplicate original, but different context
            doc.AddTranslation("D", "", "XD");
            localizer.AddLocalizedStrings(doc);

            Assert.AreEqual(localizer.Localize("A", "ContextY"), "Y");
            Assert.AreEqual(localizer.Localize("A", ""), "Y"); // Omit context
            Assert.AreEqual(localizer.Localize("B", ""), "XB");
            Assert.AreEqual(localizer.Localize("C", ""), "XC");
            Assert.AreEqual(localizer.Localize("B", "ContextZ"), "Z");
            Assert.AreEqual(localizer.Localize("D", ""), "XD");
            Assert.AreEqual(localizer.Localize("?", ""), "?"); //no translation available
        }
Esempio n. 4
0
        public void TestConflictingTranslation()
        {
            var doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("A", "ContextY", "Z"); //Duplicate original and duplicate context, but different translation.
            doc.AddTranslation("B", "", "Y");
            doc.AddTranslation("B", "", "Z"); //Duplicate original and duplicate context, but different translation.

            var localizer = new XmlStringLocalizerTester();
            Assert.Throws<InvalidOperationException>(() => localizer.AddLocalizedStrings(doc));
        }
Esempio n. 5
0
        public void TestAsteriskTranslation()
        {
            var doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("A", "", "*"); //'*' means no translation available

            var localizer = new XmlStringLocalizerTester();
            localizer.AddLocalizedStrings(doc);

            Assert.AreEqual(localizer.Localize("A", "ContextY"), "Y");
            Assert.AreEqual(localizer.Localize("A", ""), "A");
        }
        public void TestConflictingTranslation()
        {
            var doc = new TranslationXmlDocument();

            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("A", "ContextY", "Z"); //Duplicate original and duplicate context, but different translation.
            doc.AddTranslation("B", "", "Y");
            doc.AddTranslation("B", "", "Z");         //Duplicate original and duplicate context, but different translation.

            var localizer = new XmlStringLocalizerTester();

            Assert.Throws <InvalidOperationException>(() => localizer.AddLocalizedStrings(doc));
        }
        public void TestAsteriskTranslation()
        {
            var doc = new TranslationXmlDocument();

            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("A", "", "*"); //'*' means no translation available

            var localizer = new XmlStringLocalizerTester();

            localizer.AddLocalizedStrings(doc);

            Assert.AreEqual(localizer.Localize("A", "ContextY"), "Y");
            Assert.AreEqual(localizer.Localize("A", ""), "A");
        }
Esempio n. 8
0
        public void TestBasics()
        {
            var localizer = new XmlStringLocalizerTester();

            var doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y");
            doc.AddTranslation("B", "", "XB");
            doc.AddTranslation("C", "", "XC");
            localizer.AddLocalizedStrings(doc);

            doc = new TranslationXmlDocument();
            doc.AddTranslation("A", "ContextY", "Y"); //duplicate original and context and translation
            doc.AddTranslation("B", "ContextZ", "Z"); //duplicate original, but different context
            doc.AddTranslation("D", "", "XD");
            localizer.AddLocalizedStrings(doc);

            Assert.AreEqual(localizer.Localize("A", "ContextY"), "Y");
            Assert.AreEqual(localizer.Localize("A", ""), "Y"); // Omit context
            Assert.AreEqual(localizer.Localize("B", ""), "XB");
            Assert.AreEqual(localizer.Localize("C", ""), "XC");
            Assert.AreEqual(localizer.Localize("B", "ContextZ"), "Z");
            Assert.AreEqual(localizer.Localize("D", ""), "XD");
            Assert.AreEqual(localizer.Localize("?", ""), "?"); //no translation available
        }