Project

General

Profile

Download (10.5 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy 
4
* http://www.e-taxonomy.eu
5
* 
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
package eu.etaxonomy.taxeditor.ui.translation;
11

    
12
import com.google.api.translate.Translate;
13

    
14
import eu.etaxonomy.cdm.model.common.Language;
15

    
16
/**
17
 * <p>GoogleLanguageApiWrapper class.</p>
18
 *
19
 * @author n.hoffmann
20
 * @created Oct 21, 2010
21
 * @version 1.0
22
 * @deprecated Should not be used as the Google translation service is not free anymore
23
 */
24
public class GoogleLanguageApiWrapper implements ITranslationServiceWrapper {
25

    
26
	/* (non-Javadoc)
27
	 * @see eu.etaxonomy.taxeditor.editor.translation.ITranslationServiceWrapper#translate(java.lang.String, eu.etaxonomy.cdm.model.common.Language, eu.etaxonomy.cdm.model.common.Language)
28
	 */
29
	/** {@inheritDoc} */
30
	@Override
31
	public String translate(String text, Language source, Language target) throws LanguageNotSupportedException {
32
		// TODO make this configurable in preferences
33
		Translate.setHttpReferrer("http://wp5.e-taxonomy.eu");
34
		
35
		String translated;
36
		try {
37
			translated = Translate.execute(text, getLanguageEquivalent(source), getLanguageEquivalent(target));
38
		} catch (Exception e) {
39
			throw new LanguageNotSupportedException(e.getMessage());
40
		}
41
		
42
		return translated;
43
	}
44

    
45
	/**
46
	 * @param source
47
	 * @return
48
	 * @throws LanguageNotSupportedException 
49
	 */
50
	private com.google.api.translate.Language getLanguageEquivalent(
51
			Language language) throws LanguageNotSupportedException {
52
		
53
		
54
		if(language.equals(Language.ENGLISH())){
55
			return com.google.api.translate.Language.ENGLISH;
56
		}
57
		else if(language.equals(Language.FRENCH())){
58
			return com.google.api.translate.Language.FRENCH;
59
		}
60
		else if(language.equals(Language.GERMAN())){
61
			return com.google.api.translate.Language.GERMAN;
62
		}
63
		else if(language.equals(Language.SPANISH_CASTILIAN())){
64
			return com.google.api.translate.Language.SPANISH;
65
		}
66
		else if(language.equals(Language.AFRIKAANS())){
67
			return com.google.api.translate.Language.AFRIKAANS;
68
		}
69
		else if(language.equals(Language.ALBANIAN())){
70
			return com.google.api.translate.Language.ALBANIAN;
71
		}
72
		else if(language.equals(Language.AMHARIC())){
73
			return com.google.api.translate.Language.AMHARIC;
74
		}
75
		else if(language.equals(Language.ARABIC())){
76
			return com.google.api.translate.Language.ARABIC;
77
		}
78
		else if(language.equals(Language.ARMENIAN())){
79
			return com.google.api.translate.Language.ARMENIAN;
80
		}
81
		else if(language.equals(Language.AZERBAIJANI())){
82
			return com.google.api.translate.Language.AZERBAIJANI;
83
		}
84
		else if(language.equals(Language.BASQUE())){
85
			return com.google.api.translate.Language.BASQUE;
86
		}
87
		else if(language.equals(Language.BENGALI())){
88
			return com.google.api.translate.Language.BENGALI;
89
		}
90
		else if(language.equals(Language.BIHARI())){
91
			return com.google.api.translate.Language.BIHARI;
92
		}
93
		else if(language.equals(Language.BULGARIAN())){
94
			return com.google.api.translate.Language.BULGARIAN;
95
		}
96
		else if(language.equals(Language.BURMESE())){
97
			return com.google.api.translate.Language.BURMESE;
98
		}
99
		else if(language.equals(Language.CHEROKEE())){
100
			return com.google.api.translate.Language.CHEROKEE;
101
		}
102
		else if(language.equals(Language.CHINESE())){
103
			return com.google.api.translate.Language.CHINESE;
104
		}
105
		else if(language.equals(Language.CROATIAN())){
106
			return com.google.api.translate.Language.CROATIAN;
107
		}
108
		else if(language.equals(Language.CZECH())){
109
			return com.google.api.translate.Language.CZECH;
110
		}
111
		else if(language.equals(Language.DANISH())){
112
			return com.google.api.translate.Language.DANISH;
113
		}
114
		else if(language.equals(Language.DUTCH_MIDDLE())){
115
			return com.google.api.translate.Language.DUTCH;
116
		}
117
		else if(language.equals(Language.ESPERANTO())){
118
			return com.google.api.translate.Language.ESPERANTO;
119
		}
120
		else if(language.equals(Language.ESTONIAN())){
121
			return com.google.api.translate.Language.ESTONIAN;
122
		}
123
		else if(language.equals(Language.FILIPINO())){
124
			return com.google.api.translate.Language.FILIPINO;
125
		}
126
		else if(language.equals(Language.FINNISH())){
127
			return com.google.api.translate.Language.FINNISH;
128
		}
129
		else if(language.equals(Language.GALICIAN())){
130
			return com.google.api.translate.Language.GALICIAN;
131
		}
132
		else if(language.equals(Language.GEORGIAN())){
133
			return com.google.api.translate.Language.GEORGIAN;
134
		}
135
		else if(language.equals(Language.GREEK_MODERN())){
136
			return com.google.api.translate.Language.GREEK;
137
		}
138
		else if(language.equals(Language.GUARANI())){
139
			return com.google.api.translate.Language.GUARANI;
140
		}
141
		else if(language.equals(Language.GUJARATI())){
142
			return com.google.api.translate.Language.GUJARATI;
143
		}
144
		else if(language.equals(Language.HEBREW())){
145
			return com.google.api.translate.Language.HEBREW;
146
		}
147
		else if(language.equals(Language.HINDI())){
148
			return com.google.api.translate.Language.HINDI;
149
		}
150
		else if(language.equals(Language.HUNGARIAN())){
151
			return com.google.api.translate.Language.HUNGARIAN;
152
		}
153
		else if(language.equals(Language.ICELANDIC())){
154
			return com.google.api.translate.Language.ICELANDIC;
155
		}
156
		else if(language.equals(Language.INDONESIAN())){
157
			return com.google.api.translate.Language.INDONESIAN;
158
		}
159
		else if(language.equals(Language.INUKTITUT())){
160
			return com.google.api.translate.Language.INUKTITUT;
161
		}
162
		else if(language.equals(Language.IRISH())){
163
			return com.google.api.translate.Language.IRISH;
164
		}
165
		else if(language.equals(Language.ITALIAN())){
166
			return com.google.api.translate.Language.ITALIAN;
167
		}
168
		else if(language.equals(Language.JAPANESE())){
169
			return com.google.api.translate.Language.JAPANESE;
170
		}
171
		else if(language.equals(Language.KANNADA())){
172
			return com.google.api.translate.Language.KANNADA;
173
		}
174
		else if(language.equals(Language.KAZAKH())){
175
			return com.google.api.translate.Language.KAZAKH;
176
		}
177
		else if(language.equals(Language.KOREAN())){
178
			return com.google.api.translate.Language.KOREAN;
179
		}
180
		else if(language.equals(Language.KURDISH())){
181
			return com.google.api.translate.Language.KURDISH;
182
		}
183
		else if(language.equals(Language.KIRGHIZ_KYRGYZ())){
184
			return com.google.api.translate.Language.KYRGYZ;
185
		}
186
		else if(language.equals(Language.LAO())){
187
			return com.google.api.translate.Language.LAOTHIAN;
188
		}
189
		else if(language.equals(Language.LATVIAN())){
190
			return com.google.api.translate.Language.LATVIAN;
191
		}
192
		else if(language.equals(Language.LITHUANIAN())){
193
			return com.google.api.translate.Language.LITHUANIAN;
194
		}
195
		else if(language.equals(Language.MACEDONIAN())){
196
			return com.google.api.translate.Language.MACEDONIAN;
197
		}
198
		else if(language.equals(Language.MALAY())){
199
			return com.google.api.translate.Language.MALAY;
200
		}
201
		else if(language.equals(Language.MALAYALAM())){
202
			return com.google.api.translate.Language.MALAYALAM;
203
		}
204
		else if(language.equals(Language.MALTESE())){
205
			return com.google.api.translate.Language.MALTESE;
206
		}
207
		else if(language.equals(Language.MARATHI())){
208
			return com.google.api.translate.Language.MARATHI;
209
		}
210
		else if(language.equals(Language.MARATHI())){
211
			return com.google.api.translate.Language.MONGOLIAN;
212
		}
213
		else if(language.equals(Language.MARATHI())){
214
			return com.google.api.translate.Language.NEPALI;
215
		}
216
		else if(language.equals(Language.NORWEGIAN())){
217
			return com.google.api.translate.Language.NORWEGIAN;
218
		}
219
		else if(language.equals(Language.ORIYA())){
220
			return com.google.api.translate.Language.ORIYA;
221
		}
222
		else if(language.equals(Language.PUSHTO())){
223
			return com.google.api.translate.Language.PASHTO;
224
		}
225
		else if(language.equals(Language.PERSIAN())){
226
			return com.google.api.translate.Language.PERSIAN;
227
		}
228
		else if(language.equals(Language.PERSIAN())){
229
			return com.google.api.translate.Language.POLISH;
230
		}
231
		else if(language.equals(Language.PORTUGUESE())){
232
			return com.google.api.translate.Language.PORTUGUESE;
233
		}
234
		else if(language.equals(Language.PANJABI_PUNJABI())){
235
			return com.google.api.translate.Language.PUNJABI;
236
		}
237
		else if(language.equals(Language.ROMANIAN())){
238
			return com.google.api.translate.Language.ROMANIAN;
239
		}
240
		else if(language.equals(Language.RUSSIAN())){
241
			return com.google.api.translate.Language.RUSSIAN;
242
		}
243
		else if(language.equals(Language.SANSKRIT())){
244
			return com.google.api.translate.Language.SANSKRIT;
245
		}
246
		else if(language.equals(Language.SERBIAN())){
247
			return com.google.api.translate.Language.SERBIAN;
248
		}
249
		else if(language.equals(Language.SINDHI())){
250
			return com.google.api.translate.Language.SINDHI;
251
		}
252
		else if(language.equals(Language.SINDHI())){
253
			return com.google.api.translate.Language.SINHALESE;
254
		}
255
		else if(language.equals(Language.SLOVAK())){
256
			return com.google.api.translate.Language.SLOVAK;
257
		}
258
		else if(language.equals(Language.SLOVENIAN())){
259
			return com.google.api.translate.Language.SLOVENIAN;
260
		}
261
		else if(language.equals(Language.SWAHILI())){
262
			return com.google.api.translate.Language.SWAHILI;
263
		}
264
		else if(language.equals(Language.SWEDISH())){
265
			return com.google.api.translate.Language.SWEDISH;
266
		}
267
		else if(language.equals(Language.TAGALOG())){
268
			return com.google.api.translate.Language.TAGALOG;
269
		}
270
		else if(language.equals(Language.TAJIK())){
271
			return com.google.api.translate.Language.TAJIK;
272
		}
273
		else if(language.equals(Language.TAMIL())){
274
			return com.google.api.translate.Language.TAMIL;
275
		}
276
		else if(language.equals(Language.TELUGU())){
277
			return com.google.api.translate.Language.TELUGU;
278
		}
279
		else if(language.equals(Language.THAI())){
280
			return com.google.api.translate.Language.THAI;
281
		}
282
		else if(language.equals(Language.TIBETAN())){
283
			return com.google.api.translate.Language.TIBETAN;
284
		}
285
		else if(language.equals(Language.TURKISH())){
286
			return com.google.api.translate.Language.TURKISH;
287
		}
288
		else if(language.equals(Language.UIGHUR_UYGHUR())){
289
			return com.google.api.translate.Language.UIGHUR;
290
		}
291
		else if(language.equals(Language.UKRAINIAN())){
292
			return com.google.api.translate.Language.UKRANIAN;
293
		}
294
		else if(language.equals(Language.URDU())){
295
			return com.google.api.translate.Language.URDU;
296
		}
297
		else if(language.equals(Language.UZBEK())){
298
			return com.google.api.translate.Language.UZBEK;
299
		}
300
		else if(language.equals(Language.VIETNAMESE())){
301
			return com.google.api.translate.Language.VIETNAMESE;
302
		}
303
		else if(language.equals(Language.WELSH())){
304
			return com.google.api.translate.Language.WELSH;
305
		}
306
		else if(language.equals(Language.YIDDISH())){
307
			return com.google.api.translate.Language.YIDDISH;
308
		}
309
		else{
310
			throw new LanguageNotSupportedException("The language " + language.getDescription() + " is not supported");
311
		}
312
	}
313

    
314
}
(1-1/7)