次の方法で共有


クイック スタート: Azure AI Translator テキスト クライアント ライブラリ

このクイックスタートでは、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 プロジェクトを右クリックし、 Manage NuGet Packages...Visual Studio の [NuGet パッケージの選択] ウィンドウのスクリーンショットを選択します。

  2. [ Browse ] タブと [ Include prerelease ] チェック ボックスをオンにし、「 Azure.AI.Translation.Text」と入力します。

    Visual Studio で

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

    Visual Studio で

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

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

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

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

コード サンプル

重要

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

テキストを翻訳する

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


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 環境を設定する

Java 用 Azure Text translation SDK は、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 と Coding Pack For Java を使用している場合は、Gradle for Java 拡張機能をインストールします。
  • 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 で確認した AzureKeyCredential を使用して key を作成し、TextTranslationClient を使用して AzureKeyCredential インスタンスを作成します。 認証は、リソースでリージョンまたはグローバルのどちらのエンドポイントを使用するかによって若干異なります。 このプロジェクトでは、グローバル エンドポイントを使用して認証します。 リージョン エンドポイントの使用の詳細については、Translator Text SDK を参照してください。

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

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 キーを押して、かっこで囲んだ候補を受け入れます。
    • プロンプトが完了すると、 package.json ファイルが text-translation-app ディレクトリに作成されます。

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

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

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

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

クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した TranslateCredentialkey を使用して <region> を作成し、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 サービスのセキュリティをご覧ください。

テキストを翻訳する

この例では、リージョン エンドポイントを使用しています。 グローバル エンドポイントを使用している場合は、「 テキスト変換クライアントの作成」を参照してください。

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. ターミナル ウィンドウを開き、Azure Text translation を使用して Python 用の pip クライアント ライブラリをインストールします。

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

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

クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した TranslatorCredential を使用して key を作成し、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 サービスのセキュリティ」を ご覧ください。

テキストを翻訳する

この例では、リージョン エンドポイントを使用しています。 グローバル エンドポイントを使用している場合は、「 テキスト変換クライアントの作成」を参照してください。

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 を使用してテキストを翻訳しました。

次のステップ

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