using System.Globalization; using System.Runtime.Serialization; using Umbraco.Core.Models.Entities; namespace Umbraco.Core.Models { /// /// Represents a language. /// public interface ILanguage : IEntity, IRememberBeingDirty { /// /// Gets or sets the ISO code of the language. /// [DataMember] string IsoCode { get; set; } /// /// Gets or sets the culture name of the language. /// [DataMember] string CultureName { get; set; } /// /// Gets the object for the language. /// [IgnoreDataMember] CultureInfo CultureInfo { get; } /// /// Gets or sets a value indicating whether the language is the default language. /// [DataMember] bool IsDefault { get; set; } /// /// Gets or sets a value indicating whether the language is mandatory. /// /// /// When a language is mandatory, a multi-lingual document cannot be published /// without that language being published, and unpublishing that language unpublishes /// the entire document. /// [DataMember] bool IsMandatory { get; set; } /// /// Gets or sets the identifier of a fallback language. /// /// /// The fallback language can be used in multi-lingual scenarios, to help /// define fallback strategies when a value does not exist for a requested language. /// [DataMember] int? FallbackLanguageId { get; set; } } }