/// <summary> /// Creates new instance of this collection. /// </summary> /// <param name="fallbackCulture">Specifies default fallback language.</param> public FallbackLanguagesCollection(CultureInfo fallbackCulture) { var fallbackLanguages = new FallbackLanguages(this) { fallbackCulture }; _collection.Add("default", fallbackLanguages); }
/// <summary> /// Adds new fallback language settings for specified language. /// </summary> /// <param name="notFoundCulture">Fallback languages will be enforced when resource for this language is not found.</param> /// <returns>List of fallback languages on which you can call extension methods to get list configured.</returns> public FallbackLanguages Add(CultureInfo notFoundCulture) { if (notFoundCulture == null) { throw new ArgumentNullException(nameof(notFoundCulture)); } if (_collection.ContainsKey(notFoundCulture.Name)) { throw new ArgumentException($"Fallback languages already have setting for `{notFoundCulture.Name}` language"); } var list = new FallbackLanguages(this); _collection.Add(notFoundCulture.Name, list); return(list); }
/// <summary> /// Extension method to use to configure fallback languages. Use this method when you want to specify which languages to use when /// <paramref name="notFoundCulture" /> language was not found. /// </summary> /// <param name="list">List of fallback languages.</param> /// <param name="notFoundCulture">Configure fallback languages for this language.</param> /// <returns>The same list of registered fallback languages to support API chaining (that fluent thingy).</returns> public static FallbackLanguages When(this FallbackLanguages list, CultureInfo notFoundCulture) { return(list.FallbackLanguagesCollection.Add(notFoundCulture)); }