#api #google-translator-toolkit
#API #google-translator-toolkit
Вопрос:
Я использую Google Translator API для перевода английского файла ресурсов на испанский. У меня в файле ресурсов около 6000 ключей. Прямо сейчас я передаю ключи один за другим и получаю результат. После нескольких частых обращений (примерно после 1000 нажатий) к сайту Google я получаю ошибку 403 «Злоупотребление условиями предоставления услуг».
Есть ли какой-либо другой способ перевести все 6000 ключевых значений на испанский?
Я использую GoogleTranslateAPI_0.4_alpha API, и ниже приведен код.
ResXResourceReader rsxr = new ResXResourceReader (filename);
rsxr.UseResXDataNodes=true;
ResXDataNode node;
AssemblyName[] assemblies;
string value=string.Empty;
string comment=string.Empty;
foreach (DictionaryEntry d in rsxr)
{
node = (ResXDataNode)d.Value;
assemblies = Assembly.GetExecutingAssembly ().GetReferencedAssemblies ();
value=node.GetValue (assemblies).ToString ();
try
{
if (!string.IsNullOrEmpty (value))
{
TranslateClient client = new TranslateClient ("my proxy address");
value=client.Translate (value.ToString () ,"en" ,"es");
}
}
catch (Exception ex)
{
value="dummy";
}
}
rsxr.Close ();
Ответ №1:
Мы не можем помочь вам нарушить условия предоставления услуг Google, поэтому ваша ставка — заставить человека сделать это.
Существуют коммерческие программы, которые выполняют перевод, но я не нашел ни одной, которая мне понравилась бы или даже, по моему мнению, адекватно справляется с этой задачей (поиск в Google выдаст несколько из них, и вы сможете выбрать одну).
В любом случае, машинные переводы обычно не очень хорошо работают с пользовательскими интерфейсами, потому что они настроены на общий разговор, а не на более короткие фрагменты текста (не предложения), которые вы обычно находите в программе (так говорит мой знакомый парень, который работает в Google).
Ответ №2:
Заплатите за это:http://code.google.com/apis/language/translate/v2/pricing.html
Смотрите также Microsoft Translator:https://datamarket.azure.com/dataset/1899a118-d202-492c-aa16-ba21c33c06cb