コンパイルと実行には Java 8以降の Javaを利用してください。
ProtoApplication.java の サービス利用ID と サービス利用パスワード を
お使いのものを設定してください。
翻訳したい文章は、 ProtoApplication.java の 65行目の様に指定してください。
コマンドプロンプトで以下を実行します。
> gradlew bootRun
ターミナルで以下を実行します。
$ ./gradlew bootRun
:compileJava
:processResources
:classes
:findMainClass
:bootRun
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.10.RELEASE)
2018-02-18 23:40:35.466 INFO 12226 --- [ main] proto.ProtoApplication : Starting ProtoApplication on xx with PID 12226 (spring-java-translate/build/classes/java/main started by xx in spring-java-translate)
2018-02-18 23:40:35.470 INFO 12226 --- [ main] proto.ProtoApplication : No active profile set, falling back to default profiles: default
2018-02-18 23:40:35.555 INFO 12226 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@73d4cc9e: startup date [Sun Feb 18 23:40:35 JST 2018]; root of context hierarchy
2018-02-18 23:40:36.939 INFO 12226 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-02-18 23:40:37.712 INFO 12226 --- [ main] proto.ProtoApplication : Token(expiry_sec=600, token=4c2a079e-d0b7-4cd4-8123-xx)
2018-02-18 23:40:37.902 INFO 12226 --- [ main] proto.ProtoApplication : 口語翻訳: えー、東京タワーはどこですか? -> Where is Tokyo Tower?
2018-02-18 23:40:37.942 INFO 12226 --- [ main] proto.ProtoApplication : Started ProtoApplication in 3.216 seconds (JVM running for 3.782)
2018-02-18 23:40:37.943 INFO 12226 --- [ Thread-2] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@73d4cc9e: startup date [Sun Feb 18 23:40:35 JST 2018]; root of context hierarchy
2018-02-18 23:40:37.945 INFO 12226 --- [ Thread-2] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown
BUILD SUCCESSFUL in 13s
4 actionable tasks: 4 executed
// トークンの取得
RecaiusService service = new RecaiusService(new User(SERVICE_ID, SERVICE_PASSWORD));
Token token = requestToken.postForObject("/", service, Token.class);
log.info(token.toString());
// 翻訳のリクエストにトークンを設定
RestTemplate requestTranslateWithToken = setToken(requestTranslate, token);
// 口語翻訳の実行
// デフォルトでは日英翻訳を行います
Query query = new Query("えー、東京タワーはどこですか?");
Translated result = requestTranslateWithToken.postForObject("/", query, Translated.class);
log.info( query.getQuery() + " -> " + result.getData().getTranslations().get(0).getTranslatedText() );
query = new Query("お好み焼きはどこで買えますか?");
result = requestTranslateWithToken.postForObject("/", query, Translated.class);
log.info( query.getQuery() + " -> " + result.getData().getTranslations().get(0).getTranslatedText() );
query = new Query("もうこれ以上食べれません。");
result = requestTranslateWithToken.postForObject("/", query, Translated.class);
log.info( query.getQuery() + " -> " + result.getData().getTranslations().get(0).getTranslatedText() );
// 翻訳後の言語の設定は以下のように行ないます
query.setTgt_lang("zh");
result = requestTranslateWithToken.postForObject("/", query, Translated.class);
log.info( query.getQuery() + " -> " + result.getData().getTranslations().get(0).getTranslatedText() );
query.setTgt_lang("ko");
result = requestTranslateWithToken.postForObject("/", query, Translated.class);
log.info( query.getQuery() + " -> " + result.getData().getTranslations().get(0).getTranslatedText() );
// 英日翻訳を行う場合は以下のように行ないます
query = new Query("Really?");
query.setSrc_lang("en");
query.setTgt_lang("ja");
result = requestTranslateWithToken.postForObject("/", query, Translated.class);
log.info( query.getQuery() + " -> " + result.getData().getTranslations().get(0).getTranslatedText() );
// トークンの破棄
setToken(requestToken, token).delete("/");以上。