I have a lot of text data and want to translate it to different languages.
Possible ways I know:
- Google Translate API
- Bing Translate API
The problem is that all these services have limitations on text length, number of calls etc. which makes them inconveniente in use.
What services / ways you could advice to use in this case?
Disclaimer: While I definitely find tokenizing as a means of translation suspect, splitting on sentences as later illustrated by typoking may produce results that fill your requirements.
I suggested that his code could be improved by reducing the 30+ lines of string munging to the 1 line regex he asked for in another question but the suggestion was not well recieved.
Here is an implementation using google api for .net in VB and CSharp
Program.cs
Module1.vb
Input (stolen directly from typoking)
Results (to german for typoking):
You could use Amazon's Mechanical Turk https://www.mturk.com/
You set a fee for translating a sentence or paragraph, and real people will do the work. Plus you can automate it with Amazon's APIs.
I had to solve the same problem when integrating language translation with an xmpp chat server. I partitioned my payload (the text i needed to translate) into smaller subsets of complete sentences. I cant recall the exact number but with googles rest based translation url, i translated a set of completed sentences that collectivly had a total of less than (or equal to) 1024 characters, so a large paragraph would result in multiple translation service calls.
There are a plenty of different Machine Translation APIs: Google, Microsoft, Yandex, IBM, PROMT, Systran, Baidu, YeeCloud, DeepL, SDL, SAP.
Some of them support batch requests (translating an array of text at once). I would translate sentence by sentence with proper processing of 403/429 errors (usually used to respond for exceeded quota)
I may refer you to our recent evaluation study (November 2017): https://www.slideshare.net/KonstantinSavenkov/state-of-the-machine-translation-by-intento-november-2017-81574321
Google provides a useful tool,
Google Translator Toolkit
, which allows you to upload files and translate them, to whichever language Google Translate supports, at once. It's free if you want to use the automated translations but there is an option to hire real persons to translate your documents for you.From Wikipedia:
Link
This is a long shot, but here it goes:
Perhaps this blog post which describes using Second Life to translate articles be helpful for you too?
I am not too sure if Second Life's API allows you to do the translation in an automated way though.