クイックスタート: Azure AI 翻訳クライアント ライブラリ (プレビュー)

重要

  • Translator テキスト SDK は現在、パブリック プレビューで利用できます。 機能、アプローチ、およびプロセスは、一般提供 (GA) の前に、ユーザーからのフィードバックに基づいて変更される可能性があります。

このクイックスタートでは、Translator サービスを使用して、任意のプログラミング言語でテキストを翻訳します。 このプロジェクトでは、テクノロジを学習している間は無料価格レベル (F0) を使用し、後で運用環境向けの有料レベルにアップグレードすることをお勧めします。

前提条件

アクティブな Azure サブスクリプションが必要です。 Azure サブスクリプションがない場合は、無料で作成することができます

  • Azure サブスクリプションを入手したら、Azure portalTranslator リソースを作成します。

  • リソースがデプロイされたら、[リソースに移動] を選択してキーとエンドポイントを取得します。

    • キー、エンドポイント、リージョンをリソースから取得してアプリケーションを Translator サービスに接続します。 これらの値を、クイックスタートの後半でコードに貼り付けます。 これらは、Azure portal の [キーとエンドポイント] ページで確認できます。

      スクリーンショット: Azure portal の [キーとエンドポイント] ページ。

C#/.NET 環境を設定する

このクイックスタートでは、最新バージョンの Visual Studio IDE を使用して、アプリケーションをビルドして実行します。

  1. Visual Studio を起動します。

  2. [概要] ページで、[新しいプロジェクトの作成] を選択します。

    Visual Studio 2022 の [概要] ウィンドウのスクリーンショット。

  3. [新しいプロジェクトの作成] ページで、検索ボックスに「コンソール」と入力します。 [コンソール アプリケーション] テンプレートを選択し、 [次へ] を選択します。

    Visual Studio 2022 の [新しいプロジェクトの作成] ページのスクリーンショット。

  4. [新しいプロジェクトの構成] ダイアログ ウィンドウの [プロジェクト名] ボックスに「text-translation-sdk」と入力します。 [次へ] を選びます。

    Visual Studio 2022 の [新しいプロジェクトの構成] セットアップ ウィンドウのスクリーンショット。

  5. [追加情報] ダイアログ ウィンドウで、[.NET 6.0 (長期的なサポート)] を選択し、[作成] を選択します。

    Visual Studio 2022 の [詳細情報] セットアップ ウィンドウのスクリーンショット。

NuGet を使用してクライアント ライブラリをインストールする

  1. Translator-text-sdk プロジェクトを右クリックし、[NuGet パッケージの管理...] を選択します。Visual Studio で [NuGet パッケージの管理...] を選択しているウィンドウのスクリーンショット。

  2. [参照] タブと [プレリリースを含める] チェック ボックスを選択し、「Azure.AI.Translation.Text」と入力します。

    Visual Studio で

  3. ドロップダウン メニューからバージョン 1.0.0-beta.1 を選択し、プロジェクトにパッケージをインストールします。

    Visual Studio で

アプリケーションをビルドする

クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した key を使用して AzureKeyCredential を作成し、AzureKeyCredential を使用して TextTranslationClient インスタンスを作成します。 認証は、リソースでリージョンまたはグローバルのどちらのエンドポイントを使用するかによって若干異なります。 このプロジェクトでは、グローバル エンドポイントを使用して認証します。 リージョン エンドポイントの使用の詳細については、Translator Text SDK を参照してください。

Note

  • .NET 6 以降では、console テンプレートを使用する新しいプロジェクトによって、以前のバージョンとは異なる新しいプログラム スタイルが生成されます。
  • この新しい出力では、記述する必要があるコードを簡素化できる最新の C# 機能が使用されています。
  • 新しいバージョンで使用する場合、記述する必要があるのは、`Main` メソッドの本体のみです。 最上位レベルのステートメント、グローバル using ディレクティブ、または暗黙的な using ディレクティブを含める必要はありません。
  • 詳細については、「C# コンソール アプリ テンプレートで最上位レベルのステートメントが生成される」を "参照してください"。
  1. Program.cs ファイルを開きます。

  2. 既存のコード (行 Console.WriteLine("Hello World!") を含む) を削除し、次のコード サンプルをアプリケーションの Program.cs ファイルに入力します。

コード サンプル

重要

終わったらコードからキーを削除し、公開しないよう注意してください。 運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 詳細については、Azure AI サービスのセキュリティを "参照してください"。

テキストを翻訳する

Note

この例では、グローバル エンドポイントを使っています。 リージョン エンドポイントを使っている場合は、「テキスト翻訳クライアントを作成する」をご覧ください。


using Azure;
using Azure.AI.Translation.Text;


string key = "<your-key>";

