docs: def choose_language(self, lang, request):
          """Deal with the multiple corner case of choosing the language."""
  
          # Can be an empty string or None
          if not lang:
              lang = get_language_from_request(request)
  
          # Raise a 404 if the language is not in not in the list
          if lang not in [key for (key, value) in settings.PAGE_LANGUAGES]:
              raise Http404
  
          # We're going to serve CMS pages in language lang;
          # make django gettext use that language too
          if lang and translation.check_for_language(lang):
              translation.activate(lang)
  
          return lang