38 translation = resp.json()
40 item = res.types.Translations.Item(text=translation[
'translated-text'])
42 if translation[
'target_transliteration']
and not re.match(
43 re_transliteration_unsupported, translation[
'target_transliteration']
45 item.transliteration = translation[
'target_transliteration']
47 if translation[
'word_choices']:
48 for word
in translation[
'word_choices']:
49 if word.get(
'definition'):
50 item.definitions.append(word[
'definition'])
52 for example
in word.get(
'examples_target', []):
53 item.examples.append(re.sub(
r"<|>",
"", example).lstrip(
'- '))
55 item.synonyms = translation.get(
'source_synonyms', [])
57 url = urllib.parse.urlparse(resp.search_params[
"url"])
59 url = url._replace(path=
"", fragment=
"").geturl()
60 res.add(res.types.Translations(translations=[item], url=url))