Aracılığıyla paylaş


JavaScript için Azure TextTranslation REST istemci kitaplığı - sürüm 1.0.1

Metin çevirisi, Translator hizmetinin, desteklenen tüm dillerde gerçek zamanlı olarak hızlı ve doğru kaynak-hedef metin çevirisi sağlamak için nöral makine çevirisi teknolojisini kullanan bulut tabanlı bir REST API özelliğidir.

Aşağıdaki yöntemler Metin Çevirisi özelliği tarafından desteklenir:

Diller. Translate, Transliterate ve Dictionary Lookup işlemleri tarafından desteklenen dillerin listesini döndürür.

Çevir. Tek bir istekle tek bir kaynak dil metnini birden çok hedef dil metnine işler.

Çeviri yapın. Kaynak dilin karakterlerini veya harflerini hedef dilin karşılık gelen karakterlerine veya harflerine dönüştürür.

Algılamak. Algılanan dilin metin çevirisi ve çeviri için desteklenip desteklenmediğini belirten kaynak kodu dil kodunu ve boole değişkenini döndürür.

Sözlük araması. Hedef dildeki kaynak terim için eşdeğer sözcükler döndürür.

Sözlük örneği Kaynak terim ve hedef terim çifti için dil bilgisi yapısı ve bağlam örnekleri döndürür.

Bu kitaplığı kullanmak için REST istemci belgelerimize

Önemli bağlantılar:

Başlarken

Şu anda desteklenen ortamlar

  • Node.js LTS sürümleri
  • Edge, Chrome, Safar ve Firefox'un en son sürümleri

Önkoşullar

  • Mevcut translator hizmeti veya Bilişsel Hizmetler kaynağı.

@azure-rest/ai-translation-text paketini yükleme

npmile JavaScript için Azure Metin Çevirisi REST istemci kitaplığını yükleyin:

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

Translator hizmet kaynağı oluşturma

Translator kaynağı oluşturma ardından Translator kaynağı oluşturabilirsiniz.

Tarayıcı desteği

JavaScript Paketi

Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen paketleme belgelerimize bakın.

İstemcinin kimliğini doğrulama

İstemci kitaplığını kullanarak hizmetle etkileşim, TextTranslationClient sınıfının bir örneğini oluşturmakla başlar. İstemci nesnesinin örneğini oluşturmak için API anahtarı veya TokenCredential gerekir. Bilişsel hizmetlerle kimlik doğrulaması hakkında daha fazla bilgi için bkz. Translator Serviceisteklerinde kimlik doğrulaması yapma.

API anahtarı alma

endpoint, API key ve Region Bilişsel Hizmetler kaynağından veya Azure PortalTranslator hizmeti kaynak bilgilerinden alabilirsiniz.

Alternatif olarak, Translator hizmet kaynağından API anahtarını almak için aşağıdaki azure CLI parçacığını kullanın.

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

API anahtarı ve Bölge kimlik bilgilerini kullanarak TextTranslationClient oluşturma

API anahtarı ve Bölge değerini aldıktan sonra bir TranslatorCredentialoluşturun.

TranslatorCredential değeriyle TextTranslationClientoluşturabilirsiniz:

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

Örnekler

Aşağıdaki bölüm,yukarıda oluşturulan clientkullanarak çeşitli kod parçacıkları sağlar ve bu istemci kitaplığında bulunan ana özellikleri kapsar.

Desteklenen Dilleri Alma

Translator'ın diğer işlemleri tarafından desteklenen dil kümesini alır.

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

dillerin kavramsal bir tartışması için lütfen hizmet belgelerine bakın.

Çevir

Tek bir istekle tek bir kaynak dil metnini birden çok hedef dil metnine işler.

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

çevirisikavramsal bir tartışma için lütfen hizmet belgelerine bakın.

Transliterate

Kaynak dilin karakterlerini veya harflerini hedef dilin karşılık gelen karakterlerine veya harflerine dönüştürür.

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

transliteratekavramsal bir tartışma için lütfen hizmet belgelerine bakın.

Tümceyi Kes

Bir metin parçasındaki cümle sınırlarının konumunu belirler.

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

kesme cümlesikavramsal bir tartışma için lütfen hizmet belgelerine bakın.

Sözlük Arama

Hedef dildeki kaynak terim için eşdeğer sözcükler döndürür.

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

sözlük aramakavramsal bir tartışma için lütfen hizmet belgelerine bakın.

Sözlük Örnekleri

Kaynak terim ve hedef terim çifti için dil bilgisi yapısı ve bağlam örnekleri döndürür.

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

sözlük örneklerinin kavramsal bir tartışması için lütfen hizmet belgelerine bakın.

Sorun giderme

TextTranslator istemci kitaplığını kullanarak Translator Hizmeti ile etkileşime geçtiğiniz zaman, Translator hizmeti tarafından döndürülen hatalar REST API istekleri için döndürülen HTTP durum kodlarıyla aynısına karşılık gelir.

Örneğin, hedef çeviri dili olmadan bir çeviri isteği gönderirseniz, "Hatalı İstek" belirten bir 400 hatası döndürülür.

Hizmet tarafından döndürülen farklı hata kodlarını Hizmet Belgeleribulabilirsiniz.

Günlük tutmak

Günlüğe kaydetmeyi etkinleştirmek, hatalarla ilgili yararlı bilgilerin ortaya çıkmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için AZURE_LOG_LEVEL ortam değişkenini infoolarak ayarlayın. Alternatif olarak, @azure/loggersetLogLevel çağrılarak günlükler çalışma zamanında etkinleştirilebilir:

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

setLogLevel("info");

Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.