跳到正文
cccskills
免费在 GitHub 公开

azure-ai-translation-document-py

Helps build Python workflows for translating Word, PDF, Excel, PowerPoint, and other documents while preserving formatting. Covers Azure batch translation, multiple target languages, terminology glossaries, and checks for job progress and document errors.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Azure AI Document Translation SDK for batch translation of documents with format preservation. Use for translating Word, PDF, Excel, PowerPoint, and other document formats at scale.

实测评分 未实测

查看安装方法

适用场景

  • Translating batches of documents while preserving formatting
  • Translating documents into multiple languages
  • Applying a glossary for specialized terminology
  • Checking translation progress and document errors

包含的文件(1)

  • SKILL.md7.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Azure AI Document Translation SDK for Python

Client library for Azure AI Translator document translation service for batch document translation with format preservation.

Installation

pip install azure-ai-translation-document

Environment Variables

AZURE_DOCUMENT_TRANSLATION_ENDPOINT=https://<resource>.cognitiveservices.azure.com
AZURE_DOCUMENT_TRANSLATION_KEY=<your-api-key>  # If using API key

# Storage for source and target documents
AZURE_SOURCE_CONTAINER_URL=https://<storage>.blob.core.windows.net/<container>?<sas>
AZURE_TARGET_CONTAINER_URL=https://<storage>.blob.core.windows.net/<container>?<sas>

Authentication

API Key

import os
from azure.ai.translation.document import DocumentTranslationClient
from azure.core.credentials import AzureKeyCredential

endpoint = os.environ["AZURE_DOCUMENT_TRANSLATION_ENDPOINT"]
key = os.environ["AZURE_DOCUMENT_TRANSLATION_KEY"]

client = DocumentTranslationClient(endpoint, AzureKeyCredential(key))

Entra ID (Recommended)

from azure.ai.translation.document import DocumentTranslationClient
from azure.identity import DefaultAzureCredential

client = DocumentTranslationClient(
    endpoint=os.environ["AZURE_DOCUMENT_TRANSLATION_ENDPOINT"],
    credential=DefaultAzureCredential()
)

Disclosure and cost boundary

Translation sends documents to Azure and writes output to the selected containers. Confirm authorized document subset, destination, region, retention and budget. Keep SAS URLs out of logs, use short-lived least-privilege access and handle each document’s failure separately; overall job completion does not imply all documents succeeded. SDK/single-document methods and language/format support are version-dependent: inspect current package docs before running fragments.

Basic Document Translation

from azure.ai.translation.document import DocumentTranslationInput, TranslationTarget

source_url = os.environ["AZURE_SOURCE_CONTAINER_URL"]
target_url = os.environ["AZURE_TARGET_CONTAINER_URL"]

# Start translation job
poller = client.begin_translation(
    inputs=[
        DocumentTranslationInput(
            source_url=source_url,
            targets=[
                TranslationTarget(
                    target_url=target_url,
                    language="es"  # Translate to Spanish
                )
            ]
        )
    ]
)

# Wait for completion
result = poller.result()

print(f"Status: {poller.status()}")
print(f"Documents translated: {poller.details.documents_succeeded_count}")
print(f"Documents failed: {poller.details.documents_failed_count}")

Multiple Target Languages

poller = client.begin_translation(
    inputs=[
        DocumentTranslationInput(
            source_url=source_url,
            targets=[
                TranslationTarget(target_url=target_url_es, language="es"),
                TranslationTarget(target_url=target_url_fr, language="fr"),
                TranslationTarget(target_url=target_url_de, language="de")
            ]
        )
    ]
)

Translate Single Document

from azure.ai.translation.document import SingleDocumentTranslationClient

single_client = SingleDocumentTranslationClient(endpoint, AzureKeyCredential(key))

with open("document.docx", "rb") as f:
    document_content = f.read()

result = single_client.translate(
    body=document_content,
    target_language="es",
    content_type="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
)

# Save translated document
with open("document_es.docx", "wb") as f:
    f.write(result)

Check Translation Status

# Get all translation operations
operations = client.list_translation_statuses()

for op in operations:
    print(f"Operation ID: {op.id}")
    print(f"Status: {op.status}")
    print(f"Created: {op.created_on}")
    print(f"Total documents: {op.documents_total_count}")
    print(f"Succeeded: {op.documents_succeeded_count}")
    print(f"Failed: {op.documents_failed_count}")

List Document Statuses

# Get status of individual documents in a job
operation_id = poller.id
document_statuses = client.list_document_statuses(operation_id)

for doc in document_statuses:
    print(f"Document ID: {doc.id}")  # Avoid logging SAS-bearing source URLs.
    print(f"  Status: {doc.status}")
    print(f"  Translated to: {doc.translated_to}")
    if doc.error:
        print(f"  Error: {doc.error.message}")

