/* * ---------------------------------------------------------------------------- * "BABELFISH TRANSLATOR - DISCLAIMER" * This script is provided 'as is', without warranty of any kind. Dont forget * that. This file is written by Dhaya and you can do * whatever you want with this code as long as you retain this notice. * Have fun using it ! * * version 1.0.090606 * Dhaya * /Freely inspired from dt's notice * ---------------------------------------------------------------------------- */ var ajax = new ActiveXObject("Microsoft.XMLHTTP"); var WndContact = new Object(); var arrLangCodes = new Array(); arrLangCodes[0] = ["en","nl","fr","de","it","pt","es"]; arrLangCodes[1] = "zh,zt,nl,fr,de,el,it,ja,ko,pt,ru,es"; arrLangCodes[2] = "en,fr"; arrLangCodes[3] = "en,de,el,it,pt,nl,es"; arrLangCodes[4] = "en,fr"; arrLangCodes[5] = "en,fr"; arrLangCodes[6] = "en,fr"; arrLangCodes[7] = "en,fr"; function OnEvent_ChatWndSendMessage(ChatWnd,Message) { if (Message.match(/^!translate .+/)) { var arrMsg = Message.split(" "); if (arrMsg[1] == "info") { MsgPlus.CreateWnd("babelfishtranslator.xml","WndInfo"); } else { var isOk = 0; switch (arrMsg[1]) { case "en": var strEn = "zh,zt,nl,fr,de,el,it,ja,ko,pt,ru,es"; if (strEn.indexOf(arrMsg[2]) != -1) isOk = 1; break; case "nl": var strNl = "en,fr"; if (strNl.indexOf(arrMsg[2]) != -1) isOk = 1; break; case "fr": var strFr = "en,de,el,it,pt,nl,es"; if (strFr.indexOf(arrMsg[2]) != -1) isOk = 1; break; case "de": var strDe = "en,fr"; if (strDe.indexOf(arrMsg[2]) != -1) isOk = 1; break; case "it": var strIt = "en,fr"; if (strIt.indexOf(arrMsg[2]) != -1) isOk = 1; break; case "pt": var strPt = "en,fr"; if (strPt.indexOf(arrMsg[2]) != -1) isOk = 1; break; case "es": var strEs = "en,fr"; if (strEs.indexOf(arrMsg[2]) != -1) isOk = 1; break; default: isOk = 0; break; } if (isOk == 1) { WndContact = ChatWnd; Translate(arrMsg[1],arrMsg[2],Message.substr(17)); } else { MsgPlus.DisplayToast("Babelfish Translator","The translation format is invalid.\n\nType !translate info to learn more."); } } return ""; } else if (Message.match(/^!translate$/i)) { MsgPlus.DisplayToast("Babelfish Translator","There is no translation format.\n\nType !translate info to learn more."); return ""; } } function Translate(strFrom, strTo, strMessage) { var arrAccentFrom = new Array("%E9","%E8","%E7","%E0","%F9","%EB","%EE","%E1","%ED","%F3","%FA","%FC","%F1","%F5","%F4","%E3","%E2","%EA"); var arrAccentTo = new Array("%c3i","%c3h","%c3g","%c3`","%c39","%c3k","%c3n","%c3a","%c3m","%c33","%c3z","%c3|","%c31","%c35","%c34","%c3c","%c3b","%c3j"); strMessage = escape(strMessage); Debug.Trace("Before:"+strMessage); for (var i=0;i([^<]+)