Bagikan melalui


Pustaka klien Azure TextTranslation REST untuk JavaScript - versi 1.0.0-beta.1

Terjemahan teks adalah fitur REST API berbasis cloud dari layanan Penerjemah yang menggunakan teknologi terjemahan mesin neural untuk mengaktifkan terjemahan teks sumber-ke-target yang cepat dan akurat secara real time di semua bahasa yang didukung.

Metode berikut didukung oleh fitur Terjemahan Teks:

Bahasa. Mengembalikan daftar bahasa yang didukung oleh operasi Terjemahan, Transliterasi, dan Pencarian Kamus.

Terjemahkan. Merender teks bahasa sumber tunggal ke beberapa teks bahasa target dengan satu permintaan.

Transliterasi. Mengonversi karakter atau huruf dari bahasa sumber ke karakter atau huruf yang sesuai dari bahasa target.

Deteksi. Mengembalikan kode bahasa kode sumber dan variabel boolean yang menunjukkan apakah bahasa yang terdeteksi didukung untuk terjemahan dan transliterasi teks.

Pencarian kamus. Mengembalikan kata-kata yang setara untuk istilah sumber dalam bahasa target.

Contoh kamus Mengembalikan struktur tata bahasa dan contoh konteks untuk istilah pasangan sumber dan istilah target.

Harap sangat bergantung pada dokumen klien REST kami untuk menggunakan pustaka ini

Tautan utama:

Memulai

Lingkungan yang didukung saat ini

  • Versi LTS dari Node.js
  • Versi terbaru Edge, Chrome, Safar, dan Firefox

Prasyarat

  • Layanan Penerjemah yang ada atau sumber daya Cognitive Services.

Pasang paket @azure-rest/ai-translation-text

Instal pustaka klien REST Terjemahan Teks Azure untuk JavaScript dengan npm:

npm install @azure-rest/ai-translation-text

Membuat sumber daya layanan Penerjemah

Anda dapat membuat sumber daya Penerjemah setelah Membuat sumber daya Penerjemah.

Dukungan browser

Bundel JavaScript

Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.

Mengautentikasi klien

Interaksi dengan layanan menggunakan pustaka klien dimulai dengan membuat instans kelas TextTranslationClient . Anda akan memerlukan kunci API atau TokenCredential untuk membuat instans objek klien. Untuk informasi selengkapnya tentang mengautentikasi dengan layanan kognitif, lihat Mengautentikasi permintaan ke Layanan Penerjemah.

Mendapatkan kunci API

Anda bisa mendapatkan endpoint, API key dan Region dari sumber daya Cognitive Services atau informasi sumber daya layanan Penerjemah di Portal Microsoft Azure.

Atau, gunakan cuplikan Azure CLI di bawah ini untuk mendapatkan kunci API dari sumber daya layanan Penerjemah.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

TextTranslationClient Membuat menggunakan kunci API dan kredensial Wilayah

Setelah Anda memiliki nilai untuk kunci API dan Wilayah, buat TranslatorCredential.

Dengan nilai, TranslatorCredential Anda dapat membuat TextTranslationClient:

const translateCedential = new TranslatorCredential(apiKey, region);
const translationClient = TextTranslationClient(endpoint, translateCedential);

Contoh

Bagian berikut menyediakan beberapa cuplikan kode menggunakan yang clientdibuat di atas, dan mencakup fitur utama yang ada di pustaka klien ini.

Dapatkan Bahasa yang Didukung

Mendapatkan sekumpulan bahasa yang saat ini didukung oleh operasi lain dari Penerjemah.

const langResponse = await translationClient.path("/languages").get();

if (isUnexpected(langResponse)) {
  throw langResponse.body;
}

const languages = langResponse.body;

if (languages.translation) {
  console.log("Translated languages:");
  for (const key in languages.translation) {
    const translationLanguage = languages.translation[key];
    console.log(`${key} -- name: ${translationLanguage.name} (${translationLanguage.nativeName})`);
  }
}

if (languages.transliteration) {
  console.log("Transliteration languages:");
  for (const key in languages.transliteration) {
    const transliterationLanguage = languages.transliteration[key];
    console.log(
      `${key} -- name: ${transliterationLanguage.name} (${transliterationLanguage.nativeName})`
    );
  }
}

if (languages.dictionary) {
  console.log("Dictionary languages:");
  for (const key in languages.dictionary) {
    const dictionaryLanguage = languages.dictionary[key];
    console.log(
      `${key} -- name: ${dictionaryLanguage.name} (${dictionaryLanguage.nativeName}), supported target languages count: ${dictionaryLanguage.translations.length}`
    );
  }
}

