Callbacks: a tool to get localization project alerts

At POEditor, we are comitted to find the best ways to achieve localization automation for our users.

To make devs’ lives easy, we thought it would be nice to offer a way to trigger an external link on particular events. As usual, our users’ feedback weighed heavily in deciding to add this new feature. So without further ado, we give you POEditor callbacks.

POEditor Integrations
POEditor integrations

What are callbacks and why use them

Callbacks are simple way to get notications about specific events in POEditor localization projects. They can be set up by the project owner and admins.

They are a good way to save resources, because you no longer need to poll the API at certain intervals. When the events are triggered, POEditor fires a request to a specific URL you set for that event.

How to set up and track callbacks

Setting up a callback is easy. You need to first access Account Settings > Integrations > Callbacks. Here, choose a localization project and the event that should trigger the callback, then add the web address you want fired when the event is triggered.

Currently there are three events you can choose:
• Language Completed
• Language Proofread (which requires Proofreading to be enabled in Project Settings )
• New Terms

POEditor callbacks form
POEditor callbacks form

To protect the endpoint, it is possible to also add a secret to the calls. The call will have a “X-Callback-Secret” header added with that value.

After you set your callback, you can send a test to your endpoint:

    "event": {
        "name": "test"

The JSON payload examples we send for each event:

    "event": {
        "name": "language.completed"
    "project": {
        "id": ******,
        "name": "Load data #2",
        "public": 0,
        "open": 0,
        "created": "2019-05-17T10:31:50+0000"
    "language": {
        "name": "German",
        "code": "de"
    "stats": {
        "strings": {
            "translated": 3,
            "fuzzy": 0,
            "proofread": 0
    "event": {
        "name": "language.proofread"
    "project": {
        "id": ******,
        "name": "Android localization",
        "public": 1,
        "open": 0,
        "created": "2015-08-13T09:39:32+0000"
    "language": {
        "name": "English",
        "code": "en"
    "event": {
        "name": "new_terms.added"
    "project": {
        "id": ******,
        "name": "Android localization",
        "public": 1,
        "open": 0,
        "created": "2015-08-13T09:39:32+0000"

You can track your callbacks activity with your callbacks log. The log is available for the last the last 10 days.


The data is sent via POST and the JSON is put in a payload parameter.

Keep in mind that we listen for a response with HTTP status code 200 when we send the callback only for a short time (30 seconds at this point). If we don’t get a reply, a timeout error is generated after this,

Also, please make sure you don’t do all your processing on that endpoint and create a separate process for it. If we don’t get a 200 HTTP code when we fire the callback we try again 2 more times. After that we stop trying.

Localization project notifications on Microsoft Teams

Plenty of things happen when you localize software and keeping up to date with the events in your localization projects is key to maintaining a smooth workflow. Since nothing beats realtime notifications in terms of communicating events efficiently to the members of your localization team, we decided to make it possible to connect to another popular chat software – Microsoft Teams.

How to connect POEditor to Microsoft Teams

Connecting to Microsoft Teams is pretty easy and straightforward. If you need help with this, you can find the steps described in detail in our Knowledge Base.

Note that only the POEditor user hosting the localization projects needs to make the setup with Microsoft Teams. The other localization team members need just to join the Teams channel designated to receive notifications about the localization projects.

Microsoft Teams integration settings - POEditor translation and localization management system

Supported localization project events

You can choose what events in your localization projects to push notifications to your preferred Microsoft Teams channel.

The Teams integration sends an immediate notification when:

  • a project was created/deleted
  • a language was added/completed/deleted/proofread
  • strings were imported
  • a contributor was added/removed/joined the project
  • a comment was added
  • Automatic Translation characters were used
  • a translation order was completed
  • translations were flushed from a languages
  • all terms and translations were flushed from the project
  • translations were updated via API
  • a term was manually added in the user interface
  • terms were added via API
  • terms were synced via API
  • new terms were added (regardless of how)
  • the string limit was reached
  • the subscription renewal failed

If you and your colleagues are using Microsoft Teams, this new feature should make internal communication much more fluent. We are open to suggestions for other event notifications and to any kind of feedback, so don’t be shy to leave a comment if you have something on your mind.

VSTS and TFS, now integrated with POEditor

VSTS integration with POEditor

You’ve been asking for it and we’ve heard you, so here it is! The Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) integration is the latest entry on our list of integrated code hosting platforms. Among integrations with other great players, such as GitHub, Bitbucket and GitLab, it is here to make your life easier.

How to set up the integration with VSTS/TFS

The setup takes just a few clicks. Since this is an account-level feature, the integration can only be made by the account (and, thus, project-) owner. We describe how to connect your POEditor account with both Microsoft services here.

How the ingrations works

The integration with VSTS and TFS functions similarly to the other integrations with code hosting platforms supported by POEditor. To get a quick idea of the functionality, check out this article.

Automation and webhooks

Just like with GitHub, GitLab and Bitbucket, you can automate your work with this integration using webhooks. You can trigger the webhooks from anywhere to send data from the localization files in your repos to the assigned languages/projects on POEditor.

Webhooks are also useful if a project owner wants to let an admin take over the file management, after they make the connection between the POEditor account and the VSTS account.

Where to send your impressions

If you have any questions or comments about the newest kid on our block of integrations, just drop a few lines in the comments below. Also, feel free to show us some love on our Visual Studio Marketplace page if your work with Visual Studio Team Services or Team Foundation Server and this feature is useful to you.

Auditing a POEditor account with Logs

To audit your POEditor account, you can access the Logs section in Account Settings. The Logs section is divided into three sub-sections: Activity Log, API Log and Webhooks Log.

POEditor Logs (Account Settings) - POEditor Translation Management System

The Activity Log

The Activity Log tracks events related to translation, project management, API activity, integrations with code hosting services, settings changes (both project and account settings) and other events relevant to the user.

To more easily find the events of interest, use the search bar at the top of the Activity Log page. You can also filter events by user, language and project.

We keep most tracked events for 15 days. The ones which have to do with data deletion are kept for 30 days.

Activity Log - POEditor Translation Management System

The API Log

To check your API activity, go to Account Settings > Logs > API Log.
The API Log stores for 15 days all the requests that POEditor can identify as yours (using an API token generated from your account).
You can filter the API logs by date, using the date range picker at the top right corner of the page.

API Log - POEditor Translation Management Platform

The Webhooks Log

As a POEditor user, you can see what actions have been triggered in your account using webhooks. For this, go to Account Settings > Logs > Webhooks Log.
The Webhooks Log stores for 30 days all the requests that POEditor can identify yours (using a webhook generated from your account).
To filter the webhook logs by date, use the date range picker at the top right corner of the page.

Webhooks Log - POEditor Translation Management Platform

Note: POEditor uses UTC to express the time when an event took place.

Bitbucket commit, now available with POEditor integration

A Bitbucket push method for our integration is something we’ve all been expecting for years.

Up until recently, the Bitbucket API did not support this method, unlike GitHub and GitLab. But, thanks to many Bitbucket users asking for it, your preferred code hosting platform has finally added this feature!

Upon hearing the news, we’ve immediately made it our main priority to update the Bitbucket integration. So, now, we’re happy to announce that you can export translations from your POEditor localization projects to your repos with just a few clicks.

We’ve also updated the Webhooks generator to reflect the implementation of the commit.

Bitbucket commit - POEditor localization platform

If you’re new to the Bitbucket integration, you can learn how to set it up here. More information about how to manage localization files between POEditor and Bitbucket is available here.

Cheers to all of you who took the time to push for this change! Don’t be shy to let us know if you have any feedback.


POEditor localization API improvements

The POEditor dev team has been very busy lately, tinkering with the localization API (among others). Below are described the improvements you can find in API v2.

New API methods

Besides completely refreshing the look (structure) of the API, we’ve also completed it with a few methods. Now, we can say it better mirrors the functionalities in the localization interface.
  • Update terms. This is the equivalent of the View or Add Terms in the localization interface. It lets you change the text, context, reference, plural and tags.
  • Remove contributor. This method removes a contributor from a project language or an admin from a project, if the language is not specified.
  • Delete projectIt deletes the project from the account. You must be the owner of the project.
  • Update project settings. The method lets you set or delete a Default Reference Language, as well as edit the name and/or description of the project.

Other improvements

We’ve also updated some already existing methods in the localization API, as follows:
  • View Project Details now also shows the number of terms in the project.
  • List project terms supports plurals.
  • Update project language gained the fuzzy trigger (and can mark as fuzzy the translations in the other languages).

That’s all folks! We hope you enjoy API v2 and look forward to your feedback on it.

POEditor and WPML team up to help you translate WordPress sites & plugins

Translate WordPress with POEditor and WPML

We’re happy to announce that POEditor is now integrated with WPML, one of the most popular plugins to translate WordPress sites. In case you’re not familiar with WPML, what you should know is that it lets you write content in different languages and translate the existing content of your WP site. But content is not the only thing it can help translate.

How POEditor helps WPML users

WPML is also useful for theme and plugin translation, by extracting the strings in your WordPress language files and sending them to a platform where they can be translated. POEditor is such a translation management platform, where you can bring your translation team members to collaborate. They don’t even need a WordPress account to participate! Just add them to your POEditor translation project using their email address and that’s it.

How to connect WPML to POEditor

A detailed guide for connecting WPML and POEditor you can find here. The guide also describes how to send the strings you want to translate from your site to your POEditor translation project.

What translation options do I have with POEditor?

To translate WordPress sites and plugins with us, you can choose between one or more of the following methods:

  1. Crowdsourcing translations from your community (using public projects)
  2. Using your own translators (by adding them as contributors)
  3. Using Machine Translation
  4. Ordering translations from one of our partners

According to your resources and needs, you can combine the available translation options in whatever way suits you best.

We believe the integration with the WPML translation plugin nicely complements our WordPress translation plugin. With the POEditor plugin, you can translate WordPress strings efficiently. But with WPML, you can also manage the translation of WordPress content as well, all from your WP dashboard.

How to order translation services faster

POEditor users have multiple options for translating their software strings. They can bring their own translators, crowdsource translations using public projects, use machine translation engines, or even opt for third party human translation services. The latter feature is provided in partnership with well-reputed human translation platforms in the industry.

Until recently, as a POEditor user, you had to access each localization project to order human translations for it. And you had to repeat this process for each language. Because our users made us aware they wish to accelerate this part of their workflow, we’ve made some small changes.

What’s new with the human translation order process

In essence, you can now place orders for any project in the same page, and can order as many translations as you want, at the same time.

Add human translation order - POEditor localization platform

Continue reading

How to get localization alerts on Slack or HipChat

Connectivity is essential to a flexibile and efficient localization workflow. Being connected to your team at all times and also being connected to the constant flow of events during the localization process, you can react on the spot whenever something needs attention, increasing productivity and saving a lot of resources on the way. With this in mind, and somehow as a logical step to offering you a better solution for collaborative localization, we’ve decided to add two more options to the list of integrations available with the POEditor localization management platform- Slack and HipChat.

The walkthroughs below will help you connect your POEditor account to Slack or to HipChat. Make sure you log in both to the POEditor localization platform and to your preferred communication service before you begin.
Continue reading

How to order translation services in POEditor

The POEditor localization management platform is mainly designed as a productivity tool for localization teams that want to use their own translators in the process of localizing software strings.

Despite this, we know that not everyone who reaches our localization platform has translators to assign to their l10n projects, or a community to crowdsource translation. For them, we provide quick access to professional translation services. Following the steps described below, you can easily order translations for your software localization project, directly from your POEditor account.

Step 1: Go to the Translation Orders page, choose your values and get a quote

In the Project page, click on the Translation Orders button to reach the New Order page. Here, select your desired values, then press Get Quote to find out what the translation price is.
Continue reading