3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
11 package eu
.etaxonomy
.taxeditor
.ui
.translation
;
13 import com
.google
.api
.translate
.Translate
;
15 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
18 * <p>GoogleLanguageApiWrapper class.</p>
21 * @created Oct 21, 2010
24 public class GoogleLanguageApiWrapper
implements ITranslationServiceWrapper
{
27 * @see eu.etaxonomy.taxeditor.editor.translation.ITranslationServiceWrapper#translate(java.lang.String, eu.etaxonomy.cdm.model.common.Language, eu.etaxonomy.cdm.model.common.Language)
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");
37 translated
= Translate
.execute(text
, getLanguageEquivalent(source
), getLanguageEquivalent(target
));
38 } catch (Exception e
) {
39 throw new LanguageNotSupportedException(e
.getMessage());
48 * @throws LanguageNotSupportedException
50 private com
.google
.api
.translate
.Language
getLanguageEquivalent(
51 Language language
) throws LanguageNotSupportedException
{
54 if(language
.equals(Language
.ENGLISH())){
55 return com
.google
.api
.translate
.Language
.ENGLISH
;
57 else if(language
.equals(Language
.FRENCH())){
58 return com
.google
.api
.translate
.Language
.FRENCH
;
60 else if(language
.equals(Language
.GERMAN())){
61 return com
.google
.api
.translate
.Language
.GERMAN
;
63 else if(language
.equals(Language
.SPANISH_CASTILIAN())){
64 return com
.google
.api
.translate
.Language
.SPANISH
;
66 else if(language
.equals(Language
.AFRIKAANS())){
67 return com
.google
.api
.translate
.Language
.AFRIKAANS
;
69 else if(language
.equals(Language
.ALBANIAN())){
70 return com
.google
.api
.translate
.Language
.ALBANIAN
;
72 else if(language
.equals(Language
.AMHARIC())){
73 return com
.google
.api
.translate
.Language
.AMHARIC
;
75 else if(language
.equals(Language
.ARABIC())){
76 return com
.google
.api
.translate
.Language
.ARABIC
;
78 else if(language
.equals(Language
.ARMENIAN())){
79 return com
.google
.api
.translate
.Language
.ARMENIAN
;
81 else if(language
.equals(Language
.AZERBAIJANI())){
82 return com
.google
.api
.translate
.Language
.AZERBAIJANI
;
84 else if(language
.equals(Language
.BASQUE())){
85 return com
.google
.api
.translate
.Language
.BASQUE
;
87 else if(language
.equals(Language
.BENGALI())){
88 return com
.google
.api
.translate
.Language
.BENGALI
;
90 else if(language
.equals(Language
.BIHARI())){
91 return com
.google
.api
.translate
.Language
.BIHARI
;
93 else if(language
.equals(Language
.BULGARIAN())){
94 return com
.google
.api
.translate
.Language
.BULGARIAN
;
96 else if(language
.equals(Language
.BURMESE())){
97 return com
.google
.api
.translate
.Language
.BURMESE
;
99 else if(language
.equals(Language
.CHEROKEE())){
100 return com
.google
.api
.translate
.Language
.CHEROKEE
;
102 else if(language
.equals(Language
.CHINESE())){
103 return com
.google
.api
.translate
.Language
.CHINESE
;
105 else if(language
.equals(Language
.CROATIAN())){
106 return com
.google
.api
.translate
.Language
.CROATIAN
;
108 else if(language
.equals(Language
.CZECH())){
109 return com
.google
.api
.translate
.Language
.CZECH
;
111 else if(language
.equals(Language
.DANISH())){
112 return com
.google
.api
.translate
.Language
.DANISH
;
114 else if(language
.equals(Language
.DUTCH_MIDDLE())){
115 return com
.google
.api
.translate
.Language
.DUTCH
;
117 else if(language
.equals(Language
.ESPERANTO())){
118 return com
.google
.api
.translate
.Language
.ESPERANTO
;
120 else if(language
.equals(Language
.ESTONIAN())){
121 return com
.google
.api
.translate
.Language
.ESTONIAN
;
123 else if(language
.equals(Language
.FILIPINO())){
124 return com
.google
.api
.translate
.Language
.FILIPINO
;
126 else if(language
.equals(Language
.FINNISH())){
127 return com
.google
.api
.translate
.Language
.FINNISH
;
129 else if(language
.equals(Language
.GALICIAN())){
130 return com
.google
.api
.translate
.Language
.GALICIAN
;
132 else if(language
.equals(Language
.GEORGIAN())){
133 return com
.google
.api
.translate
.Language
.GEORGIAN
;
135 else if(language
.equals(Language
.GREEK_MODERN())){
136 return com
.google
.api
.translate
.Language
.GREEK
;
138 else if(language
.equals(Language
.GUARANI())){
139 return com
.google
.api
.translate
.Language
.GUARANI
;
141 else if(language
.equals(Language
.GUJARATI())){
142 return com
.google
.api
.translate
.Language
.GUJARATI
;
144 else if(language
.equals(Language
.HEBREW())){
145 return com
.google
.api
.translate
.Language
.HEBREW
;
147 else if(language
.equals(Language
.HINDI())){
148 return com
.google
.api
.translate
.Language
.HINDI
;
150 else if(language
.equals(Language
.HUNGARIAN())){
151 return com
.google
.api
.translate
.Language
.HUNGARIAN
;
153 else if(language
.equals(Language
.ICELANDIC())){
154 return com
.google
.api
.translate
.Language
.ICELANDIC
;
156 else if(language
.equals(Language
.INDONESIAN())){
157 return com
.google
.api
.translate
.Language
.INDONESIAN
;
159 else if(language
.equals(Language
.INUKTITUT())){
160 return com
.google
.api
.translate
.Language
.INUKTITUT
;
162 else if(language
.equals(Language
.IRISH())){
163 return com
.google
.api
.translate
.Language
.IRISH
;
165 else if(language
.equals(Language
.ITALIAN())){
166 return com
.google
.api
.translate
.Language
.ITALIAN
;
168 else if(language
.equals(Language
.JAPANESE())){
169 return com
.google
.api
.translate
.Language
.JAPANESE
;
171 else if(language
.equals(Language
.KANNADA())){
172 return com
.google
.api
.translate
.Language
.KANNADA
;
174 else if(language
.equals(Language
.KAZAKH())){
175 return com
.google
.api
.translate
.Language
.KAZAKH
;
177 else if(language
.equals(Language
.KOREAN())){
178 return com
.google
.api
.translate
.Language
.KOREAN
;
180 else if(language
.equals(Language
.KURDISH())){
181 return com
.google
.api
.translate
.Language
.KURDISH
;
183 else if(language
.equals(Language
.KIRGHIZ_KYRGYZ())){
184 return com
.google
.api
.translate
.Language
.KYRGYZ
;
186 else if(language
.equals(Language
.LAO())){
187 return com
.google
.api
.translate
.Language
.LAOTHIAN
;
189 else if(language
.equals(Language
.LATVIAN())){
190 return com
.google
.api
.translate
.Language
.LATVIAN
;
192 else if(language
.equals(Language
.LITHUANIAN())){
193 return com
.google
.api
.translate
.Language
.LITHUANIAN
;
195 else if(language
.equals(Language
.MACEDONIAN())){
196 return com
.google
.api
.translate
.Language
.MACEDONIAN
;
198 else if(language
.equals(Language
.MALAY())){
199 return com
.google
.api
.translate
.Language
.MALAY
;
201 else if(language
.equals(Language
.MALAYALAM())){
202 return com
.google
.api
.translate
.Language
.MALAYALAM
;
204 else if(language
.equals(Language
.MALTESE())){
205 return com
.google
.api
.translate
.Language
.MALTESE
;
207 else if(language
.equals(Language
.MARATHI())){
208 return com
.google
.api
.translate
.Language
.MARATHI
;
210 else if(language
.equals(Language
.MARATHI())){
211 return com
.google
.api
.translate
.Language
.MONGOLIAN
;
213 else if(language
.equals(Language
.MARATHI())){
214 return com
.google
.api
.translate
.Language
.NEPALI
;
216 else if(language
.equals(Language
.NORWEGIAN())){
217 return com
.google
.api
.translate
.Language
.NORWEGIAN
;
219 else if(language
.equals(Language
.ORIYA())){
220 return com
.google
.api
.translate
.Language
.ORIYA
;
222 else if(language
.equals(Language
.PUSHTO())){
223 return com
.google
.api
.translate
.Language
.PASHTO
;
225 else if(language
.equals(Language
.PERSIAN())){
226 return com
.google
.api
.translate
.Language
.PERSIAN
;
228 else if(language
.equals(Language
.PERSIAN())){
229 return com
.google
.api
.translate
.Language
.POLISH
;
231 else if(language
.equals(Language
.PORTUGUESE())){
232 return com
.google
.api
.translate
.Language
.PORTUGUESE
;
234 else if(language
.equals(Language
.PANJABI_PUNJABI())){
235 return com
.google
.api
.translate
.Language
.PUNJABI
;
237 else if(language
.equals(Language
.ROMANIAN())){
238 return com
.google
.api
.translate
.Language
.ROMANIAN
;
240 else if(language
.equals(Language
.RUSSIAN())){
241 return com
.google
.api
.translate
.Language
.RUSSIAN
;
243 else if(language
.equals(Language
.SANSKRIT())){
244 return com
.google
.api
.translate
.Language
.SANSKRIT
;
246 else if(language
.equals(Language
.SERBIAN())){
247 return com
.google
.api
.translate
.Language
.SERBIAN
;
249 else if(language
.equals(Language
.SINDHI())){
250 return com
.google
.api
.translate
.Language
.SINDHI
;
252 else if(language
.equals(Language
.SINDHI())){
253 return com
.google
.api
.translate
.Language
.SINHALESE
;
255 else if(language
.equals(Language
.SLOVAK())){
256 return com
.google
.api
.translate
.Language
.SLOVAK
;
258 else if(language
.equals(Language
.SLOVENIAN())){
259 return com
.google
.api
.translate
.Language
.SLOVENIAN
;
261 else if(language
.equals(Language
.SWAHILI())){
262 return com
.google
.api
.translate
.Language
.SWAHILI
;
264 else if(language
.equals(Language
.SWEDISH())){
265 return com
.google
.api
.translate
.Language
.SWEDISH
;
267 else if(language
.equals(Language
.TAGALOG())){
268 return com
.google
.api
.translate
.Language
.TAGALOG
;
270 else if(language
.equals(Language
.TAJIK())){
271 return com
.google
.api
.translate
.Language
.TAJIK
;
273 else if(language
.equals(Language
.TAMIL())){
274 return com
.google
.api
.translate
.Language
.TAMIL
;
276 else if(language
.equals(Language
.TELUGU())){
277 return com
.google
.api
.translate
.Language
.TELUGU
;
279 else if(language
.equals(Language
.THAI())){
280 return com
.google
.api
.translate
.Language
.THAI
;
282 else if(language
.equals(Language
.TIBETAN())){
283 return com
.google
.api
.translate
.Language
.TIBETAN
;
285 else if(language
.equals(Language
.TURKISH())){
286 return com
.google
.api
.translate
.Language
.TURKISH
;
288 else if(language
.equals(Language
.UIGHUR_UYGHUR())){
289 return com
.google
.api
.translate
.Language
.UIGHUR
;
291 else if(language
.equals(Language
.UKRAINIAN())){
292 return com
.google
.api
.translate
.Language
.UKRANIAN
;
294 else if(language
.equals(Language
.URDU())){
295 return com
.google
.api
.translate
.Language
.URDU
;
297 else if(language
.equals(Language
.UZBEK())){
298 return com
.google
.api
.translate
.Language
.UZBEK
;
300 else if(language
.equals(Language
.VIETNAMESE())){
301 return com
.google
.api
.translate
.Language
.VIETNAMESE
;
303 else if(language
.equals(Language
.WELSH())){
304 return com
.google
.api
.translate
.Language
.WELSH
;
306 else if(language
.equals(Language
.YIDDISH())){
307 return com
.google
.api
.translate
.Language
.YIDDISH
;
310 throw new LanguageNotSupportedException("The language " + language
.getDescription() + " is not supported");