code: def to_locale(language, to_lower=False):
      
      p = language.find('-')
      if p >= 0:
          if to_lower:
              return language[:p].lower() + '_' + language[p + 1:].lower()
          else:
              # Get correct locale for sr-latn
              if len(language[p + 1:]) > 2:
                  locale = language[:p].lower() + '_' + language[p + 1].upper()
                  return locale + language[p + 2:].lower()
              return language[:p].lower() + '_' + language[p + 1:].upper()
      else:
          return language.lower()
docs: Turns a language name (en-us) into a locale name (en_US). If 'to_lower' is
      True, the last component is lower-cased (en_us).
  
      Taken `from Django <http://bit.ly/1ssrxqE>`_.