public void GetTranslate(string lan, string content, TranslateCallback callback) { if (callback == null) { return; } Console.WriteLine("翻译服务器向Google翻译API发起翻译请求"); callback(GoogleTranslateApi.GetTranslate(lan, content)); }
static void Main(string[] args) { GoogleTranslateApi.InitDatabase(); //服务器端 TranslateServer translateServer = new TranslateServer(); ChatServer chatServer = new ChatServer(translateServer); //客户端 HttpDelegate.ChatServer = chatServer; string en = "en"; string hans = "hans"; string fran = "fran"; string text1 = "你好"; string text2 = "Bye"; Console.WriteLine("-------------------------------------------------------------------------"); long content1Id = chatServer.OnReciveChatMessage(text1); Console.WriteLine("玩家A: " + text1 + " 对话编号: " + content1Id); ITranslateContent content1 = new ProxyTranslate(content1Id, text1); Console.WriteLine("---------------玩家1请求翻译 " + content1Id + "的" + en + "---------------"); content1.GetTranslate(en, delegate(string result) { Console.WriteLine("得到" + content1.GetOriginContent() + "的" + en + "翻译: " + result); }); Console.WriteLine("---------------玩家1请求翻译 " + content1Id + "的" + hans + "---------------"); content1.GetTranslate(hans, delegate(string result) { Console.WriteLine("得到" + content1.GetOriginContent() + "的" + hans + "翻译: " + result); }); Console.WriteLine("-------------------------------------------------------------------------"); long content2Id = chatServer.OnReciveChatMessage(text2); Console.WriteLine("玩家B: " + text2 + " 对话编号: " + content2Id); ITranslateContent content2 = new ProxyTranslate(content2Id, text2); Console.WriteLine("---------------玩家2请求翻译 " + content2Id + "的" + fran + "---------------"); content2.GetTranslate(fran, delegate(string result) { Console.WriteLine("得到" + content2.GetOriginContent() + "的" + fran + "翻译: " + result); }); Console.WriteLine("---------------玩家2请求翻译 " + content2Id + "的" + fran + "---------------"); content2.GetTranslate(fran, delegate(string result) { Console.WriteLine("得到" + content2.GetOriginContent() + "的" + fran + "翻译: " + result); }); ITranslateContent content3 = new ProxyTranslate(content2Id, text2); Console.WriteLine("---------------玩家3请求翻译 " + content2Id + "的" + fran + "---------------"); content3.GetTranslate(fran, delegate(string result) { Console.WriteLine("得到" + content3.GetOriginContent() + "的" + fran + "翻译: " + result); }); ITranslateContent content4 = new ProxyTranslate(content1Id, text1); Console.WriteLine("---------------玩家4请求翻译 " + content1Id + "的" + en + "---------------"); content4.GetTranslate(en, delegate(string result) { Console.WriteLine("得到" + content4.GetOriginContent() + "的" + en + "翻译: " + result); }); }