package com.fpcms.common.util; import java.io.File; import java.io.UnsupportedEncodingException; import org.apache.commons.io.FileUtils; import org.junit.Assert; import org.junit.Test; import org.springframework.util.ResourceUtils; public class GoogleTranslateUtilTest extends Assert { @Test public void test_fromChinese2English_BIG() throws Exception { File file = ResourceUtils.getFile("classpath:translate_test.txt"); String input = FileUtils.readFileToString(file); String english = GoogleTranslateUtil.fromChinese2English(input); System.out.println("english:"+english); String chinese = GoogleTranslateUtil.fromEnglish2Chinese(english); System.out.println("chinese:"+chinese); } @Test public void reverseTwoWayTranslate() { String r = GoogleTranslateUtil.reverseTwoWayTranslate("中国人民是个好银行,不是么?", "zh-CN", "en"); assertEquals("中国人是一个很好的银行,是不是?",r); } @Test public void test_fromChinese2English() { String str = GoogleTranslateUtil.fromChinese2English("中国人民银行"); System.out.println("fromChinese2English:"+str); assertEquals(str,"The People's Bank of China"); str = GoogleTranslateUtil.fromChinese2English("中国人民中国人民中国人民中国人民,好发票好发票好发票好发票好发票,929282,浙江浙江浙江浙江浙江"); assertEquals(str,"Chinese people , Chinese people , Chinese people , Chinese people , good good invoice invoice invoice invoice invoice , 929282 , Zhejiang, Zhejiang and Zhejiang Zhejiang Zhejiang"); str = GoogleTranslateUtil.fromChinese2English("中国"); System.out.println("fromChinese2English:"+str); assertEquals(str,"China"); } @Test public void test_fromEnglish2Chinese() { String str = GoogleTranslateUtil.fromEnglish2Chinese("China"); System.out.println("fromChinese2English:"+str); assertEquals(str,"中国"); } @Test public void test_autoTranslate() { String str = GoogleTranslateUtil.autoTranslate("China", "zh-CN"); assertEquals(str,"中国"); str = GoogleTranslateUtil.translate("朝日新聞デジタル:塗装会社で爆発、経営者が死亡 東京・文京区","ja", "zh-CN"); assertEquals(str,"“朝日新闻”数字爆炸的涂装公司,管理层的死亡,东京都文京区,"); str = GoogleTranslateUtil.translate("<p>朝日新聞デジタル:塗装会社で爆発</p>、経営者が死亡 <h1>東京・文京区</h1>","ja", "zh-CN"); assertEquals(str,"爆炸\\u003c/ P\\u003e管理\\u003c/ h1 \\u003e文京区,东京\\u003cH1\\u003e死在涂料公司:数字“朝日新闻” \\u003cP\\u003e"); } @Test public void test_autoTranslate_zh_tw() { String str = GoogleTranslateUtil.autoTranslate("財政部稅務入口網統一發票管理,", "zh-CN"); assertEquals(str,"发票统一的网络管理入口税务财政部,"); str = GoogleTranslateUtil.translate("財政部稅務入口網統一發票管理","zh-TW", "zh-CN"); assertEquals(str,"财政部税务入口网统一发票管理"); assertEquals("的Xbox 360",GoogleTranslateUtil.translate("Xbox 360","fr", "zh-CN")); } @Test public void test_autoTranslate_2() throws UnsupportedEncodingException { String s = "\u53ef\u4ee5\u544a\u8bc9\u6211\u003e"; byte[] utfString = s.getBytes("UTF-8"); System.out.println("1111:"+new String(utfString)); String str = GoogleTranslateUtil.autoTranslate("財政部稅務入口網統一發票管理,中国人民银行是个好银行!不是么?", "zh-CN"); String expected = new String(str.getBytes("UTF-8")); assertEquals(expected,"财政部税务入口网统一发票管理,中国人民银行是个好银行!不是么?zh-CN"); } }