using Connected.Data;
namespace Connected.Globalization.Languages;
///
/// Represents a language used by localization services in the environment.
///
///
/// In a multilanguage enviroments this entity defines a set of languages
/// supported by the environment. Language contains LCID which is used when
/// choosing which localization strings are loaded in the request.
/// Language is typically set by user's identity thus enabling environment
/// globalization.
///
public interface ILanguage : IPrimaryKey
{
///
/// The name of the language. This is a descriptive property and does
/// not have any special meaning when mapping globalization services.
///
string Name { get; }
///
/// The language status. If the language is
/// ignored even user has a language set to its identity.
///
Status Status { get; }
///
/// The locale id associated with a language. This value is used when a language
/// is set as a request language and is
/// set during the request pipeline.
///
int Lcid { get; }
///
/// A set of mapping strings used when the environment is resolving a language from a browser.
/// Browser sends supported languages and if identity is not set en evrionment tries to resolve
/// a correct language via this property. Use ',' delimiter when setting multiple mappings.
///
string Mappings { get; }
}