public void TranslateConcurrentlyTest() { var availableKeys = new[] { "cancel", "retry", "delete", "close", "yes", "no", "ok", }; Parallel.For(0, 10000, iteration => { var key = availableKeys[iteration % availableKeys.Length]; m_fileLocalizationManager.Translate(null, null, key); }); }
public void TreeTest() { var localizationConfiguration = new LocalizationConfiguration { BasePath = "LocalizationTree", DefaultCulture = new CultureInfo("cs"), SupportedCultures = new List <CultureInfo> { new CultureInfo("en"), new CultureInfo("en-US"), new CultureInfo("en-GB"), new CultureInfo("en-CA"), new CultureInfo("es-MX"), new CultureInfo("es-US"), }, TranslateFallbackMode = LocTranslateFallbackMode.Key, AutoLoadResources = true }; var dictionaryManager = new FileDictionaryManager( localizationConfiguration, JsonDictionaryFactory.FactoryInstance ); var fallbackCultureResolver = new FallbackCultureResolver(localizationConfiguration); var fileLocalizationManager = new FileLocalizationManager( localizationConfiguration, dictionaryManager, fallbackCultureResolver ); var s1 = fileLocalizationManager.Translate("text-1-odst", new CultureInfo("cs")); Assert.AreEqual("global cs [text-1-odst]", s1); var s2 = fileLocalizationManager.Translate("extra-cs-key", new CultureInfo("en-MX")); Assert.AreEqual("extra string in CS culture", s2); var s3 = fileLocalizationManager.Translate("extra-cs-key", new CultureInfo("es-MX")); Assert.AreEqual("extra string in CS culture", s3); const string nopeKey = "nope-key"; var sNope = fileLocalizationManager.Translate(nopeKey, new CultureInfo("es-MX")); Assert.AreEqual(nopeKey, sNope); localizationConfiguration.TranslateFallbackMode = LocTranslateFallbackMode.EmptyString; var sNope2 = fileLocalizationManager.Translate(nopeKey, new CultureInfo("es-MX")); Assert.AreEqual("", sNope2); localizationConfiguration.TranslateFallbackMode = LocTranslateFallbackMode.Exception; var exceptionThrown = false; try { var sNope3 = fileLocalizationManager.Translate(nopeKey, new CultureInfo("es-MX")); } catch (TranslateException) { exceptionThrown = true; } Assert.IsTrue(exceptionThrown); }