Попробуйте последнюю версию Azure AI Translator. В этом кратком руководстве по началу работы со службой Переводчика для перевода текста с помощью выбранного языка программирования или REST API. Для этого проекта рекомендуется использовать бесплатную ценовую категорию (F0), при обучении технологии и последующем обновлении до платного уровня для рабочей среды.
Основное назначение службы "Переводчик" — перевод текста. В этом кратком руководстве вы создадите запрос с помощью выбранного языка программирования, который принимает один источник (from
) и предоставляет два выходных данных (to
). Затем мы рассмотрим некоторые параметры, которые можно использовать для настройки запроса и ответа.
Подробные сведения об ограничениях запросов службы Azure AI Translator см. в разделе "Ограничения запросов на перевод текста".
Настройка проекта Visual Studio
Убедитесь, что у вас установлена текущая версия IDE Visual Studio.
Откройте Visual Studio.
На начальной странице выберите Создать проект.
На странице Создание проекта введите в поле поиска консоль. Выберите шаблон Консольное приложение, затем нажмите кнопку Далее.
В окне Настроить новый проект введите в поле "Имя проекта" значение translator_quickstart
. Снимите флажок "Разместить решение и проект в одном каталоге" и щелкните Далее.
Убедитесь, что в диалоговом окне Дополнительные сведения выбран вариант .NET 6.0 (долгосрочная поддержка). Снимите флажок "Не использовать операторы верхнего уровня" и щелкните Создать.
Установка пакета Newtonsoft.json с использованием NuGet
Щелкните правой кнопкой мыши проект translator_quickstart и выберите Управление пакетами NuGet.
Перейдите на вкладку "Обзор" и введите Newtonsoft.json.
Чтобы добавить пакет в проект, выберите установку в правом окне диспетчера пакетов.
Создание приложения C#
Примечание.
- Начиная с .NET 6, в новых проектах, где используется шаблон
console
, создается новый стиль программы, отличный от предыдущих версий.
- В новых выходных данных используются последние функции C#, упрощающие код, который необходимо написать.
- При использовании более новой версии необходимо только написать текст метода
Main
. Вам не нужно включать инструкции верхнего уровня, глобальные директивы using или неявные директивы using.
- Дополнительные сведения см. в статье "Создание шаблонов C#" для создания инструкций верхнего уровня.
Откройте файл Program.cs.
Удалите существующий код, включая строку Console.WriteLine("Hello World!")
. Скопируйте пример кода и вставьте его в файл приложения Program.cs. Обязательно обновите переменную ключа, указав значение из экземпляра Переводчика на портале Azure:
using System.Text;
using Newtonsoft.Json;
class Program
{
private static readonly string key = "<your-translator-key>";
private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com";
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
private static readonly string location = "<YOUR-RESOURCE-LOCATION>";
static async Task Main(string[] args)
{
// Input and output languages are defined as parameters.
string route = "/translate?api-version=3.0&from=en&to=fr&to=zu";
string textToTranslate = "I would really like to drive your car around the block a few times!";
object[] body = new object[] { new { Text = textToTranslate } };
var requestBody = JsonConvert.SerializeObject(body);
using (var client = new HttpClient())
using (var request = new HttpRequestMessage())
{
// Build the request.
request.Method = HttpMethod.Post;
request.RequestUri = new Uri(endpoint + route);
request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
request.Headers.Add("Ocp-Apim-Subscription-Key", key);
// location required if you're using a multi-service or regional (not global) resource.
request.Headers.Add("Ocp-Apim-Subscription-Region", location);
// Send the request and get response.
HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
// Read response as a string.
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
Запуск приложения C#
После добавления примера кода в приложение нажмите зеленую кнопку запуска рядом с formRecognizer_quickstart, чтобы создать и запустить программу, или нажмите клавишу F5.
Выходные данные перевода:
После успешного вызова появится следующий ответ:
[
{
"detectedLanguage": {
"language": "en",
"score": 1.0
},
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Настройка среды Go
Для создания кода приложений Go можно использовать любой текстовый редактор. Мы рекомендуем использовать последнюю версию расширения Visual Studio Code и Go.
Совет
Если вы не работали с Go, ознакомьтесь с модулем Начало работы с Go в Microsoft Learn.
Убедитесь, что установлена последняя версия Go :
Go
Скачайте версию языка программирования для операционной системы.
Когда скачивание завершится, запустите установщик.
Откройте командную строку и введите следующую команду, чтобы подтвердить установку Go:
go version
Создание приложения Go
В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения с именем translator-app и перейдите в него.
Создайте файл Go с именем translation.go из каталога translator-app.
Скопируйте и вставьте предоставленный пример кода в файл translation.go. Обязательно обновите переменную ключа, указав значение из экземпляра Переводчика на портале Azure:
package main
import (
"bytes"
"encoding/json"
"fmt"
"log"
"net/http"
"net/url"
)
func main() {
key := "<YOUR-TRANSLATOR-KEY>"
endpoint := "https://api.cognitive.microsofttranslator.com/"
uri := endpoint + "/translate?api-version=3.0"
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
location := "<YOUR-RESOURCE-LOCATION>"
// Build the request URL. See: https://go.dev/pkg/net/url/#example_URL_Parse
u, _ := url.Parse(uri)
q := u.Query()
q.Add("from", "en")
q.Add("to", "fr")
q.Add("to", "zu")
u.RawQuery = q.Encode()
// Create an anonymous struct for your request body and encode it to JSON
body := []struct {
Text string
}{
{Text: "I would really like to drive your car around the block a few times."},
}
b, _ := json.Marshal(body)
// Build the HTTP POST request
req, err := http.NewRequest("POST", u.String(), bytes.NewBuffer(b))
if err != nil {
log.Fatal(err)
}
// Add required headers to the request
req.Header.Add("Ocp-Apim-Subscription-Key", key)
// location required if you're using a multi-service or regional (not global) resource.
req.Header.Add("Ocp-Apim-Subscription-Region", location)
req.Header.Add("Content-Type", "application/json")
// Call the Translator API
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
// Decode the JSON response
var result interface{}
if err := json.NewDecoder(res.Body).Decode(&result); err != nil {
log.Fatal(err)
}
// Format and print the response to terminal
prettyJSON, _ := json.MarshalIndent(result, "", " ")
fmt.Printf("%s\n", prettyJSON)
}
Запуск приложения Go
После добавления примера кода в приложение программа Go может выполняться в командной строке или строке терминала. Убедитесь, что для запроса задан путь к папке translator-app и используйте следующую команду:
go run translation.go
Выходные данные перевода:
После успешного вызова появится следующий ответ:
[
{
"detectedLanguage": {
"language": "en",
"score": 1.0
},
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Настройка среды Java
У вас должна быть установлена последняя версия Visual Studio Code или предпочтительная интегрированная среда разработки. См. Java в Visual Studio Code.
Совет
- Visual Studio Code предлагает Пакет кодировки для Java для Windows и macOS. Пакет кодировки — это набор VS Code, комплект SDK для Java (JDK) и набор рекомендуемых расширений Microsoft. Пакет кодировки можно также использовать для исправления существующей среды разработки.
- Если вы используете VS Code и Пакет кодировки для Java, установите расширение Gradle для Java.
Если вы не используете Visual Studio Code, убедитесь, что в среде разработки установлено следующее:
Создание проекта Gradle
В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения с именем translator-text-app и перейдите в него.
mkdir translator-text-app && translator-text-app
mkdir translator-text-app; cd translator-text-app
Выполните команду gradle init
из каталога translator-text-app. Эта команда создает основные файлы сборки для Gradle, включая build.gradle.kts, который используется во время выполнения для создания и настройки приложения.
gradle init --type basic
Когда появится запрос на выбор предметно-ориентированного языка, выберите Kotlin.
Примите имя проекта по умолчанию (translator-text-app), нажав клавишу RETURN или ВВОД.
Обновите build.gradle.kts
, включив в него следующий код.
plugins {
java
application
}
application {
mainClass.set("TranslatorText")
}
repositories {
mavenCentral()
}
dependencies {
implementation("com.squareup.okhttp3:okhttp:4.10.0")
implementation("com.google.code.gson:gson:2.9.0")
}
Создание приложения Java
В каталоге translator-text-app выполните следующую команду:
mkdir -p src/main/java
Вы создадите следующую структуру каталогов:
Перейдите в каталог java
и создайте файл с именем TranslatorText.java
.
Совет
Вы можете создать новый файл с помощью PowerShell.
Откройте окно PowerShell в каталоге проекта, удерживая клавишу Shift и нажав правой кнопкой мыши на папку.
Введите команду New-Item TranslatorText.java.
Кроме того, вы можете создать новый файл в IDE с именем TranslatorText.java
и сохранить его в каталоге java
.
Откройте файл TranslatorText.java
в своей IDE. Затем скопируйте и вставьте в приложение следующий пример кода. Обязательно обновите ключ, указав одно из значений ключей из экземпляра Переводчика на портале Azure:
import java.io.IOException;
import com.google.gson.*;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class TranslatorText {
private static String key = "<your-translator-key";
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
private static String location = "<YOUR-RESOURCE-LOCATION>";
// Instantiates the OkHttpClient.
OkHttpClient client = new OkHttpClient();
// This function performs a POST request.
public String Post() throws IOException {
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType,
"[{\"Text\": \"I would really like to drive your car around the block a few times!\"}]");
Request request = new Request.Builder()
.url("https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr&to=zu")
.post(body)
.addHeader("Ocp-Apim-Subscription-Key", key)
// location required if you're using a multi-service or regional (not global) resource.
.addHeader("Ocp-Apim-Subscription-Region", location)
.addHeader("Content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
// This function prettifies the json response.
public static String prettify(String json_text) {
JsonParser parser = new JsonParser();
JsonElement json = parser.parse(json_text);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
return gson.toJson(json);
}
public static void main(String[] args) {
try {
TranslatorText translateRequest = new TranslatorText();
String response = translateRequest.Post();
System.out.println(prettify(response));
} catch (Exception e) {
System.out.println(e);
}
}
}
Создание и тестирование приложения Java
После добавления примера кода в приложение вернитесь в основной каталог проекта — переводчик-текстовое приложение, откройте окно консоли и введите следующие команды:
Выполните сборку приложения с помощью команды build
:
gradle build
Запустите приложение с помощью команды run
:
gradle run
Выходные данные перевода:
После успешного вызова появится следующий ответ:
[
{
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Создание проекта Node.js Express
Убедитесь, что установлена последняя версия Node.js . Диспетчер пакетов Node (npm) предоставляется в каждой установке Node.js.
Совет
Если вы не работали с Node.js, ознакомьтесь с модулем Введение в Node.js в Microsoft Learn.
В окне консоли (например, cmd, PowerShell или Bash) создайте для приложения новый каталог с именем translator-app
и перейдите в него.
mkdir translator-app && cd translator-app
mkdir translator-app; cd translator-app
Выполните команду npm init, чтобы инициализировать приложение и сформировать шаблон проекта.
npm init
Укажите атрибуты проекта с помощью запросов, представленных в терминале.
- Наиболее важными атрибутами являются имя, номер версии и точка входа.
- Рекомендуется хранить
index.js
для имени точки входа. Описание, команда тестирования, репозиторий GitHub, ключевые слова, автор и данные лицензии являются необязательными атрибутами: их можно пропустить для этого проекта.
- Примите предложения в круглых скобках с помощью кнопок Назад или Ввод.
- После завершения запроса
package.json
файл будет создан в каталоге переводчика-приложения.
Откройте окно консоли и используйте npm для установки библиотеки HTTP axios
и пакета uuid
:
npm install axios uuid
В каталоге приложения создайте файл index.js
.
Совет
Вы можете создать новый файл с помощью PowerShell.
Откройте окно PowerShell в каталоге проекта, удерживая клавишу Shift и нажав правой кнопкой мыши на папку.
Введите следующую команду: New-Item index.js.
Вы также можете создать новый файл в IDE с именем index.js
и сохранить его в каталоге translator-app
.
Создание приложения JavaScript
Добавьте следующий пример кода в файл index.js
. Обязательно обновите переменную ключа, указав значение из экземпляра Переводчика на портале Azure:
const axios = require('axios').default;
const { v4: uuidv4 } = require('uuid');
let key = "<your-translator-key>";
let endpoint = "https://api.cognitive.microsofttranslator.com";
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
let location = "<YOUR-RESOURCE-LOCATION>";
axios({
baseURL: endpoint,
url: '/translate',
method: 'post',
headers: {
'Ocp-Apim-Subscription-Key': key,
// location required if you're using a multi-service or regional (not global) resource.
'Ocp-Apim-Subscription-Region': location,
'Content-type': 'application/json',
'X-ClientTraceId': uuidv4().toString()
},
params: {
'api-version': '3.0',
'from': 'en',
'to': 'fr,zu'
},
data: [{
'text': 'I would really like to drive your car around the block a few times!'
}],
responseType: 'json'
}).then(function(response){
console.log(JSON.stringify(response.data, null, 4));
})
Запуск приложения JavaScript
После добавления примера кода в приложение запустите программу:
Перейдите в каталог приложения (translator-app).
В окне терминала введите следующую команду:
node index.js
Выходные данные перевода:
После успешного вызова появится следующий ответ:
[
{
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Создание проекта Python
Убедитесь, что установлена последняя версия Python 3.x . Пакет установщика Python (pip) включен в установку Python.
Совет
Если вы не работали с Python, ознакомьтесь с модулем Введение в Python в Microsoft Learn.
Откройте окно терминала и используйте pip для установки библиотеки Requests и пакета uuid0:
pip install requests uuid
Примечание.
Кроме того, мы будем использовать встроенный пакет Python с именем json. Он используется для работы с данными JSON.
Создание приложения Python
Создайте новый файл Python с именем translator-app.py в предпочитаемом редакторе или IDE.
Добавьте следующий пример кода в файл translator-app.py
. Обязательно обновите ключ, указав одно из значений из экземпляра Переводчика на портале Azure.
import requests, uuid, json
# Add your key and endpoint
key = "<your-translator-key>"
endpoint = "https://api.cognitive.microsofttranslator.com"
# location, also known as region.
# required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
location = "<YOUR-RESOURCE-LOCATION>"
path = '/translate'
constructed_url = endpoint + path
params = {
'api-version': '3.0',
'from': 'en',
'to': ['fr', 'zu']
}
headers = {
'Ocp-Apim-Subscription-Key': key,
# location required if you're using a multi-service or regional (not global) resource.
'Ocp-Apim-Subscription-Region': location,
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
# You can pass more than one object in body.
body = [{
'text': 'I would really like to drive your car around the block a few times!'
}]
request = requests.post(constructed_url, params=params, headers=headers, json=body)
response = request.json()
print(json.dumps(response, sort_keys=True, ensure_ascii=False, indent=4, separators=(',', ': ')))
Запуск приложения Python
После добавления примера кода в приложение создайте и запустите программу:
Перейдите к файлу translator-app.py.
Введите следующую команду в консоли:
python translator-app.py
Выходные данные перевода:
После успешного вызова появится следующий ответ:
[
{
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Готово, поздравляем! Вы только что узнали, как использовать службу переводчика для перевода текста.
Ознакомьтесь с нашей документацией и более подробными сведениями о возможностях службы перевода: