'Initialize the locale object from the given identifier components.
>>> locale = Locale(\'en\', \'US\')
>>> locale.language
\'en\'
>>> locale.territory
\'US\'
:param language: the language code
:param territory: the territory (country or region) code
:param script: the script code
:param variant: the variant code
:raise `UnknownLocaleError`: if no locale data is available for the
requested locale'

def __init__(self, language, territory=None, script=None, variant=None):

    self.language = language
    self.territory = territory
    self.script = script
    self.variant = variant
    self.__data = None
    identifier = str(self)
    if (not localedata.exists(identifier)):
        raise UnknownLocaleError(identifier)
