At POEditor, we offer plenty of ways to keep yourself updated about the status of your localization projects. Polling the API over and over, however, is not always the most efficient way to go around this.
Using Callbacks is a “don’t call us, we’ll call you” kind of process.
Basically, what Callbacks do is fire a request to an endpoint specified by you every time an event is triggered. Events include: language is completely translated, language is completely proofread and so on.
Now, with this information you can get the gears going. If you use a code hosting service integration, you will probably want to push the updated language file to your repository. You can easily do that from the UI by selecting the language and clicking on the Export option. OR you can do this automatically by calling a webhook.
From time to time, someone sets their (mobile) app to read language files directly from the POEditor API.
Subsequently, for every language update made in POEditor, even for the smallest typo or text change, an update is pushed to their app. At a first glance, it’s a great idea. Users will always have the latest language version. It becomes unnecessary to deploy new versions of the code/binary/app every time a new translation is added or changed. Also, errors are corrected quickly and spread instantly to the user base.
As attractive as the benefits of reading language files from an API may appear, there are issues with this approach. Some of them might even kill your app or you users’ experience with it.
Some of the pitfalls of loading language files to your mobile app from an API are:
Whenever you get the chance to automate something to avoid repetitive manual work, go for it, because it will save you a lot of time and boost your productivity. That being said, let’s cut to the chase: the purpose of this article is to show you how to automate your localization workflow with the POEditor API. For this, we’ll go through a simple step by step guide. You’ll learn how to send your language data to POEditor and how to pull the translated work back into your software.
Knowledge of a programming language is required (any will do), but we’ll focus on the requests you need to make to the API.
Here at POEditor, we’re always trying to optimize and improve performance. For this reason, in the past few weeks, we’ve been really busy reconstructing our Translation Memory engine.
Given the growth rate of POEditor and the number of strings in large accounts, we began noticing some delay in the TM for suggested translations, especially when the system searched for translations of small strings (such as “Account” or “Cancel”). Some tests and debugging quickly pointed us to the database queries, which had become slower as the database increased.
We then took a radical decision, to move all the TM related searches to a dedicated search engine. After lots of research and tests, we choose Elasticsearch, which is based on the powerful Apache Lucene project. Elasticsearch is a flexible and powerful open source, distributed, real-time search and analytics engine, running on Java.
To cut the technical stuff short, the performance improved by a factor of more than 10 times in some cases and it’s expected that the future growth won’t affect the system performance as it did before this.
We would like to see you test the limits of the Translation Memory engine, with countless translations from old and new localization projects. You will surely be compelled by how this powerful piece of software enhances the automated part of the POEditor experience!
Ever since we added the GitHub integration to POEditor, people have started requesting a Bitbucket integration. We’re not going to get into the GitHub vs. Bitbucket discussion, we’re just going to say they’re both pretty popular among software developers and both deserve the same attention. Today is the day Bitbucket fans get their version of this useful feature.
You can now set up the integration either via Project Import or directly from your Project Settings page. You’ll have to grant the POEditor APP access to your repositories and match your language files with the languages within your POEditor project.
Unfortunately though, Bitbucket users only get half of the pie. You can only import terms & translations from your repository, you can’t export them back from POEditor. This limitation comes from the Bitbucket API, which does not allow us to write anything in your repositories. The guys from Bitbucket promised at some point they’ll fix this, but it doesn’t seem very high on their priorities’ lists. You can change that by upvoting this enhancement on their issue tracker here. Pointing fingers done.
We hope you will enjoy this update and maybe one day we’ll be able to complete the feature with an export, if the guys there decide to offer us the possibility to do that via API. Questions and comments welcomed.