/// <summary> /// Creates new instance where <paramref name="defaultCultureProvider"/> provides enumeration of default cultures /// </summary> /// <param name="defaultCultureProvider">Provider of default (application) cultures.</param> /// <param name="readerProvider">Provider of readers for other cultures.</param> public GetTextTranslationReaderProvider(ICultureProvider defaultCultureProvider, ITranslationReaderProvider readerProvider) { Ensure.NotNull(defaultCultureProvider, "defaultCultureProvider"); Ensure.NotNull(readerProvider, "readerProvider"); this.defaultCultureProvider = defaultCultureProvider; this.readerProvider = readerProvider; }
public void DirectoryProviderFactory() { DirectoryTranslationReaderProviderFactory factory = new DirectoryTranslationReaderProviderFactory( new PlainTextTranslationReaderFactory(), "*.txt" ); string rootPath = @"C:\\Temp\\Localization"; Assert.AreEqual(true, Directory.Exists(rootPath)); File.WriteAllText(Path.Combine(rootPath, "en-US.txt"), "Hello, World!=Hello, World!"); File.WriteAllText(Path.Combine(rootPath, "cs-CZ.txt"), "Hello, World!=Ahoj všichni!"); File.WriteAllText(Path.Combine(rootPath, "UnitTest.cs-CZ.txt"), "Hello, World!=Ahoj!"); /// EN ------------------ ITranslationReaderProvider provider = factory.Create(rootPath); ITranslationReader reader; Assert.AreEqual(true, provider.TryGetReader(new CultureInfo("en-US"), Assembly.GetExecutingAssembly(), out reader)); string translatedText; Assert.AreEqual(true, reader.TryGet("Hello, World!", out translatedText)); Assert.AreEqual("Hello, World!", translatedText); /// CS ------------------ Assert.AreEqual(true, provider.TryGetReader(new CultureInfo("cs-CZ"), Assembly.GetExecutingAssembly(), out reader)); Assert.AreEqual(true, reader.TryGet("Hello, World!", out translatedText)); Assert.AreEqual("Ahoj!", translatedText); }
/// <summary> /// Creates new instance that reads culture from <paramref name="cultureProvider"/>. /// </summary> /// <param name="cultureProvider">Provider for user culture.</param> /// <param name="readerProvider">Translations provider.</param> public TranslationAdapter(ICultureProvider cultureProvider, ITranslationReaderProvider readerProvider) { Ensure.NotNull(cultureProvider, "cultureProvider"); Ensure.NotNull(readerProvider, "readerProvider"); this.cultureProvider = cultureProvider; this.readerProvider = readerProvider; }