Skip to main content Skills Marketplace Discover and explore AI skills built by the community.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Copy promptShow prompt details A direct command skips the review prompt. Inspect the source before running it.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-ai-translation-tsThe command stays on one line. Scroll horizontally to inspect it before copying.
Prefer a local copy? Download the files currently available to SkillsMP.
Download Zip Downloading... More from this repository Related occupations SOC
Based on SOC occupation classification
name azure-ai-translation-ts description Text and document translation with REST-style clients. type skill created 2026-02-27T00:00:00.000Z domain ai-ml category nlp risk unknown source community tags ["skill","ai-ml","nlp","azure","translation"]
Azure Translation SDKs for TypeScript
Text and document translation with REST-style clients.
Installation
npm install @azure-rest/ai-translation-text @azure/identity
npm install @azure-rest/ai-translation-document @azure/identity
Environment Variables
TRANSLATOR_ENDPOINT=https://api.cognitive.microsofttranslator.com
TRANSLATOR_SUBSCRIPTION_KEY=<your-api-key>
TRANSLATOR_REGION=<your-region>
Text Translation Client
Authentication
import TextTranslationClient , { TranslatorCredential } from "@azure-rest/ai-translation-text" ;
const credential : TranslatorCredential = {
key : process.env .TRANSLATOR_SUBSCRIPTION_KEY !,
region : process.env .TRANSLATOR_REGION !,
};
const client = TextTranslationClient (process.env .TRANSLATOR_ENDPOINT !, credential);
const client2 = TextTranslationClient (credential);
Translate Text
import TextTranslationClient , { isUnexpected } from "@azure-rest/ai-translation-text" ;
const response = await client.path ("/translate" ).post ({
body : {
: [
{
: ,
: ,
: [
{ : },
{ : },
],
},
],
},
});
( (response)) {
response. . ;
}
( result response. . ) {
( translation result. ) {
. ( );
}
}
inputs
text
"Hello, how are you?"
language
"en"
targets
language
"es"
language
"fr"
if
isUnexpected
throw
body
error
for
const
of
body
value
for
const
of
translations
console
log
`${translation.language} : ${translation.text} `
Translate with Options const response = await client.path ("/translate" ).post ({
body : {
inputs : [
{
text : "Hello world" ,
language : "en" ,
textType : "Plain" ,
targets : [
{
language : "de" ,
profanityAction : "NoAction" ,
tone : "formal" ,
},
],
},
],
},
});
Get Supported Languages const response = await client.path ("/languages" ).get ();
if (isUnexpected (response)) {
throw response.body .error ;
}
for (const [code, lang] of Object .entries (response.body .translation || {})) {
console .log (`${code} : ${lang.name} (${lang.nativeName} )` );
}
Transliterate const response = await client.path ("/transliterate" ).post ({
body : { inputs : [{ text : "这是个测试" }] },
queryParameters : {
language : "zh-Hans" ,
fromScript : "Hans" ,
toScript : "Latn" ,
},
});
if (!isUnexpected (response)) {
for (const t of response.body .value ) {
console .log (`${t.script} : ${t.text} ` );
}
}
Detect Language const response = await client.path ("/detect" ).post ({
body : { inputs : [{ text : "Bonjour le monde" }] },
});
if (!isUnexpected (response)) {
for (const result of response.body .value ) {
console .log (`Language: ${result.language} , Score: ${result.score} ` );
}
}
Document Translation Client
Authentication import DocumentTranslationClient from "@azure-rest/ai-translation-document" ;
import { DefaultAzureCredential } from "@azure/identity" ;
const endpoint = "https://<translator>.cognitiveservices.azure.com" ;
const client = DocumentTranslationClient (endpoint, new DefaultAzureCredential ());
const client2 = DocumentTranslationClient (endpoint, { key : "<api-key>" });
Single Document Translation import DocumentTranslationClient from "@azure-rest/ai-translation-document" ;
import { writeFile } from "node:fs/promises" ;
const response = await client.path ("/document:translate" ).post ({
queryParameters : {
targetLanguage : "es" ,
sourceLanguage : "en" ,
},
contentType : "multipart/form-data" ,
body : [
{
name : "document" ,
body : "Hello, this is a test document." ,
filename : "test.txt" ,
contentType : "text/plain" ,
},
],
}).asNodeStream ();
if (response.status === "200" ) {
await writeFile ("translated.txt" , response.body );
}
Batch Document Translation import { ContainerSASPermissions , BlobServiceClient } from "@azure/storage-blob" ;
const sourceSas = await sourceContainer.generateSasUrl ({
permissions : ContainerSASPermissions .parse ("rl" ),
expiresOn : new Date (Date .now () + 24 * 60 * 60 * 1000 ),
});
const targetSas = await targetContainer.generateSasUrl ({
permissions : ContainerSASPermissions .parse ("rwl" ),
expiresOn : new Date (Date .now () + 24 * 60 * 60 * 1000 ),
});
const response = await client.path ("/document/batches" ).post ({
body : {
inputs : [
{
source : { sourceUrl : sourceSas },
targets : [
{ targetUrl : targetSas, language : "fr" },
],
},
],
},
});
const operationId = new URL (response.headers ["operation-location" ])
.pathname .split ("/" ).pop ();
Get Translation Status import { isUnexpected, paginate } from "@azure-rest/ai-translation-document" ;
const statusResponse = await client.path ("/document/batches/{id}" , operationId).get ();
if (!isUnexpected (statusResponse)) {
const status = statusResponse.body ;
console .log (`Status: ${status.status} ` );
console .log (`Total: ${status.summary.total} ` );
console .log (`Success: ${status.summary.success} ` );
}
const docsResponse = await client.path ("/document/batches/{id}/documents" , operationId).get ();
const documents = paginate (client, docsResponse);
for await (const doc of documents) {
console .log (`${doc.id} : ${doc.status} ` );
}
Get Supported Formats const response = await client.path ("/document/formats" ).get ();
if (!isUnexpected (response)) {
for (const format of response.body .value ) {
console .log (`${format.format} : ${format.fileExtensions.join(", " )} ` );
}
}
Key Types
import type {
TranslatorCredential ,
TranslatorTokenCredential ,
} from "@azure-rest/ai-translation-text" ;
import type {
DocumentTranslateParameters ,
StartTranslationDetails ,
TranslationStatus ,
} from "@azure-rest/ai-translation-document" ;
Best Practices
Auto-detect source - Omit language parameter to auto-detect
Batch requests - Translate multiple texts in one call for efficiency
Use SAS tokens - For document translation, use time-limited SAS URLs
Handle errors - Always check isUnexpected(response) before accessing body
Regional endpoints - Use regional endpoints for lower latency
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[KI & Machine Learning]]
Kategorie: [[Sprachverarbeitung (NLP)]]
Navigation: [[Skills Uebersicht]], [[Home]]