Silakan lihat dokumentasi layanan untuk diskusi konseptual bahasa.

Terjemahan

Merender teks bahasa sumber tunggal ke beberapa teks bahasa target dengan satu permintaan.

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

if (isUnexpected(translateResponse)) {
  throw translateResponse.body;
}

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}'.`
  );
}

Silakan lihat dokumentasi layanan untuk diskusi konseptual terjemahan.

Transliterasi

Mengonversi karakter atau huruf dari bahasa sumber ke karakter atau huruf yang sesuai dari bahasa target.

const inputText = [{ text: "这是个测试。" }];
const parameters = {
  language: "zh-Hans",
  fromScript: "Hans",
  toScript: "Latn",
};
const transliterateResponse = await translationClient.path("/transliterate").post({
  body: inputText,
  queryParameters: parameters,
});

if (isUnexpected(transliterateResponse)) {
  throw transliterateResponse.body;
}

const translations = transliterateResponse.body;
for (const transliteration of translations) {
  console.log(
    `Input text was transliterated to '${transliteration?.script}' script. Transliterated text: '${transliteration?.text}'.`
  );
}

Silakan merujuk ke dokumentasi layanan untuk diskusi konseptual transliterasi.

Pecahkan Kalimat

Mengidentifikasi posisi batas kalimat dalam sepotong teks.

const inputText = [{ text: "zhè shì gè cè shì。" }];
const parameters = {
  language: "zh-Hans",
  script: "Latn",
};
const breakSentenceResponse = await translationClient.path("/breaksentence").post({
  body: inputText,
  queryParameters: parameters,
});

if (isUnexpected(breakSentenceResponse)) {
  throw breakSentenceResponse.body;
}

const breakSentences = breakSentenceResponse.body;
for (const breakSentence of breakSentences) {
  console.log(`The detected sentece boundaries: '${breakSentence?.sentLen.join(", ")}'.`);
}

Silakan merujuk ke dokumentasi layanan untuk diskusi konseptual kalimat putus.

Pencarian Kamus

Mengembalikan kata-kata yang setara untuk istilah sumber dalam bahasa target.

const inputText = [{ text: "fly" }];
const parameters = {
  to: "es",
  from: "en",
};
const dictionaryResponse = await translationClient.path("/dictionary/lookup").post({
  body: inputText,
  queryParameters: parameters,
});

if (isUnexpected(dictionaryResponse)) {
  throw dictionaryResponse.body;
}

const dictionaryEntries = dictionaryResponse.body;
for (const dictionaryEntry of dictionaryEntries) {
  console.log(
    `For the given input ${dictionaryEntry?.translations?.length} entries were found in the dictionary.`
  );
  console.log(
    `First entry: '${dictionaryEntry?.translations[0]?.displayTarget}', confidence: ${dictionaryEntry?.translations[0]?.confidence}.`
  );
}

Silakan lihat dokumentasi layanan untuk diskusi konseptual pencarian kamus.

Contoh Kamus

Mengembalikan struktur tata bahasa dan contoh konteks untuk istilah sumber dan pasangan istilah target.

const inputText = [{ text: "fly", translation: "volar" }];
const parameters = {
  to: "es",
  from: "en",
};
const dictionaryResponse = await translationClient.path("/dictionary/examples").post({
  body: inputText,
  queryParameters: parameters,
});

if (isUnexpected(dictionaryResponse)) {
  throw dictionaryResponse.body;
}

const dictionaryExamples = dictionaryResponse.body;
for (const dictionaryExample of dictionaryExamples) {
  console.log(
    `For the given input ${dictionaryExample?.examples?.length} examples were found in the dictionary.`
  );
  const firstExample = dictionaryExample?.examples[0];
  console.log(
    `Example: '${firstExample.targetPrefix + firstExample.targetTerm + firstExample.targetSuffix}'.`
  );
}

Silakan lihat dokumentasi layanan untuk diskusi konseptual contoh kamus.

Pemecahan Masalah

Saat Anda berinteraksi dengan Layanan Penerjemah menggunakan pustaka klien TextTranslator, kesalahan yang dikembalikan oleh layanan Penerjemah sesuai dengan kode status HTTP yang sama yang dikembalikan untuk permintaan REST API.

Misalnya, jika Anda mengirimkan permintaan terjemahan tanpa bahasa terjemahan target, kesalahan 400 dikembalikan, yang menunjukkan "Permintaan Buruk".

Anda dapat menemukan berbagai kode kesalahan yang dikembalikan oleh layanan dalam Dokumentasi Layanan.

Pencatatan

Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Untuk instruksi lebih rinci tentang cara mengaktifkan log, Anda dapat melihat dokumen paket @azure/pencatat.