PDA

View Full Version : Solved Translations not working suddenly



tavenger5
29-09-11, 14:18
I'm pretty sure this is related to these similar issues:

http://www.vbenterprisetranslator.com/forum/troubleshooting/2425-major-translation-issues.html
http://www.vbenterprisetranslator.com/forum/bug-reporting/2424-more-bugs-you-drive-me-mad.html

the only difference is I'm using 4.4.2

Google v1 is not working for any new translations. When switching to v2, translations work, but on next page load translations are gone.

MS Translator is not working on my site at all, and just times out. I do have vbet_translation_options uploaded.

Here is an example of a page not working correctly: http://cellphoneforums.net/rim-**********/t335709-a.html (replace ***'s with 'b lackberry' without the space)

r.dziadusz
29-09-11, 14:57
Ok please start with doing google test: http://www.vbenterprisetranslator.com/forum/troubleshooting/6-faq-2.html#post1728

tavenger5
29-09-11, 15:02
eek - getting a 403 from that - there's the problem.

r.dziadusz
29-09-11, 15:44
Please make sure that your vbet configuration is ok, please pay attention on vBulletinTM Configuration fo vBet
1) for using microsoft translation API make sure that your microsoft id is correct.
2) for google error:

Please read from the same link(http://www.vbenterprisetranslator.com/forum/troubleshooting/6-faq-2.html#post1728) how to open your connection. You can try to increase this value, but do not use to big delay becouse it will slow your performance

admincp -> vbet -> translation options -> Delay between translations

tavenger5
29-09-11, 16:08
This is the specific error I'm getting:

Starting translation test
Test result: {"responseData": null, "responseDetails": "Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors", "responseStatus": 403}
Test error:
Connection time (ms): 575.585205078


I already sent a message to google.

It's strange that v2 is also not working correctly in place of v1. Like I said, things will be translated on the first page load, but subsequent page loads do not work. Shouldn't the results from the first page load be cached anyway?

Furthermore, it's pretty strange that Google put a number of sites on the ban list all at once.

Any idea why me and others are getting timeout errors when trying to switch to MS Translator? My ms id is correct.

tavenger5
29-09-11, 16:39
I'm wondering if this part of the TOS is part of the problem. I get a LOT of bots visiting pages every day.


Sometimes, requests made on behalf of search engine crawlers, as they visit your pages, can result in blocks. To bring your site in line with the Terms (which prohibit automated queries), please utilize a robots.txt or otherwise prevent crawlers' requests from triggering API requests.

update - nevermind - I see that the interface uses the userip, and this is the line before the one above is this:

If you're using the RESTful interface, consider using the optional userip parameter. This parameter supplies the IP address of the end-user who made the request and validates that you are not making automated requests in violation of the Terms of Use.

tavenger5
29-09-11, 16:54
Okay, I think I may have fixed things.

I set the delay between translations to 100ms. The googletest.php is now outputting a 200 status.

update - now it's back to 403. I think google put a new restriction on how many requests are done a second by each user, and I'm obviously getting kicked off.

vBET
29-09-11, 17:20
Please note that 2 links you gave in first post are about vBET 3.5.0 BETA (unstable) version - which has right to have errors - this is form "unstable" definition ;)

Also please note that Google Translation API v1 puts limits since they are preparing to close.

Please specify what do you mean by "on next page load translations are gone" - I do not understand.


MS Translator is not working on my site at all
Please make sure that you have set appropriate API KEY. Also we will prepare you special Microsoft test to determine what is going on.


Starting translation test
Test result: {"responseData": null, "responseDetails": "Suspected Terms of Service Abuse. Please see API Access Notice - Google Code (http://code.google.com/apis/errors)", "responseStatus": 403}
Test error:
Connection time (ms): 575.585205078
Just as it is wrote in error message - please check the page. You already contacted Google - please let us know what is the answer.


It's strange that v2 is also not working correctly in place of v1. Like I said, things will be translated on the first page load, but subsequent page loads do not work. Shouldn't the results from the first page load be cached anyway?
Please make sure you have database cache turned on. Also please make sure that you have it turned on for specific language. Page should be cached if it was fully translated. If any translation error occurs then it is not cached because it would fill cache with wrong data (translation was crashed - so we cannot cache it).