Cancel Translation

# Cancel a running translation
client.cancel_translation(operation_id)

Using Glossary

from azure.ai.translation.document import TranslationGlossary

poller = client.begin_translation(
    inputs=[
        DocumentTranslationInput(
            source_url=source_url,
            targets=[
                TranslationTarget(
                    target_url=target_url,
                    language="es",
                    glossaries=[
                        TranslationGlossary(
                            glossary_url="https://<storage>.blob.core.windows.net/glossary/terms.csv?<sas>",
                            file_format="csv"
                        )
                    ]
                )
            ]
        )
    ]
)

Supported Document Formats

# Get supported formats
formats = client.get_supported_document_formats()

for fmt in formats:
    print(f"Format: {fmt.format}")
    print(f"  Extensions: {fmt.file_extensions}")
    print(f"  Content types: {fmt.content_types}")

Supported Languages

# Get supported languages
languages = client.get_supported_languages()

for lang in languages:
    print(f"Language: {lang.name} ({lang.code})")

Async Client

from azure.ai.translation.document.aio import DocumentTranslationClient
from azure.identity.aio import DefaultAzureCredential

async def translate_documents():
    async with DocumentTranslationClient(
        endpoint=endpoint,
        credential=DefaultAzureCredential()
    ) as client:
        poller = await client.begin_translation(inputs=[...])
        result = await poller.result()

Supported Formats

CategoryFormats
DocumentsDOCX, PDF, PPTX, XLSX, HTML, TXT, RTF
StructuredCSV, TSV, JSON, XML
LocalizationXLIFF, XLF, MHTML

Storage Requirements

  • Source and target containers must be Azure Blob Storage
  • Use SAS tokens with appropriate permissions:
    • Source: Read, List
    • Target: Write, List

Best Practices

  1. Use SAS tokens with minimal required permissions
  2. Monitor long-running operations with poller.status()
  3. Handle document-level errors by iterating document statuses
  4. Use glossaries for domain-specific terminology
  5. Separate target containers for each language
  6. Use async client for multiple concurrent jobs
  7. Check supported formats before submitting documents

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

00-andruia-consultant

免费有简介

通过检查代码、目标和限制,评估新的或现有的 AI 项目;核对可用目录中的技能后提出建议,并制定包含依赖关系、完成条件和检查方式的任务清单与实施计划。

  • 规划新 AI 项目的启动
  • 梳理现有项目的技术问题
  • 从可用目录中挑选技能
sickn33/agentic-awesome-skills4.8万2026年10月24日 更新

007

免费有简介

检查代码和基础设施中的安全风险,梳理潜在威胁并规划防护改进。涵盖 OWASP 检查、攻击与防御验证及事件响应;操作范围需获明确授权,并结合具体环境验证结果。

  • 审查代码和基础设施安全
  • 用 STRIDE 或 PASTA 梳理威胁
  • 规划安全配置加固
sickn33/agentic-awesome-skills4.8万2026年10月24日 更新

10-andruia-skill-smith

免费有简介

将重复任务整理成 Andru.ia 技能,明确输入、输出、示例和限制;编写 `SKILL.md`,检查目录结构和验证要求,并准备供审阅的拉取请求。

  • 把重复工作整理成技能
  • 改进现有技能的示例或限制
  • 验证技能并准备拉取请求
sickn33/agentic-awesome-skills4.8万2026年10月24日 更新

项目行业确定后,整理行业背景、可能适用的法规、用户熟悉的界面模式、技术选择和风险,并区分已核实事实、假设及待专家确认的事项。

  • 设计前调查行业特有要求
  • 核对目标地区的法规
  • 研究用户熟悉的界面设计
sickn33/agentic-awesome-skills4.8万2026年10月24日 更新

2slides-ppt-generator

免费有简介

通过 2slides API 将文本、提纲或文档制作为演示稿,可参考图片风格、选择主题、添加人工智能旁白,并导出幻灯片图片或音频。

  • 将文本或提纲制作成演示稿
  • 把文档摘要整理成幻灯片
  • 参考图片风格设计幻灯片
sickn33/agentic-awesome-skills4.8万2026年10月24日 更新

360-feedback-system

免费有简介

规划360度评估或同伴反馈流程,并根据已确认的需求创建空白答复台账。可生成字段一致的CSV、SQL、JSON Schema或Notion属性映射,并将可见范围与评分配置分开整理。

  • 设计匿名同伴反馈流程
  • 创建答复记录CSV台账
  • 统一SQL与JSON Schema字段
sickn33/agentic-awesome-skills4.8万2026年10月24日 更新

查看 sickn33 的全部技能

报告此技能的问题