2015-11-24 6 views
0

Мне нужно перевести тексты, отправленные из формы jsf, в управляемые bean-компоненты с английского на русский. Я использовал API, предоставляемый google translate. он не работает. Когда я пытаюсь перевести тексты, полученные с страницы jsf, нет ошибки, но я получаю «????». Я не знаю, почему это происходит. Но когда я использовал одно и то же в другом проекте java, он отлично работает. Может кто-нибудь, пожалуйста, скажите мне?cant перевод текста в java с помощью google api

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: Переведенный текст формы ????? INFO: Перевод статического текста = ??? ??????????? ????? ?????? ???????

Different файл проекта:

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); 

Выход: пробег: tranlated текст = переводчик в действии Теперь в

+0

Работает ли он из простого класса Java? В «main» Если нет, это не связано с jsf. – Kukeltje

+0

Где находится 'System.out.println()' в? Консоль вашей среды IDE? Это IDE Eclipse? – BalusC

+0

Это работает для этого: ¨package TEST; import com.gtranslate.Language; import com.gtranslate.Translator; общественного класса NewMain { /** * @param арг аргументы командной строки */ государственной статической силы основных (String [] арг) { Переводчик переводить = Translator.getInstance(); Строка text1 = "переводчик в действии сейчас"; Строка text = translate.translate (text1, Language.ENGLISH, Язык.RUSSIAN); System.out.println ("tranlated text =" + text); } } – user3404970

ответ

0

Это выглядит возможным для меня что-то с кириллической кодировкой плохого в том месте, где вы хотите напечатать результат своего метода.

+0

Благодарю вас, мой fren, но можете ли вы, пожалуйста, рассказать мне подробно и, если возможно, также решить проблему? – user3404970

+0

Где вы пытаетесь распечатать результат этого метода? В стандартном выпуске или в другом приложении? – Tuchkata

Смежные вопросы