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; }
}
}