* @param str {String} target language
* @param str {String} callback - calls back with result or an error object.
*/
-Pman.GoogleTranslate = function(str, src, dest, cb) {
+Pman.GoogleTranslate = function(str, src, dest, cb, force) {
// load script:
var cur = 0;
var sbits = [];
return Roo.util.Format.htmlDecode( output);
}
-
-
+
function transbits()
{
while (true) {
break;
}
- Roo.log("SEND : " + sbits[cur]);
- Pman.gtranslate( sbits[cur], src, dest, function(result) {
+ // Roo.log("SEND : " + sbits[cur]);
+ Pman.GoogleTranslate( sbits[cur], src, dest, function(result) {
if (typeof(result) == 'object') {
cb(result);
return;
}
+ //padding might not be needed...
complete += complete.length ? ' ' : '';
complete += result;
cur++;
transbits();
- });
+ }, true);
}
// chunk up long strings..
- if (str.length > 200) {
- var bits = str.split(/\s+/);
+ // we should roo.encode to test lenght..
+ if (!force && str.length > 200) {
+ var bits = str.split(/(\s+|[0-9\u3002\uff0c\u3001\u201c\u201d]+)/);
sbits[0] = '';
for (var i =0; i < bits.length; i++) {
if (sbits[cur].length + bits[i].length > 190) {
sbits[cur] = bits[i];
continue;
}
- sbits[cur] += sbits[cur].length ? ' ' : '';
+ //sbits[cur] += sbits[cur].length ? ' ' : '';
sbits[cur] += bits[i] + ' '
}
-
-
-
-
-
+
var x = new Roo.data.ScriptTagProxy({
url: 'http://ajax.googleapis.com/ajax/services/language/translate',
callbackParam : 'callback'