0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS日記12 (Translate)

Last updated at Posted at 2020-06-28

はじめに

今回は Amazon Translateを利用して翻訳機能を試します。

今回作成したAmazon Translate の翻訳機能を試すページ

準備

[Lambda , API Gatewayの準備をします。]
(https://qiita.com/tanaka_takurou/items/3f93295de6cff060ec09)

[Amazon Translateの資料]
Amazon Translate

WEBページ・API作成

GO言語のAWS Lambda関数ハンドラー aws-lambda-go を使用してHTMLやJSONを返す処理を作成します。
また、Translate を使用するため aws-sdk-go を利用します。

[参考資料]
AWS SDK for Go API Reference
aws translateコマンドをシェルのエイリアスに設定すると便利
Amazon Translateを使ってみた&自動翻訳付きチャットを作ってみた

翻訳するには Text を使う。
main.go
func translateText(message string, sourceLanguageCode string, targetLanguageCode string)(string, error) {
        svc := translate.New(session.New(), &aws.Config{
                Region: aws.String("ap-northeast-1"),
        })
        params := &translate.TextInput{
                Text: aws.String(message),
                SourceLanguageCode: aws.String(sourceLanguageCode),
                TargetLanguageCode: aws.String(targetLanguageCode),
        }
        res, err := svc.Text(params)
        if err != nil {
                log.Print(err)
                return "", err
        }
        return aws.StringValue(res.TranslatedText), nil
}

※ 入力された文字列が日本語か英語か判断するため、今回は簡易的にアルファベットを含むかどうかで判定しました。

main.go
func sendMessage(message string)(string, error) {
        if regexp.MustCompile(`[a-zA-Z]`).Match([]byte(message)) {
                return translateText(message, languageCodeEn, languageCodeJa)
        }
        return translateText(message, languageCodeJa, languageCodeEn)
}

終わりに

今回はAmazon Translateを試しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?