Furthermore, it's pretty strange that Google put a number of sites on the ban list all at once.
Not at all - most probably this is done automatically by some robot and most probably the traffic was the line here. Anyway - we need to clarify it first to be sure what it is really about - please let us know about Google response.


Any idea why me and others are getting timeout errors when trying to switch to MS Translator? My ms id is correct.
Not right now. Radek will prepare Microsoft test and you will be able to check what it is about.


update - now it's back to 403. I think google put a new restriction on how many requests are done a second by each user, and I'm obviously getting kicked off.
If it is v1 then Google made announcement that restrictions will be made - maybe they made it more strict when coming closer to closing date... If it is v2 - it shouldn't happen they take money for this.

tavenger5
29-09-11, 17:47
I did a quick test. Here is what I did step by step:

Enabled Google Translate v2. Translations worked for a short period of time, then stopped
In the meantime v1 gave me a 200 status
Switched back to v1. Translations worked for a short period again - observed 403 status
Upped the "Delay between translations" to 2000
Switched back to v2. Translations worked for a short period of time, then stopped
v1 gave me a 200 status again
Switched back to v1. Translations worked for a short period again - observed 403 status
Upped the "Delay between translations" to 3000
Switched back to v2. Translations worked for a short period of time, then stopped
v1 gave me a 200 status again
Switched back to v1. Translations worked for a short period again - observed 403 status
Upped the "Delay between translations" to 4000
Switched back to v2. Translations worked for a short period of time, then stopped
v1 gave me a 200 status again
etc...


So it's clear that Google doesn't like all the calls I'm throwing at it even with a delay of 4 seconds!

In the v2 documentation it says "100.0 characters/second/user" - I'm guessing I'm still exceeding that, which is why v2 only works momentarily.

tavenger5
29-09-11, 18:02
Please note that 2 links you gave in first post are about vBET 3.5.0 BETA (unstable) version - which has right to have errors - this is form "unstable" definition ;)

Right, but we're all experiencing the same issue...



Also please note that Google Translation API v1 puts limits since they are preparing to close.
yeah, they obviously changed something yesterday



Please specify what do you mean by "on next page load translations are gone" - I do not understand.

Please make sure you have database cache turned on. Also please make sure that you have it turned on for specific language. Page should be cached if it was fully translated. If any translation error occurs then it is not cached because it would fill cache with wrong data (translation was crashed - so we cannot cache it).

I believe this was my fault - I did not have the default language (English) turned on for cache. It makes sense that the system wasn't caching the above page because I didn't have this on.



Please make sure that you have set appropriate API KEY. Also we will prepare you special Microsoft test to determine what is going on.
I do - it's still timing out



If it is v1 then Google made announcement that restrictions will be made - maybe they made it more strict when coming closer to closing date... If it is v2 - it shouldn't happen they take money for this. See my last post about limit per user per second

tavenger5
29-09-11, 19:58
In the v2 documentation it says "100.0 characters/second/user" - I'm guessing I'm still exceeding that, which is why v2 only works momentarily.

Nevermind about this for v2 - I now see that it is a settable limit that can be changed.

tavenger5
29-09-11, 20:21
Some more info:

Translate API V1 - "Suspected Terms of Service Abuse" - Google AJAX APIs | Google Groups (http://groups.google.com/group/google-ajax-search-api/browse_thread/thread/3e19c88b23546a73?hl=en_US)


As mentioned in the deprecation announcement, we've begun limiting usage of v1 of the API.

tavenger5
29-09-11, 23:36
I'm still unable to get the MS Translator to function correctly.

samm1129
30-09-11, 02:26
I am in the same boat here... you are not alone

Simon Lloyd
30-09-11, 07:53
Please note that 2 links you gave in first post are about vBET 3.5.0 BETA (unstable) version - which has right to have errors - this is form "unstable" definition ;)
The first link was NOT for version 3.5, it's for version 3.4.1, one of your team recommended that i "upgrade" to vBET 3.5 to solve the issue at which i said i would not becuase you don't support it as specified in the download area.

@tavenger5, good work, thanks for doing the testing :)

r.dziadusz
30-09-11, 09:21
Ok let's try your microsoft connections please switch your translation provider "use google only": no and "use google api v2": no, create .php - it could be just regular notepad file saved as *.PHP

And paste this content:


