Huh, maybe I forgot to press "comment on this line", but GH seems to have eaten a comment I entered earlier this morning.  I've had problems with this in the client branch off of this pull.  In particular, a non-mocked test case:

    def test_api_search_translation_nomock(self):
        response = self.client.get(u'/api/v1/search?expression=bom%20dia%20e%C3%A8%C3%89%C9%98&query_type=translation')
        self.api_check(response, 200, {
                u'expression': u'bom dia eèÉɘ',
                u'results': {
                    u'translation': u'good day eèÉɘ'
                },
                u'source': u'pt',
                u'status': u'success',
                u'target': u'en'
            })

Will fail:

    Traceback (most recent call last):
      File "/Users/talos/Programming/languagelearning/search/tests/api.py", line 75, in test_api_search_translation_nomock
        u'target': u'en'
      File "/Users/talos/Programming/languagelearning/search/tests/api.py", line 28, in api_check
        self.assertEqual(response.status_code, status_code)
    AssertionError: 400 != 200

This can be solved by encoding `self.expression` into a UTF-8 bytestring for the `GoogleTranslator` (`self.expression.encode('utf8')`), but this seems a bit messy and also breaks the mocked test cases.  Is there something else that I'm missing in terms of addressing this?