⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 freetranslationtranslatorrb.java

📁 The program is used to translate the english to chinese in the web pages just like google translate.
💻 JAVA
字号:
/* ************************************************************************** * @ Copyright 2004 by Brian Blank   										* * ************************************************************************** * Module:	$Source: /cvsroot/webtranslator/source/src/com/javanetworkframework/rb/com/freetranslation/FreeTranslationTranslatorRB.java,v $ * ************************************************************************** * Java Web Translator Project												* * http://sourceforge.net/projects/webtranslator/							* * ************************************************************************** * CVS INFORMATION															* * Current revision $Revision: 1.2 $ * On branch $Name: A0-2 $ * Latest change by $Author: xyombie $ on $Date: 2004/09/18 00:44:17 $ * ************************************************************************** * Modification History:													* * VERSION    DATE	 AUTHOR	DESCRIPTION OF CHANGE	    				    * * -------	-------- ------	------------------------------------------------* *  V1.00	09/17/04  BRB	Initial Version.								* * ************************************************************************** */package com.javanetworkframework.rb.com.freetranslation;import java.net.*;import java.util.Map;import java.util.TreeMap;import java.util.Set;import java.util.TreeSet;import java.util.logging.Logger;import java.io.*;import com.javanetworkframework.rb.util.AbstractWebHTTPTranslator;/** FreeTranslation.com Translator Resource Bundle.  Uses FreeTranslation's web translator *  to translate text at run-time.  Translations are stored in *  a cache that can be serialized to disk or sent to a database via JDBC. *  * @author Brian Blank * @version 1.0 */public class FreeTranslationTranslatorRB extends AbstractWebHTTPTranslator {	/* -------------------- STATIC SECTION --------------- */		private static final Logger logger = Logger.getLogger(FreeTranslationTranslatorRB.class.getName());	/** Returns a list of supported languages.	 *  Format of Map is: key - 2 digit iso language code; value - Name of language	 *  example: map.put("en", "English)	 */	public static Map SgetSupportedLanguages()	{		logger.entering(FreeTranslationTranslatorRB.class.getName(), "SgetSupportedLanguages");		Map retVal = new TreeMap();		retVal.put("de", "German");		retVal.put("es", "Spanish");		retVal.put("fr", "French");		retVal.put("it", "Italian");		retVal.put("pt", "Portuguese");		retVal.put("en", "English");		retVal.put("nl", "Dutch");		retVal.put("ru", "Russian");		retVal.put("no", "Norwegian");		retVal.put("zt", "TraditionalChinese");		retVal.put("zh_TW", "TraditionalChinese");		retVal.put("zh", "SimplifiedChinese");		logger.exiting(FreeTranslationTranslatorRB.class.getName(), "SgetSupportedLanguages", retVal);		return retVal;	}		/** Returns a list of supported tranlations	 * Format of set is SrcLocale.toString() + "2" + DstLocale.toString() 	 * example: en2es (English to Spanish)	 */	public static Set SgetSupportedTranslations() {		logger.entering(FreeTranslationTranslatorRB.class.getName(), "SgetSupportedTranslations");		Set retVal = new TreeSet(); 		retVal.add("en2ru");		retVal.add("ru2en");		retVal.add("en2es");		retVal.add("en2fr");		retVal.add("en2de");		retVal.add("en2it");		retVal.add("en2nl");		retVal.add("en2pt");		retVal.add("en2no");		retVal.add("es2en");		retVal.add("fr2en");		retVal.add("de2en");		retVal.add("it2en");		retVal.add("nl2en");		retVal.add("pt2en");		retVal.add("en2zh");		retVal.add("en2zt");		retVal.add("en2zh_TW");		logger.exiting(FreeTranslationTranslatorRB.class.getName(), "SgetSupportedTranslations", retVal);		return retVal;	}		/* -------------------- INSTANCE SECTION --------------- */		/** Name of this translator */	protected String getPrefix() {		logger.entering(getClass().getName(), "getPrefix");		String retVal = "FreeTranslation";		logger.exiting(getClass().getName(), "getPrefix", retVal);		return retVal;	}		/** Character encoding required by provider for input */	protected String getInputCharSet() {		logger.entering(getClass().getName(), "getInputCharSet");		String retVal = "windows-1252";		logger.exiting(getClass().getName(), "getInputCharSet", retVal);		return retVal;	}	/** Character encoding used by provider for output */	protected String getOutputCharSet() {		logger.entering(getClass().getName(), "getOutputCharSet");		String retVal = "windows-1252";		logger.exiting(getClass().getName(), "getOutputCharSet", retVal);		return retVal;	}	/** Returns a list of supported languages.	 *  Format of Map is: key - 2 digit iso language code; value - Name of language	 *  example: map.put("en", "English)	 */	public Map getSupportedLanguages() {		logger.entering(getClass().getName(), "getSupportedLanguages");		Map retVal = SgetSupportedLanguages();		logger.exiting(getClass().getName(), "getSupportedLanguages", retVal);		return retVal;	}		/** Returns a list of supported tranlations	 * Format of set is SrcLocale.toString() + "2" + DstLocale.toString() 	 * example: en2es (English to Spanish)	 */	public Set getSupportedTranslations() {		logger.entering(getClass().getName(), "getSupportedTranslations");		Set retVal = SgetSupportedTranslations();		logger.exiting(getClass().getName(), "getSupportedTranslations", retVal);		return retVal;	}		/** Returns URL to web translator */	protected String getURL(String translation)	{		logger.entering(getClass().getName(), "getURL", translation);		String retVal;		if(translation.equals("en2ru") ||		   translation.equals("ru2en") ||		   translation.equals("en2zh") ||		   translation.equals("en2zh_TW") ||		   translation.equals("en2zt")) {			retVal = "http://ets6.freetranslation.com";		} else {			retVal = "http://ets.freetranslation.com";					}		logger.exiting(getClass().getName(), "getURL", retVal);		return retVal;	}		/** Returns parameters passed to web translator */	protected String getParams(String srcLanguage, String dstLanguage, String text)	{		logger.entering(getClass().getName(), "getParams", 				new Object[] { srcLanguage, dstLanguage, text });		if(srcLanguage.equals("zh_TW")) {			srcLanguage = "zt";		}		if(dstLanguage.equals("zh_TW")) {			dstLanguage = "zt";		}		String retVal = null;		Map languages = getSupportedLanguages();		srcLanguage = (String) languages.get(srcLanguage);		dstLanguage = (String) languages.get(dstLanguage);		String language = srcLanguage + "/" + dstLanguage;		try {			retVal = URLEncoder.encode( "sequence", getInputCharSet()) + "=" + URLEncoder.encode( "core", getInputCharSet())  + "&" +					URLEncoder.encode( "mode", getInputCharSet()) + "=" + URLEncoder.encode( "html", getInputCharSet()) + "&" +					URLEncoder.encode( "template", getInputCharSet()) + "=" + URLEncoder.encode("results_en-us.htm", getInputCharSet()) + "&" +					URLEncoder.encode( "language", getInputCharSet()) + "=" + URLEncoder.encode( language, getInputCharSet()) + "&" + 					URLEncoder.encode( "srctext", getInputCharSet()) + "=" + URLEncoder.encode( text, getInputCharSet());		} catch (UnsupportedEncodingException e) {			System.err.println(e);		}		logger.exiting(getClass().getName(), "getParams", retVal);		return retVal;	}		/** Returns tag name where translation can be found. */	protected String getStartSearchText()	{		logger.entering(getClass().getName(), "getStartSearchText");		String retVal = "<textarea name=\"dsttext\"";		logger.exiting(getClass().getName(), "getStartSearchText", retVal);		return retVal;	}	/** Text that indicates the end of the translation */	protected String getEndSearchText()	{		logger.entering(getClass().getName(), "getEndSearchText");		String retVal = "</textarea>";		logger.exiting(getClass().getName(), "getEndSearchText", retVal);		return retVal;	}		/** Text that indicates server is busy */	protected String getServerBusyError() {		logger.entering(getClass().getName(), "getServerBusyError");		String retVal = "Server doesn't return server busy error";		logger.exiting(getClass().getName(), "getServerBusyError", retVal);		return retVal;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -