Google Translate API: переводит символы в тарабарщину - Python

Я использую Google Translate API для перевода столбца Excel с японского на английский. Столбец «Японский» содержит не только японские символы, но и некоторые числовые символы, такие как ①, ⑥ и т. Д.

Нет проблем с переводом японских иероглифов, но символы превращаются в тарабарщину.
Пример:
Японский: # ⑥ そ の 他
Английский: # â ‘¥ Другое

Но тот же текст отлично работает с Google Translate Web

введите описание изображения здесь

Как предотвратить перевод символов в Google Translate API?


person Ambri    schedule 09.01.2019    source источник
comment
Скорее всего, символы занимают определенный диапазон номеров Unicode, которые вы можете удалить из исходного текста, прежде чем передавать его на перевод.   -  person Variatus    schedule 09.01.2019


Ответы (1)


Проблема возникает из-за смешивания числовых символов с языком, поскольку в этом случае API перевода труднее определить, какой язык является исходным.

Я не знаю, какой метод вы используете для вызова API перевода, но в любом случае указание исходного языка решает проблему.

Например, при вызове REST из интерфейса командной строки:

curl -X POST -H "Authorization: Bearer "\
$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" --data "{
  'q': '#⑥その他',
  'source': 'ja',
  'target': 'en'
}" "https://translation.googleapis.com/language/translate/v2"

Вернет "# ⑥ Other" как результат перевода.

person Joan Grau Noël    schedule 09.01.2019