- generalized sample designation GUI elements
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / translation / GoogleLanguageApiWrapper.java
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 }