diff --git a/pom.xml b/pom.xml index 279900d..a37fd8c 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,12 @@ limitations under the License. 1.52.0 + + com.google.cloud + google-cloud-translate + 1.55.0 + + diff --git a/src/main/java/com/google/codeu/data/Message.java b/src/main/java/com/google/codeu/data/Message.java index 7d16e93..c2afb4a 100644 --- a/src/main/java/com/google/codeu/data/Message.java +++ b/src/main/java/com/google/codeu/data/Message.java @@ -51,15 +51,19 @@ public UUID getId() { public String getUser() { return user; } - - public String getRecipient(){ + + public String getRecipient() { return recipient; } - + public String getText() { return text; } + public void setText(String input) { + this.text = input; + } + public long getTimestamp() { return timestamp; } diff --git a/src/main/java/com/google/codeu/servlets/MessageFeedServlet.java b/src/main/java/com/google/codeu/servlets/MessageFeedServlet.java index 45236dd..fa3be32 100644 --- a/src/main/java/com/google/codeu/servlets/MessageFeedServlet.java +++ b/src/main/java/com/google/codeu/servlets/MessageFeedServlet.java @@ -12,6 +12,11 @@ import com.google.codeu.data.Message; import com.google.gson.Gson; +import com.google.cloud.translate.Translate; +import com.google.cloud.translate.Translate.TranslateOption; +import com.google.cloud.translate.TranslateOptions; +import com.google.cloud.translate.Translation; + /** * Handles fetching all messages for the public feed. */ @@ -25,6 +30,19 @@ public void init() { datastore = new Datastore(); } + private void translateMessages(List messages, String targetLanguageCode) { + Translate translate = TranslateOptions.getDefaultInstance().getService(); + + for (Message message : messages) { + String originalText = message.getText(); + + Translation translation = translate.translate(originalText, TranslateOption.targetLanguage(targetLanguageCode)); + String translatedText = translation.getTranslatedText(); + + message.setText(translatedText); + } + } + /** * Responds with a JSON representation of Message data for all users. */