예제 #1
0
        public void GetTranslate(string lan, string content, TranslateCallback callback)
        {
            if (callback == null)
            {
                return;
            }

            Console.WriteLine("翻译服务器向Google翻译API发起翻译请求");
            callback(GoogleTranslateApi.GetTranslate(lan, content));
        }
예제 #2
0
        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);
            });
        }