AzureKeyCredential credential = new(key);
TextTranslationClient client = new(credential);

try
{
    string targetLanguage = "fr";
    string inputText = "This is a test.";

    Response<IReadOnlyList<TranslatedTextItem>> response = await client.TranslateAsync(targetLanguage, inputText).ConfigureAwait(false);
    IReadOnlyList<TranslatedTextItem> translations = response.Value;
    TranslatedTextItem translation = translations.FirstOrDefault();

    Console.WriteLine($"Detected languages of the input text: {translation?.DetectedLanguage?.Language} with score: {translation?.DetectedLanguage?.Score}.");
    Console.WriteLine($"Text was translated to: '{translation?.Translations?.FirstOrDefault().To}' and the result is: '{translation?.Translations?.FirstOrDefault()?.Text}'.");
}
catch (RequestFailedException exception)
{
    Console.WriteLine($"Error Code: {exception.ErrorCode}");
    Console.WriteLine($"Message: {exception.Message}");
}

アプリケーションを実行する

アプリケーションにコード サンプルを追加したら、[formRecognizer_quickstart] の横にある緑色の[開始する] ボタンを選択してプログラムをビルドして実行するか、または F5 キーを押します。

スクリーンショット: Visual Studioプログラムの実行。

予想される出力のスニペットを次に示します。

ターミナル ウィンドウでの Visual Studio Code 出力のスクリーンショット。

Java 環境を設定する

Note

Azure Text Translation SDK for Java は、Windows、Linux、macOS プラットフォームでテストおよびサポートされています。 これは、他のプラットフォームではテストされていません。また、Android のデプロイもサポートされていません。

このクイックスタートでは、Gradle ビルド自動化ツールを使用して、アプリケーションを作成して実行します。

  • Visual Studio Code または任意の IDE の最新バージョンが必要です。 「Visual Studio Code での Java」を "参照してください"。

    ヒント

    • Visual Studio Code には、Windows および macOS 用の Java 用コーディング パック が用意されています。コーディング パックは、VS Code、Java Development Kit (JDK)、および Microsoft が推奨する拡張機能のコレクションのバンドルです。 コーディング パックを使用して、既存の開発環境を修正できます。
    • VS Code と Java 用のコーディング パックを使用している場合は、Java 用 Gradle 拡張機能をインストールします。
  • Visual Studio Code を使用していない場合、開発環境に次のものがインストールされていることを確認してください。

新しい Gradle プロジェクトを作成する

  1. コンソール ウィンドウ (cmd、PowerShell、Bash など) で、アプリ用に text-translation-app という名前の新規ディレクトリを作成し、そこに移動します。

    mkdir text-translation-app && text-translation-app
    
    mkdir text-translation-app; cd text-translation-app
    
  2. text-translation-app ディレクトリから gradle init コマンドを実行します。 このコマンドによって、Gradle 用の重要なビルド ファイルが作成されます。たとえば、実行時にアプリケーションを作成して構成するために使用される build.gradle.kts などです。

    gradle init --type basic
    
  3. DSL を選択するよう求められたら、Kotlin を選択します。

  4. Return または Enter キーを選択して、既定のプロジェクト名 (text-translation-app) を受け入れます。

    注意

    アプリケーション全体が作成されるまで数分かかる場合がありますが、build-gradle.kts を含むいくつかのフォルダーとファイルがすぐに表示されます。

  5. build.gradle.kts を次のコードで更新します。 メイン クラスは Translate です。

      plugins {
      java
      application
    }
    application {
      mainClass.set("Translate")
    }
    repositories {
      mavenCentral()
    }
    dependencies {
      implementation("com.azure:azure-ai-translation-text:1.0.0-beta.1")
    }
    

Java アプリケーションを作成する

  1. text-translation-app ディレクトリから、次のコマンドを実行します。

    mkdir -p src/main/java
    

    このコマンドにより、次のディレクトリ構造が作成されます。

    スクリーンショット: Java ディレクトリ構造。

  2. java ディレクトリに移動して、Translate.java という名前のファイルを作成します。

    ヒント

    • PowerShell を使用して新しいファイルを作成できます。

    • Shift キーを押しながらフォルダーを右クリックして、プロジェクト ディレクトリで PowerShell ウィンドウを開きます。

    • コマンド New-Item Translate.java を入力します。

    • IDE で、Translate.java という名前の新しいファイルを作成し、それを java ディレクトリに保存することもできます。

  3. 次のテキスト翻訳コード サンプルをコピーして、Translate.java ファイルに貼り付けます。

    • "<your-key>""<your-endpoint>"、および "<region>" を、Azure portal の Translator インスタンスの値で更新します。

コード サンプル

テキストを翻訳する

重要

終わったらコードからキーを削除し、公開しないよう注意してください。 運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 詳細については、Azure AI サービスのセキュリティを "参照してください"。

クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した key を使用して AzureKeyCredential を作成し、AzureKeyCredential を使用して TextTranslationClient インスタンスを作成します。 認証は、リソースでリージョンまたはグローバルのどちらのエンドポイントを使用するかによって若干異なります。 このプロジェクトでは、グローバル エンドポイントを使用して認証します。 リージョン エンドポイントの使用の詳細については、Translator Text SDK を参照してください。

Note

この例では、グローバル エンドポイントを使っています。 リージョン エンドポイントを使っている場合は、「テキスト翻訳クライアントを作成する」をご覧ください。

import java.util.List;
import java.util.ArrayList;
import com.azure.ai.translation.text.models.*;
import com.azure.ai.translation.text.TextTranslationClientBuilder;
import com.azure.ai.translation.text.TextTranslationClient;

import com.azure.core.credential.AzureKeyCredential;
/**
 * Translate text from known source language to target language.
 */
public class Translate {

    public static void main(String[] args) {
        String apiKey = "<your-key>";
        AzureKeyCredential credential = new AzureKeyCredential(apiKey);

        TextTranslationClient client = new TextTranslationClientBuilder()
                .credential(credential)
                .buildClient();

        String from = "en";
        List<String> targetLanguages = new ArrayList<>();
        targetLanguages.add("es");
        List<InputTextItem> content = new ArrayList<>();
        content.add(new InputTextItem("This is a test."));

        List<TranslatedTextItem> translations = client.translate(targetLanguages, content, null, from, TextType.PLAIN, null, null, null, false, false, null, null, null, false);

        for (TranslatedTextItem translation : translations) {
            for (Translation textTranslation : translation.getTranslations()) {
                System.out.println("Text was translated to: '" + textTranslation.getTo() + "' and the result is: '" + textTranslation.getText() + "'.");
            }
        }
    }
}

アプリケーションをビルドして実行する**

アプリケーションにコード サンプルを追加したら、メイン プロジェクト ディレクトリ (text-translation-app) に戻ります。

  1. build コマンドを使用してアプリケーションをビルドします (BUILD SUCCESSFUL メッセージが表示されます)。

    gradle build
    
  2. run コマンドを使用してアプリケーションを実行します (BUILD SUCCESSFUL メッセージが表示されます)。

    gradle run
    

予想される出力のスニペットを次に示します。

ターミナル ウィンドウの Java 出力のスクリーンショット。

Node.js 環境を設定する

このクイックスタートでは、Node.js JavaScript ランタイム環境を使用して、アプリケーションを作成して実行します。

  1. 最新バージョンの Node.js をまだインストールしていない場合はインストールします。 Node.js のインストールには、ノード パッケージ マネージャー (npm) が含まれます。

    ヒント

    Node.js を初めて使う場合は、「Node.js の概要」Learn モジュールを試してください。

  2. コンソール ウィンドウ (cmd、PowerShell、Bash など) で、アプリ用の新しいディレクトリを text-translation-app という名前で作成し、そこに移動します。

    mkdir text-translation-app && cd text-translation-app
    
    mkdir text-translation-app; cd text-translation-app
    
  3. npm init コマンドを実行して、アプリケーションを初期化し、プロジェクトをスキャフォールディングします。

    npm init
    
  4. ターミナルに表示されるプロンプトを受け入れて、プロジェクトの属性を指定します。

    • 最も重要な属性は、名前、バージョン番号、およびエントリ ポイントです。
    • エントリ ポイント名は index.js を保持することをお勧めします。 説明、テスト コマンド、GitHub リポジトリ、キーワード、作成者、ライセンス情報はオプションの属性であり、このプロジェクトでは省略可能です。
    • [戻る] または Enter キーを押して、かっこで囲んだ候補を受け入れます。
    • プロンプトを完了すると、text-translation-app ディレクトリに package.json ファイルが作成されます。

クライアント ライブラリをインストールする

ターミナル ウィンドウを開き、npm を使用して JavaScript 用の Azure Text Translation クライアント ライブラリをインストールします。

npm i @azure-rest/ai-translation-text@1.0.0-beta.1

アプリケーションをビルドする

クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した key<region> を使用して TranslateCredential を作成し、TextTranslationClient インスタンスを作成します。 詳細については、Translator Text SDK を参照してください。

  1. アプリ ディレクトリの index.js ファイルを作成します。

    ヒント

    • PowerShell を使用して新しいファイルを作成できます。

    • Shift キーを押しながらフォルダーを右クリックして、プロジェクト ディレクトリで PowerShell ウィンドウを開きます。

    • 次のコマンド New-Item index.js を入力します。

    • IDE で、index.js という名前の新しいファイルを作成し、それを text-translation-app ディレクトリに保存することもできます。

  2. 次のテキスト翻訳コード サンプルをコピーして、index.js ファイルに貼り付けます。 <your-endpoint><your-key> を、Azure portal Translator インスタンスの値で更新します。