<?php
require_once('./global.php');
echo "Starting translation test<br/>\n";
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, 'http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId='.$vbulletin->options['vbenterprisetranslator_microsoftappid'].'fake&from=pl&to=en&options={%22ContentType%22:%22text/html%22}&text=witaj');
curl_setopt($connection, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)');
//curl_setopt($connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
$time = microtime(true) * 1000;
$result = curl_exec($connection);
$time = microtime(true) * 1000 - $time;
echo 'Test result: '.$result."<br/>\n";
echo 'Test error: '.curl_error($connection)."<br/>\n";
curl_close($connection);
echo 'Connection time (ms): '.$time;
?>


Upload it into your forum root folder, and put link to this file to your browser, and please show me results

samm1129
30-09-11, 15:12
Starting translation test
Test result: "InvalidOperationException: : ID=3643.V2_Json.Translate.35944BF8"
Test error:
Connection time (ms): 61.6999511719

tavenger5
30-09-11, 16:07
For MS I'm getting:
Starting translation test
Test result: "ArgumentException: Invalid appId\u000d\u000aParameter name: appId : ID=3743.V2_Json.Translate.3596BAA0"
Test error:
Connection time (ms): 105.299804688

I'm looking at the appid on bing right now and it is correct. I'm not sure what I'm missing here.

tavenger5
30-09-11, 16:14
Also, after testing v2 a bit and racking up 1.5M characters in less than an hour I realized some things:

Google was throwing an error because too many characters were being requested at a time. This is because of the Per-User Limit being set too low under the quotas tab under the API console. After turning this up everything on a page would be translated properly.
Even with only 10 languages enabled, the extra overhead is not worth it. I turned off the 4 lowest performing (based on amount of traffic & time on page) translations, in my case - ar, ja, nl, pl (German was low performing too, but I kept it on)
After turning off those languages, I switched back to v1 and things seem to be fine, for now.

vBET
30-09-11, 18:40
I did a quick test. Here is what I did step by step:

Enabled Google Translate v2. Translations worked for a short period of time, then stopped
In the meantime v1 gave me a 200 status
Switched back to v1. Translations worked for a short period again - observed 403 status
Upped the "Delay between translations" to 2000
Switched back to v2. Translations worked for a short period of time, then stopped
v1 gave me a 200 status again
Switched back to v1. Translations worked for a short period again - observed 403 status
Upped the "Delay between translations" to 3000
Switched back to v2. Translations worked for a short period of time, then stopped
v1 gave me a 200 status again
Switched back to v1. Translations worked for a short period again - observed 403 status
Upped the "Delay between translations" to 4000
Switched back to v2. Translations worked for a short period of time, then stopped
v1 gave me a 200 status again
etc...


So it's clear that Google doesn't like all the calls I'm throwing at it even with a delay of 4 seconds!

In the v2 documentation it says "100.0 characters/second/user" - I'm guessing I'm still exceeding that, which is why v2 only works momentarily.

Google v1 is preparing to be closed - we can expect that they will put even more restrictions with time.
In Google v2 you can manage limits! It is up yo you. Please login your Google account and change settings. Go here: https://code.google.com/apis/console and go to Quotas tag. You can set you limit as big as you need :) 100 is really low. We set out quota much bigger.

Also please note that "Delay between translations" is working per one request. It means that if translation of one page takes 3 queries then there will be delay between those. In same time other pages can be translated simultaneously. Also you put really high delay - your translated pages will generate lot of time before caching.

And another topic - caching. Please note that Google v2 do not have cache limit like Google v1 - so if you use Google v2 you can give longer time to live for your cache or disable cleaning completely.

vBET
30-09-11, 18:56
Right, but we're all experiencing the same issue...

Yes. Still in case of vBET 3.5/0 there can be additional reason - bugs as it is unstable version. In case of vBET 4.x it is most likely outside reason. Of course if translation provider set limits then all users will have same issue.


I believe this was my fault - I did not have the default language (English) turned on for cache. It makes sense that the system wasn't caching the above page because I didn't have this on.

Yes cache for your own language will be helpful - if someone writes in different language then it will be translated on default view to your default language.


See my last post about limit per user per second

I saw it and already answered - you can change it as big as you like :)

AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
vBET 4.9.2 gives automatic translations