private void WireLanguage(ContainerBuilder builder) { builder.Register(context => { var languageManager = new LanguageManager(); languageManager.AddTranslation(new EnglishTranslations()); languageManager.AddTranslation(new GermanTranslations()); return(languageManager.GetCurrentTranslation()); }); }
public void Falls_back_to_english_when_translation_missing() { var l = new LanguageManager(); l.AddTranslation("en", "TestValidator", "foo"); using (new CultureScope("zh-CN")) { var msg = l.GetString("TestValidator"); msg.ShouldEqual("foo"); } }
public void Can_replace_message_without_overriding_all_languages() { using (new CultureScope("fr-FR")) { var custom = new LanguageManager(); custom.AddTranslation("fr", "NotNullValidator", "foo"); var msg = custom.GetString("NotNullValidator"); msg.ShouldEqual("foo"); // Using a custom translation should only override the single message. // Other messages in the language should be unaffected. // Need to do this test as non-english, as english is always loaded. msg = custom.GetString("NotEmptyValidator"); msg.ShouldEqual("'{PropertyName}' ne doit pas être vide."); } }