Returns all language codes defined in settings.LANGUAGES and also the
    settings.MSGID_LANGUAGE if defined.
    
    >>> from django.conf import settings
    >>> settings.MSGID_LANGUAGE = 'en-us'
    >>> settings.LANGUAGES = (('en','English'),('de','German'),('nl-be','Belgium dutch'),('fr-be','Belgium french'),)
    >>> sorted( get_language_codes() )
    ['en-us', 'en','de', 'nl-be','fr-be']
    
    :rtype: A :class:`list` of language codes.

def get_all_language_codes():
    """
    Returns all language codes defined in settings.LANGUAGES and also the
    settings.MSGID_LANGUAGE if defined.
    
    >>> from django.conf import settings
    >>> settings.MSGID_LANGUAGE = 'en-us'
    >>> settings.LANGUAGES = (('en','English'),('de','German'),('nl-be','Belgium dutch'),('fr-be','Belgium french'),)
    >>> sorted( get_language_codes() )
    ['en-us', 'en','de', 'nl-be','fr-be']
    
    :rtype: A :class:`list` of language codes.
    """
    languages = get_language_codes()
    if hasattr(settings, 'MSGID_LANGUAGE'):
        if not settings.MSGID_LANGUAGE in languages:
            languages.insert(0, settings.MSGID_LANGUAGE)
            
    return languages