コード サンプル

重要

終わったらコードからキーを削除し、公開しないよう注意してください。 運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 詳細については、Azure AI サービスのセキュリティを "参照してください"。

テキストを翻訳する

Note

この例では、リージョン エンドポイントを使っています。 グローバル エンドポイントを使っている場合は、「テキスト翻訳クライアントを作成する」をご覧ください。

const TextTranslationClient = require("@azure-rest/ai-translation-text").default

const apiKey = "<your-key>";
const endpoint = "<your-endpoint>";
const region = "<region>";

async function main() {

  console.log("== Text translation sample ==");

  const translateCredential = {
    key: apiKey,
    region,
  };
  const translationClient = new TextTranslationClient(endpoint,translateCredential);

  const inputText = [{ text: "This is a test." }];
  const translateResponse = await translationClient.path("/translate").post({
    body: inputText,
    queryParameters: {
      to: "fr",
      from: "en",
    },
  });

  const translations = translateResponse.body;
  for (const translation of translations) {
    console.log(
      `Text was translated to: '${translation?.translations[0]?.to}' and the result is: '${translation?.translations[0]?.text}'.`
    );
  }
}

main().catch((err) => {
    console.error("An error occurred:", err);
    process.exit(1);
  });

  module.exports = { main };

アプリケーションを実行する

アプリケーションにコード サンプルを追加したら、プログラムを実行します。

  1. テキスト翻訳アプリケーションがあるフォルダー (text-translation-app) に移動します。

  2. ご利用のターミナルで、次のコマンドを入力します。

    node index.js
    

予想される出力のスニペットを次に示します。

ターミナル ウィンドウの JavaScript 出力のスクリーンショット。

Python プロジェクトを設定する

  1. 最新バージョンの Python 3.x をまだインストールしていない場合はインストールします。 Python のインストールには、Python インストーラー パッケージ (pip) が含まれます。

    ヒント

    Python を初めて使う場合は、「Python の概要」Learn モジュールを試してください。

  2. ターミナル ウィンドウを開き、pip を使用して Python 用の Azure Text Translation クライアント ライブラリをインストールします。

    pip install azure-ai-translation-text==1.0.0b1
    

アプリケーションをビルドする

クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した key を使用して TranslatorCredential を作成し、TextTranslationClient インスタンスを作成します。 詳細については、Translator Text SDK を参照してください。

  1. 任意のエディターまたは IDE で、text-translation-app.py という名前の新しい Python ファイルを作成します。

  2. 次のテキスト翻訳コード サンプルをコピーして、text-translation-app.py ファイルに貼り付けます。 <your-key><your-endpoint>、および <region> を、Azure portal の Translator インスタンスの値で更新します。

コード サンプル

重要

終わったらコードからキーを削除し、公開しないよう注意してください。 運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 詳細については、Azure AI サービスのセキュリティを "参照してください"。

テキストを翻訳する

Note

この例では、リージョン エンドポイントを使っています。 グローバル エンドポイントを使っている場合は、「テキスト翻訳クライアントを作成する」をご覧ください。

from azure.ai.translation.text import TextTranslationClient, TranslatorCredential
from azure.ai.translation.text.models import InputTextItem
from azure.core.exceptions import HttpResponseError

# set `<your-key>`, `<your-endpoint>`, and  `<region>` variables with the values from the Azure portal
key = "<your-key>"
endpoint = "<your-endpoint>"
region = "<region>"

credential = TranslatorCredential(key, region)
text_translator = TextTranslationClient(endpoint=endpoint, credential=credential)

try:
    source_language = "en"
    target_languages = ["es", "it"]
    input_text_elements = [ InputTextItem(text = "This is a test") ]

    response = text_translator.translate(content = input_text_elements, to = target_languages, from_parameter = source_language)
    translation = response[0] if response else None

    if translation:
        for translated_text in translation.translations:
            print(f"Text was translated to: '{translated_text.to}' and the result is: '{translated_text.text}'.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

アプリケーションの実行

アプリケーションにコード サンプルを追加したら、プログラムをビルドして実行します。

text-translation-app.py ファイルがあるフォルダーに移動します。

ご利用のターミナルで、次のコマンドを入力します。

python text-translation-app.py

予想される出力のスニペットを次に示します。

ターミナル ウィンドウの JavaScript 出力のスクリーンショット。

以上です。お疲れさまでした。 このクイックスタートでは、テキスト翻訳 SDK を使用してテキストを翻訳しました。

次の手順

テキスト翻訳開発オプションの詳細については、以下を参照してください。