private TypeLocalizationDocument GetOrCreateLanguage(CultureInfo culture)
        {
            TypeLocalizationDocument document;

            lock (Cache)
            {
                if (Cache.TryGetValue(culture.LCID, out document))
                {
                    return(document);
                }
            }

            document = _documentSession.Load <TypeLocalizationDocument>(culture.Name);
            if (document == null)
            {
                _logger.Debug("Failed to find document for " + culture.Name + ", creating it.");
                var defaultLang = DefaultUICulture.Is(culture)
                                                                                                                        ? new TypeLocalizationDocument {
                    Id = culture.Name, Prompts = new List <TypePromptDocument>()
                }
                                                                                                                        : GetOrCreateLanguage(DefaultUICulture.Value);

                document = defaultLang.Clone(culture);
                _documentSession.Store(document);
                _documentSession.SaveChanges();
            }

            lock (Cache)
                Cache[culture.LCID] = document;

            return(document);
        }
Ejemplo n.º 2
0
        public void ChangeCultureToGbAndVerify()
        {
            DefaultUICulture.Set(new CultureInfo("en-gb"));

            Assert.AreEqual(new CultureInfo("en-gb").LCID, DefaultUICulture.LCID);
            Assert.IsTrue(DefaultUICulture.Is(new CultureInfo("en")));
            Assert.IsTrue(DefaultUICulture.Is(new CultureInfo("en-gb")));
            Assert.IsFalse(DefaultUICulture.IsActive);
        }
Ejemplo n.º 3
0
        public void ChangeCultureToSwedishAndVerify()
        {
            DefaultUICulture.Set(new CultureInfo(1053));

            Assert.AreEqual(1053, DefaultUICulture.LCID);
            Assert.IsFalse(DefaultUICulture.Is(new CultureInfo("en")));
            Assert.IsTrue(DefaultUICulture.Is(new CultureInfo(1053)));
            Assert.IsFalse(DefaultUICulture.IsActive);
            Assert.IsFalse(DefaultUICulture.IsEnglish);
        }
Ejemplo n.º 4
0
 public void DefaulIsUsEnglish()
 {
     Assert.IsTrue(DefaultUICulture.Is(new CultureInfo("en-us")));
 }
Ejemplo n.º 5
0
 public void DefaultIsAlsoNeutral()
 {
     Assert.IsTrue(DefaultUICulture.Is(new CultureInfo("en")));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Format output for a missing prompt
 /// </summary>
 /// <param name="text">View text</param>
 /// <returns>Plain text if default culture; otherwise culture tagged text.</returns>
 /// <example>
 /// Default culture:
 /// <code>
 /// localizer.FormatMissingPrompt("Hello world"); // --> hello world
 /// </code>
 /// Another culture:
 /// <code>
 /// localizer.FormatMissingPrompt("Hello world"); // --> [sv-se: hello world]
 /// </code>
 /// </example>
 protected virtual string FormatMissingPrompt(string text)
 {
     return(DefaultUICulture.Is(CultureInfo.CurrentUICulture)
                ? text
                : string.Format("{1}:[{0}]", text, CultureInfo.CurrentUICulture));
 }