我正在使用Google Translator API将英文资源文件翻译成西班牙语。我的资源文件中有大约6000个密钥。现在我正在一个接一个地传递密钥并得到结果。在谷歌网站的一些频繁点击(大约1000个键之后)后,我得到了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 ();
我们不能帮助您违反谷歌服务条款,所以您的赌注是让一个人来做。
有一些商业项目可以做翻译,但我没有找到任何我喜欢的,甚至觉得能胜任这项工作的项目(谷歌搜索会发现很多,你可以选择一个)
无论如何,机器翻译通常在用户界面上做得不太好,因为它们是为一般对话而调整的,而不是为你在程序中通常找到的较短的文本块(而不是句子)而调整的(我认识的一位在谷歌工作的人说)。
付费:http://code.google.com/apis/language/translate/v2/pricing.html
另请参阅Microsoft翻译器:https://datamarket.azure.com/dataset/1899a118-d202-492c-aa16-ba21c33c06cb