Почему переводчик Google пропускает какой-то текст в Python? - PullRequest
0 голосов
/ 15 января 2019

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

Как видно из кода и вывода,

В настоящее время только SDS около 20-30% HAZMAT продукта составляет получен

, кажется, отсутствует на выходе.

Код

translator.translate(   
'At present only SDS of about 20 to 30% of HAZMAT of the product is obtained.  
Chemicals management (Japan) Qn 4.03 Business operators are responsible for ensuring that necessary information is readily recognized at each workplace dealing with substances specified as requiring safety data sheets (SDS) under the Occupational Safety and Health Act , Or make it known to workers handling such substances. 入手済みのSDSはPandashで確認することが出来る。MTEが使用する化学物質についてはSDSが入手されている。PCコメント(2017/07/10)SDSを入手する基準ですが、すべての商品に対して入手する、というのが原則ではあります。ただし、現在販売されているすべての商品に対して一度にSDSを入手することも難しいため、再判定になったときはSDSの提出をお願いし、ご提出いただいております。なお、もしも何らかの事情でSDSをご提出いただけない場合は、MSDS Exemption',  
src='ja', dest='en').text

Выход

'Chemicals management (Japan) Qn 4.03 Business operators are responsible for ensuring that each information is readily recognized at each workplace dealing with substances specified as requiring safety data sheets ( SDS) under the Occupational Safety and Health Act, Or make it known hand to such workers. The obtained SDS can be confirmed with Pandash. For chemical substances used by MTE, SDS has been obtained. PC comment (2017/07/10) It is the standard to obtain SDS, but in principle it is to obtain for all items. However, it is difficult to acquire SDS at the same time for all the products currently on sale, so if you decide to reevaluate it, we ask you to submit SDS and submit it. In addition, if you are unable to submit SDS for any reason, MSDS Exemption'

1 Ответ

0 голосов
/ 15 января 2019

Кажется, это проблема форматирования, возможно, из-за того, что в вашем тексте есть символ разрыва строки (\n). Чтобы решить эту проблему, заключите в текст тройные кавычки ("""), что позволяет вводить несколько строк.

Следующее, кажется, дает желаемый результат:

Код:

from googletrans import Translator

translator = Translator()

translator.translate(
"""At present only SDS of about 20 to 30% of HAZMAT of the product is obtained.
Chemicals management (Japan) Qn 4.03 Business operators are responsible for ensuring that necessary information is readily recognized at each workplace dealing with substances specified as requiring safety data sheets (SDS) under the Occupational Safety and Health Act , Or make it known to workers handling such substances. 入手済みのSDSはPandashで確認することが出来る。MTEが使用する化学物質についてはSDSが入手されている。PCコメント(2017/07/10)SDSを入手する基準ですが、すべての商品に対して入手する、というのが原則ではあります。ただし、現在販売されているすべての商品に対して一度にSDSを入手することも難しいため、再判定になったときはSDSの提出をお願いし、ご提出いただいております。なお、もしも何らかの事情でSDSをご提出いただけない場合は、MSDS Exemption""",
src='ja', dest='en').text

Выход:

В настоящее время получают только SDS от 20 до 30% HAZMAT продукта. Управление химическими веществами (Япония) Qn 4.03 Каждый бизнес-оператор несет ответственность за каждый требуемый паспорт безопасности (SDS) в соответствии с Законом о безопасности и гигиене труда, или сообщать об этом работникам, имеющим дело с таким. Полученный SDS может быть подтвержден Pandash. Для химических веществ, используемых MTE, был получен SDS. Комментарий ПК (2017/07/10) Это стандарт для получения SDS, но в принципе это для всех предметов. Тем не менее, трудно приобрести SDS одновременно для всех продуктов, которые в настоящее время продаются, поэтому, если вы решите пересмотреть его, мы просим вас предоставить SDS и отправить его. Кроме того, если вы не можете отправить SDS по какой-либо причине, MSDS Exemption

...