Phrase
Phrase (previously Memsource) is a software as a service platform designed to automate and streamline translating and localizing digital products, such as web or mobile apps, websites, marketing content, etc. for international markets.
Before setting up
Before you can connect you need to make sure that:
- You have a Phrase account on the instance you want to connect to.
- You have permission to create and modify Registered OAuth apps.
- In Phrase go to Settings > Registered OAuth apps and click New.
- Fill in any name and description. For Redirect URI fill in:
https://bridge.blackbird.io/api/AuthorizationCode
and click Save. - Copy the Client ID of the newly created OAuth app.
Connecting
- Navigate to apps and search for Phrase. If you cannot find Phrase then click Add App in the top right corner, select Phrase and add the app to your Blackbird environment.
- Click Add Connection.
- Name your connection for future reference e.g. ‘My Phrase connection’.
- Fill in the Client ID that you copied from Phrase.
- Fill in the Base URL to the Phrase instance you want to connect to (this can be f.e. eu or us). Example:
https://us.cloud.memsource.com
- Click Authorize connection.
- Follow the instructions that Phrase gives you, authorizing Blackbird.io to act on your behalf.
- When you return to Blackbird, confirm that the connection has appeared and the status is Connected.
Actions
Analysis
- List analyses
- Get analysis
- Create analysis
- Download analysis file
Clients
- List clients
- Get client
- Add client
- Update client
- Delete client
Connector
- List connector
- Get connector
Custom fields
- Get date custom field value
- Get numeric custom field value
- Get single select custom field value
- Get multi select custom field value
- Get text custom field value
- Set date custom field value
- Set numeric custom field value
- Set single select custom field value
- Set text custom field value
If a Custom field is not present in a project, it will be added as part of the
Set
action.
File
- List all files
- Get file
- Upload file
Glossary
- Create new glossary
- Export glossary
- Import glossary
Job
- List all jobs
- Get job
- Create job
- Delete job
- Get segments
- Edit job
- Download target file
- Download bilingual file
- Upload bilingual file
Pricelist
- List price lists
Project
- List projects
- List project templates
- Get project
- Create project
- Create project from template
- Add target language
- Edit project
- Delete project
- Download project original files
- Download project target files
- Assign providers from template
Project reference file
- List reference files
- Create reference files
- Download reference file
- Delete reference file
Quality assurance
- Add ignored warning
- List LQA profiles
- Delete LQA profile
Quote
- Get quote
- Create quote
- Delete quote
Translation
- List translation settings
- Translate with MT
- Translate with MT by project
Translation memory
- List translation memories
- Create translation memory
- Get translation memory
- Import TMX file
- Export translation memory
- Insert segment into memory
- Delete translation memory
User
- List users
- Get user
- Add user
- Update user
- Delete user
Vendor
- Add vendor
- List vendors
- Get vendor
Events
Project
- On project created
- On project deleted
- On project due date changed
- On project metadata updated
- On shared project assigned
- On project status changed
Job
- On job created
- On job deleted
- On continuous job updated
- On job assigned
- On job due date changed
- On job exported
- On job source updated
- On job status changed If you are using checkpoints, please fill all optional inputs (including Project ID). It will work even without a specified Project ID, but using it will allow us to check if the job already has the specified status. The status “Completed by linguist” will also trigger the event if the optional status “Completed” is set.
- On job target updated
- On job unexported
Template
- On template created
- On template deleted
- On template updated
Analysis
- On analysis created
Example
This example shows one of many use cases. Here, whenever an article is published we fetch the missing translations and retrieve the article as an HTML file. Then we create a new Phrase project with the missing locales as the target languages and upload the article as jobs. We link the project with the article to automatically push the new translations back when they are done in a second bird.
Analysis with other systems
Our app allows you to export an analysis file (via the Download analysis file action) and use it in your workflow whenever you need it. You can also specify the format in which you want to download the file (such as JSON, CSV, or log), and then import it into the service of your choice.
Here’s an example to demonstrate this feature between the Phrase and XTRF apps:
Missing features
Not all API endpoints are covered, let us know if you are missing features or if you see other improvements!
Feedback
Feedback to our implementation of Phrase is always very welcome. Reach out to us using the established channels or create an issue.