クイックスタート: Azure AI 翻訳テキスト クライアント ライブラリ
このクイックスタートでは、Translator サービスを使用して、任意のプログラミング言語でテキストを翻訳します。 このプロジェクトでは、テクノロジを学習している間は無料価格レベル (F0) を使用し、後で運用環境向けの有料レベルにアップグレードすることをお勧めします。
前提条件
アクティブな Azure サブスクリプションが必要です。 Azure サブスクリプションがない場合は、無料で作成することができます
Azure サブスクリプションを入手したら、Azure portal で Translator リソースを作成します。
リソースがデプロイされたら、[リソースに移動] を選択してキーとエンドポイントを取得します。
キー、エンドポイント、リージョンをリソースから取得してアプリケーションを Translator サービスに接続します。 これらの値を、クイックスタートの後半でコードに貼り付けます。 これらは、Azure portal の [キーとエンドポイント] ページで確認できます。
C#/.NET 環境を設定する
このクイックスタートでは、最新バージョンの Visual Studio IDE を使用して、アプリケーションをビルドして実行します。
Visual Studio を起動します。
[概要] ページで、[新しいプロジェクトの作成] を選択します。
[新しいプロジェクトの作成] ページで、検索ボックスに「コンソール」と入力します。 [コンソール アプリケーション] テンプレートを選択し、 [次へ] を選択します。
[新しいプロジェクトの構成] ダイアログ ウィンドウの [プロジェクト名] ボックスに「
text-translation-sdk
」と入力します。 [次へ] を選びます。[追加情報] ダイアログ ウィンドウで、[.NET 6.0 (長期的なサポート)] を選択し、[作成] を選択します。
NuGet を使用してクライアント ライブラリをインストールする
Translator-text-sdk プロジェクトを右クリックし、[NuGet パッケージの管理...] を選択します。
[参照] タブと [プレリリースを含める] チェック ボックスを選択し、「Azure.AI.Translation.Text」と入力します。
ドロップダウン メニューからバージョン
1.0.0-beta.1
を選択し、プロジェクトにパッケージをインストールします。
アプリケーションをビルドする
クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient
クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した key
を使用して AzureKeyCredential
を作成し、AzureKeyCredential
を使用して TextTranslationClient
インスタンスを作成します。 認証は、リソースでリージョンまたはグローバルのどちらのエンドポイントを使用するかによって若干異なります。 このプロジェクトでは、グローバル エンドポイントを使用して認証します。 リージョン エンドポイントの使用の詳細については、Translator Text SDK を参照してください。
Note
- .NET 6 以降では、
console
テンプレートを使用する新しいプロジェクトによって、以前のバージョンとは異なる新しいプログラム スタイルが生成されます。 - この新しい出力では、記述する必要があるコードを簡素化できる最新の C# 機能が使用されています。
- 新しいバージョンで使用する場合、記述する必要があるのは、
`Main` メソッドの本体のみです。 最上位レベルのステートメント、グローバル using ディレクティブ、または暗黙的な using ディレクティブを含める必要はありません。 - 詳細については、「C# コンソール アプリ テンプレートで最上位レベルのステートメントが生成される」を "参照してください"。
Program.cs ファイルを開きます。
既存のコード (行
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 キーを押します。
予想される出力のスニペットを次に示します。
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 を使用していない場合、開発環境に次のものがインストールされていることを確認してください。
Java Development Kit (OpenJDK) バージョン 8 以降。
Gradle、バージョン 6.8 以降。
新しい Gradle プロジェクトを作成する
コンソール ウィンドウ (cmd、PowerShell、Bash など) で、アプリ用に text-translation-app という名前の新規ディレクトリを作成し、そこに移動します。
mkdir text-translation-app && text-translation-app
mkdir text-translation-app; cd text-translation-app
text-translation-app ディレクトリから
gradle init
コマンドを実行します。 このコマンドによって、Gradle 用の重要なビルド ファイルが作成されます。たとえば、実行時にアプリケーションを作成して構成するために使用される build.gradle.kts などです。gradle init --type basic
DSL を選択するよう求められたら、Kotlin を選択します。
Return または Enter キーを選択して、既定のプロジェクト名 (text-translation-app) を受け入れます。
注意
アプリケーション全体が作成されるまで数分かかる場合がありますが、
build-gradle.kts
を含むいくつかのフォルダーとファイルがすぐに表示されます。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 アプリケーションを作成する
text-translation-app ディレクトリから、次のコマンドを実行します。
mkdir -p src/main/java
このコマンドにより、次のディレクトリ構造が作成されます。
java
ディレクトリに移動して、Translate.java
という名前のファイルを作成します。ヒント
PowerShell を使用して新しいファイルを作成できます。
Shift キーを押しながらフォルダーを右クリックして、プロジェクト ディレクトリで PowerShell ウィンドウを開きます。
コマンド New-Item Translate.java を入力します。
IDE で、
Translate.java
という名前の新しいファイルを作成し、それをjava
ディレクトリに保存することもできます。
次のテキスト翻訳コード サンプルをコピーして、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) に戻ります。
build
コマンドを使用してアプリケーションをビルドします (BUILD SUCCESSFUL メッセージが表示されます)。gradle build
run
コマンドを使用してアプリケーションを実行します (BUILD SUCCESSFUL メッセージが表示されます)。gradle run
予想される出力のスニペットを次に示します。
Node.js 環境を設定する
このクイックスタートでは、Node.js JavaScript ランタイム環境を使用して、アプリケーションを作成して実行します。
最新バージョンの Node.js をまだインストールしていない場合はインストールします。 Node.js のインストールには、ノード パッケージ マネージャー (npm) が含まれます。
ヒント
Node.js を初めて使う場合は、「Node.js の概要」Learn モジュールを試してください。
コンソール ウィンドウ (cmd、PowerShell、Bash など) で、アプリ用の新しいディレクトリを
text-translation-app
という名前で作成し、そこに移動します。mkdir text-translation-app && cd text-translation-app
mkdir text-translation-app; cd text-translation-app
npm init コマンドを実行して、アプリケーションを初期化し、プロジェクトをスキャフォールディングします。
npm init
ターミナルに表示されるプロンプトを受け入れて、プロジェクトの属性を指定します。
- 最も重要な属性は、名前、バージョン番号、およびエントリ ポイントです。
- エントリ ポイント名は
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 を参照してください。
アプリ ディレクトリの
index.js
ファイルを作成します。ヒント
PowerShell を使用して新しいファイルを作成できます。
Shift キーを押しながらフォルダーを右クリックして、プロジェクト ディレクトリで PowerShell ウィンドウを開きます。
次のコマンド New-Item index.js を入力します。
IDE で、
index.js
という名前の新しいファイルを作成し、それをtext-translation-app
ディレクトリに保存することもできます。
次のテキスト翻訳コード サンプルをコピーして、
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 };
アプリケーションを実行する
アプリケーションにコード サンプルを追加したら、プログラムを実行します。
テキスト翻訳アプリケーションがあるフォルダー (text-translation-app) に移動します。
ご利用のターミナルで、次のコマンドを入力します。
node index.js
予想される出力のスニペットを次に示します。
Python プロジェクトを設定する
最新バージョンの Python 3.x をまだインストールしていない場合はインストールします。 Python のインストールには、Python インストーラー パッケージ (pip) が含まれます。
ヒント
Python を初めて使う場合は、「Python の概要」Learn モジュールを試してください。
ターミナル ウィンドウを開き、
pip
を使用して Python 用のAzure Text Translation
クライアント ライブラリをインストールします。pip install azure-ai-translation-text==1.0.0b1
アプリケーションをビルドする
クライアント ライブラリを使用して Translator サービスと連携するには、TextTranslationClient
クラスのインスタンスを作成する必要があります。 これを行うには、Azure portal で確認した key
を使用して TranslatorCredential
を作成し、TextTranslationClient
インスタンスを作成します。 詳細については、Translator Text SDK を参照してください。
任意のエディターまたは IDE で、text-translation-app.py という名前の新しい Python ファイルを作成します。
次のテキスト翻訳コード サンプルをコピーして、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
予想される出力のスニペットを次に示します。
以上です。お疲れさまでした。 このクイックスタートでは、テキスト翻訳 SDK を使用してテキストを翻訳しました。
次の手順
テキスト翻訳開発オプションの詳細については、以下を参照してください。