Documentation Index
Fetch the complete documentation index at: https://developers.phrase.com/llms.txt
Use this file to discover all available pages before exploring further.
This guide is for Phrase TMS plugins. It does not cover Phrase Strings, Language AI, or other Phrase products.
What you’ll build
A production plugin usually follows this lifecycle:- Select source content in the third-party system.
- Authenticate with Phrase Platform and call TMS APIs.
- Create a project from a project template.
- Create one or more jobs by uploading source content.
- Monitor job progress (webhooks, async status, or job-part polling).
- Export translated files when jobs are complete.
- Set job status (for example
DELIVERED) after successful import.
Choose your path
Quick Start
Build a working baseline plugin flow in four steps.
Full Workflow
Add production behavior, monitoring, and hardening.
Error Handling & Limits
Handle failures, retries, limits, and operational safeguards.
Supported file types
Common file types used in plugin integrations:| File type | Typical use |
|---|---|
| XLIFF 1.2 / 2.0 | Standard localization exchange format |
| JSON | Structured application or CMS content |
| XML | Structured content and metadata |
| Markdown | Documentation and content workflows |
| Plain text | Simple non-structured content |
Key concepts
| Term | Definition |
|---|---|
| Project template | Reusable configuration used to create projects with standard settings and workflow steps. |
| Project | Container for related translation jobs. |
| Job | A translation unit for one file and one target language. |
| Workflow | Ordered translation/review steps that jobs move through. |
asyncRequest | Identifier for asynchronous API operations that complete later. |
| Locale | Source or target language/region identifier used in localization. |
| Machine translation | Automated translation used in workflow steps, often combined with human review. |
| Markup language | Structured formats (for example HTML/XML) where text and tags must be handled safely. |
| Segmentation | Splitting content into translatable segments used for progress and QA operations. |
| Translation memory | Reusable translation database used to improve consistency and speed. |
Core objects and data models (minimum)
Use these core object shapes in your plugin data layer.| Object | Purpose | Key fields to persist |
|---|---|---|
| Project Template | Defines default project configuration | uid, templateName, sourceLang, targetLangs[] |
| Project | Container for jobs | uid, name, status, sourceLang, targetLangs[] |
| Job | Translation unit for a target language | uid, status, targetLang, workflowLevel, filename |
| Async Request | Tracks asynchronous work | id, action, dateCreated |
| Async Response | Completion payload for async work | errorCode, errorDesc, warnings[] |
Next steps
Start Quick Start
Build the minimum end-to-end flow first.
Go to Full Workflow
Expand to a production-ready integration.
Add Live Preview
Add editor preview capabilities for translators.