调用google翻译
1. [代码]maven依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version> 4.2 . 1 </version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version> 4.2 . 1 </version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version> 1.2 . 17 </version> </dependency> |
2. [代码]翻译工具类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
public class TranslateUtil { private static Log logger = LogFactory.getLog(TranslateUtil. class ); private static final String URL_TEMPLATE = "http://translate.google.cn/translate_a/single?client=t" ; private static final String ENCODING = "UTF-8" ; private DefaultHttpClient client; private static TranslateUtil translateUtil = new TranslateUtil(); private TranslateUtil() { client = ConnectionManager.getHttpClient(); } public static TranslateUtil getInstance() { return translateUtil; } /** * google翻译(文本自动识别) * * @param text * 要翻译的文本 * @param target_lang * 目标语言 * @return * @throws Exception */ public String translate( final String text, final String target_lang) { return translate(text, Language.AUTO.getValue(), target_lang); } /** * 中午转为英文 * * @param text * @return */ public String cn2en( final String text) { return translate(text, Language.CHINA.getValue(), Language.ENGLISH.getValue()); } /** * 英文转中文 * * @param text * @return */ public String en2cn( final String text) { return translate(text, Language.ENGLISH.getValue(), Language.CHINA.getValue()); } /** * google翻译 * * @param text * 要翻译的文本 * @param src_lang * 源文本语言 * @param target_lang * 目标语言 * @return * @throws Exception */ public String translate( final String text, final String src_lang, final String target_lang) { String result = null ; try { String url = URL_TEMPLATE + "&sl=" + src_lang + "&tl=" + target_lang + "&hl=" + src_lang + "&dt=bd&dt=ex&dt=ld&dt=md&dt=qc&dt=rw&dt=rm&dt=ss&dt=t&dt=at&dt=sw&ie=" + ENCODING + "&oe=" + ENCODING + "&prev=btn&ssel=0&tsel=0&q=" + URLEncoder.encode(text, ENCODING); HttpGet get = new HttpGet(url); HttpResponse response = client.execute(get); String allInfo = EntityUtils.toString(response.getEntity()); String resultArray[] = allInfo.split( "]]" )[ 0 ].split( "]" ); for ( int i = 0 ; i < resultArray.length - 1 ; i++) { resultBuffer.append(resultArray[i].split( "\"" )[ 1 ]); } result = resultBuffer.toString(); result = result.replace( "\\n" , "\r\n" ); } catch (Exception e) { logger.error(e); } return result; } } |
3. [代码]httpclient管理类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
public class ConnectionManager { /** 连接超时时间 */ static final int TIMEOUT = 30000 ; /** 数据传输超时 */ static final int SO_TIMEOUT = 30000 ; static String UA = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1" + " (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1" ; private ConnectionManager() { } public static DefaultHttpClient getHttpClient() { SchemeRegistry schemeRegistry = new SchemeRegistry(); schemeRegistry.register( new Scheme( "http" , 80 , PlainSocketFactory .getSocketFactory())); schemeRegistry.register( new Scheme( "https" , 443 , SSLSocketFactory .getSocketFactory())); PoolingClientConnectionManager cm = new PoolingClientConnectionManager( schemeRegistry); cm.setMaxTotal( 500 ); cm.setDefaultMaxPerRoute( 200 ); HttpParams params = new BasicHttpParams(); params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, TIMEOUT); params.setParameter(CoreConnectionPNames.SO_TIMEOUT, SO_TIMEOUT); params.setParameter(CoreProtocolPNames.USER_AGENT, UA); DefaultHttpClient client = new DefaultHttpClient(cm, params); return client; } } |
4. [代码]语言枚举
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
public enum Language { AUTO( "自动" , "auto" ), // TAIWAN( "台湾" , "zh-TW" ), // CHINA( "中文" , "zh-CN" ), // ENGLISH( "英语" , "en" ), // JAPAN( "日文" , "ja" ); // private String name; private String value; private Language(String name, String value) { this .name = name; this .value = value; } public String getName() { return name; } public void setName(String name) { this .name = name; } public String getValue() { return value; } public void setValue(String value) { this .value = value; } } |
5. [代码]测试类
1
2
3
4
5
6
7
|
public class Test { public static void main(String[] args) throws Exception { System.out.println(TranslateUtil.getInstance().translate( "你的名字叫什么" , Language.CHINA.getValue(), Language.ENGLISH.getValue())); } } |
分类:
android提高篇
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2016-04-21 App发布AppStore【苹果开发者中心需要做的事】
2016-04-21 UITableViewStyleGrouped顶部留白问题
2015-04-21 Android 数据库升级解决方案
2014-04-21 Android SDK无法更新问题解决