Exemplo n.º 1
0
        public void TranslateFallbackTest()
        {
            const string scope          = "home";
            const string key            = "name";
            var          defaultCulture = m_localizationConfiguration.DefaultCulture;
            const string defaultValue   = "Jméno";

            var now = DateTime.UtcNow;

            var nonDefaultCulturesValuePairs = new Dictionary <string, string>
            {
                { "en", "Name" },
                { "es", "Nombre" },
                { "jp", "名前" },
                { "ru", "Имя" },
            };

            var defaultCulturesValuePair = new KeyValuePair <string, string>(defaultCulture.Name, defaultValue);

            foreach (var culturesValuePair in nonDefaultCulturesValuePairs)
            {
                m_staticTextUoW.AddStaticText("name", 0, culturesValuePair.Value, culturesValuePair.Key, "home", "user", now);
            }

            m_staticTextUoW.AddStaticText("name", 0, defaultCulturesValuePair.Value, defaultCulturesValuePair.Key, "home", "user", now);

            foreach (var culturesValuePair in nonDefaultCulturesValuePairs)
            {
                var translateResult = m_databaseLocalizationManager.Translate(new CultureInfo(culturesValuePair.Key), scope, key);
                Assert.AreEqual(culturesValuePair.Value, translateResult.Value);
            }

            var defaultCultureTranslateResult = m_databaseLocalizationManager.Translate(new CultureInfo(defaultCulturesValuePair.Key), scope, key);

            Assert.AreEqual(defaultCulturesValuePair.Value, defaultCultureTranslateResult.Value);

            foreach (var culturesValuePair in nonDefaultCulturesValuePairs)
            {
                m_staticTextUoW.Delete(key, culturesValuePair.Key, scope);
            }

            foreach (var culturesValuePair in nonDefaultCulturesValuePairs)
            {
                var translateResult = m_databaseLocalizationManager.Translate(new CultureInfo(culturesValuePair.Key), scope, key);
                Assert.AreEqual(defaultCultureTranslateResult.Value, translateResult.Value);
            }
        }
Exemplo n.º 2
0
        public void StaticTextCreateDeleteTest()
        {
            var cultureUoW         = new CultureUoW(m_sessionFactory);
            var dictionaryScopeUoW = new DictionaryScopeUoW(m_sessionFactory);
            var staticTextUoW      = new StaticTextUoW(m_sessionFactory);

            cultureUoW.AddCulture("cs");
            dictionaryScopeUoW.AddScope("dictionaryScope");

            var time = DateTime.UtcNow;

            staticTextUoW.AddStaticText(
                "name",
                0,
                "text",
                "cs",
                "dictionaryScope",
                "modificationUser",
                time
                );

            var staticText = staticTextUoW.GetByNameAndCultureAndScope(
                "name",
                "cs",
                "dictionaryScope"
                );

            Assert.AreEqual("name", staticText.Name);
            Assert.AreEqual("text", staticText.Text);

            staticTextUoW.Delete(
                "name",
                "cs",
                "dictionaryScope"
                );

            var staticTextReFetched = staticTextUoW.GetByNameAndCultureAndScope(
                "name",
                "cs",
                "dictionaryScope"
                );

            Assert.IsNull(staticTextReFetched);
        }
        public void DeleteDynamicText(string name, string scope, CultureInfo cultureInfo)
        {
            if (string.IsNullOrEmpty(scope))
            {
                scope = m_configuration.DefaultScope;
            }

            var dictionaryScope = GetDictionaryScope(scope);

            if (dictionaryScope.Name != scope)
            {
                throw new ArgumentException($"Unknown scope {scope}");
            }

            var culture = GetCultureByNameOrGetDefault(cultureInfo.Name);

            if (culture.Name != cultureInfo.Name)
            {
                throw new ArgumentException($"Unknown culture {cultureInfo.Name}");
            }

            m_staticTextUoW.Delete(name, culture.Name, dictionaryScope.Name);
        }