【发布时间】:2015-11-24 20:22:35
【问题描述】:
我需要将从 jsf 表单发送到托管 bean 的文本从英语翻译成俄语。我使用了谷歌翻译提供的API。它不起作用当我尝试翻译从 jsf 页面收到的文本时没有错误,但我得到“????”。我不知道为什么会这样。但是当我在不同的java项目中使用相同的东西时它工作正常。谁能告诉我?
public String translate(String fname){
Translator translator =Translator.getInstance();
System.out.println("data received from jsf form =" +fname);
String russian= translator.translate(fname, Language.ENGLISH, Language.RUSSIAN);
System.out.println(" translated text of the form "+russian);
String staticText = "This is static text inside the function";
String russian2= translator.translate(staticText, Language.ENGLISH, Language.RUSSIAN);
System.out.println("Translated static text = "+russian2);
return russian;
}
输出:
从 jsf 表单接收的数据 =Teddy INFO:表格的翻译文本?????? 信息:翻译的静态文本 = ??? ?????????? ??? ??? ???????
不同的项目文件:
Translator translate = Translator.getInstance() ;
String text1 ="translator in in action now ";
String text = translate.translate(text1, Language.ENGLISH, Language.RUSSIAN);
System.out.println("tranlated text = "+text);
输出: 跑: 翻译文本 = переводчик в действии Теперь в
【问题讨论】:
-
它可以在普通的 java 类中工作吗?在一个'main'中如果没有,则与jsf无关。
-
System.out.println()在哪里结束? IDE 的控制台?那是 IDE Eclipse 吗? -
这适用于:¨包测试;导入 com.gtranslate.Language;导入 com.gtranslate.Translator; public class NewMain { /** * @param args 命令行参数 */ public static void main(String[] args) { Translator translate = Translator.getInstance() ; String text1 ="translator in action now"; String text = translate.translate(text1, Language.ENGLISH, Language.RUSSIAN); System.out.println("翻译文本 = "+text); } }
-
这适用于:包测试; //import public class NewMain { public static void main(String[] args) { Translator translate = Translator.getInstance() ; String text = translate.translate(" 正在行动 ", Language.ENGLISH, Language.RUSSIAN); System.out.println(文本); } }
-
我使用的是 NetBeans 7.3.1
标签: java api jsf google-translator-toolkit