Project

General

Profile

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

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

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

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

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

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

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

    
315
}
(1-1/7)