+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.editor.translation;
-
-import com.google.api.translate.Translate;
-
-import eu.etaxonomy.cdm.model.common.Language;
-
-/**
- * <p>GoogleLanguageApiWrapper class.</p>
- *
- * @author n.hoffmann
- * @created Oct 21, 2010
- * @version 1.0
- */
-public class GoogleLanguageApiWrapper implements ITranslationServiceWrapper {
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.editor.translation.ITranslationServiceWrapper#translate(java.lang.String, eu.etaxonomy.cdm.model.common.Language, eu.etaxonomy.cdm.model.common.Language)
- */
- /** {@inheritDoc} */
- @Override
- public String translate(String text, Language source, Language target) throws LanguageNotSupportedException {
- // TODO make this configurable in preferences
- Translate.setHttpReferrer("http://wp5.e-taxonomy.eu");
-
- String translated;
- try {
- translated = Translate.execute(text, getLanguageEquivalent(source), getLanguageEquivalent(target));
- } catch (Exception e) {
- throw new LanguageNotSupportedException(e.getMessage());
- }
-
- return translated;
- }
-
- /**
- * @param source
- * @return
- * @throws LanguageNotSupportedException
- */
- private com.google.api.translate.Language getLanguageEquivalent(
- Language language) throws LanguageNotSupportedException {
-
-
- if(language.equals(Language.ENGLISH())){
- return com.google.api.translate.Language.ENGLISH;
- }
- else if(language.equals(Language.FRENCH())){
- return com.google.api.translate.Language.FRENCH;
- }
- else if(language.equals(Language.GERMAN())){
- return com.google.api.translate.Language.GERMAN;
- }
- else if(language.equals(Language.SPANISH_CATALAN())){
- return com.google.api.translate.Language.SPANISH;
- }
- else if(language.equals(Language.AFRIKAANS())){
- return com.google.api.translate.Language.AFRIKAANS;
- }
- else if(language.equals(Language.ALBANIAN())){
- return com.google.api.translate.Language.ALBANIAN;
- }
- else if(language.equals(Language.AMHARIC())){
- return com.google.api.translate.Language.AMHARIC;
- }
- else if(language.equals(Language.ARABIC())){
- return com.google.api.translate.Language.ARABIC;
- }
- else if(language.equals(Language.ARMENIAN())){
- return com.google.api.translate.Language.ARMENIAN;
- }
- else if(language.equals(Language.AZERBAIJANI())){
- return com.google.api.translate.Language.AZERBAIJANI;
- }
- else if(language.equals(Language.BASQUE())){
- return com.google.api.translate.Language.BASQUE;
- }
- else if(language.equals(Language.BENGALI())){
- return com.google.api.translate.Language.BENGALI;
- }
- else if(language.equals(Language.BIHARI())){
- return com.google.api.translate.Language.BIHARI;
- }
- else if(language.equals(Language.BULGARIAN())){
- return com.google.api.translate.Language.BULGARIAN;
- }
- else if(language.equals(Language.BURMESE())){
- return com.google.api.translate.Language.BURMESE;
- }
- else if(language.equals(Language.CHEROKEE())){
- return com.google.api.translate.Language.CHEROKEE;
- }
- else if(language.equals(Language.CHINESE())){
- return com.google.api.translate.Language.CHINESE;
- }
- else if(language.equals(Language.CROATIAN())){
- return com.google.api.translate.Language.CROATIAN;
- }
- else if(language.equals(Language.CZECH())){
- return com.google.api.translate.Language.CZECH;
- }
- else if(language.equals(Language.DANISH())){
- return com.google.api.translate.Language.DANISH;
- }
- else if(language.equals(Language.DUTCH_MIDDLE())){
- return com.google.api.translate.Language.DUTCH;
- }
- else if(language.equals(Language.ESPERANTO())){
- return com.google.api.translate.Language.ESPERANTO;
- }
- else if(language.equals(Language.ESTONIAN())){
- return com.google.api.translate.Language.ESTONIAN;
- }
- else if(language.equals(Language.FILIPINO())){
- return com.google.api.translate.Language.FILIPINO;
- }
- else if(language.equals(Language.FINNISH())){
- return com.google.api.translate.Language.FINNISH;
- }
- else if(language.equals(Language.GALICIAN())){
- return com.google.api.translate.Language.GALICIAN;
- }
- else if(language.equals(Language.GEORGIAN())){
- return com.google.api.translate.Language.GEORGIAN;
- }
- else if(language.equals(Language.GREEK_MODERN())){
- return com.google.api.translate.Language.GREEK;
- }
- else if(language.equals(Language.GUARANI())){
- return com.google.api.translate.Language.GUARANI;
- }
- else if(language.equals(Language.GUJARATI())){
- return com.google.api.translate.Language.GUJARATI;
- }
- else if(language.equals(Language.HEBREW())){
- return com.google.api.translate.Language.HEBREW;
- }
- else if(language.equals(Language.HINDI())){
- return com.google.api.translate.Language.HINDI;
- }
- else if(language.equals(Language.HUNGARIAN())){
- return com.google.api.translate.Language.HUNGARIAN;
- }
- else if(language.equals(Language.ICELANDIC())){
- return com.google.api.translate.Language.ICELANDIC;
- }
- else if(language.equals(Language.INDONESIAN())){
- return com.google.api.translate.Language.INDONESIAN;
- }
- else if(language.equals(Language.INUKTITUT())){
- return com.google.api.translate.Language.INUKTITUT;
- }
- else if(language.equals(Language.IRISH())){
- return com.google.api.translate.Language.IRISH;
- }
- else if(language.equals(Language.ITALIAN())){
- return com.google.api.translate.Language.ITALIAN;
- }
- else if(language.equals(Language.JAPANESE())){
- return com.google.api.translate.Language.JAPANESE;
- }
- else if(language.equals(Language.KANNADA())){
- return com.google.api.translate.Language.KANNADA;
- }
- else if(language.equals(Language.KAZAKH())){
- return com.google.api.translate.Language.KAZAKH;
- }
- else if(language.equals(Language.KOREAN())){
- return com.google.api.translate.Language.KOREAN;
- }
- else if(language.equals(Language.KURDISH())){
- return com.google.api.translate.Language.KURDISH;
- }
- else if(language.equals(Language.KIRGHIZ_KYRGYZ())){
- return com.google.api.translate.Language.KYRGYZ;
- }
- else if(language.equals(Language.LAO())){
- return com.google.api.translate.Language.LAOTHIAN;
- }
- else if(language.equals(Language.LATVIAN())){
- return com.google.api.translate.Language.LATVIAN;
- }
- else if(language.equals(Language.LITHUANIAN())){
- return com.google.api.translate.Language.LITHUANIAN;
- }
- else if(language.equals(Language.MACEDONIAN())){
- return com.google.api.translate.Language.MACEDONIAN;
- }
- else if(language.equals(Language.MALAY())){
- return com.google.api.translate.Language.MALAY;
- }
- else if(language.equals(Language.MALAYALAM())){
- return com.google.api.translate.Language.MALAYALAM;
- }
- else if(language.equals(Language.MALTESE())){
- return com.google.api.translate.Language.MALTESE;
- }
- else if(language.equals(Language.MARATHI())){
- return com.google.api.translate.Language.MARATHI;
- }
- else if(language.equals(Language.MARATHI())){
- return com.google.api.translate.Language.MONGOLIAN;
- }
- else if(language.equals(Language.MARATHI())){
- return com.google.api.translate.Language.NEPALI;
- }
- else if(language.equals(Language.NORWEGIAN())){
- return com.google.api.translate.Language.NORWEGIAN;
- }
- else if(language.equals(Language.ORIYA())){
- return com.google.api.translate.Language.ORIYA;
- }
- else if(language.equals(Language.PUSHTO())){
- return com.google.api.translate.Language.PASHTO;
- }
- else if(language.equals(Language.PERSIAN())){
- return com.google.api.translate.Language.PERSIAN;
- }
- else if(language.equals(Language.PERSIAN())){
- return com.google.api.translate.Language.POLISH;
- }
- else if(language.equals(Language.PORTUGUESE())){
- return com.google.api.translate.Language.PORTUGUESE;
- }
- else if(language.equals(Language.PANJABI_PUNJABI())){
- return com.google.api.translate.Language.PUNJABI;
- }
- else if(language.equals(Language.ROMANIAN())){
- return com.google.api.translate.Language.ROMANIAN;
- }
- else if(language.equals(Language.RUSSIAN())){
- return com.google.api.translate.Language.RUSSIAN;
- }
- else if(language.equals(Language.SANSKRIT())){
- return com.google.api.translate.Language.SANSKRIT;
- }
- else if(language.equals(Language.SERBIAN())){
- return com.google.api.translate.Language.SERBIAN;
- }
- else if(language.equals(Language.SINDHI())){
- return com.google.api.translate.Language.SINDHI;
- }
- else if(language.equals(Language.SINDHI())){
- return com.google.api.translate.Language.SINHALESE;
- }
- else if(language.equals(Language.SLOVAK())){
- return com.google.api.translate.Language.SLOVAK;
- }
- else if(language.equals(Language.SLOVENIAN())){
- return com.google.api.translate.Language.SLOVENIAN;
- }
- else if(language.equals(Language.SWAHILI())){
- return com.google.api.translate.Language.SWAHILI;
- }
- else if(language.equals(Language.SWEDISH())){
- return com.google.api.translate.Language.SWEDISH;
- }
- else if(language.equals(Language.TAGALOG())){
- return com.google.api.translate.Language.TAGALOG;
- }
- else if(language.equals(Language.TAJIK())){
- return com.google.api.translate.Language.TAJIK;
- }
- else if(language.equals(Language.TAMIL())){
- return com.google.api.translate.Language.TAMIL;
- }
- else if(language.equals(Language.TELUGU())){
- return com.google.api.translate.Language.TELUGU;
- }
- else if(language.equals(Language.THAI())){
- return com.google.api.translate.Language.THAI;
- }
- else if(language.equals(Language.TIBETAN())){
- return com.google.api.translate.Language.TIBETAN;
- }
- else if(language.equals(Language.TURKISH())){
- return com.google.api.translate.Language.TURKISH;
- }
- else if(language.equals(Language.UIGHUR_UYGHUR())){
- return com.google.api.translate.Language.UIGHUR;
- }
- else if(language.equals(Language.UKRAINIAN())){
- return com.google.api.translate.Language.UKRANIAN;
- }
- else if(language.equals(Language.URDU())){
- return com.google.api.translate.Language.URDU;
- }
- else if(language.equals(Language.UZBEK())){
- return com.google.api.translate.Language.UZBEK;
- }
- else if(language.equals(Language.VIETNAMESE())){
- return com.google.api.translate.Language.VIETNAMESE;
- }
- else if(language.equals(Language.WELSH())){
- return com.google.api.translate.Language.WELSH;
- }
- else if(language.equals(Language.YIDDISH())){
- return com.google.api.translate.Language.YIDDISH;
- }
- else{
- throw new LanguageNotSupportedException("The language " + language.getDescription() + " is not supported");
- }
- }
-
-}